Abstract

Rich-media describes a broad range of digital interactive media that is increasingly used in the Internet and also in the support of education. Last year, a special pilot audiovisual lecture room was built as a part of the MERLINGO (MEdia-rich Repository of LearnING Objects) project solution. It contains all the elements of the modern lecture room determined for the implementation of presentation recordings based on the rich-media technologies and their publication online or on-demand featuring the access of all its elements in the automated mode including automatic editing. Property-preserving Petri net process algebras (PPPA) were designed for the specification and verification of the Petri net processes. PPPA does not need to verify the composition of the Petri net processes because all their algebraic operators preserve the specified set of the properties. These original PPPA are significantly generalized for the newly introduced class of the SNT Petri process and agent nets in this paper. The PLACE-SUBST and ASYNC-PROC algebraic operators are defined for this class of Petri nets and their chosen properties are proved. The SNT Petri process and agent nets theory were significantly applied at the design, verification, and implementation of the programming system ensuring the pilot audiovisual lecture room functionality.

1. Introduction

The term rich-media describes a broad range of digital interactive media, through which it is possible to share and transfer information and communicate in various ways. Moreover, rich-media enable interactivity, that is, bidirectional communication. The characteristic feature of the rich-media technologies is their accessibility online or on-demand, followed by the support of the dynamics of changes. An example can be online streaming video reporting, which is updated during broadcast, or a record of presentation placed on a website jointly with the synchronized slide show, which the user can interactively work with. Currently, there are several theories dealing with various aspects of the rich-media implementation, such as Media Richness Theory [1], Media Naturalness Theory [2], and Social Presence Theory [3].

The issue of majority aspects in implementing rich-media technologies at selected universities in the Czech Republic is dealt with in the MERLINGO project (MEdia-rich Repository of LearnING Objects) [4]. One of the key objectives of this project last year was the implementation of the cutting edge rich-media technologies in order to build a specialized audiovisual lecture room containing all the elements of a modern lecture room determined for the implementation of presentation recordings and their publication online or on-demand featuring the integrated ergonomic and intuitive control and access in the automated mode of all its elements including automatic editing. Next objective was to provide a possibility of parallel sharing and feedback of lectures presented in the lecture room outfitted as such in real time even at other audiovisual auditoriums while providing the services of the central repository of educational objects MERLINGO and the possibility of their adaptation for the students with special needs. The implementation of those functionalities significantly contributed in decrease of costs required for the operation of high-capacity lecture halls including reduction of time and space demands mainly required for teaching subjects determined for large groups of students. Currently, the operation of the central repository MERLINGO dramatically simplifies the implementation of the new revolutionary technologies EduArt [5] and MediaInTouch [6], featuring unique characteristics in this area complying with demanding requirements of teachers in the availability and quality of presentation recordings.

Petri nets [714] represent a popular formalism connecting advantages of the graphic representation of a modeled system with the possibilities of its simulation and the formal analyzability. Property-preserving Petri net process algebras (PPPA) [15] were originally designed for the specification and verification of manufacturing systems. PPPA also follows many ideas that can be originally seen in the class of workflow nets [16]. The elements of PPPA are the Petri net processes, ordinary connected Petri nets with a unique entry place, a unique exit place, and a set of places for handling resource sharing with their initial marking allowed. Among other features, PPPA does not need to verify composite components because all its operators preserve many properties. Hence, if the primitive modules satisfy the desirable properties, each of the composite components, including the system itself, also satisfies these properties.

PPPA has five types of operators: extensions, compositions, refinements, reductions, and place-merging. All the operators can preserve about twenty properties (some under additional conditions), such as liveliness, boundedness, reversibility, traps, siphons, and proper termination.

The main goals of this paper are to generalize PPPA for the newly introduced class of the SNT Petri process and agent nets (SNTPAN) and to define the new SNTPAN operators called PLACE-SUBST (PLACE-SUBSTitution) and ASYNC-PROC (ASYNChronous-PROCessing) with the property of the SNTPAN soundness preservation. This class of SNTPANs with the support of the PLACE-SUBST and ASYNC-PROC operators that preserve the soundness property during the SNTPAN components composition process has been applied at the design, verification, simulation, and implementation phases of the software support of the audiovisual lecture room enabling automated recordings of the presentations including automated editing.

2. Materials and Methods

2.1. SNT Petri Process and Agent Nets and Their Properties

Let denote the set of all natural numbers, the set of all nonnegative integer numbers, the empty set, the logical negation operator, the cardinality of the given set , where , the family of all the subsets of a given set , and IDENT the set of all identifiers over a certain alphabet.

Multiset over a nonempty set is a function . The nonnegative number , where , denotes the number of occurrences of the element in the multiset . The multiset is usually represented by the formal sum . denotes the set of all nonempty multisets over the set and denotes the set of all multisets over the set .

Let be a nonempty set. By the (nonempty finite) sequence over the set a function can be understood, , where . The function is called the empty sequence over the set . The sequence is usually represented by the notation or of the elements of the set , where for . Empty sequence over the set is usually represented by the notation . The set of all  finite nonempty sequences over the set is denoted by the notation and the set of all finite (and possible empty) sequences over the set by the notation . The length of the sequence , where , is equal to the natural number and the length of the empty sequence is equal to the number 0. The length of the sequence is represented by the notation . The function , such that ,  , , assigns to each sequence the set of all of its elements.

Let , where , be a finite nonempty set. Vector is a function . We will denote a vector by the statement .

Let and . ThenIt is clear that the operation is associative (i.e., ).

A semigroup is a set together with an associative binary operation . A monoid is a semigroup with an element such that .

A net is an ordered triple , where(i)is a finite nonempty set of places,(ii) is a finite set of transitions, ,(iii) is a finite set of arcs, .

A given net is then described with a bipartite graph containing a finite nonempty set of places used for expressing conditions of a modeled system (we usually use circles for their representation), a finite set of transitions describing changes in the modeled system (we usually draw them in the form of rectangles) and a finite set of arcs being principally oriented while connecting a place with a transition or a transition with a place and we usually draw them as lines with arrows. We say then a net is connected iff it is not composed of two or more disjoint and nonempty nets.

Some commonly used notations for the nets are for the preset and for the postset of a net element (i.e., place or transition).

A SNT net (single-number tokens net) is an ordered 5-tuple , where(i) is a connected net, ,(ii) is the arc function, , iff , iff , where ,: ,(iii) is the transition priority function, .

The arc function of a given SNT net assigns each arc with a (nonempty) sequence of the nonnegative integer numbers expressing a removed or added token from or to the place associated with that arc when executing a particular transition. There must be the only one length of all the values of the arc function (i.e., for the sequences of nonnegative integer numbers) for the given transition and all of its associated input and output arcs. Transition priority function of a given SNT net assigns with each transition the natural number value expressing its priority (transition priority function has the default value of 1 if it is not explicitly indicated in the SNT net diagram).

Let be a SNT net and a place. We will define the sets of the place input tokens and of the place output tokens by the following way:, if ,, if ,, if ,, if ,, if ,, if .

Then the condition must be true for all the places of the given SNT net SNTN.

Marking of the SNT net SNTN is a mapping such that (i.e., every token represents the chosen single nonnegative integer number and every token that is associated with the place in the marking must be an element of the set of the place output tokens). Marking of a given SNT net then assigns each place with the multiset over the set of all the nonnegative integer numbers and we use the form of for the single token representation in the net diagrams, where . Marking of the SNT net then expresses the current status of a process that is modeled by the given SNT net. If , where , then marking of given SNT net can be written as a -vector .

A SNT Petri net is an ordered couple , where ) is a SNT net and is an initial marking of the net SNTN. We will then also denote a SNT Petri net by an ordered 6-tuple .

Transition is enabled in the marking of the SNT Petri net SNTPN if and we denote that fact symbolically in the form of en. Firing of the transition results in changing the marking into the marking , where , that is, denoted by . Marking is reachable from the marking iff there exists a finite sequence of the transitions, where , , such that . The set of all the markings reachable from the marking will be denoted by the symbol . The set of all finite and infinite transition sequences that are reachable from the marking will be denoted by the symbol ; that is, .

Figure 1 illustrates the SNT Petri net , where(i),(ii),(iii),(iv),(v),(vi).

It can be seen that : for the net , because for the only one transition : ; that is, for any given transition and for all its input arcs and all its output arcs must be all the values of the arc functions and the sequences with the equal length .

We can also determine that (because and   ), (because , ), ,  , and . We can also verify that the condition is fully satisfied for the net .

Transition T1 is enabled in the marking of the SNT Petri net because     , where , ,   +    , and . Firing of the transition T1 results in changing of the net marking into the marking , , where ), because we will remove the token from the place P1 and the token from the place P2 and then we will add the token (i.e., ) into the place P3 and the token (i.e., ) into the place P4 according to the firing of the transition general rule.

When enabling individual transitions of a given SNT Petri net so called conflicts can originate in its certain markings (or conflict transitions). At the enabling of transitions and of the given SNT Petri net in its marking , where , , the conflict occurs, if     . The term of the conflict transitions can be obviously easily generalized for the case of the finite set of transitions of a given SNT Petri net.

A typical example of conflict transitions in the particular marking of the SNT Petri net is shown in Figure 2. The transitions T1 and T2 have the common input place P1; both are enabled but not enabled in parallel. When solving such transitions conflicts we will therefore follow the rule which determines, informally said, from the set of conflict transitions the one which will be enabled, whose value of the transition priority function is the highest. If such transition from the set of conflict transitions does not exist, the given conflict would have to be solved by other means. Our studied example will be then on the basis of that rule the transition T2 enabled (because and ).

A SNT process net (PN) is an ordered 9-tuple , where(i) is a connected SNT net,(ii) is a finite set of resource places, ,(iii)the input place is the only one place such that ,(iv)the output place is the only one place such that ,(v) is the set of all the allowed resource static markings (see below).

The finite set of the resource places is used for expressing the conditions of a modeled system containing some initial resources and we use circles with the double line for their representation. The input place is the only one place from the set of the nonresource places that has no input transition and similarly the output place is the only one place from the set of the nonresource places of the SNT process net that has no output transition. The class of all the SNT process nets will be denoted by the symbol PNET.

Marking of the SNT process net is again a mapping such that . If , where , , where , then the marking can be written as a -vector ,  .

Static marking of the SNT process net is a marking such that ; ; that is, informally said, in the static marking the tokens are allowed in the chosen resource places only and no transition is enabled in this static marking . Static marking of the SNT process net can then be written as a -vector . The set of all the allowed static markings of the SNT process net we will denote by the symbol .

If is the given static marking of the SNT process net , then by the symbol we denote the resource static marking associated with the static marking , that is, the function , where (i.e., informally said, resource static marking associated with the static marking of the SNT process net is the vector containing only the resource places markings of the static marking and the static marking of all the remaining places of the net is then equal to the empty set ). If , where , then the resource static marking of the SNT process net can be written as a vector . The set of all the allowed resource static markings associated with the set of all allowed static markings of the SNT process net will be denoted by the symbol .

Input marking of the SNT process net is a marking such that , , ; that is, informally said, in the input marking the input place must contain at least one token, the output place must not contain any token, and the marking of the remaining places corresponds with the chosen static marking from the set of all the allowed static markings . We will denote this chosen static marking associated with the given input marking by the symbol . Input marking of the process net can then be written as a -vector .

Output (exit) marking reachable from the input marking of the SNT process net is a marking such that , , , and     ; that is, informally said, in the output marking the input place must not contain any token, the output marking is reachable from the input marking , the output place must contain the same number of tokens in the output marking as the input place in the input marking and the markings of the remaining places correspond with the chosen static marking from the set of allowed static markings . We will denote this chosen static marking associated with the given output marking by the symbol . Output marking of the SNT process net can then be written as a -vector . The set of all the output markings that are reachable from the input marking of the SNT process net will be denoted by the symbol .

Figure 3 illustrates the SNT process net , where is the only one resource place of the net, IP is the input place , OP is the output place , and the set of all its allowed resource static markings , in its static , input , and output markings (note the resource place R1 with the initial token in the static marking ) where no transition must be enabled in (any) static marking .

A SNT process Petri net is an ordered couple , where is a SNT process net and is an input marking of the . We will then also denote a SNT process Petri net by an ordered 10-tuple .

A SNT agent net (AN) is an ordered 10-tuple , where(i) is a connected SNT net,(ii) is a finite set of resource places, ,(iii)the input place is the only one place such that ,(iv)the output place is the selected place such that ,(v) is the set of all the allowed resource static markings,(vi)the output transition is the selected transition such that , .

The concept of the SNT agent net such extends the concept of the SNT process net. So, informally said, the output place is the selected place of the SNT agent net that has the single output transition and the output transition is the selected transition of the SNT agent net that has the single input place ; it has no one output place and its transition priority function value is always the natural number 1. The meanings of the marking , the static marking , the input marking , and the output marking of the SNT agent net are the same as in the case of the SNT process net . The class of all the SNT agent nets will be denoted by the symbol .

Figure 4 illustrates the SNT agent net , where is the only one resource place, IP is the input place , OP is the output place , OT is the output transition , and the set of all its allowed resource static markings , in its input marking .

Let be a SNT agent net. The SNT process net associated with the SNT agent net AN is the 9-tuple ), where , , , , , , , , and .

A SNT agent Petri net is an ordered couple , where ,    is a SNT agent net and is an input marking of the . We will then also denote a SNT agent Petri net by an ordered 11-tuple . A SNT process Petri net is associated with the SNT agent Petri net .

Let be a SNT process Petri net. A place is said to be -bounded iff . The is said to be -bounded iff every place of the is -bounded. We say that PPN terminates properly if .

A SNT process net is said to be sound iff the is -bounded and it terminates properly for its every input marking .

A SNT agent net is said to be sound iff the SNT process Petri net associated with the SNT agent Petri net is sound.

From many properties of the SNT process nets, respectively, SNT agent nets, we are especially interested in their soundness (in the terminology of the programming systems this property informally means that the programming system modeled by given process net will not cause deadlock [17] and memory or device overflow).

We will start our study of the sound SNT process nets by introduction of so called base SNT process nets (BPN). BPN represent the class of PNs that are elementary sound (i.e., soundness of these PNs can be trivially proved).

Figure 5 shows six simple BPNs in their static markings (where means nonempty finite sequence of the nonnegative integer numbers; that is, , , , and means nonempty finite sequence of the nonnegative integer numbers ; that is, , , and . The BPN BASE1 is the simplest BPN at all and it contains only one place IOP that is simultaneously its input and output place (definition of PNs allows this case). BPN BASE3 can be used for the modeling of the programming statement IF… THEN… ELSE…. The BPN BASE4 then represents the model of the programming critical section, where typically in the resource place R1. The BPN BASE5 represents the synchronous method called mechanism where the called method is represented by the place P2. The BPN BASE6 can be used for the modelling of the programming barrier.

2.2. Place-Substitution Operator and Its Properties

The place-substitution operator PLACE-SUBST is defined for the classes of PNs and ANs and it is shown to be conditionally preserving the soundness property. The sound PNs and ANs then form a closed set (i.e., the application of this operator on any two PNs or any couple of PN and AN with the soundness property resulting in another PN or AN with the soundness property). The design of a given programming system with the support of the place-substitution operator will such typically start with the BPN BASE1 and then it follows with the several place-substitution operations (i.e., substitution of the selected BPN over the place in the actual PN) with the support of selected BPNs that result into the complex SNT process net that models the part of the whole programming system.

Definition 1. Let and ,   be the PNs, and let be a place of the PN such that The function PLACE-SUBST: of the PN substitution over the place of the PN will be denoted by . The execution of this function results in the new PN , where (i),(ii),(iii),(iv) ,(v),(vi),(vii), if ; , if ,(viii), if ; , if ,(ix).

Example 2. The result of the place-substitution operation    where the place of the BPN (see Figure 5) was substituted by the BPN can be shown in Figure 6. It is clear that all the necessary requests for the place-substitution operation are satisfied in this case, that is, P2 is not a resource place of the PN , , . It is easy to verify that in this case the resulting PN .P2 is also sound.

Lemma 3. Let , ,  , and be the three PNs, let be a place of the PN such that , , and let be a place of the PN PN2, such that , . Then

Proof. From Definition 1 it directly follows that           where(i),(ii),(iii)    ,(iv)        ,(v),(vi),(vii), if ; , if ; , if ,(viii), if ; , if ; , if ,(ix).

Lemma 4. The triple (PNET, PLACE-SUBST, BASE1) is a monoid.

Proof. Lemma 4 is the direct consequence of Lemma 3 and it is clear that the BPN BASE1 (see Figure 5) is the neutral element of the monoid.

Definition 5. Let be the AN and ,  ) the PNs, and let be a place of the AN such that The function PLACE-SUBST: of the PN substitution over the place of the AN will be denoted by . The execution of this function results in the new AN , where (i),(ii),(iii);(iv)         ,(v),(vi),(vii), if ; , if ,(viii), if ; , if ,(ix),(x).

Definition 5 is similar to Definition 1 in the sense of overloading of the operator : with the operator : of the PN substitution over the place of the AN which is denoted by . It is easy to formulate similar lemmas like Lemmas 3 and 4 for the case of this overloaded operator .

We will investigate the necessary conditions for the soundness of the resulting SNT process or agent net in the following paragraphs. The first condition for the soundness of the resulting net is already in Definitions 1 and 5; that is, the substituted place must not be a member of the set of the net resource places , . Figure 7 shows the result of the resource place R1 (that contains the token in the nonempty static marking ) of the sound net substitution by the sound net , that is, the net . The resulting net then does not satisfy the necessary conditions for its static marking , because the token is associated in this static marking with the nonresource place IP2, and the transition T2 is then enabled in this static marking which is not allowed. If we remove the token from the place T2 then the resulting net is not sound again. So it is generally not possible to substitute any resource place of a given PN or AN by another PN.

Figure 8 shows the result of the place P2 of the sound net substitution by the sound net , that is, the PN , that is not sound. It can be seen for its input marking , where . In this input marking the transition T1 is enabled and its firing results into the marking , where . There is token in the place P1 and the token in the place P2 in the marking , and the transitions and are enabled in parallel in the marking and after their parallel firing the results in the marking , where . In the marking there will be the token in the place OP2 and the token in the place OP1. No transition is enabled in the nonoutput marking and so the resulting net is not sound.

The loss of the net soundness then follows from the existence of the arc in the resulting net. The necessary condition for the soundness of the resulting net is in this case the following: and it does not hold for the place of the , because transition holds that and . It is then clear that if the arc is not present then the resulting net is sound.

Figure 9 shows the result of the place of the sound net substitution by the sound net , that is, the SNT process net , that is again not sound. The loss of the soundness (it can be easily seen for any input marking of the resulting PN) then follows from the fact that ; that is, . The necessary condition for the soundness of the resulting PN is in this case the following: .

Lemma 6. Let and ,   be two sound , and let be a place of the such that , ,     . Then the PN is also sound.

Comment. If the conditions , , and , for the substituted place of the net are not satisfied the resulting net does not need to be sound generally as follows from the previous three examples.

Proof. It is clear for or and it follows directly from the definition of the sound PN. Let and . Because the PN is sound, it holds that . This holds also for the substituted place . From this follows that also the place in the resulting PN is -bounded because the number of tokens in any reachable marking of the process is at the highest equaling the number of tokens in the place . Because the PN is also -bounded and it terminates properly for any of its input markings , from these facts follows that also the place in the resulting PN is -bounded and so the whole PN must be also -bounded for any of its input markings . Similarly, both PN and terminate properly for any of its input markings . In particular for the PN holds true that , , and and for the PN holds true that . The conditions , are satisfied for the PN and from these conditions follows that , in the resulting net . Then it follows that there must exist transition , , and the marking of the resulting net such that , because the PN terminates properly. So the whole PN must also terminate properly for any of its input markings and it is sound.

It immediately follows from the previous lemma that the application of the operator PLACE-SUBST that satisfies all the necessary requests formulated in Lemma 6 for two given sound PNs results into another sound PN.

Lemma 7. Let ) be the sound AN and the sound PN, and let be a place of the AN such that , ,         . Then the AN is also sound.

Proof. Proof directly follows from the proof of Lemma 6.

2.3. Asynchronous-Processing Operator and Its Properties

The asynchronous-processing operator ASYNC-PROC is the second operator defined for the class of all PNs and ANs and it is also shown to be preserving the soundness property. The sound PNs and ANs then form a closed set (i.e., the application of this operator on any couple of PN and AN or two ANs with the soundness property results in another PN or AN with the soundness property).

Definition 8. Let be the PN and ,   the AN, and let , , be the transitions of the PN . The function ASYNC-PROC: of the asynchronous-processing of the AN from the PN will be denoted by . The execution of this function results in the new PN , where (i),(ii),(iii),(iv), where ,(v),(vi),(vii),(viii),(ix).

Example 9. The result of the asynchronous-processing operation where both PN and AN are sound can be shown in Figure 10. It is clear that all the necessary requests for the asynchronous-processing operation are satisfied in this case. It is also easy to verify that in this case the resulting is also sound.

Lemma 10. Let is a PN, ,   and are two ANs, let are the transition of the PN , , and , , are the transition of the AN . Then

Proof. The proof is clear and follows directly from Definition 8.

Lemma 11. The couple (, ) is a semigroup.

Proof. Lemma 11 is the direct consequence of Lemma 10.

Definition 12. Let and ,   be the ANs, and let , , be the transitions of the AN . The function ASYNC-PROC: of the asynchronous-processing of the AN from the AN will be denoted by AN2. The execution of this function results in the new AN , where(i),(ii),(iii),(iv), where ,(v),(vi),(vii),(viii),(ix)(x).

Definition 12 is similar to Definition 8 in the sense of the overloading of the operator : with the operator : of the AN asynchronous-processing from the AN . It is easy to formulate similar lemmas like Lemmas 10 and 11 for the case of this overloaded operator .

Lemma 13. Let be a sound PN and ,   a sound AN, and let , , be the transitions of the PN . Then the PN is also sound.

Proof. Clear. Because the PN is sound, it holds that . It also holds that , , . From these facts follows that every of the transition , , will be fired finite times in every transition sequence . From these immediately follows that in the resulting PN is satisfied the condition . Because of the soundness of the AN AN2 the whole PN must be bounded. Because the PN terminates properly for any of its input markings and also the AN terminates properly and their firing of the transitions are independent it is clear that also the resulting must terminate properly for any of its input marking and it is also sound.

2.4. Audiovisual Lecture Room with the Automatic Editing System

Within the MERLINGO project implementation the selected standard audiovisual lecture room was additionally outfitted with the automated editing system consisting of three good quality cameras Sony BPE NEX-FS100EK series with the object lens E18-200 mm to eliminate the problem of insufficient lighting in lecture rooms during recording (see Figure 11), followed by editing unit Roland VR-5 including three spatial microphones Roland R-26 and control system with the motion sensors of AMX 3100 line with the converter RS232/MiDi. That system ensures editing of video and audio signal read by the camera and microphone in the sectors where the lecturer is moving.

Additionally, this audiovisual lecture room has been outfitted with the programming system EduArt enabling transfer of image (video) of the scanned person and transfer of presentation from the work station, interactive board, visualizer, and sound in the high resolution via the computer network of the sufficient bandwidth. The output is a recording viewable by the web browser. The integration of the whole unit is ensured by the control system of the AMX product line automated in such manner that the lecturer can concentrate on the context of their message and does not need to pay attention to control of presentation tools and means for the recording and transfer of the presentation into the resources of the central repository MERLINGO. There is no need for other persons to make a recording which is a cost saving feature and, additionally, the lecturer is not disturbed by them.

For the realization of the automated editing were selected and implemented three basic types of shots:(i)detail-view: lecturer (one or more) standing by the speaker’s desk; see Figure 12,(ii)board-view: lecturer (one or more) are found in the zone of the board or in the zone between the speaker’s desk and board,(iii)general-view: lecturer (one or more) are found outside the shot detail-view or board-view; see Figure 13.

3. Results and Discussion

The SNT process and agent net formal theory have been used at the design, verification, simulation, and implementation phases of software support of the audiovisual lecture room enabling automated recordings of the presentations including automated editing.

When the speaker enters or exits one of the general-view, board-view, or detail-view areas the corresponding area sensor in the audiovisual lecture room sends the message describing this event. We will model these events by the tokens in the resulting PN RNET by the following way:entry of the speaker into the general-view area (from the nonscanned area of the lecture room),exit of the speaker outside the general-view area (into the nonscanned area of the lecture room),exit of the speaker outside the general-view area and entry of this speaker into the board-view area,exit of the speaker outside the board-view area and entry of this speaker into the general-view area,exit of the speaker outside the board-view area and entry of this speaker into the detail-view area,exit of the speaker outside the detail-view area and entry of this speaker into the board-view area.

The PN ROOM1 in Figure 14(a) then models the basic functionalities of the lecture room during the presenter(s) entry or exit into or outside the general-view area from or into the nonscanned area of the lecture room. The individual speaker that enters into the general-view area is represented by the token in the input place IP1 of the PN ROOM1 in its input marking . The input place IP1 can contain in its input marking any finite number of these tokens. The firing of the transition T1 then represents an entry of the selected speaker into the general-view area from the nonscanned area of the lecture room. This entry then generates the activity of the chosen general-view area sensor that is modeled by the message represented by the token in the resulting PN. Speaker can then leave out the general-view area into the nonscanned area of the lecture room by the firing of the transition T3 (the message represented by the token will be sent by the selected general-view area sensor as the consequence of this action). The transition T2 is executed when the speaker leaves out the general-view and then he enters into the remaining areas of the lecture room. The token that represents the chosen speaker inside the lecture room will be changed into the token after the firing of the transition T2. This change of the token after the firing of the transition T2 will such disable the possibility of the infinite transitions sequence that can be potentially fired by every token in the marking of the place P2. Every token in the actual marking of the place P2 can then enable only the transition T3 that models leaving out the general-view area into the nonscanned area of the lecture room by the given speaker. It is clear that the PN ROOM1 is sound for every one of its input markings .

The PN ROOM2 in Figure 14(b) then models the basic functionalities of the lecture room during the presenter(s) entry or exit into or outside board-view (represented by the place P10 and output place OP2) and detail-view (represented by the place P11) areas. The token(s) in the marking of the input place IP2 represent(s) individual speaker(s) in the general-view area of the lecture room. The firing of the transition T10 models the entry into the board-view area by the individual speaker and sending of the message represented by the token . The entry into the detail-view area by the individual speaker and sending of the message represented by the token is then modeled by the firing of the transition T12. Every presenter has the possibility of revisiting the board-view area during its presentation (firing of the transition T11 and sending of the message ) and returning again into the detail-view area (firing of the transition T13 and sending of the message ). Every such speaker is then represented by the token after the firing of the transition T11 to prevent the possibility of the infinite transitions sequence . The firing of the transition T14 and sending of the message represented by the token then model an entry of the selected speaker back into the board-view area from the detail-view area of the lecture room. It is again clear that the PN ROOM2 is sound for every one of its input markings .

PN ROOM that models all the main functionalities of the audiovisual lecture room is then the PN ROOM = ROOM1.P1 ROOM2 that is also sound according to Lemma 6.

Design and implementation of the programming systems that accept the messages generated by the area sensors of the audiovisual lecture room (these messages are represented by the tokens in the resulting PN) and that realize the automatic switching of the camera systems and the automatic editing functionality during recordings of presentations are represented by the AN CAM1 in Figure 15. The input place IP3 of the AN CAM1 accepts all the messages represented by the tokens and generated by the area sensors of the audiovisual lecture room. Resource place R20 with the token of the only one allowed static marking of this AN (this static marking is such the only-one element of the set of the AN CAM1) represents the critical section mechanism of the whole programming system. This critical section guarantees that at most one message will be serviced by the programming system at the given time. The place P2 then represents the algorithm which realizes the automatic switching of the camera systems. The firing of the output transition OT3 then discards every accepted message from the given area sensor. It is again clear that the AN CAM1 is sound for every one of its input markings .

Figure 16 shows the resulting PN RNET1  that is composed of the PN ROOM = ROOM1.P1 ROOM2 and the AN CAM1 using the ASYNC-PROC operator such that RNET1 = ROOM.T1.T3.T10.T11.T12.T13.T14 CAM1. The PN RNET1 introduces the mechanism of the messages generated by the area sensors of the audiovisual lecture room processing (these messages are represented by the tokens in the PN RNET1). The whole PN RNET1 is again sound according to Lemma 13.

The first inner part of the programming systems that accepts the messages generated by the area sensors of the audiovisual lecture room is modeled by the PN CAM2 in Figure 17. Every token of the actual static marking of the only one resource place R30 of this PN represents the speakers that are actually presenting in the general-view, board-view, or detail-view areas at the given time. Every (anonymous) speaker that is presenting in the general-view, board-view, detail-view areas, respectively, at the given time is then modeled by the tokens , , and , respectively, in the actual static marking of the resource place R30. The set of all the allowed resource markings of this PN is then . The functionalities of the PN CAM2 are as in the following:(i)Acceptance of the message (entry of the speaker into the general-view area from the nonscanned area of the lecture room) results in the firing of the transition T33 and adding of the token (entry of the speaker into the general-view area) into the resource place R30.(ii)Acceptance of the message (exit of the speaker outside the general-view area and entry of this speaker into the board-view area) results in the firing of the transition T32, removing the token (exit of the speaker outside the general-view area) from the resource place R30 and adding the token (entry of the speaker into the board-view area) into the resource place R30.(iii)Acceptance of the message (exit of the speaker outside the board-view area and entry of this speaker into the detail-view area) results in the firing of the transition T32, removing of the token (exit of the speaker outside the board-view area) from the resource place R30, and adding of the token (entry of the speaker into the detail-view area) into the resource place R30.(iv)Acceptance of the message (exit of the speaker outside the general-view area into the nonscanned area of the lecture room) results in the firing of the transition T32 and removing of the token (exit of the speaker outside the general-view area into the nonscanned area) from the resource place R30. If the resource place R30 still contains at least one token (i.e., at least one speaker is still presented in the general-view area) the transition T35 then fires and the token is changed into the token (i.e., no camera switching will be performed). The transition T34 will fire otherwise and the camera switching can be performed.(v)Acceptance of the message (exit of the speaker outside the board-view area and entry of this speaker into the general-view area) results in the firing of the transition T31, removing of the token (exit of the speaker outside the board-view area) from the resource place R30 and adding of the token (entry of this speaker into the general-view area) into the resource place R30. If the resource place R30 still contains at least one token (i.e., at least one speaker is still presented in the board-view area) the transition T35 then fires and the token is changed into the token (i.e., no camera switching will be performed). The transition T34 will fire otherwise and the camera switching can be performed.(vi)Acceptance of the message (exit of the speaker outside the detail-view area and entry of this speaker into the board-view area) results in the firing of the transition T31, removing of the token (exit of the speaker outside the detail-view area) from the resource place R30, and adding of the token (entry of this speaker into the board-view area) into the resource place R30. If the resource place R30 still contains at least one token (i.e., at least one speaker is still presented in the detail-view area) the transition T35 then fires and the token is changed into the token (i.e., no camera switching will be performed). The transition T34 will fire otherwise and the camera switching can be performed.(vii)The transition T35 will fire otherwise and no camera switching will be performed.

It is not difficult to prove that the whole PN CAM2 is sound for every one of its input markings .

The second inner part of the programming systems that accepts the messages generated by the area sensors of the audiovisual lecture room is modeled by the PN CAM3 in Figure 18. Every token of the actual static marking of the only one resource place R40 of this PN represents the actual state of the cameras for the general-view, board-view, or detail-view areas, such that(i)the token represents the state where all the three cameras are nonactive,(ii)the token represents the state where only the shot for the general-view area is actively scanned and all of the remaining cameras are nonactive,(iii)the token represents the state where only the shot for the board-view area is actively scanned and all of the remaining cameras are nonactive,(iv)the token represents the state where only the shot for the detail-view area is actively scanned and all of the remaining cameras are nonactive.

The set of allowed resource markings of this PN is then . The functionalities of the PN CAM2 are as in the following:(i)Acceptance of the message (entry of the speaker into the general-view area from the nonscanned area of the lecture room) results in the firing of the transition T42 only if all the three cameras are in nonactive states (i.e., the token is actually presented in the marking of the resource place R40) and the token will be then added into the resource place R40 (i.e., only the camera for the general-view area is in active state and all of the remaining cameras are in nonactive states), otherwise the transition T46 will fire and the actual states of all the cameras will be unchanged,(ii)Acceptance of the message (exit of the speaker from the general-view area and entry into the nonscanned area of the lecture room) results in the firing of the transition T43 if only the camera for the general-view area is in active state and all of the remaining cameras are in nonactive states (i.e., the token is actually presented in the marking of the resource place R40) and the token will be then added into the resource place R40 (i.e., all the cameras are in nonactive states), otherwise the transition T46 will fire and the actual states of all the cameras will be unchanged,(iii)… and similarly for the acceptance of the messages .

It is again clear that the PN CAM3 is sound for every one of its input markings .

We will then construct the resulting PN RNET with the support of the PLACE-SUBST operator applications such that where CAM1 and ; that is,

The resulting PN RNET is also sound according to Lemmas 6 and 13.

4. Conclusions

Design and implementation of the programming systems which realize the automatic switching of the camera systems and the automatic editing functionality during recordings of presentations in the audiovisual lecture room involved the use of the SNT Petri process and agent nets formal theory. The simplified SNTPAN model of the given system is shown in Figures 1418 (a more detailed model is much more complicated and its design used the theory of the timed SNTPANs [18]).

There is an opportunity to define additional operators for the class of SNTPANs and to generalize it (for instance, the SYNC-PROC composition operator that models synchronous nonrecursive calling of chosen method represented by a PN of some programming system from the body of another method of the same programming system represented by a PN ). Selected PN or AN then represents typically a method in the model of the programming system realized with the support of the SNTPAN formalism.

At the Faculty of Economics, VŠB-Technical University of Ostrava, the recordings of presentations were realized with the support of highly mentioned lecture room with the automated editing. The rich-media recordings were published through the MediaInTouch programming system that is also integrated with the LMS system Moodle in the present time. This integration is based on the presence of the accessibility of the MediaInTouch application programming interface based on the web services technology. Thus it is possible to enable (i.e., insert or share) the recordings of presentations from the MediaInTouch repository as the organic part of every eLearning course content in the Moodle environment. The recordings are such then also the parts of the study materials for the mentioned subjects in the Bachelor and Master studies in the Moodle environment.

The lecture room with the support of automated editing enables all-day fully automated realization of all presentation recordings in the present time. There is then significant financial, personal, and time cost reduction joined with the creation and management of rich-media learning objects in comparison of the usual ways of recording. There is also verifiable improvement of the study results of the students (and particularly of the students with special needs) in the context of the availability of the presentation recordings and their accessibility online or on-demand as the standard part of the virtual university resources.

Those technologies can be also crucially beneficial during qualitative extension of provided services for the students with special needs, mainly at the establishment of “barrier-free” information access to recordings of presentations adapted to needs mainly for students with locomotive, visual aural disability while using internationally valid standards. EduArt and MediaInTouch programming systems are also extensively applied at the practical application of the methodology of adaptation of existing and newly created learning objects which are adapted for students with special needs. The main results achieved in this area currently involve(i)technical solution of the parallel recording of translation of the lecturer into the sign language and text form. The programming implementation of the stated feature is based on the addition of next video stream containing translation of the lecturer into sign language or text form in the resulting record and their synchronizing with performed presentation,(ii)the transcription of standard eLearning text study supports in the audio form and their availability obtained via podcasting as a part of the MERLINGO portal services,(iii)automated transcription of spoken text of the lecture recorded by the recording and assistance service into the written text.

Conflict of Interests

The author declares that there is no conflict of interests regarding the publication of this paper.

Acknowledgment

This paper has been elaborated in the framework of the project CZ.1.07/2.3.00/20.0296 supported by the European Social Fund.