Automation of Presentation Record Production Based on Rich-Media Technology Using SNT Petri Nets Theory

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.


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 ondemand, 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 richmedia 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

SNT Petri Process and Agent Nets and Their Properties.
Let N denote the set of all natural numbers, N 0 the set of all nonnegative integer numbers, 0 the empty set, ' the logical negation operator, | | the cardinality of the given set , where |N| = ℵ 0 , P( ) 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 : → N 0 . The nonnegative number ( ) ∈ N 0 , where ∈ , denotes the number of occurrences of the element in the multiset . The multiset is usually represented by the formal sum ∑ ∈ ( ) . MS denotes the set of all nonempty multisets over the set and MSE 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, : {1, 2, . . . , } → , where ∈ N. The function : 0 → is called the empty sequence over the set . The sequence : {1, 2, . . . , } → is usually represented by the notation = ⟨ 1 , 2 , . . . , ⟩ or = 1 2 ⋅ ⋅ ⋅ of the elements of the set , where = ( ) for 1 ≤ ≤ . Empty sequence : 0 → over the set is usually represented by the notation = ⟨⟩. The set of all finite nonempty sequences over the set is denoted by the notation SQ and the set of all finite (and possible empty) sequences over the set by the notation SQE . The length of the sequence = ⟨ 1 , 2 , . . . , ⟩, where ∈ N, 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 length( ). The function elem : SQE → P( ), such that elem( ) = { | ∃ : = ( ), where 1 ≤ ≤ length( )}, elem( ) = 0, assigns to each sequence ∈ SQE the set of all of its elements.
A semigroup ( , l) is a set together with an associative binary operation l : × → . A monoid ( , l, ) is a semigroup ( , l) with an element ∈ such that ∀ ∈ : l = = l . A net is an ordered triple = ( , , ), where (i) is a finite nonempty set of places, 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.
A SNT net (single-number tokens net) is an ordered 5tuple = ( , , , , ), where The Scientific World Journal 3 (ii) is the arc function, is the transition priority function, : → N.
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 ( ∈ N) 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 + ∈ P(N) of the place input tokens and + ∈ P(N) of the place output tokens by the following way: 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 : → (N 0 ) MSE 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 N 0 of all the nonnegative integer numbers and we use the form of ⟨ ⟩ for the single token representation in the net diagrams, where ∈ N 0 . Marking of the SNT net then expresses the current status of a process that is modeled by the given SNT net. If = {P1, P2, . . . , P }, where ∈ N, then marking of given SNT net can be written as a | |-vector = ( (P1), (P2), . . . , (P )). A SNT Petri net is an ordered couple = ( , 0 ), where = ( , , , , ) is a SNT net and 0 : → (N 0 ) MSE is an initial marking of the net SNTN. We will then also denote a SNT Petri net by an ordered 6-tuple = ( , , , , , 0 ). Transition ∈ is enabled in the marking of the SNT Petri net SNTPN if ∃ind ∈ ∀ ∈ • ∃ ∈ ( ) : = ( , )(ind) and we denote that fact symbolically in the form of en . Firing of the transition ∈ results in changing the marking into the marking , where ∀ ∈ : Marking +1 is reachable from the marking 1 iff there exists a finite sequence = . 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, It can be seen that ∀ ∈ ∃ ∈ N ∀ ∈ (• ∪ •): length( ( , )) = length( ( , )) = for the net 1, because for the only one transition T1 ∈ ∃2 ∈ N ∀ ∈ (•T1 ∪ T1•): length( ( , )) = length( ( , )) = 2; 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 P1+ We can also verify that the condition ∀ ∈ ∀ ∈ 0 ( ) : ∈ + is fully satisfied for the net 1.
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 1 and 2 of the given SNT Petri net in its marking , where 1 , 2 ∈ , the conflict occurs, if ((• 1 ∩ • 2 ̸ = 0) ∧ ( 1 en ) ∧ ( 2 en ) ∧ '({ 1 , 2 } en )). The term of the conflict transitions can be obviously easily generalized for the case of the finite set 1 , 2 , . . . , ( ∈ N) of transitions of a given SNT Petri net.
A typical example of conflict transitions in the particular marking of the SNT Petri net 2 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 (T1) = 1 and (T2) = 2).
A SNT process net (PN) is an ordered 9-tuple = ( , , , , , , , , RM s ), where (i) ( , , , , ) is a connected SNT net, is a finite set of resource places, ⊂ , (iii) the input place is the only one place ∈ ( \ ) such that • = 0, (iv) the output place is the only one place ∈ ( \ ) such that (v) RM s 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 : Static marking of the SNT process net is a marking such that ∀ ∉ : ( ) = 0; ∀ ∈ : '( en ); 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 = (0, 0, 0, . . . , 0, (R1), (R2), . . . , (R ), 0). The set of all the allowed static markings of the SNT process net we will denote by the symbol M s .
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 : → (N 0 ) MSE , 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 0). If = {R1, R2, . . . , R }, where ∈ N, then the resource static marking of the SNT process net can be written as a | | vector = ( (R1), (R2), . . . , (R )). The set of all the allowed resource static markings associated with the set M s of all allowed static markings of the SNT process net will be denoted by the symbol RM s . 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 M s . We will denote this chosen static marking ∈ M s associated with the given input Output (exit) marking reachable from the input marking of the SNT process net is a marking such that The Scientific World Journal 5   IP   T1   T3   OP   R1  R1  P1   T2   IP   T1   OP   P1   T2  T2   IP   T1   T3 OP R1 P1 ⟨4⟩ ⟨4⟩ Figure 3: Static, input, and output markings of the SNT process net 3.
and ∃ ∈ M s ∀ ∈ ( \ {IP, OP}) : ( ) = ( ); 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 M s . We will denote this chosen static marking ∈ M s associated with the given output marking (OP)). 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 3, where = {R1} is the only one resource place of the net, IP is the input place , OP is the output place , and the set RM s of all its allowed resource static markings RM s = {(1 1)}, 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 = ( , , , , , , , , RM s ) 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 = ( , , , , , , , , RM s , ).
(v) RM s is the set of all the allowed resource static markings, 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 ANET. Figure 4 illustrates the SNT agent net 3, where = {R1} is the only one resource place, IP is the input place , OP is the output place , OT is the output transition , and the set RM s of all its allowed resource static markings  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 ∈ M s (where ⟨ ⟩ means nonempty finite sequence of the nonnegative integer numbers; that is, ⟨ ⟩ ∈ (N 0 ) SQ , length(⟨ ⟩ ) = , ∈ N, and ⟨ ⟩ means nonempty finite sequence of the nonnegative integer numbers ∈ N 0 ; that is, ⟨ ⟩ ∈ (N 0 ) SQ , ⟨ ⟩ = ⟨ , , . . . , ⟩, and length(⟨ ⟩ ) = , ∈ N. 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 | (R1)| = 1 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.

Place-Substitution Operator and Its
Properties. The placesubstitution 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.
) be the PNs, and let ∈ 1 \ 1 be a place of the PN 1 such that The function PLACE-SUBST: PNET × PNET → PNET of the PN 2 substitution over the place of the PN 1 will be denoted by Example 2. The result of the place-substitution operation 1.P2 ⟨] 2 where the place 2 of the BPN 1 (see Figure 5) was substituted by the BPN 2 can be shown in Figure 6. It is clear that all the necessary requests for the placesubstitution 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 1.P2 ⟨] 2 is also sound. of the PN PN2, such that 2 ∉ 2 , ((+ 2 ⊆ + 3 ) ∧ ( 3 + ⊆ 2+)) ∨ (+ 2 = 2+ = N) ∨ (+ 3 = 3 + = N). Then
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 1 = ( 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , RM s1 , 1 ) be the AN and 2 = ( 2 , 2 , 2 , 2 , 2 , 2 , 2 , 2 , RM s2 ) the PNs, and let ∈ 1 \ 1 be a place of the AN 1 such that The function PLACE-SUBST: ANET × PNET → ANET of the PN 2 substitution over the place of the AN 1 will be denoted by Definition 5 is similar to Definition 1 in the sense of overloading of the operator ⟨]: PNET×PNET → PNET with the operator ⟨]: ANET × PNET → ANET of the PN 2 substitution over the place of the AN 1 which is denoted by 1. ⟨] 2. 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 ⟨1⟩ in the nonempty static marking ) of the sound net 3 substitution by the sound net 4, that is, the net 3.R1 ⟨] 4. The resulting net then does not satisfy the necessary conditions for its static marking , because the token ⟨1⟩ 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 ⟨1⟩ 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 5 substitution by the sound net 6, that is, the PN 5.P2 ⟨] 5, that is not sound. It can be seen for its input marking , where ( 1) = 1 1. In this input marking the transition T1 is enabled and its firing results into the marking 1 , where [T1⟩ 1 . There is token ⟨3⟩ in the place P1 and the token ⟨1⟩ in the place P2 in the marking 1 , and the transitions T2 and T5 are enabled in parallel in the marking 1 and after their parallel firing the PN results in the marking 2 , where 1 [T2 T5⟩ 2 . In the marking 2 there will be the token ⟨1⟩ in the place OP2 and the token ⟨3⟩ in the place OP1. No transition is enabled in the nonoutput marking 2 and so the resulting net 5.P2 ⟨] 6 is not sound. The loss of the net soundness then follows from the existence of the arc (P1, T2) in the resulting net. The necessary condition for the soundness of the resulting net is in this case the following: ∀ ∈ P2• : (( ∈ • ) ∧ ( ̸ = 1 )) ⇒ ( • = { }) and it does not hold for the place P2 of the PN SN5, because transition T3 ∈ P2• holds that ((P1 ∈ •T3) ∧ (P1 ̸ = IP1)) and (P1• = {T2, T3}). It is then clear that if the arc (P1, T2) is not present then the resulting net is sound. Figure 9 shows the result of the place 2 of the sound net 7 substitution by the sound net 8, that is, the SNT process net 7.P2 ⟨] 8, 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 P2+ = {1, 4}; that is, | 2+| > 1. The necessary condition for the soundness of the resulting PN is in this case the following: | 2+| = 1. place ∈ 1 . From this follows that also the place 2 in the resulting PN is -bounded because the number of tokens in any reachable marking of the process 1. ⟨] 2 is at the highest equaling the number of tokens in the place . Because the PN 2 is also -bounded and it terminates properly for any of its input markings , from these facts follows that also the place 2 in the resulting PN is -bounded and so the whole PN 1. ⟨] 2 must be also -bounded for any of its input markings . Similarly, both PN 1 and 2 terminate properly for any of its input markings . In particular for the PN 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.
Proof. Proof directly follows from the proof of Lemma 6.

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).
Example 9. The result of the asynchronous-processing operation 1.T1.T2 -] 2 where both PN 1 and AN 2 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 PN 1.T1.T2 -] 2 is also sound.

Lemma 10. Let
Proof. The proof is clear and follows directly from Definition 8. Proof. Lemma 11 is the direct consequence of Lemma 10.

Lemma 13. Let
From these immediately follows that in the resulting PN 1.
Because of the soundness of the AN AN2 the whole PN 1. 1 . 2 . ⋅ ⋅ ⋅ . -] 2 must be bounded. Because the PN 1 terminates properly for any of its input markings and also the AN 2 terminates properly and their firing of the transitions are independent it is clear that also the resulting PN 1. 1 . 2 . ⋅ ⋅ ⋅ . -] 2 must terminate properly for any of its input marking and it is also sound.

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  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.

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 generalview, 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 ⟨1⟩-⟨6⟩ in the resulting PN RNET by the following way: ⟨1⟩ entry of the speaker into the general-view area (from the nonscanned area of the lecture room), ⟨2⟩ exit of the speaker outside the general-view area (into the nonscanned area of the lecture room), ⟨3⟩ exit of the speaker outside the general-view area and entry of this speaker into the board-view area, ⟨4⟩ exit of the speaker outside the board-view area and entry of this speaker into the general-view area, ⟨5⟩ exit of the speaker outside the board-view area and entry of this speaker into the detail-view area, ⟨6⟩ 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 ⟨10⟩ 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 ⟨1⟩ in the resulting PN. Speaker can then leave out the generalview area into the nonscanned area of the lecture room by the firing of the transition T3 (the message represented by the token ⟨2⟩ 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 ⟨10⟩ that represents the chosen speaker inside the lecture room will be changed into the token ⟨20⟩ 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 T2 T2 ⋅ ⋅ ⋅ that can be potentially fired by every token ⟨10⟩ in the marking of the place P2. Every token ⟨20⟩ 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) ⟨10⟩ 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 ⟨3⟩. The entry into the detail-view area by the individual speaker and sending of the message represented by the token ⟨5⟩ 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 ⟨6⟩) and returning again into the detail-view area (firing of the transition T13 and sending of the message ⟨5⟩). Every such speaker is then represented by the token ⟨30⟩ after the firing of the transition T11 to prevent the possibility of the infinite transitions sequence T11 T13 T11 T13 ⋅ ⋅ ⋅ . The firing of the transition T14 and sending of the message represented by the token ⟨4⟩ 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 ⟨1⟩-⟨6⟩ 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 ⟨1⟩-⟨6⟩ and generated by the area sensors of the audiovisual lecture room. Resource place R20 with the token ⟨0⟩ of the only one allowed static marking of this AN (this static marking is such the only-one element of the set M s 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 ⟨1⟩-⟨6⟩ 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 ⟨1⟩, ⟨2⟩, and ⟨3⟩, respectively, in the actual static marking of the resource place R30. The set of all the allowed resource markings of this PN is then RM s = {( ⟨1⟩ + ⟨2⟩ + ⟨3⟩) | ∈ N 0 , ∈ N 0 , ∈ N 0 }. The functionalities of the PN CAM2 are as in the following: (i) Acceptance of the message ⟨1⟩ (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 ⟨1⟩ (entry of the speaker into the general-view area) into the resource place R30.
(ii) Acceptance of the message ⟨3⟩ (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 ⟨1⟩ (exit of the speaker outside the general-view area) from the resource place R30 and adding the token ⟨2⟩ (entry of the speaker into the board-view area) into the resource place R30.
(iii) Acceptance of the message ⟨5⟩ (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 ⟨2⟩ (exit of the speaker outside the board-view area) from the resource place R30, and adding of the token ⟨3⟩ (entry of the speaker into the detail-view area) into the resource place R30.
(iv) Acceptance of the message ⟨2⟩ (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 ⟨1⟩ (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 ⟨1⟩ (i.e., at least one speaker is still presented in the general-view area) the transition T35 then fires and the token ⟨2⟩ is changed into the token ⟨0⟩ (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 ⟨4⟩ (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 ⟨2⟩ (exit of the speaker outside the board-view area) from the resource place R30 and adding of the token ⟨1⟩ (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 ⟨2⟩ (i.e., at least one speaker is still presented in the board-view area) the transition T35 then fires and the token ⟨4⟩ is changed into the token ⟨0⟩ (i.e., no camera switching will be performed). The transition T34 will fire otherwise and the camera switching can be performed. OP5   T40   T41  T42  T43  T44  T45  T46   R40   2  2  2  2  (vi) Acceptance of the message ⟨6⟩ (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 ⟨3⟩ (exit of the speaker outside the detail-view area) from the resource place R30, and adding of the token ⟨2⟩ (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 ⟨3⟩ (i.e., at least one speaker is still presented in the detail-view area) the transition T35 then fires and the token ⟨6⟩ is changed into the token ⟨0⟩ (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.

IP5
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 ⟨0⟩ represents the state where all the three cameras are nonactive, (ii) the token ⟨1⟩ 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 ⟨2⟩ 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 ⟨3⟩ 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 RM s = {(⟨ ⟩) | ∈ {0, 1, 2, 3}}. The functionalities of the PN CAM2 are as in the following: (i) Acceptance of the message ⟨1⟩ (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 ⟨0⟩ is actually presented in the marking of the resource place R40) and the token ⟨1⟩ 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 ⟨2⟩ (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 generalview area is in active state and all of the remaining cameras are in nonactive states (i.e., the token ⟨1⟩ is actually presented in the marking of the resource place R40) and the token ⟨0⟩ 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 ⟨3⟩-⟨6⟩.
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