Modelling and design of flexible manufacturing systems using SADT and Petri nets tools

Modelling and design of flexible manufacturing systems using SADT and Petri nets tools

Journal of Materials Processing Technology 76 (1998) 212 – 218 Modelling and design of flexible manufacturing systems using SADT and Petri nets tools...

196KB Sizes 0 Downloads 73 Views

Journal of Materials Processing Technology 76 (1998) 212 – 218

Modelling and design of flexible manufacturing systems using SADT and Petri nets tools Krzysztof Santarek a,*, Ibrahim M. Buseif a,b a

Institute for Organisation of Production Systems, Faculty of Production Engineering, Warsaw Uni6ersity of Technology, 85 Narbutta Str., 02 -524 Warsaw, Poland b Faculty of Industrial Engineering, Uni6ersity of Garyounis, Garyounis, Libya Received 26 May 1997; received in revised form 14 July 1997

Abstract This paper describes an approach to manufacturing systems design that allows automatic generation of controller logic from a high level system design specification. The high level system design specification was developed using SADT method and Design/IDEF software package. The interface is based on a number of transformation rules from an IDEF0 specification into a Petri net. A standard qualitative analysis and simulation of the Petri net is used to determine if the manufacturing system will operate in the desired manner. © 1998 Elsevier Science S.A. All rights reserved. Keywords: Flexible manufacturing systems; Structured analysis and design technique (SADT); Petri nets

1. Introduction The purpose of this paper is to introduce a method and tools supporting design of automated manufacturing systems and their sequential controllers. The design of manufacturing systems and the development of manufacturing system controllers have become closely linked as the manufacturing environment has got more automated. This is especially true in the case of flexible manufacturing systems (FMS’s). The transition from manufacturing system design to management and controller design is often an awkward process. Part of this problem consists in lack of standard tools for translation of a manufacturing system description into a specification of management and control functions. This paper describes an approach that enables automatic generation of controller logic directly from a high level system design specification. The high level system design specification was developed with the use of SADT method and Design/IDEF software package. The interface is based on a number of transformation rules from an IDEF0 specification into a Petri net. A standard * Corresponding author. [email protected]

Fax.:

+48

22

499798;

e-mail:

0924-0136/98/$19.00 © 1998 Elsevier Science S.A. All rights reserved. PII S 0 9 2 4 - 0 1 3 6 ( 9 7 ) 0 0 3 5 0 - 6

qualitative analysis and simulation of the Petri net is used to determine if the manufacturing system will operate in the desired manner.

2. An introduction to SADT/IDEF0 and Petri net modelling Structured analysis and design technique (SADT) is a standard tool used in design of computer integrated manufacturing systems, including flexible manufacturing systems. Although SADT does not need any specific supporting tools, several computer programs implementing SADT methodology have been developed. One of them is Design/IDEF, which implements IDEF0 method. SADT/IDEF0 represents activity oriented modelling approach. IDEF0 representation of a manufacturing system consists of an ordered set of boxes representing activities performed by the system. The activity may be a decision-making, information conversion, or material conversion activity. The inputs are those items which are transformed by the activity; the output is the result of the activity. The conditions and rules describing the manner in which the activity is performed are represented by control arrows. The

K. Santarek, I.M. Buseif / Journal of Materials Processing Technology 76 (1998) 212–218

213

Fig. 1. Decomposition of SADT diagrams (a) and of a cooresponded Petri net (b).

mechanism represents resources (machines, computers, operators, etc.) used when performing the activity. The boxes called ICOM’s — input-control-outputmechanisms—are hierarchically decomposed (Fig. 1(a)). At the top of the hierarchy, the overall purpose of the system is shown, which is then decomposed into components-subactivities. The decomposition process continues until there is sufficient detail to serve the purpose of the model builder [1,2]. SADT/IDEF0 models ensure consistency of the overall modelled system at each level of the decomposition. Unfortunately, they are static, i.e. they represent exclusively system activities and their interrelationships, but do not show directly logical and time dependencies between them. Petri nets are proven tools enabling analysis of concurrent processes performed with the use of shared resources (machines, equipment, operators, etc.). A Petri net (PN) is formally defined as a fourtuple C= (P, T, I, O) where P is a finite set of places p, T is a finite set of transitions t, I is a mapping from transitions to a bag of places such that It defines the input places of transition t, and O is a mapping from transitions to a bag of places such that Ot defines the output places of t. A PN can also be represented by a bipartite directed graph with two types of nodes: circles for places and bars for transitions. Directed arcs + connect places and transitions. Let D − p,t and D p,t be, respectively, the number of occurrences of places p in the input and output bags of transition t. Then D − , D + and D= D + −D − , respectively, define the input,

output and incidence matrices of the PN which describe the topology of the PN. The dynamic of the PN is defined by its marking m, where m is a state vector with mp being the number of tokens in place p. The dynamics of the PN are controlled by firing its transitions. A transition fires by removing tokens from its input places and depositing tokens at its output places. A transition may fire if it is enabled. A transition t is enabled in marking m if m]D − · ft, where ft = (0, 0, …, 1, 0, …, 0) with 1 corresponding to transition t. If m% is a new marking after firing transition t, then m% =m+ D · ft defines the dynamics of the PN. For a sequence s of n transitions, the dynamics equation becomes mn = m0 + D · ft, where f= t  t f, t is a set of n transitions and m0 is the initial marking; f is called the firing vector of the sequence. Each marking defines a system state. Firing a transition may result in a new state. All possible states define the state space of the PN. From an analytical perspective, it is quite important to determine all the reachable states. It is also important to determine whether or not the PN is live or dead-lock free, bounded (number of tokens in any place is finite in any marking), conservative (the weighted number of tokens in any marking is fixed and finite) and consistent (there is a firing vector with all positive elements). A live and consistent PN is cyclic, which is a typical property of manufacturing systems. It may also be interesting to check other features of a PN, such as recoverability and fairness. Some of these properties can be analysed through the P-and T-invariants of the PN [3,4].

214

K. Santarek, I.M. Buseif / Journal of Materials Processing Technology 76 (1998) 212–218

3. Relationships between SADT/IDEF0 diagrams and petri nets SADT defines an ‘activation’ as the way a function operates when it is ‘triggered’ by the arrival of some of its controls and inputs, to generate some of its outputs. Thus, for any particular activation, not all possible controls and inputs are used and not all possible outputs are produced. Activation rules are made up of a box number, a unique activation identifier, preconditions and postconditions. Preconditions and postconditions describe what is required for and what results from the activation. Both preconditions and postconditions are logical expressions of ICOM codes, where each ICOM code identifies a single control, input, output, or mechanism arrow for that particular box. When an ICOM arrow does not participate in an activation, it is simply omitted from the precondition. Similarly, when some of outputs of a box are produced during an activation, the ICOM codes for those outputs not generated are omitted from the postcondition. A precondition expresses the required presence (or absence) of any of the objects associated with the inputs, controls, outputs, or mechanisms involved in the activity. A postcondition indicates presence (or absence) after the activity has occurred. For SADT diagrams or function boxes, we will consider two events to be representing the activation states of the activities. The first event represents the instant when the activity is triggered off, and the second event represents the ending instant. A similar idea has been introduced in PN by Peterson [5]. Peterson outlines an interpretation of nets known as condition/event nets or place/transition nets. The firing of a transition is considered to be an instantaneous event taking zero time, also called primitive event. If the event is not primitive (nonprimitive), i.e. may take time greater than zero, it can be decomposed into two primitive events, ‘The nonprimitive event starts’ and ‘The nonprimitive event finishes’, with a place between them representing the condition, ‘The nonprimitive event is occurring’. Events communicate with each other via preconditions and postconditions. Following this interpretation, it is natural to think of IDEF0/SADT activity boxes as nonprimitive events and to interpret ICOM arrows structure in terms of preconditions and/or postconditions [2]. Let us ignore the classification of the arrows of the ICOM introduced in SADT and focus solely on inputs and outputs, since this is the distinction holding in the Petri net theory. IDEF0 diagrams are not bipartite graphs. They have only a single vertex type, the activity box. On the other hand, a condition/event net (PN) has vertex of two types: conditions represented by circles and events represented by boxes. IDEF0/SADT based on the principle of functional decomposition makes extensive use of hierarchical models; also PN can be represented in hierarchical levels [2,5].

The relationships between elements of SADT/IDEF0 diagrams and Petri nets are shown in the following Table 1. It is worth to remembering that both approaches describe conflicts, concurrence and sequencing of different activities in the system.

4. Transformation rules The high level design is established through SADT/ IDEF0 methodology. The software interface enables a transition from static (descriptive) models, which are generated by SADT diagrams, into dynamic (behavioural) Petri net models through a set of transformation rules [6]. The structure of developed software interface is shown in Fig. 2. The following example will illustrate how to translate SADT diagrams into Petri net model based on a number of transformation rules (Fig. 3). The following rules can be treated as the solution required: Tr1:

Tr2:

Tr3:

Tr4:

Tr5:

If (exist activities A and B and C and D and E) then (transform them into a Petri net sequence: transition-place-transition). If (exist arrows O1-S and O2-S and O3S) then form PN place (e.g. PO 1-S) with reside token in it added to the PN diagram. (a) If exists shared mechanism (m2) then form PN place (Pm2) with reside token in it added to the PN diagram; (b) If exists shared mechanism (m5 decomposed into m6 and m7) then no generation PN place. (a) If exists activity (A) then eliminate transition (tA1) and treat it as siphon; (b) If exists activity (E) then eliminate transition-place-transition (tE1-pE-tE) from the PN diagram. If (all mechanisms used in the PN do not exist in any SADT diagram not included in that PN) then transformation SADT-to-PN is complete.

Table 1

IDEF0 structure el- Petri net structure elements ements Activity (box) Input (arrow) Output (arrow) Control (arrow) Mechanism (arrow)

PN place (condition) with two Petri net transitions (start and finish events) Petri net place Petri net place Petri net place Petri net place

K. Santarek, I.M. Buseif / Journal of Materials Processing Technology 76 (1998) 212–218

Fig. 2. Structure of a developed software interface.

5. Marked graphs A marked graph is a PN in which each place is an input for exactly one transition and an output for exactly one transition. Alternatively, we can say that each place has exactly one input and one output [4,5]. More formally: a marked graph is a PN C= (P, T, I, O) such that for each pi  P, Ipi = {tj / pi O(tj )} = 1 and Opi = {tj /pi  I(tj )} = 1. Marked graphs can model concurrence and synchronisation, but cannot model conflict or data-dependent decisions. The properties which have been investigated for marked graphs were liveness, safeness, and reachability. In the investigation of these properties, the major structural parts of a marked graph of interest are its cycles. A cycle in a marked graph is a sequence of transitions tj1tj2…tjk such that for each tjr and tjr + 1 in the sequence there is a place pir that pir  O(tjr ) and pir  I(tjr + 1) and tj1 = tjk. A cycle is a closed path from a transition which is returning back to the same transition. If P% P is a subset of places that compose a cycle, then the characteristic vector U =(ui i= {1, 2, …, n}) such that cardi U =1 for pi  P%, is a P-invariant of PN. If U% and U¦ are P-invariants of PN, then U =U% +U¦

215

is also a P-invariant of PN, where cardi U=ui for U= (u1, u2, …, ui, …, ur ) [7]. Since, the conditions of a marked graph claim that I(pi ) = O(pi ) = 1, ÖpP, hence, in every case of p% such that I(pi )% " 1 or I(Oi )% " 1 the appropriate ‘transformation’ rules should be applied. The following rules (transformation rules set T2) can be treated as the solution required [7]. R1: IF (IF B THEN A) AND (IF C THEN A) AND … (IF H THEN A) THEN (IF A1 AND A2, …, AND An THEN A) AND (IF B THEN A1) AND (IF C THEN A2) AND … (IF H THEN An) R2: IF (IF A THEN B) AND (IF A THEN C) AND … (IF A THEN H) THEN (IF A THEN A1 AND A2 AND, …, AND An) AND (IF A1 THEN B) AND (IF A2 THEN C) AND … (IF An THEN H). The first transformation rule R1 replaces a Petri net shown in Fig. 4a with a marked graph shown in Fig. 4b. Similarly, the second transformation rule R2 replaces a Petri net shown in Fig. 5a with a marked graph shown in Fig. 5b. The Petri net (Fig. 3b) generated after the application of the transformation rules R1 and R2 will be as shown in Fig. 6.

6. Software for a functional analysis of the petri net model The developed software makes it possible to analyse a manufacturing system for its various properties irrespective of time. Functional analysis has been used in the Petri net to refer to this type of analysis. The software analysis is based on some approaches used to determine the various properties of the PN model: liveness, safeness, reachability and conservativeness [5,7].

6.1. The reachability tree The reachability tree represents the reachability set of events in a Petri net. Every marking in the reachability

216

K. Santarek, I.M. Buseif / Journal of Materials Processing Technology 76 (1998) 212–218

Fig. 3. An example of a SADT model (a) and a PN generated from it (b).

set will be produced, and so for any Petri net with infinite reachability set, the corresponding tree would also be infinite. Even a Petri net with a finite reachability set can have an infinite tree. The tree represents all the possible sequences of transition firings. Every path in the tree, starting at the root, corresponds to a legal transition sequence [5]. The main idea is to use the reachability tree to generate all the possible markings that can be reached (Fig. 7). Each node i (i= 1, 2, …) in the tree is associated with an extended marking mi. The marking is extended to allow the number of tokens in a place to be non-negative integer. All nodes are also classified as [7]: “ Frontier nodes— these are nodes which have not yet been processed by the algorithm (the algorithm begins by defining the initial marking to be the root of the tree and, initially, a frontier node). They are converted by the algorithm to terminal or duplicated nodes. “ Duplicate nodes represent another class of markings which have previously appeared in the tree. “ Terminal (deadlock) nodes with markings in which no transition is enabled. The reachibility tree enables analysing in particular when the generated PN is deadlock free.

6.2. P-in6ariants U is said to be a P-invariant of a PN if and only if U= (u1, u2, …, un ) is a vector such that DU =0 and

Fig. 4. Graphical representation of the transformation rule R1.

ui ] 0 for i= 1, 2, …, n and D is the incidence matrix of a PN [4,5]. The following theorem provides the condition which makes it possible to solve the reachability problem states. Given a Petri net C = (P, T, I, O) with marking m and marking m%. The problem is if m% is reachable from m, i.e. m%? (Fig. 8) Theorem: let m0 be an initial marking. If U is a P-invariant, then m0U T = mU T and hence marking m is reachable from marking m0. The above theorem provides the condition which makes it possible to solve the so-called reachability problem. The subsequent equations define relationships between markings, called ‘marking-relationships ’ hereafter (Fig. 1b): U1 = (110000001010); U2 = (110000000101); U3 = (000111100000); U4 = (000100110000); and UT = (221211111111)T. Note that by combining these invariants, we obtain a solution with all positive elements. Therefore, the PN is conservative and bounded. Each loop in the PN has one token and a marked graph PN in which each place is an input for exactly one transition and an output for exactly one transition, what means that the system is safe. m0U T = mU T = (101000010000)(221211111111) = (011000010000) (221211111111)= 4, then the system is reachable. If subsequently U TD= 0, the system is deadlock-free.

Fig. 5. Graphical representation of the transformation rule R2.

K. Santarek, I.M. Buseif / Journal of Materials Processing Technology 76 (1998) 212–218

217

Fig. 6. The marked graph of a PN after application of a set of transformation rules R1, R2.

7. Conclusions and remarks The high level system design specification was developed using SADT method and Design/IDEF software package. A software interface enabling a

Fig. 7. The deadlock detection processing logic.

transformation of static models generated by SADT/ IDEF0 method into dynamic models (PN) through a set of transformation rules was developed [8]. Software used in simulation of the manufacturing system behaviour in a real environment according to its functional specification was also presented. IDEF0 was found to be a powerful descriptive tool that offers a number of features which make it easy to apply and, what is more important, easy to understand. For example, it allows for a top down step refinement, using a graphical representation with few constructs and simple rules. It is based on the widely accepted concept of a function, or an activity transforming inputs into outputs under external constrains, and enables activities to present a diverse group of activities in an ordered graphical form. The use of a graphical presentation minimises the necessity for elaborate text and provides clarity in a standard form for the diverse aspects of a manufacturing organisation. Also IDEF0 is able to modify the existing system by adding a new constrains (machine, buffer, robot, …, etc.) without any essential change in the existing model. Standard PN’s do not include any time concept. Therefore, with a standard PN it is possible to describe only the logical structure of systems, and not their time evolution. The introduction of time into standard PN models enables a description of the dynamic behaviour of systems, taking into account both the state of the evolution and the duration of each action performed by the system. Many of the most interesting parameters of the system design, such as delay and throughput and, in general, any time-dependent behaviour, can in this way be modelled. There are, however, different ways in which we can introduce time into a standard PN, called Timed Petri Net (TPN). The first possibility consists in associating it with each transition. The second possibility consists in associating time with each place.

218

K. Santarek, I.M. Buseif / Journal of Materials Processing Technology 76 (1998) 212–218

Fig. 8. Flow chart of computing P-invariants.

Acknowledgements This research was partly supported by the Committee of Scientific Research, Grant no 1445/HO2/95/08

References [1] R.R. Bravoco, S.B. Yadav, A methodology to model the functional structure of an organisation, Comput. Ind. 6 (1985) 5. [2] D.A. Marca, C.L. McGowan, Structured Analysis and Design Technique, McGraw Hill, New York, 1988. [3] Z. Banaszak (Ed.), Modelling and Control of FMS: Petri Net Approach, Wroclaw Technical University Press, Wroclaw, Poland, 1991.

.

[4] F. Dicesare, G. Harhalakis, J.M. Proth, M. Silva, F.B. Vernadat, Practice of Petri Nets in Manufacturing, Chapman and Hall, London, 1993. [5] J.L. Peterson, Petri net theory and the modelling of systems, Prentice Hall, Englewood Cliffs, NJ, 1981. [6] K. Santarek, Design tools of computer integrated manufacturing systems (in Polish), 4th Natl. Conf. on Robotics (Conf. Proc.), Institute of Technical Cybernetics, Wroclaw Technical University, Poland, 1993. [7] Z. Banaszak, K. Jedrzejak, Rule-based knowledge verification using Petri nets, The 3rd Turkish Symp. on AI and Networks, Turkey, June 1994. [8] K. Santarek, I.M. Buseif, FMS design using non-conventional (SADT and PN) modelling techniques and standard software tools, 5th Natl. Conf. on Robotics (Conf. Proc.), Institute of Technical Cybernetics, Wroclaw Technical University, Poland, 1996.