Petri Net Extensions for the Development of MIMO ... - Semantic Scholar

8 downloads 65425 Views 187KB Size Report
... of Texas at Austin, Austin, TX 78712–1084. email: [email protected]. ... In this paper, the development of Multiple Input Multiple Output (MIMO) ... Planning, OO Techniques in Manufacturing Control Software Development. 1.
Petri Net Extensions for the Development of MIMO Net Models of Automated Manufacturing Systems* S. Ramaswamy†,

School of Computer and Applied Sciences, Georgia Southwestern State University, Americus, GA.

email: [email protected]. Phone: (912)-931–2100.

K. P. Valavanis, Robotics and Automation Laboratory, The Center for Advanced Computer Studies and Apparel-CIM Center The University of Southwestern Louisiana, Lafayette, LA 70504. email: [email protected]. Phone: (318)-482–5779/5817.

S. Barber,

The Laboratory for Intelligent Processes and Systems, The Department of Electrical and Computer Engineering

The University of Texas at Austin, Austin, TX 78712–1084. email: [email protected]. Phone: (512)-471–6152.

Abstract In this paper, the development of Multiple Input Multiple Output (MIMO) subnets is discussed. Hierarchical TimeExtended Petri Nets (H-EPNs), a form of extended PNs allow the development of structured MIMO subnets to model complex system functionalities. In addition, H-EPNs also provide a means to convert such a MIMO structure to a Single Input Single Output (SISO) net that can easily be integrated within a top-down system decomposition. The activator arc definition is instrumental in deriving this transformation. The activator arc definition and the H-EPN subnet definitions are integrated with the SPNP package1 for simulation and analysis purposes. The activator arc extension allows a truly hybrid approach to PN based systems modeling, analysis and development of complex PN models of automated manufacturing systems. The case study emphasizes the usefulness of this extension in studying important issues such as static priority scheduling, dynamic failure recognition and rescheduling in manufacturing systems. The SPNP package, suitably modified to handle the H-EPN extensions, is used for analysis and verification.

Keywords: Petri Nets, Modeling and Analysis, Automated Manufacturing Systems, Priority Scheduling, Failure Accommodation, Model Based Planning, OO Techniques in Manufacturing Control Software Development.

1.

Introduction Petri Nets (PNs) and their modifications have proven to be useful for the modeling and analysis of several

classes of systems, including computer systems2, 3 , software4–8 , communication networks9–12 , production/process control systems13–17 , knowledge-based systems18, 19 , and manufacturing systems20–34 . PNs inherently capture the various asynchronous, sequential and parallel interactions between the various system resources and operations. * †

This research was supported in part by the Defense Logistics Agency / Department of Defense, under grant R–1043 and the Texas Higher Education Coordinating Board, under grant ATPD-112. Please address all your correspondences to Dr. S. Ramaswamy.

1

Murata35 , in his tutorial-review paper on PNs provides a thorough review of the PN history and their application areas. PNs have also been used for performance analysis and evaluation of decision making organizations associated with command, control and communication systems36, 37 . Wang et. al.38 have proposed a PN coordination model for intelligent mobile robots, while Sreenivas and Krogh39 have introduced PNs with inhibitor arcs to model infinite state supervisors in control problems. Farah 40 and Ramaswamy41 emphasize PN based error recovery in intelligent systems. In this paper, Hierarchical Time-Extended Petri Nets (H-EPNs) are used to derive and analyze MIMO nets, that allow the development of hybrid system models. This paper is organized as follows. Section 2 discusses the PN design techniques used in manufacturing applications, their relative advantages and disadvantages and introduces some of the significant features of H-EPNs. Section 3 provides a brief introduction to H-EPNs. The development of MIMO Nets and the MIMO-SISO transformation technique is formally introduced in Section 4. The theorems presented in Section 4 forms the basis for a truly hybrid approach to the modeling and anlysis of automated manufacturing systems. Theorem 2 in Section 4.1 refers to the fact that a MIMO net obtained by a bottom-up synthesis of low level system operations can be easily transformed to a SISO net to be integrated within a top-down decomposition of the manufacturing system. Theorem 3 in Section 4.1 refers to the fact that introducing a bottomup synthesized MIMO net within a top-down decomposition (after being transformed to a SISO net) preserves the essential properties of liveness, boundedness and reversibility of the manufacturing system model. Section 5 presents a small example to illustrate the applicability of this approach. Section 6 concludes the paper.

2.

Petri Nets and Manufacturing Classical PN theory

35

does not have a notion of hierarchy and generally all extensions to PN theory include

some notion of hierarchy for the modeling of complex systems, such as automated manufacturing systems. These modeling techniques use either top-down decomposition methods, using subnet abstractions, or bottom-up techniques that preserve overall system properties once the properties of individual subnets have been established. A top-down decomposition approach leads to the definition of subnets which are defined and developed such that the properties of the overall net are preserved. This requirement essentially restricts the modeler in developing SISO subnets during a top-down decomposition. However, a bottom-up approach leads to the creation of PN structures that are not essentially SISO. This discrepancy in the two approaches always restricts a PN modeler in her/his choice of design alternatives42 . Although the above approaches have been discussed independently to a great extent in PN literature, there does not exist a PN extension to accommodate hybrid model development and analysis. Research on PN extensions have focused on the use of SISO subnet structures because they are easy to develop and analyze33, 43 . The need for an hybrid approach to systems modeling with PNs exists because in modeling a real-world system (such as an automated manufacturing system) one always stumbles upon innumerable situations wherein a real-world entity (process or resource) is capable of exhibiting more than one predefined behavior or performing different tasks in different situations. Developing PN models of such processes is through bottom-up techniques 2

and this approach often leads to PN models that are MIMO nets. However, almost every system design technique enforces a structured top-down, global view of systems development. Such a process leads to a better definition of subsystem functions, aids project management, simplifies cost estimation and leads to a more partitioned approach to developing the system model. Moreover, almost all such top down approaches force a system to be subdivided into parts that are highly limited vis a vis I/O and user interface capabilities. Therefore these modeling theories enforce a SISO structure to preserve essential system properties. Thus, the integration of subsystem models developed through a bottom-up technique within a top-down decomposition of the system design always strains the modeler / designer to make undesirable choices early on in the actual system model development process. Specifically, in applying PNs to the modeling, analysis and simulation of automated manufacturing systems, many researchers have applied the top-down PN decomposition technique for the reasons stated above. PNs have been used for the modeling, analysis and simulation of automated manufacturing systems for the following reasons: (i) graphical and precise representation of system activities, (ii) ability to represent system models at various levels of detail, (iii) ability to capture the existence of concurrency and parallelism, (iv) existence of analytical and graphical simulation tools for the verification of dynamic system behaviors, and (v) ability to capture resource constraints and process dependencies accurately. However, most PN decomposition techniques do not provide any means of preserving the hierarchical depth information of structured hierarchies. Therefore, PN analysis often imply the analysis of an entire PN model at the lowest level in the hierarchy rather than analyze the abstractions at any given level. Thus the advantage gained by using a hierarchical decomposition technique is lost when it comes to analyzing these models. With respect to manufacturing applications, the main source of this problem is that many similar operations can be abstracted using a single subnet at the lower levels of decomposition. If these subnets do not contain encapsulated tokens (resources) by the markings of their places, analyzing a higher level net in the hierarchy which contains these subnets is easy. However, in most manufacturing environments, resources in the system also exhibit a hierarchical / sub-functional association. For example, a local resource, R a , in a FMS cell is local to that cell, and may not appear in a higher level abstraction. Moreover, a similar resource R b may be associated with operations similar to that of Ra in another cell. Thus, the operations performed by R a or Rb is represented by the same subnet at the lower levels of decomposition. In dealing with such subnets at a higher level net which models the operations of both these FMS cells, care must be exercised to treat the operations performed by R a differently from those of Rb . That is, the context in which the lower level subnet is used is affected at the higher level net. This is a situation wherein the preservation of depth information is critical to correctly perform the PN analysis. The H-EPN approach preserves the depth information at any hierarchical level by using the notion of a conjugate place. Boucher21 combines PNs with the well known Structured Analysis and Design Technique (SADT) to present a high level design methodology using IDEF0 to specify control strategies for a controller. Varadharajan 44 presents information flow nets (IFNs), a restricted form of PNs, for the top-down design of systems. Teng

30

presents a PN

model for representing the dynamic behavior of unmanned cell operations to model cellular manufacturing systems. Top-down techniques for the modeling of automated storage and retrieval systems is presented by knapp 25 and Ramaswamy27 . Harhalakis24 provides the justifications for using PNs to develop a factory level CIM model. Priority 3

Nets are introduced by Raju29 for the modeling, simulation and performance evaluation of FMSs. Priority nets use a two level hierarchical approach, called the system net and the logistic net respectively, to model operations at higher and lower levels. While top-down decomposition methods are valuable to model operations at the higher level, bottom-up techniques are preferable to model operations at lower levels of detail. Using a bottom-up synthesis technique, a designer may at first enumerate the distinct operations performed by a resource and then arrive at a overall model for operations performed by the resource. Often the bottom-up approach inherently results in MIMO nets making them unsuitable for integration with a top-down decomposed model. The H-EPN approach to PN modeling addresses the above issue by adding the notion of activator arcs. The activator arc extension has been successfully used in the hierarchical decomposition of intelligent system models41 and in the modeling of automated materials handling systems27 . The approach allows the easy integration of the top down and bottom up techniques and provides the following advantages45 : (i) provides a broader view of design alternatives, (ii) allows the easy transition between the top-down and bottom-up approaches to systems design, (iii) provides an explicit notion of depth in systems design by means of the conjugate place for every subnet place in the design which maintains the depth information even when a subnet is expanded / activated, (iv) allows the modeling of static and dynamic failure situations as described below in the next paragraph, (v) allows the reuse of previously developed subsystem models (subnets) into future designs thereby speeding up the development of complex system models, and, (iv) allows for the encapsulation of system resources and their corresponding operations within the context of their immediate environment (for example, Robot RB in the example). The activator arc extension facilitates the modeling of two different kinds of failure situations: (i) Static failure situations: These are failure situations that are known or can be decided prior to scheduling critical activities, (ii) Dynamic failure situations: These are failure situations that occur during certain critical system operations that require the use of redundant, standby resources and / or mechanisms. Almost all modeling tools and techniques have neglected the importance of capturing such dynamic failure situations. Augmented Timed Petri Nets (ATPNs) 32 have recently been proposed to model such dynamic failure situations. The activator arc extension along with other extensions in this paper are syntactically simpler and semantically easier to understand. Thus, this paper has been motivated by the following needs: (i) Structural requirements: To develop a structured methodology for the modeling of hierarchical / multilevel systems, (ii) Flexibility requirements: To provide increased flexibility in the development and use of subnets in systems modeling and analysis, and, (iii) Hybrid model generation:

To

develop PN extensions that support “hybrid” modeling techniques to combine the advantages provided by both the top-down and bottom-up approaches to systems modeling and to apply it for the modeling and analysis of hierarchically decomposable systems.

4

3.

H-EPNs H-EPNs41, 42 have been used as a modeling tool for the integrated control and diagnostics of multilevel systems,

with particular emphasis on the derivation of a hierarchical, model based approach to the coordination level of the three level intelligent system framework of organization, coordination and execution of tasks 46, 47 . Throughout this paper, it is assumed that the reader is familiar with the basic PN structure, representation and usage. The reader is referred to other existing literature 35 for more details on classical PN theory, detailed example on generating complex PN system models27 and hierarchical PN representations 41 . Although the H-EPN hierarchical structure has been defined for the coordination level PN model, it is generic and can be easily adapted to define a hierarchy for any state-based system model. The proposed extensions/modifications simplify the modeling and analysis of any hierarchically decomposable system. They include: a)

Place extensions: Five different types of places are defined (see Figure 1): (i) Status place (s): This place is similar to a place in the original PN definition, (ii) Action place (a): This place denotes an operation (action) ’a’ being performed by the system, (iii) Decision place (d): This place denotes a conflict. A token at this place may uniquely fire any one of the transitions that it enables. This definition of a decision place is different in this paper in that the decision place does not essentially represents a binary switch, indicating a yes/no condition48 . The disadvantages associated with the use of such an extension to model a binary choice decision tree structure has already been addressed 41 , (iv) Subnet place (su): A H-EPN subnet place is an abstraction of the operations of a subsystem and a subnet at the lowest level degenerates to an action place in the system, (v) Source-Sink place (ss): This place represents the origin and end of tokens in the net. This implies that a complete H-EPN system model exists between the output and input arcs to this place (see Figure 1c).

b)

Transition extensions: Two different types of transitions are defined. The transition extensions correspond to the “timing” and “event-driven behavior” of the transitions. The firing of transitions is assumed to be triggered by the occurrence of events. A transition will fire if and only if tokens exist in all of its input places and an event (or a set of events) associated with the specific transition occurs. Events are assumed to be caused by sensory inputs, the beginning or completion of an operation, etc.

c)

Arc extensions: Two different types of unweighted arcs are distinguished: the activator arcs that activate transition firings when a corresponding input place has a token and the inhibitor arcs that deactivate transition firings when the input place has a token. Tokens do not flow along these arcs. Enabled transitions with activator arcs have higher priority over transitions without activator arcs.

d)

Token extensions: Two different types of tokens, static tokens, (or control tokens, represented by solid circles) which are part of the initial system definition, and, dynamic tokens, (or flow tokens, represented by hollow circles) which are created during net operations, thereby enabling or disabling subnet operations. These tokens help in distinguishing subnets which may be duplicated during the PN system simulation without any adverse effects to the simulation model.

5

Static / Control token

Status place

Decision place

Dynamic / Flow token

Action place

Subnet place

SS Source−sink place

Figure a

SS Tsi

Sink

Psi

Source Inhibitor Arc Behavior

Pso

Tso

Figure b

SS After Firing

Before Firing

Activator Arc Behavior

Figure d: Arc Behaviors

Figure c

Figure 1. Places and Arcs in a H-EPN Model The graphical representation of the places, arcs and tokens in a H-EPN design is shown in Figure 1. The ss place (Figure 1b) is essentially a specialized subnet place of two immediate transitions and four status places. This structure for the ss place implicitly adheres to the property that every source place has a corresponding sink place in the net, thereby allowing for token conservation, that is, all tokens that enter the system must exit the system. This factor is important for ensuring the property of system boundedness. Figure 1d illustrates the contrasting behavior of the activator and inhibitor arcs. As an individual entity, a subnet place is not live; its liveness is dictated by the dynamic tokens in the net. Decision, action or status places are always the entry and exit places of a subnet. A ss place is useful for analyzing the properties of subnet places, since they can be used to study individual subnet properties as shown in Figure 1c. The restriction that the subnet place be a SISO place is relaxed, thereby allowing for multiple points of entry to and/or exit from the subnet. In such a case, every point of entry is associated with a corresponding point of exit. That is, individual SISO nets which share common places, transitions or arcs are combined to form H-EPN MIMO nets, similar to the bottom-up synthesis of PN system models. This definition of a subnet place also implies that similar operations performed at different system areas may be grouped together as a single subnet place. The initiation status of such an operation (represented by a subnet place) is maintained by a conjugate place. Thus, although a subnet place may lead to the firing of different transitions after the completion of associated operations, the use of the conjugate place enables the firing of only one transition. As with the classical PN theory all transitions that have their input places marked are considered enabled and are potentially fireable. However, the enabling of transitions is a two-step process as defined below: (i) Place enabling: Place enabling of transitions is similar to the classical PN approach. This means that if all the input places 6

to a H-EPN transition are appropriately marked then the transition is place enabled, and, (ii) Event enabling: Event enabling is an extension of H-EPNs to deal with discrete event dynamic systems (DEDS), where state changes are primarily derived by the occurrence of internal or external events. The occurrence of these events is signified by the enable time. Therefore, only when a transition is both place and event enabled, it is considered to be enabled. Transition firings in a H-EPN model are classified into three distinct, sequential time stages: (i) The enable time: The time limit for input events on a transition to occur, (ii) The holding time: A function of the duration time of the input places to a transition, and, (iii) The firing time: The time limit for output events to be generated. In the H-EPN system model, an enabled transition implies that events associated with the transition are expected to occur within the specified time limits. However, H-EPN transitions firings follow the weak-firing rule, that is, tokens are not reserved for firing of some enabled transition. The advantages of adopting the weak firing transition rule include: (i) system firing rules are more naturally derived, (ii) highly complex system models may be derived easily, and, (iii) the reachability graph analysis is simplified. It is to be noted that important PN properties are undecided for time incorporated PNs. However, the notion of time in H-EPNs is highly simplified and thus the H-EPN model is analyzed for various structural properties using PN simulation tools like SPNP 1, 49 . However, to use such tools, the H-EPN system model must first be transformed into a system model that does not contain activator arcs. This transformation is illustrated in Figure 2. This transformation essentially produces at least one extra place and arc for every activator arc in the H-EPN system model. For example, the error event that triggers the error operations in the example discussed later (Figure 10b), is modeled by means of additional places. However, to be used in real-time control, the transitions (tR1e, and tR1r) that model these failures are associated with real-time sensory events and are not driven by just the input places. The H-EPN extensions address exactly such characteristics of real-time systems.

3.1.

Why Activator Arcs? The basic PN structure is of limited use in the specification and modeling of time-dependent systems since it

lacks in both functional and timing specifications. Extensions that provide additional specification capabilities are of immense theoretical interest while those that provide modeling flexibility by means of functional extensions are of immense practical value. The activator arc extension has been introduced in simplifying system specification characteristics as well as providing additional flexibility in functional specification. It is to be noted that though activator arcs have been introduced as a means to add more expressive and specification power to the basic PN model, PNs with activator arcs are easily transformed into PNs without activator arcs. This transformation, shown in Figure 2, makes it useful for the verification of PN structural properties. Although different kinds of H-EPN places have been defined, it can be noticed that these extensions have been used only to increase the expressive power of the basic PN structure. Arcs similar in function to activator arcs have been defined and used in the specification of real-time system50, 51 . However, their exact semantics of usage is not addressed in detail and they seem to have been used in an ad-hoc manner. Also, as in H-EPNs they do not implicitly define transition priorities. Activator arcs have also been used in the Design/Actor network formalism for the modeling for engineering design processes52 . The transition firing rules with the activator arc extension are as follows: (i) Priority: Amongst all 7

enabled transitions, those with activator arcs have the highest priority. This provides a visually explicit priority structure that is easy to observe among enabled transitions as opposed to other complex priority assignments. In a lot of applications, the final decision essentially boils down to a choice ordering for final execution, wherein activator arcs are very easy to use, and, (ii) Boundedness: A transition that has only (one or many) activator arc input(s), cannot fire twice for the same input marking until the markings are modified in some manner. The advantages gained by using activator arcs are explained in the rest of this section. pi

pi

pi tj

ti

ti

tj

pj

pk ti

tj

(100)−−−> (110) −−−> (011)

H−EPN Specification

pj

pi’ pj

pk

ti tj (100)−−−>(110) −−−> (011)

SPNP Specification

tj

ti

Priority = 0 (lower priority)

Priority = 1 (higher priority)

pk

ti tj ((10)00) −−−> ((01)10) −−−> ((00)11)

Ordinary Petri Net Specification

Figure 2. Activator Arc Transformations

3.1.1.

Visually Explicit Transition Priority Assignments

The activator arc extension reduces the complexity in the specification and evaluation of complex predicates / rules associated with the firing of transitions such as those in high-level PN theories like Colored PNs and Predicate Transition nets. For example, executing different algorithms / evaluation strategies on same sets of data, can be easily modeled by using the activator arc to represent copies of the same data value (token) passed to places representing different algorithms, as shown in Figure 3. In a top-down model decomposition, this structure is used as a parallel expansion rule. Path 1

Path 2

Path n

Figure 3. Data Duplication Example

3.1.2.

Simplify Subnet Construction and Analysis

H-EPNs conveniently model independent subnet initiations (separately defined subnets as well as independent subnets within a MIMO subnet) by means of conjugate places thereby providing a well structured approach to the derivation of complex system models. In the next section, an explicit transformation between H-EPN MIMO nets generated by bottom-up PN synthesis techniques, to equivalent SISO nets is derived and this transformation is influenced by the activator arc extension. The construction of MIMO subnets and the use of conjugate places is easily observed in the example. 8

3.1.3.

Simplify Communications Modeling

The PN and H-EPN models of a client-server communication is shown in Figure 4. Subsystem A requests some services from subsystem B during its operations. To analyze the combined system operations, the PN system model will be as illustrated in Figure 4a. The equivalent H-EPN system model is shown in Figure 4b. It can be noticed that the number of places required to model this communication mechanism is reduced in the H-EPN model due to the use of activator arcs. It is also seen, albeit informally, that the H-EPN system model can be easily transformed to an equivalent classical PN model by the addition of extra places. Station A

Station A

Wait_ack B

Wait_ack B Ack−B

Ack−B

Request_B

Request_B

Transmit_A

Transmit_A

Transmit_B

Transmit_B

Station B

Station B

Figure b: H−EPN system model

Figure a: PN System Model

Figure 4. H-EPN Modeling of Subsystem Communications

4. MIMO Nets and MIMO-SISO Transformation H-EPN MIMO subnets are defined by means of a bottom-up approach to PN model generation (bottom-up synthesis) and are created due to operation abstraction with respect to the resources used. That is, independently defined SISO subnets are combined through common places, transitions and arcs to define a MIMO subnet. Such a MIMO subnet is then transformed to a corresponding SISO subnet for easy integration into a top-down decomposition of the overall system model. The advantage of this approach is that previously established analysis techniques (and / or abstractions) can be easily adapted (used) within this framework to build complex PN structures. When two or more operations are performed using a resource (or a set of resources) then such operations are abstracted at a higher level of modeling detail as a single context sensitive MIMO net. This context sensitivity is achieved by the notion of the conjugate place. This means that different instantiations of the same MIMO subnet corresponding to the respective SISO subnets in the MIMO subnet are possible and information regarding a particular instantiation is maintained by the conjugate place at the higher level net. During the simulation of H-EPN nets, two different types of subnets are distinguished based upon the tokens specified within the net: (i) High level subnet place (highsub): A subnet place is called a highsub if at least one of 9

its places contains static tokens in the initial PN marking, (ii) Low level subnet place (lowsub): A subnet place is called a lowsub if none of its places contain static tokens in the initial PN marking. Since static tokens will be used to represent the actual system resources in the initial PN marking, a highsub definition alludes to a subnet definition that cannot be duplicated while a lowsub definition represents a subnet definition that can be essentially duplicated for every call. For example, the subnet in Figure 5a is a highsub place due to the presence of the resource place p r . In the sequel, capitalized letters represent sets, small letters denote the labels, and subscript letters denote contextual abstraction. For example, P denotes the set of places in a net, p1 represents a particular place, P a or PA represent the set of action places, and, PN represents the set of set of places in net N. Figure 5a represents a simple SISO net, Figure 5b illustrates a simple MIMO subnet generated by a shared resource place, p r (shown duplicated for easy reading). Figure 5c shows a more complex MIMO subnet generated by shared places, p r and pq , where pr is a shared resource and p q sequences the operations of the two SISO subnets of the MIMO subnet. It is to be noted that when such a MIMO subnet place is used at a higher level of abstraction, the two individual SISO nets are not essentially activated simultaneously. In the classical approach to PN modeling, the resource pr will be modeled as in Figure 5b, that is, it will be associated with transitions t11 , t14 , t21 and t24 . However, in Figure 5c it is modeled differently. By returning all resources that are no longer of immediate necessity, the probability of deadlocking or unnecessary resource starvation is reduced. The gains achieved by adopting such a design approach have yet to be validated, however, the justification is intuitive - a higher level marking that leads to the initiation of two independent SISO nets sharing a common resource in a MIMO subnet can possibly result in the simultaneous execution of both the SISO nets. The following definitions are essential for the development of theorem proofs discussed later in this section.

ps1

ps1

t1

t11

ps2 t21 pa21

pa11

pa1

t12

t2

t21

t11 pa11

t22

t12

pa22

pa12

pa11’

pa12 pa12’

pr

pr

pa22’ pa22

pq

pr pr

t23

t13

t23

t13 pa13’

pa3

pa21 t22

pa22’

pa2’ pa2 t3

ps2

ps1

pa23

pa13

pa23’ pa23

pa13

t4

t14

t24

t14

t24

pf1

pf1

pf2

pf1

pf2

Figure a

Figure c

Figure b

Figure 5. SISO/MIMO PN Examples

Definition 1: Well Formed Subnet (WFS): A well formed subnet is a SISO net that is bounded, live and 10

reversible. The net in Figure 5a is a WFS. Definition 2: Successor ((ti )): A transition tj is said to be a successor of a transition ti , (ti ), if there exists a place, pk , or a set of places, pk .... pk+r , such that: (ti ) =

pk

(ti+1 )

=

:::::: (ti+r ) =

pk+r

T hus; ti+1 and ti+r

=

=

(tj )

(ti )

(1).

3

 (ti );

=

where the 3 indicates that the distance is greater than a unit; that is; the transitions are not immediate succesors but are probable distant successors: Note: Observe that if a net is reversible, then * (ti ) = tj and * (tj ) = ti . Definition 3: Well Defined Block (WDB): A WDB is a WFS place, psu j such that if a ss place pss i is introduced such that equation 2 is true, then the combined net is live, bounded and reversible. Thus, all WFSs are WDBs. Figure 5a is an example of a WDB.

Let ps and pf be the first and last places of the subnet place pjsu (ps )

=

tf





piss 

=

(pf ) =



ts

=

 piss



and

Definition 4: Interacting Subnet (IS): An interacting subnet is made of two or more WDB’s psu j 1  j

(2).

 n; n 

2; n being the number of WDB’s sharing the same set of resources or places in the H-EPN system model. Definition 5: MIMO Subnet: If an interacting subnet of two or more WDB’s can be ordered such that: (i) equation 3 is satisfied, and, (ii) the combined net is live, bounded and reversible, then it is called a well formed MIMO subnet. In such an ordering, a set of ss places pss i 1  i  n; n > 2; are introduced to form a combined

net with the interacting subnet. Figures 5b and 5c are examples of well formed MIMO subnets.

Let psj and pfj be the first and last places of the subnet place pjsu 0 1 1 (ps1 ) = tf 1 = pss  and 0 2 1 (pf 1 ) = ts2 =  p ; ss

::::: (psj )

=



tfj

=

(pfj ) =



pjss 

tsi



=



and

(3).

 piss ;

::::: (psn )

=

tfn

n = (pss )

(pfn ) =

ts1

=

and

 0

1  pss

1

Note: It follows from definitions 4 and 5 that all MIMO subnets are interacting subnets; but not all interacting subnets are MIMO subnets. 11

Definition 6: SU-Connection (SUC): A SU-Connection (subnet connection) is said to be established between

2 N, when a WDB, psu j 2 X and its conjugate place in N are marked

a net N and a MIMO subnet Xmimo

by a transition firing in N. For example when transitions t 2 or t4 fire in net N in Figure 6 a SU-Connection is made between nets N and X. Definition 7: Subnet Activation Time (N ti (XA )):

N

ti (XA ), represents the ith instance of activation of a subnet

XA in net N. Definition 8: QR Set: A transition, ti , is said to be associated with a QR set, if there exist a set of disjoint places PQ and PR such that PQ is the set of places which inhibit ti and PR is the set of places which activate ti . For example, in Figure 6 the QR set of the first transition of subnet X A , t7 is [p50 ; p3]. Definition 9: Dependent and Independent WDBs: Suppose there exist three WDB’s XA , XB and XC belonging to a MIMO subnet Xmimo of a net N. Then, XC is an independent WDB and XA , XB are dependent WDBs if: 8 pi 2

A ; pj 2

X

C \

X

=

A

X

A \

X

:



( m) 2 p

X

A;

X

C \

X

i

s; s

P

;

p

1

=

B ; pk 2

X

C

B

X

1   B = rj 1   9( m ) 2 rj : 2 ( m ) 2 B 3 ( m ) 62

ri ;

P

X

:

k; and

j

k; and

(4).

P

p

X

;

:

p

ri ;

P

W here; s k

:

:#

resources shared by the W DBs;

T otal

#

places shared by the W DBs:

That is, XC is not affected by any shared places if all the shared resources are available for its initiation, whereas XA and XB are sequenced by a shared place. The following are then observed from the above definitions regarding the resource, p r

2

Pri , 1 ≤ i ≤ s, and pm :



pr is used in the operations of Net N outside of X if XA , XB are temporally spaced in N.



pm is used in the communication between XA , XB when they are triggered alternatively or simultaneously (that is, •(XA ) = •(XB )) in N. Therefore, the MIMO subnet in Figure 5b consists of two independent subnets while the MIMO subnet of

Figure 5c consists of two dependent subnets, which share a common place, pq , that determines the liveness of the MIMO subnet, and hence the overall net.

4.1.

MIMO Net Properties* The following discussion considers the net in Figure 6. Let X be the MIMO subnet of a net N consisting of

two WDBs XA and XB such that XA and XB are initiated by N at different time instances. Let XA and XB encapsulate a shared resource represented by a status place pri *

2 X.

The proofs developed in this section have been reported45 . However, the proofs for theorems 1 and 2 are important to understand the development of QR sets and the conversion of MIMO nets to SISO nets. Therefore, these proofs have been included here.

12

Net N

MIMO Subnet X p1

t1

p2 p7

t7

p8 XA: Subnet p3 in N t8

t2

p8’

t6 p3

p3’

t3

pr1

p6 p5’

prn pr2

p4

Encapsulated Resources

t4

t5 p5

XB: Subnet p5 in N A token in place p3 (XA) and p3’ (Conjugate of p3 or XA’) implies a call to SISO subnet XA in MIMO subnet X. N: Overall net / subnet at level i X: Subnet of N at level i or below XA, XB: SISO subnets of X sharing resources pr1...prn.

Figure 6. MIMO Net structure Theorem 1: A ss place is a WDB. Proof: The proof of this theorem is trivial. If two ss places pss i and pss j are combined using two temporary transitions ts and tf , one of the ss places, (for example, pss i ), can be considered to function as a WDB connected with a ss place, pss j . Equation 2 holds for this combined net. Refering to Figure 1c replacing the subnet with the net pss j , produces a WDB.

,

3

Theorem 2: For every well formed MIMO subnet, Xmimo , there exists a well formed SISO subnet, Xsiso , that represents the same set of operations, such that operations corresponding to the individual WDB’s in Xmimo , (for example, h WDBs), correspond to h branches that are activated due to the firing of one of the h transitions that are output to the single input place, ps , to Xsiso . Proof: The MIMO-SISO transformation is a 2–step process as illustrated in Figure 7. The transformation is a simple process as illustrated below. Figure 7a is the equivalent SISO subnet of Figure 5c. Places pstart and pfinal have been introduced and places ps1, ps2, pf1 and pf2 have been removed. Transitions t11 and t21 do not have QR sets in the equivalent SISO structure because the net in Figure 5c does not have a higher level net in the example. Figure 7b is the equivalent SISO subnet of the MIMO subnet X in Figure 6, with only two shared places pr1 and pr2 where pr1 is a shared resource and p r2 is a status place that helps in communication between subnets XA and XB . The translation is similar to the translation in Figure 7a; however, QR sets have been developed for transitions t7 and t10. The QR sets can be logically explained from the Figures. Subnets p3 and p5 in Net N are sequential. That is, subnet p5 follows subnet p3 in N. Therefore, the set inhibitor set Q in the QR set for t7 and t10 contain the corresponding conjugate places, p5’ and p3’ and the activator set R in the QR set for t7 and t10 contain the corresponding conjugate places, p3’ and p5’, respectively. The two-step process for the MIMO-SISO translation is, therefore: 13

MIMO Net M

Equivalent SISO Net M

mimo

siso

ps2

ps1

pstart t21

t11 pa11

pa21

pa11’

t21

t11 pa11

pa21

pa11’

t22

t12 pa12

t22

t12

pa22’

pa22’

pa22

pr

pa12

pq

pq

t23

t13 pa13’

pa22

pr

t23

t13

pa23’ pa23

pa13

pa23’

pa13’

pa23

pa13 t14

t24

pf1

pf2

t24

t14 pfinal

a − Example 1

MIMO Subnet X

Equivalent SISO Subnet X XA: Subnet p3 in N

p10

p9 in from t2

p7

t8

t7

out to t3

t9

p8’ pr2

[p5’, p3’]

p8

p8 XA: Subnet p3 in N p9 t8

t7

t9

p8’ pr2

pstart

pfinal pr1

p12

t11

p14

p13 t12

p11

[p3’, p5’]

t10 in from t4

pr1

XB: Subnet p5 in N

out to t5

p12

t11 p13

t10

t12

XB: Subnet p5 in N

b − Example 2

Figure 7. MIMO — SISO Translation •

Creating a SISO structure: Remove all the input places of the WDBs and replace them by a single decision place, ps , with output arcs running from the decision place to all the output transitions, say Th , (Th is a set of transitions) of the removed places. Remove all output places from the individual WDBs and replace them by a single place pf which will be the final output place for all the WDBs. The transition that this place will fire at the higher level net on completion of the subnet operation will depend on the conjugate place that holds a token.



QR set development: For each transition in Th , that is output to the place ps , the set Q consists of all the places that inhibit the transition from firing, and the set R consists of the corresponding conjugate place at the higher level net. Sets Q and R may also contain other constraints that can affect the selection of the particular WDB of the MIMO subnet.

Thus, these new transitions with QR sets will have two more conditions to satisfy, in addition to those discussed earlier in the H-EPN transition firing rules, before they are enabled. These conditions correspond to the activating and inhibiting places. All such places may not necessarily be conjugate places at the higher level net, they may be other places representing operations that are associated with the corresponding transitions. To use PN simulation tools that do not allow the use of activator arcs, for simulation / analysis purposes, the technique discussed in 2 is used. However, note that this technique adds to the net complexity either in terms of additional places, or additional

3

arcs with the specification of transition priorities. 14

Theorem 3: Let N be the net that contains the MIMO subnet Xmimo with a correct initial marking

N 0 . Let XA and

XB be WDBs of X that are SUC in N. Let S be the net obtained after the SUC of XA (or XB ). Then: • • •

S is bounded

, N is bounded.

, N is live. S is reversible , N is reversible.

S is live

Proof: The proof of this theorem is presented by Ramaswamy45, 42 .

4.2.

3

H-EPN Modeling Methodology The modeling methodology used for the development of the hybrid model is a 4–step process as described

below: Step 1: Create an initial top-down H-EPN system model. Depending on the complexity of the application, this model may be subsequently divided into multiple levels of representation. It is to be noted that every subnet definition in this top-down decomposition will have a corresponding subnet place. Repeat Steps 2, 3 and 4 until all subnets in the top-down decomposition are accounted for. Step 2: Develop a bottom-up design of subsystem models. This following guideline may be adopted — First, identify independent operations associated with subsystem resources and develop individual H-EPN models for these operations. Then use a bottom-up synthesis technique (identify and integrate common transitions and places) to develop a H-EPN model for the subsystem operations. H-EPN models of such subsystems may be reused during the development of other PN system models. Step 3: Create an equivalent SISO net for related subsystem modules developed in Step 2 and develop the QR sets for these SISO nets. At the minimum, the QR set will include the following two sets: (i) Q set: the set of all conjugate places that will be possibly marked during the execution of the corresponding subnet, and, (ii) R set: the set of all conjugate places that should not be marked during the execution of the particular subnet in question — this set will also include all subnets that are in conflict for some system resource. Step 4: Integrate the SISO net developed in Step 3 for the corresponding subnet(s) in the top-down decomposition developed in Step 1.

5.

Example In this section, we will demonstrate the use of activator arcs in developing and using MIMO nets in an example

assembly process. Although the example is relatively small, it is sufficiently complex to illustrate issues such as (i) resource sharing, (ii) static priority scheduling, (iii) dynamic resource failures, and, (iv) integration of top-down and bottom-up PN design techniques. The above issues are inherent problems that need to be effectively addressed in any manufacturing system design and hence this example has been chosen to illustrate the capabilities of H-EPNs in modeling such issues. The example is illustrated in Figure 8. It consists of three workstations A, B, and C, and two robots, RA and RB. An input job is first processed by A and subsequently processed by either B or C. The 15

robot RA is used in the operations of A and is also used to transfer intermediate jobs from the output buffer of A to the input buffer of B and C. The robot RB is used exclusively by either B or C and hence it is not necessary for representing it in the top-level H-EPN model in Figure 9. A and B have the capability to schedule jobs based on certain priority constraints, and thus have the ability to maintain priority queues of incoming jobs. All stations are served by an active resource R1. R1 is not illustrated in Figure 8 because R1 can be shared simultaneously by all the workstations. R1 has an active standby, R2, used during dynamic failure situations. However, R1 has a higher priority over R2 and therefore, R2 is used only when R1 is down.

Robot B

Buffer

Machine B

Buffer

Machine A

Buffer

Robot A

Machine C

Figure 8. An Example Assembly Line

The system model is derived following the hybrid design methodology described in the previous section for the development of MIMO nets. Given the general system description, first, a high-level H-EPN model is created using a top-down approach. Later, depending on individual machines capabilities, the operations that are carried out on the various machines are modeled through a bottom up synthesis technique. Solid tokens in the various subnets represent resources comprising the system description while dotted (hollow) tokens represent tokens generated during system operations. The ss place regulates the input job flow, represented as an input job in Figure 9. This is modeled as illustrated in Figure 1c. The top level H-EPN model of Figure 9 is used in conjunction with the ss place.

5.1.

Top-down System Decomposition Figure 9 provides the top level H-EPN model of the system operations. The model traces the flow of an input

job through the system and gives a high level description of the system operations. While Figure 9 represents workstation C with a single token, workstations A and B are represented by the numbers n1 and n2 for indicating the maximum number of jobs that the workstations can maintain in their individual job queues. These jobs are then scheduled by a priority scheduling algorithm that can handle dynamic job priorities. The subnets SA, SB and SC denote the operations of A, B, and C, respectively. These subnets are generated by a bottom-up design technique as explained in the next section and then converted into an equivalent SISO net (Figure 12b) and integrated for SA, SB and SC in Figure 9. The above description of system operations as modeled in Figure 9 is obtained by the general system description. Although the presence of conjugate places is shown explicitly in the diagram, the modified SPNP package handles the creation of these conjugate places by means of the highsub function call. 16

Input_job

tA Robot RA

SA’ n1 A

SA

Output Buffer A

Input Buffer BC

tC

tB

B

C

SC’

n2

SC

SB’ SB

output_job

SA, SB and SC: Sched Subnets

Figure 9. Top Level H-EPN System Model

5.2.

Bottom-up Synthesis of System Operations The subnet for processing an input job for the machine is illustrated in Figure 10c. Figures 10a and 10b present

the subnets for the priority scheduling of jobs and the dynamic failure recognition and rescheduling of jobs. These two subnets form the lowest level description of system operations and model the actual job processing. Note that these two subnets are WDBs that share common places, process job-R1 and process job-R2, respectively. The QR sets associated with the transitions tR1 and tR2 schedule incoming jobs to be processed. In case an overflow is detected for the priority job queues in workstations A and B, Queue Overflow blocks the acceptance of new jobs at transitions tR1 and tR2. The Switch place initiates the use of resource R2 in case a failure detected in R1, and it re-initiates the use of R1 once it is repaired. This mechanism preserves the priority of R1 over R2 when both R1 and R2 are operable. Figure 11a illustrates the subnet model for actual job processing by workstations B and C. Robot RB, used for loading and unloading of intermediate parts onto workstations B and C, is represented here. This H-EPN net is a MIMO subnet. The operation of workstation A is also similar to the operations of B, except it does not use RB in its operations. This is illustrated in Figure 11b. Figures 11a and 11b are combined to give the equivalent 17

R1 Enqueue−R2

Enqueue−R1

tR1e

tR1r

Err−R1 2

2

Process Job − R1

Priority’ Queue

Process Job − R2

Repair−R1

Process Job −R2 n

Switch Check

Dequeue−R1

*

Process Job − R1

Dequeue−R2

* Queue Overflow

R2

tR2r

The * is used to denote the case when any tokens that remain are removed when the corresponding transition fires. Actually in the normal PN model this effect will be achieved by using two (instead of one) transitions for Check, Dequeue−R1 and Dequeue−R2.

tR2e

The switch forces R2 to be available and transfers the job that is being processed using R2 to be processed using R1 as soon as R1 becomes available.

Figure b: Dynamic Failure Recognition and Rescheduling of Jobs

Figure a: Priority Scheduling of Jobs

Input job

[Errr−R1, Queue Overflow, Switch; R2 ]

[Repair −R1, Queue Overflow; Switch ] tR1

tR2

Process Job − R2

Process Job − R1

output job

Figure c: Subnet Process Job

Figure 10. Actual Job Processing, Priority Scheduling and Dynamic Failure Recognition SISO net. The synthesis and verification of the MIMO net is illustrated by Figure 12a. The equivalent SISO net is illustrated in Figure 12b. When a new job arrives while the machines are processing a job, the enqueue transitions (Enqueue R1, Enqueue R2) are used to insert these jobs into a priority queue for the machine. When the current job is completed, the priority queue is examined to choose the first job in the queue for further processing using the dequeue transitions (Dequeue R1 and Dequeue R2). Since both R1 and R2 use the same priority queues the use of either R1 or R2 at any point of time does not create a conflict. Figures 10a, 10b, and 10c represent the job processing subnets for every individual machine.

5.3.

Final System Model Integration The final H-EPN system model is generated by integrating the equivalent SISO net generated in Figure 12b

with the top-level decomposition of the system model generated in Figure 9. This is achieved by associating QR sets with the transitions (tA.sched, tB.sched and tC.sched) that are output to the input place of the equivalent SISO subnet as illustrated in Figure 12b. These QR sets serve to control the actual job flow through the assembly.

18

tB.sched

tC.sched

tA.sched

Robot RB Process Job

Process Job

Process Job

Figure b: Operations of Machine A

Figure a: Operations of Machines B & C

Figure 11. Subnets for Individual Machine Operations

tA.sched 1

[ , SA’]

[ , SB’]

[ , SC’]

tB.sched

tC.sched

Pss

Process Job A

Psu

Robot RB Process Job

2

Process Job

Pss C

Psu

B

Psu

Figure a: MIMO Net Construction and Verification

Figure b: Equivalent SISO Net (SA, SB, SC)

Figure 12. Equivalent SISO Subnet for Machine Operations

5.4.

System Simulation The SPNP package1, 49 has been used for the simulation of the above system. For any manufacturing system,

important PN system properties include boundedness, liveness and reversibility 27 . These properties were verified for the H-EPN system model (in Figure 9) and it was found to be bounded, live and reversible. To execute the H-EPN system model using the SPNP package three extensions to the net descriptions were introduced. These include: (i) Integration of activator arcs: To use SPNP for simulating the H-EPN model, the activator arcs have to be transformed to SPNP specifications without affecting the expected system behavior. This is achieved defining the functions aarc and maarc. aarc represents the activator arc definition with arc weight 1 and maarc represents the definition of an activator arc with an arc multiplicity, m. The priority function establishes a default priority of prio instead of the default SPNP transition priority value of 0, (ii) Integration of QR sets:The qrset function is defined to transform the QR set definitions into corresponding activator and inhibitor arc definitions, and, (iii) Integration of 19

MIMO subnet descriptions: Subnet description by means of the SPNP package is achieved by invoking a function call to a subnet definition in the PN specification file. However, this definition of a subnet essentially duplicates all the places and transitions in the subnet definition for every such call. However, subnets cannot be duplicated if they model shared system resources. Solid (control) tokens that represent shared system resources make a high level subnet, while all other subnets are considered low level subnets. Therefore, high level subnets are generated by means of a highsub function call, while all other subnets are generated by means of a lowsub function call. The lowsub system call is similar in function to the subnet definition in SPNP. In summary, the highsub routine essentially creates a conjugate place and the respective input and output arcs to both the conjugate place and the actual subnet input place. The lowsub routine essentially duplicates the subnet along with the creation of a new conjugate place.

6.

Conclusions In this paper, activator arcs have been used as a basis for the construction of QR sets essential in the generation

of MIMO nets and the construction of structured multilevel PN system models. QR sets have been used in deriving a transformation from MIMO nets generated by means bottom-up synthesis techniques to SISO nets. More often than not, a resource may be used to perform more than just a single operation and these operations can be quite distinct from one another in both functional and timing characteristics. The use of a context sensitive conjugate place during subnet activations is used for reactive decision making in situations wherein the subnet characteristics are dictated by higher level net initiations. Using subnets to model such distinct operations performed by a resource and encapsulating these distinct operations by means of a single context sensitive MIMO subnet provides the baseline for adopting object-oriented techniques to actually implement reusable and fully extendible software components for manufacturing control software.

7.

Acknowledgments The authors are thankful to Prof. Kishor Trivedi for providing the SPNP package and the anonymous reviewers

for their helpful suggestions.

References [1] G. Ciardo et al. SPNP: Stochastic Petri Net Package. Intnl. Conf. on Petri Nets and Performance Models, Japan, Dec. 1989. [2] T. Agerwala and Y. Choed-Amphai. A Synthesis Rule for Concurrent Systems. Proceedings of the 15th Design Automation Conference, June 1978. 20

[3] W. E. Kludge and K. Lautenbach. The Orderly Resolution of Memory Access Conflicts Among Conflicting Channel Processes. IEEE Transactions on Computers, C-31(3), 1982. [4] J. L. Baer and C. S. Ellis. Modeling, Design and Evaluation of a Compiler for Parallel Processing Environment. IEEE Transactions on Software Engineering, SE-3(6), 1977. [5] H. P. Lipp. The Application of Fuzzy Petri Nets for Controlling Complex Industrial Processes. IFAC Conf. on Fuzzy Information Control, July 1983. [6] T. Murata and D. Zhang. A Predicate–Transition Net Model for Parallel Interpretation of Logic Programs. IEEE Transactions on Software Engineering, 14(4):481–497, Apr. 1988. [7] M. Schiffers and H. Wedde. Analyzing Program Solutions of Coordinated Problems by CP Nets, volume 64 of Lecture Notes in Computer Science, pages 463–473. Springer–Verlag, Berlin, Apr. 1987. [8] K. Voss. Using Predicate/Transition Nets to Model and Analyze Distributed Data Base Systems. IEEE Transactions on Software Engineering, SE-6(6), 1980. [9] G. Berthelot and R. Terrat. Petri Net Theory for Correctness of Protocols. IEEE Transactions on Communication, 30(12), 1982. [10] M. Diaz. Modeling and Analysis of Communication and Cooperation Protocols. Communication Networks, 6, 1982. [11] S. T. Dong. The Modeling, Analysis and Synthesis of Communication Protocols. PhD thesis, Univ. of California, Berkley, 1983. [12] P. M. Merlin. Specification and Validation of Protocols. IEEE Transactions on Communications, 27(11), 1979. [13] G. Bruno and G. Marchetto. Process–Translatable Petri Nets for the Rapid Prototyping of Process Control Systems. IEEE Transactions on Software Engineering, SE–12, February 1986. [14] A. Camurri and et. al. Petri Net Based Process Scheduling: A Model of the Control System of Flexible Manufacturing Systems. Journal of Intelligent and Robotic Systems, 1992. [15] D. Dubois and K. E. Stecke. Using Petri Nets to Represent Production Processes. IEEE Int. Conf. on Decision and Control, pages 1062–1067, Dec 1983. [16] T. Murata. State Equation, Controllability and Maximal Matchings on Petri Nets. IEEE Transactions on Automatic Control, Jan 1980. [17] J. Prock. A New Technique for Fault Detection Using Petri Nets. Automatica, 27(2), 1991. [18] M. Jantzen. Structures Representation of Knowledge by Petri Nets as an Aid for Teaching and Research. Lecture Notes in Computer Science. Springer–Verlag, 1980. [19] M. D. Zisman. Use of Production Systems for Modeling Asynchronous, Concurrent Processes. In D. A. Waterman, editor, Pattern-Directed Inference Systems. NY, 1978. [20] C. L. Beck and B. H. Krogh. Models for Simulation and Discrete Control of Manufacturing Systems. IEEE Int. Conf. on Robotics and Automation, pages 305–310, Mar. 1986. 21

[21] Thomas O. Boucher and Mohsen A. Jafari. Design of a factory floor sequence controller from a high level system specification. Journal of Manufacturing Systems, 11(6):401–417, 1992. [22] A. A. Desrochers, editor. Modeling and Control of Automated Manufacturing Systems. IEEE Computer Society Press, New York, 1990. [23] H. J. Genrich and K. Lautenbach. System Modeling with High–level Petri Nets. Theoretical Computer Science, 13:109–136, 1981. [24] G. Harhalakis, C. P. Lin, H. Hillion, and K. Y. Moy. Development of a Factory Level CIM Model. Journal of Manufacturing Systems, 9(2):116–128, 1990. [25] G. M. Knapp and H.-P. B. Wang. Modeling of Automated Storage/Retrieval Systems Using Petri Nets. Journal of Manufacturing Systems, 11(1):20–29, 1992. [26] B. H. Krogh and R. S. Sreenivas. Essentially Decision Free Petri Nets for Real Time Resource Allocation. IEEE Int. Conf. on Robotics and Automation, pages 1005–1011, Apr. 1987. [27] S. Ramaswamy and K. P. Valavanis. Modeling, Analysis and Simulation of Failures in a Materials Handling System with Extended Petri Nets. IEEE Transactions on Systems, Man and Cybernetics, 24(9), Sept 1994. [28] V. S. Srinivasan and M. A. Jafari. Fault Detection/Monitoring Using Time Petri Nets. IEEE Transactions on Systems, Man and Cybernetics, 23(4):1155–1162, July 1993. [29] K. R. Raju and O. V. K. Chetty. Prioroty Nets for Scheduling Manufacturing Systems. Journal of Manufacturing Systems, 12(4):326–340, 1993. [30] S.-H. T. anf J. T. Black. Cellular Manufacturing Systems Modeling: The Petri Net Approach. Journal of Manufacturing Systems, 9(1):45–54, 1990. [31] J. F. Watson III and A. A. Desrochers. Applying Generalized Stochastic Petri Nets to Manufacturing Systems containing nonexponential transition functions. IEEE Transactions on Systems, Man and Cybernetics, 21(4), Sept/Oct 1991. [32] K. Venkatesh et al. Augmented Timed Petri Nets for Modeling, Simulation and Analysis of Robotic Systems with Breakdowns. Journal of Manufacturing Systems, 13(4):289–301, April 1994. [33] M. C. Zhou, F. DiCesare, and A. A. Desrochers. A Hybrid Methodology for Synthesis of Petri Net Models for Manufacturing Systems. IEEE Transactions on Robotics and Automation, 8(3):350–361, June 1992. [34] M. C. Zhou, F. DiCesare, and D. L. Rudolph. Design and Implementation of a Petri Net Based Supervisor for a Flexible Manufacturing System. Automatica, 28(6):1199–1208, 1992. [35] T. Murata. Petri Nets: Properties, Analysis and Applications. Proceedings of the IEEE, 77(4):541–580, Apr. 1989. [36] P. A. Remy, A. H. Lewis, and V. Y. Jin. On the Design of Distributed Organizational Structures. Technical Report LIDS-P-1581, MIT. 22

[37] D. Tabak and A. H. Levis. Petri Net Representation of Decision Models. IEEE Transactions on Systems, Man and Cybernetics, SMC–15(6):812–818, 1985. [38] F. Y. Wang, K. J. Kyriakopoulos, A. Tsolkas, and G. N. Saridis. A Petri Net Coordinator Model for an Intelligent Mobile Robot. IEEE Transactions on Systems, Man and Cybernetics, 21(4), Aug 1991. [39] R. S. Sreenivas and B. H. Krogh. On Petri Net Models of Infinite State Supervisors. IEEE Transactions on Automatic Control, 37(2), Feb 1992. [40] J. J. Farah. The Planning Coordinator: A Design Architecture for Autonomous Error Recovery and Online Planning of Intelligent Tasks. Technical Report 134, RPI, Troy, NY. [41] S. Ramaswamy and K. P. Valavanis. Hierarchical Time-Extended Petri Nets(H-EPNs) Based Error Identification and Recovery for Hierarhical Systems. IEEE Transactions on Systems, Man and Cybernetics, Feb 1996. [42] S. Ramaswamy. Hierarchical Time-Extended Petri Nets for Integrated Control and Diagnostics of Multilevel Systems. PhD thesis, The Center for Advanced Computer Studies, The University of Southwestern Louisiana, Lafayette, Spring 1994. [43] M. D. Jeng and F. DiCesare. A Review of Synthesis Techniques for Petri Nets with Applications to Automated Manufacturing Systems. IEEE Transactions on Systems, Man and Cybernetics, 23(1):301–312, Jan 1993. [44] V. Varadharajan. A Petri Net Model for System Design and Refinement. Journal of Systems Software, 15:239– 250, 1991. [45] S. Ramaswamy, K. P. Valavanis, and K. S. Barber. Model Development of MIMO Nets: A H-EPN Based Approach. IEEE International Conference on Decision and Control, 1:897–904, New Orleans, Dec 1995. [46] G. N. Saridis. Intelligent Robotic Control. IEEE Transactions on Automatic Control, AC-28(5), 1983. [47] K. P. Valavanis and G. N. Saridis. Intelligent Robotic Systems: Theory, Design and Applications. Kluwer Academic Publishers, 1992. [48] K. P. Valavanis. On the Hierarchical Modeling Analysis and Simulation of Flexible Manufacturing Systems with Extended Petri Nets. IEEE Transactions on Systems, Man and Cybernetics, 20(1):94–110, January/February 1990. [49] G. Ciardo et al. SPNP Users Manual - Version 4.0. Technical report, March 1994. [50] S. C. Bandinelli, A. Fuggetta, and C. Ghezzi. Software Process Model Evolution in the SPADE Environment. IEEE Transactions on Software Engineering, 19(12), Dec. 1993. [51] G. Ritcher and B. Maffeo. Towards a Rigorous Interpretation of ESML - Extended Systems Modeling Language. IEEE Transactions on Software Engineering, 19(2), Feb. 1993. [52] J. S. Ahn, S. Ramaswamy, and R. H. Crawford. A Formalism for Modeling Engineering Design Processes. Accepted to the IEEE Transactions on Systems, Man and Cybernetics, July 1996.

23