Copyright © IFAC Integrated Systems Engineering, Baden-Baden, Gennany, 1994
ASSOCIATING DISCRETE PART MANUFACTURING SYSTEMS SEMANTICS TO SADT BY MEANS OF PETRI NETS J. ZA YTOON , G. VILLERMAIN-LECOLIER and P. DE LOOR LAM, Faculte des sciences, Moulill de la Housse, B. P. 347, 51062, Reims cedex, France
Abstract. This paper presents an integrated methodology to support the specification and the design of Discrete Part Manufacturing Systems. This methodology uses SADT for high level system analysis and Petri nets for behavioural Modeling. A transparent mapping mechanism is used to associate Discrete Part Manufacturing Semantics to SADT by means of the underlying Petri net whose implementation and execution details are transparent to the end-user. Key Words. Computer-aided system design; Discrete systems; Industrial production systems; SADT; Petri nets
example of a gluing workcell will be used to illustrate this mapping.
1. INTRODUCTION
Discrete Part Manufacturing Systems consist of activities which operate in parallel and interact with each other in such a way as to react to external events. Because of their complexity. a static description for Discrete Part Manufacturing Systems is necessary but not sufficient to provide insight into their real behaviour. A dynamic model should be integrated to execute the static description and to validate a number of qlU1litative and quantitative system properties.
2. INTEGRATION APPROACHES
Most of the available methods and modelling tools. mainly originating from Software Engineering. are too general andlor syntax based. Since it is not probable that considerably better and different methods and models will show up in the near future. it is important to augment the existing ones with suitable semantics related to Discrete Part Manufacturing Systems domain.
A global life cycle approach is therefore required to support the specification and the design of Discrete Part Manufacturing Systems. Such an approach should be based on models that are unambiguous. suitable for behavioural prototyping and performance evaluation. Furthennore. a strong link as much automated as possible must exist between the different models used.
The use of Petri-nets has been shown very promising for modelling and analysing Discrete Parts Manufacturing Systems (Silva and Valette. 1990). Petri nets can be represented both graphically and algebraically. The graphical representation is used for communications with users. whereas the algebraic representation is ideal for processing and analysis of different wellestablished qlU11itative and quantitative properties of Discrete Part Manufacturing Systems (e.g .• conservativeness, boundedness. deadlock-free. liveness. consistency. etc.). allowing therefore to detect structural design errors. However. Petri nets are not widely accepted by practitioners because they are not user friendly and because of their complexity for modelling real systems.
The integrated methodology presented in this article makes use of two known system design and modelling tools which are the Structured Analysis and Design Technique (SADT) for high level system analysis (Ross and Schoman. 1977) and Petri nets for the behavioural modelling of systems (peterson. 1981). The article starts with an overview of the possible co-operation / integration schemes between formal and infonual methods in order to situate our approach. Afterwards the transparent mechanism that maps SADT into a corresponding Petri net is presented. A simple
For these reasons. in many practical cases other tools less fonnal but more understandable like
411
execution is visualised in terms of the state evolution of SADT activities and flows.
SADT have been preferred to Petri nets (Marca and Mc-gowan, 1988). SADT is based on a graphical modelling of the functional interactions between system activities and on a hierarchical, structured, top-down decomposition that relaxes system complexity. SADT users need only deal with a few concepts that are easily understood and used. They are prevented from dealing with details too early. hence design freedom is enhanced. Unfortunately. SADT is limited by the lack of a formal foundation and thus can produce ambiguous specification tIk'lt is impossible to analyse analytically or by simulation to validate structural and behavioural system properties (Colquhoun et al .• 1993).
enduser
.----.
translation Petri net
SADT visualisation
Fig. I. User-models interaction scheme
3. MAPPING SADT INTO PETRI NETS A translation algorithm is used to map an SADT model into the corresponding Petri net by assembling subnets corresponding to the elements of SADT. This algorithm also provides the possibility of automatically mapping the execution and analysis results obtained back to SADT.
To overcome the informal basis of well structured but ill defined models and the complexity of formally defined models, four basic approaches have been investigated in tIle literature:
An SADT activity can have many activation modes. each describing the way a sub-set of the activity inputs is transfonned into a sub-set of its outputs under a given control. We will start by presenting the basic mapping algorithm for primitive activities that have a single activation mode in which they consume all of their inputs and produce all of their outputs. This basic translation algorithm starts by mapping each primitive activity into the generic subnet given in Fig. 2. In this net, place "i" represents the inactive state during which the execution of the activity is not required or is finished, and place "a" represents the active state during which the activity is being executed.
1- Canying out the requirements definition phase with a structured model and then starting the design phase almost from scratch. using a formal model that is considered as being independent or orthogonal. Such an approach is time consuming and does not allow the verification of the coherence of the models used. 2- Giving a formal basis to well structured but ill defined models (Mandel. 1990; Zaytoon et al., 1993). The resulting semantics is often cumbersome and difficult to analyse. 3- Imposing a hierarchy and a structure to formally defined models (Huber et al., 1990); yet a new language is proposed with the same old difficulty for it to penetrate in industry. 4- Using the theoretical foundation of fonnal models to associate adequate semantics to well structured models, thus allowing to overcome both the disadvantages of giving an ad hoc semantics and of proposing yet a new language (Elmstrom et al., 1993). Such an approach results in a specification and design tool which benefits both from the user-friendliness of structured methods and from the theoretical foundations of formal methods. However, the user is required to master the different models used and the computer tool to insure their coherence.
Fig. 2. Generic sub-net for a primitive activity The mapping algorithm connects the subnets of two adjacent SADT activities according to the type of the arrow relating them. These connections are given in Fig. 3. where the left hand sub-nets represent the originating activity of the arrow and the right hand sub-nets represent the destination activity. The behaviours of these arrow types are interpreted as follows:
The approach presented in this article (Fig. I) belongs to the last category. It is based on the use of a transparent nl<1pping mechanism that allows to associate Discrete Part Manufacturing Systems semantics to SADT by means of Petri nets. The advantage of this scheme is that it allows to hide the details of Petri nets implementation and execution since SADT is the only model the enduser is required to deal with. Results of Petri nets analysis, (e. g., a critical or incorrect marking, bottlenecks and boundedness) are tracked back to the corresponding SADT elements and Petri nets
1- material flow (product) : generated by the originating activity when it passes from active to inactive and consumed by the destination activity when it passes to active. Such an arrow is distinguished into "triggering" or "non-triggering" according to whether the carried material immediately triggers off the activity consuming it or not. 412
Fig. 3. Petri net equivalence for the different arrow types 2- infonnation flow : generated or modified by the originating activity to be consulted by the destination activity. This information is necessary to capture the state of a product or an activity. In order to manipulate the data values efficiently. an object oriented representation for the tokens and a corresponding predicate eXl>ression on the modifying transition is used (Baldassari and Bruno. 1991). 3- synchronisation flow : eXl>resses the time relations between the two related activities using the seven interval relations of the temporal logic (AlIen. 1983) which are: before. equal. meet. overlap. include. start. end.
interesting point about these different mappings is tl13t they are independent and can be carried out by the translation algorithm in any desired order. An extended algorithm is also developed to eliminate the ambiguities relative to SADT activities. To each activity is associated a number of activation modes that represent an abstraction of the bell3viour of tile son diagram of the activity. These activation modes are classified into two general types : - transfomlation activation mode : transfonns a given input sub-set into a given output sub-set under tile action of a given control. The corresponding Petri net is shown in Fig. 5. The dotted arcs and places indicate that the number of inputs and outputs depend on the particular transfomlation equation used.
The mappings of the ex1emal arrows of SADT are exactly tIle !N1me as above except for the fact that one of tile connected subnets is not needed since its corresponding activity is a part of the environment of the model. Finally. if a mechanism is common to two activities which are not related by a synchronis.ation arrow. a connection by default is established between the sub-nets of the two activities. This connection is shown in Fig. 4.
" - '.
input,1 :•. ••..:- ....
a ...
:'-' .. control
in ut.2: .• _ ..: ... . .·· ·· .. P ' .•.. ' ... . .•
: 'i"
.'- '. ....... ... .: .,
a
input·n:.
"- '. .~. .:
.-~:.: outPut.1
•••...... :... ,; .. .••.... ' ••• . ' output·2
······ ".
.'-'. · ·~•. . ...:output.m
Fig. 5. Petri net for transfonnation equations - selection activation mode : either transfonns an input into one and only one of the outputs involved in the activation mode or selects one of the inputs involved in order to produce an output. The Petri net mappings for the two cases are given in Fig. 6 which represents one-from-two selection equations. A similar mapping is used for one-ta-many selection equations where the number of duplicated transitions and places will be equal to the number of the arrows in the "many" side of the equation.
Fig. 4. Petri net for a shared mechanism The above mappings show that the generic sub-net for each activity is "modulated" or connected to each other according to its arrow types. This modulation is carried out by tile fusion of transitions or by the addition of places. An
413
These steps are carried out sequentially, but the transformations within each step can be carried out in any desired order. It is to be noted out that the mapping algorithm does not define a particular execution strategy. The mapping rules makes it possible to implement an execution strategy according with the choice of the users at the execution phase. Petri nets can therefore be analysed and executed as autonomous nets or extended to interpreted Petri nets by adding the appropriate synchronisation variables and times.
Fig. 6. Petri net equivalence for selection equations When an activity has many activation modes, a mechanism is associated to each of the modes that can be carried out simultaneously. If no mechanism or if a common mechanism is specified for a number of activation modes, then the shared mechanism structure of Fig. 4 is used to insure the mutual exclusion of these activation modes.
When using the resulting Petri net as an underlying SADT simulator, the activities are highlighted when tile corresponding sub-net contains a token in place "a" and the arrows are highlighted when the corresponding Petri net place is not empty. SADT simulation will be carried out with the user providing tile environment stimuli (material, control and information flows) via the e,,1ernal arrows of the model. These stimuli are used to render the flow available, to select one of tile alternatives to control a selection activation mode, or to provide a data value for information flows.
Informally, the e,,1ended mapping algorithm will generate the Petri net equivalence to SADT as follows : 1- replacing each acuV1ty by as many generic subnets of Fig. 2 as the number of its activation modes. Each of the generic subnets will be initialised with a token in place "i". 2- augmenting each of the generic subnets with the net structure corresponding to the type of its activation mode (Fig. 5 and 6). 3- connecting the resulting sub-nets according to the type of SADT arrows relating them (Fig. 3). 4- associating the common resource structure shown in Fig. 4 to the activities that share a common mechanism. or to the activation modes of an activity for which no mechanism or a common mechanisni is associated. 5- adding a source transition with an input arc to each of the Petri net places with no input arcs. These added transitions and arcs represent the e,,1ernal inputs, controls and mechanisms of SADT diagrams. 6- adding an output arc and a pit transition to each place with no output arcs. These added transitions and arcs represent the e,,1emal outputs of SADT diagrams.
4. A SIMPLE EXAMPLE The SADT diagram of Fig. 7 will be used as a simple illustrative example. It represents a gluing workcell in which the "input parts" are transferred 'to the gluing machine when the "transfer order" is given. When "transfer pieces" starts, a "preparation order" is given to start the activity "prepare the glue" . The activity "glue pieces" start when both "pieces to glue" and tile "glue" are available. As soon as this activity is over, the "glued pieces" are transferred, through the activity "transfer pieces", to the verification activity that classifies them according to their "quality" into "finished pieces" or "scrap". A single mechanism is associated to each of the activities. These mechanisms are not shown in Fig. 7.
~~~,.....~;;::~:;-1--------------
____",glued pieces to verify (lrig. material)
pieces to glue (non-Iris. malerial )
raw material
quality
(non-Iris. material)
(infonnalion)
glue
pieces
glued pieces (lrig. moIcrial)
scrap (nonmoIcrial)
fanished pieces (oon-lria. moIcrial)
Fig. 7. An SADT diagram for a gluing workcell
414
The application of this transformation scheme into a number of complex Discrete Part Manufacturing Systems has shown that this approach forces the identification of problems with the often informally stated semantics of SADT and gives insight to the applicability and expressability of Petri nets. Using Petri nets, for validation and verification at the early stages of system design highlights inconsistencies before decomposition continues. This helps avoid developing an activity that has been specified incorrectly. A completed design that has been produced using this approach will be a sound starting point for the implementation of a system.
The arrow types are given (between parenthesis) in the diagram. All of the activities are primitive with the exception of the activity "transfer pieces" which has two activation modes. In the first mode, "input parts" are transformed into "pieces to glue" under the control of "transfer order". The "preparation order" synchronisation arrow is attached to this activation mode. The second activation mode is triggered off by "glued pieces" which is transformed into "glued pieces to verifY". Figure 8 represents the Petri net mapping for the example. The analysis of this net shows that it is deadlock-free, alive, and that the activities "transfer pieces" and "prepare the glue" can be carried out simultaneously. It also shows that the activity "verify pieces" may be carried out simultaneously with one of the other activities or with both of the activities "transfer" and "prepare". This net is not bounded since the places "input parts", "pieces to glue", "glued pieces to verify", "scrap" and "finished pieces" act like infinite capacity buffers. Such a Petri net is by no means a complete description of the workcell control structure. It is rather a skeleton which constitutes a first iteration through Discrete Part M1nufacturing Systems control development. The control engineer is responsible for further developing this control skeleton into a comprehensive control structure that includes error malU1gement, synchronisation objects, processing delays, etc.
5. CONCLUSIONS AND ONGOING WORK
This article presented an extended SADT that expresses the synchronisation aspects related to manufacturing activities without ambiguity and without imposing any particular constraint on the use of SADT formalism. This ex1ension is based on the annotation of the arrows according to predefined manufacturing flow types as well as the specification of the different activation modes of the activities in a way that elimilU1tes the ambiguity resulting from the wide range of possible interpretations of SADT. Appropriate Discrete Part Manufacturing Systems semantics are associated to this eX1ended SADT via an underlying Petri net which is automatically generated by a mapping algorithm.
When many diagrams are involved in SADT, the connection rules are used in the same way between subnets of the activities of different diagrams that are connected by an abstract arrow, i.e. an arrow relating the parent activities of the two diagrams.
Such an approach based on the integration of a structured ill-defined model and a formal but more complex one allows to :
Fig. 8. The Petri net of the gluing workcell
415
Peterson, J.L. (1981). Petri Net Theory and the modelling of systems. Prentice Hall, London. Ross, D.T., and K.E. Schoman (1977). Structured Analysis for requirements definition. IEEE Irans. SIW. Eng., 33, 86-95. Rumbaugh, J., M. Blaha, W. Premerlani, F. EDDY, and W. LORENSEN (1991). Objectoriented modeling and design . Prentice Hall, Englewood Cliffs, New Jersey. SiIva, M., and R. Valette (1990). Petri nets and flexible manufacturing. In: Lecture Notes in Computer Science. (G. Rozenberg, Ed.), Lecture Notes in Computer Science, Vol. 424, pp. 374-417. Springer, Berlin. Zaytoon, 1., E. Niel, A. Mille, and A. JUTARD (1993). A temporal SADT model for automated manufacturing systems. In: Proceedings of IEPM'93, pp. 154-165. Mons, Belgium.
1- carry out multiple verificationslvalidations and therefore increases the confidence in the models used. 2- make Petri nets easier to adopt and more beneficial to industry. 3- identify problems with the infonnal semantics of SADT by using Petri nets to associate Discrete Part Manufacturing semantics. Ongoing research work in our team is related to the use of the generated Petri nets as a decentralised supervisor providing a framework for establishing the local control for each of the leaf activities of SADT. Tlus local control structure is specified using GRAFCET which is a standard graphical specification and/or implementation language for Programmable Logic Controllers. A computer tool is developed to implement this structural-behavioural-control structure. The tool is based on the use of a meta-simulation framework that anchors the translation and the cooperation between SADT, Petri nets and GRAFCET. The user interface provided with this tool allows the use of the Object Oriented method OMT (Rumbaugh et al., 1991) to specify the syntax and the semantics of the meta-models to be derived as well as the mapping rules and the cooperation between these models. Small talk is used as an implementation language for this tool.
6. REFERENCES Alien, J.F. (1983). Maintaining knowledge about temporal intervals. Com. ACM., 26, 832-843. Baldassari, M., and G. Bruno (1991). PROTOB : an object oriented methodology for developing discrete event dynamic systems. Computer Languages, 16, 39-63 . Colquhoun, G.J, R. W. Baines, and R. Crossley (1993). A state of the art review of IDEFO. Int. J. CIM., 6, 252-264. Elmstrom, R., R. Lintulampi, and M. Pezze (1993). Giving semantics to SNRT by means of high-level timed Petri nets. Real-Time Systems, 5, 249-271. Huber, P., K. Jensen, and R. Shapiro (1990). Hierarchies in coloured Petri nets. In: Lecture Notes in Computer Science, (G. Rozenberg, Ed.), Vol. 424, pp. 313-341. Springer, Berlin. Mandel, K. (1990). Graphical process description - views and diagrams. lnt. J. ClM., 3, 314327. Marca, D.A., and C.L. Mcgowan (1988). Structured Analysis and Design Technique. McGraw-Hill, New York. 416