Development of a Factory Level CIM Model G. Harhalakis, C.P. Lin, University of Maryland, College Park, Maryland H. Hillion, Institut Nationale de Recherche en Informatique et an Automatique, Lorraine, Nancy, France K.Y. Moy, University of Maryland, College Park, Maryland
Abstract
Introduction
There is a critical need for establishing CIM at the factory level. This would complement the research already done in manufacturing automation-which, thus far, has concentrated on flexible manufacturing cells, robotics, and other material handling devices at the shop floor level. In a generic fashion, this paper identifies the application modules that clearly lend themselves to an integrated information flow in a controlled manner: computer aided design, computer aided process planning, and manufacturing resource planning. The first two consist of the product and process design centers of the proposed system, respectively. Manufacturing resource planning involves the management of production plans to satisfy the market demand. The functional design of the system is derived from expertise in manufacturing management. It can be based on any given company policy, expressed in a series of rules that control the information flow between these application modules. The modeling of the rule base and the analysis of the system are formalized with the use of generalized Petri nets. Extensions of this work include the incorporation of a shop floor control module, to interface with the factory level.
The evolving world economic system poses difficult challenges to U.S. firms. As a consequence "the whole manufacturing enterprise is undergoing fundamental change. It is becoming more science driven and both uses and produces sophisticated technology . . . . We need to look at manufacturing as an integrated system and optimize it as a total process."~ Hence, there is a critical need for more powerful and comprehensive tools for addressing the total system, without losing the important details of the elements--tools that would synthesize the elements. Because the high cost of pilot-scale manufacturing systems often precludes the pilot operation and testing of alternative designs for manufacturing systems, the validity of new system designs becomes critically dependent on the adequacy of models and the consistency of data. Therefore, it is necessary to develop and share data from a variety of sources. In recognition of the severe lack of such a mechanism, this paper presents the functional design of an integrated factory-level manufacturing system, involving three well-defined and tested application modules: manufacturing resource planning (MRP II), computer aided design, and computer aided process planning. Sample scenarios of information flow between these modules are presented. Both the modeling and analysis of the
Keywords: Computer Integrated Manufacturing, Petri Nets, Manufacturing Resource Planning, Computer Aided Design, Computer Aided Process Planning.
116
Journal of Manufacturing Systems Volume 9/No. 2
system were effected by using Petri nets, a proven technique long used for hardware configurations.
Previous Work Various efforts have been made toward the integration of CAD, MRP II and CAPP (or CAM) through different database management system approaches. The integrated computer aided manufacturing (ICAM) Program, 3 sponsored by the United States Air Force, was established to develop systems for effectively managing information through system development, information management, planning and control, and product and process definition. This program and the integrated information database administration system (IMDAS) which was developed by the National Bureau of Standards, 4 both provide some useful tools for research in CIM. They emphasize extending the traditional database management technology to synchronize the data processing through each module of the CIM system, but neither program involves any use of expert systems. Due to this void, building high-performance knowledge-based expert systems for advanced manufacturing and automation has become the most active research subject within CIM and artificial intelligence (AI). Therefore, at various sites around the United States, a lot of research is aimed at developing such systems for different manufacturing applications. Facilities conducting this work include the Laboratory for Manufacturing and Productivity at MIT, s State University of New York at Buffalo, 6 and the Knowledge-based Engineering Systems Research Laboratory at the University of Illinois-Urbana-Champaign. 7 Recently, Rensselaer Polytechnic Institute, 8 developed a manufacturing information management design method that used a two-stage entity relationship (TSER) modeling method and a knowledge-based control methodology in a metadatabase framework. This application, however, provides only the design concept and the necessary methodologies for it, but it is not intended to implement the integrated system with AI technology. In contrast to database integration for the single database CIM systems, a database interoperability approach is proposed, which has already been used in developing a knowledge-based MRP II/CAD integrated system 9 at the University of Maryland's Department of Mechanical Engineer-
Application Systems Manufacturing resource planning is an integrated system within itself, consisting of several functional modules surrounding a common database, and apparently becomes the information center of CIM. 2 Computer aided design can be defined as the set of submodules that assist the designer in drafting, analyzing, and optimizing a part design. For the purposes of the proposed system, this paper concentrates on data identifying parts, as well as relationships between parts and their components in various assembly configurations. These data are then used to automatically generate part master records and bills of materials in the MRP II module. All other data initiated and maintained in a typical CAD application (e.g., part geometry, surface finish, dimensional tolerances, etc.) are outside the scope of this work. Computer aided process planning can be defined as the set of submodules that transform part design specifications into manufacturing instructions required to convert a part from a rough state to a finish state. It selects tools and machines, determines operation sequences, calculates operation and setup times, and identifies any jigs and fixtures needed for fabrication or assembly work. This information is basically used to automatically generate routings in the MRP II module. Consequently, CAD and CAPP are the centers for product and process design, while MRP II coordinates and executes all of the production tasks to satisfy the independent demand. For this paper, the employment of specific commercial applications was deliberately avoided in order to develop a generic model and to demonstrate its feasibility in a wide variety of applications. Instead, features and characteristics relevant to the proposed system were replicated, and their functions were simulated to avoid any "module-specific" solutions.
117
Journal of Mam(/acturing Systems Volume 9/No. 2
ing. It takes into account the diversities of hardware and software as well as the possibility of adding to existing computer facilities, rather than replacing them. The next section reviews the functional design of the system, which reflects the company policy expressed in a set of expert rules. An attempt is then made to transform these rules into a formal model, which is analyzed for consistency and redundancy. Finally, the initial implementation phase is outlined in the conclusion, together with plans for incorporating a shop floor control module.
Table 1 Part Records Maintained in CAD and MRP II PART
RECORD
CAD
MRP
Part Number Drawing Number Drawing Size B.O.M. ---
Unit
II
Part N u m b e r Drawing N u m b e r Drawing S i z e B . O . M . U n i t of Measure P u r c h . / I n v . U n i t of Measure U . O . M . Conversion Factor Source Code Standard Cost
of M e a s u r e
----
Lead
Supersedes Part Number Superseded by Part Number
Supersedes Part N u m b e r Superseded by Part N u m b e r
Time
Table 2 Part Revision Records Maintained in CAD and MRP U PART
Functional Design of the System
REVISION
CAD
M R P II Part N u m b e r Revision Level Effectivity Start Date Effectivity End Date Status Code
Part Number Revision Level Effectivity Start Date Effectivity End D a t e Status Code
The functional model of the proposed MRP II/CAD/CAPP integrated system is based on the similarity of functions and the commonality of data among these three application modules. More specifically, the common entities identified and dealt with are as follows:
RECORD
Drawing File Name
Table 3 Routing Records Maintained in CAPP and MRP n
1. Common elements in MRP II, CAD, and CAPP • Part specification and design changes • Bills of material 2. Common elements in MRP II and CAPP • Routing records • Work center records
ROUTING
RECORD
CAPP Routing
As mentioned before, the model is not based on any particular MRP II, CAD, CAPP package. Instead it is intended to be generic enough to be applied to any set of fairly well-designed application modules. The model includes the creation and maintenance of part specification, product structure, routing and work center information, and engineering change data. It is meant to operate in a discrete parts, make-to-stock environment. The detailed common data records maintained in each system are displayed in Tables 1 to 4. Status Code. To represent the functioning of the model, status codes for each entity are used to control the information flow and the status changes. The entities in question are part revision, routing, and work center. They are shared between MRP II, CAD, and CAPP. These status codes are listed and explained in Tables 5 to 7. A Sample Scenario. Through the use of these status codes and human expertise, many scenarios
Number
Routing
M R P II Number
Part Description U n i t of Measure Operation Number Operation Description
Part Description Unit of Measure Operation N u m b e r Operation Description
W o r k C e n t e r ID N u m b e r Set Up Time Machining T i m e Handling Time Run Time
W o r k C e n t e r ID N u m b e r Set Up Time --Run Time ----Resource Code Begin Date End Date S t a t u s Code
Feed Speed D e p t h of C u t N u m b e r of P a s s e s ---Status Code
Table 4 W o r k Center Records Maintained in MRP n and CAPP WORK MRP
CENTER
RECORD
II
CAPP
ID N u m b e r
ID N u m b e r
Description Department Capacity (HR.)
Description Department
Rate
Code
Resource Capacity Dispatch H o r i z o n Effectivity
Start
Date
Effectivity End D a t e Status
Code
Effectivity Effectivity Status Code
Start Date End Date
Horse Power Speed Range Feed Range Work Envelope Accuracy Tool
Change
Time
Feed Change T i m e Speed Change T i m e Table Rotation Time Tool Adjustment Time Rapid Traverse R a t e
118
Journal ~/" Mant(¢hcturing System.s Volume 9/No. 2
A new part is first developed in CAD, with the following management type of data needed by the integrated system: Part Record--part number, description, unit of measure. Revision Record--part number, revision level, drawing file name, CAD status code. With these data, the system performs a series of consistency checks to ensure that the part number has not yet been assigned by CAD to another part. Initially, the CAD part revision status code is set to " W " . The effective dates are left " u n k n o w n " to be decided by MRP II users. The moment the record of the new part is created within the system, a skeletal routing record is automatically initiated in CAPP. This will let CAPP know that this part is being worked on, and CAPP will be called upon to contribute to the design shortly--in terms of clearing the design from the point of view of manufacturability and of finalizing the product structure (for assembly parts). After CAD and CAPP work on the part, and the design is ready in every aspect, it can be released in CAD. As soon as CAD releases the part, several actions are initiated. First, a skeletal part master record for the new part is automatically established in MRP II. Those data fields maintained in MRP II, but not in CAD, are categorized as " u n k n o w n " until supplied by MRP II users. Second, a revision record is also established in MRP II, by using the part number and revision level from the CAD revision record. The status of the MRP II revision record is set to " H " , since many of the fields required by the MRP II system have been initialized as " u n k n o w n " , and have to be completed b e f o r e MRP II can consider the part active. MRP II also has to wait for CAPP to release the routing to generate lead time information for manufactured parts. CAPP can release the routing only after CAD releases the part, because finalized process plans are normally completed only after the design is finalized. Additionally, MRP II must have the part established in its part master record file before it can accept the routing from CAPP. In a third action, CAD checks for a value in the "supersedes part n u m b e r " field of the CAD part record. If it finds a valid part number in this field, the part number of the new part is inserted into the "superseded by part n u m b e r " field in the part
Table 5 Part Revision Status Codes in CAD, MRP n and CAPP
W
- "Working"
R
- "Released"
H
- "Hold"
O - "Obsolete"
: At a conceptual or preliminary stage, prior to approval, and not transmittable to M R P II. : An active part, whose design ham been finalized and approved. : Under review, pending approval, possibly with a new revision level. The part should not be used by any system. : T h e p a r t is o b s o l e t e . MRP
R - "Released" H - "Hold"
II
: An active part, whose purchase or manufacture c a n be i n i t i a t e d in M R P II. : U n d e r r e v i e w , n o t to be u s e d b y M R P If.
CAPP w - "Working" R - "Released" H - "Hold" O - "Obsolete"
: At a conceptual or p r e l i m i n a r y stage, prior to a p p r o v a l . : An active part, whose design has been finalized and approved. : Under review, pending approval, possibly with a new revision level. : T h e p a r t is o b s o l e t e .
Table 6 Routing Status Codes in CAPP and MRP II 9APP W - "Working" R - "Released" H - "Hold"
O - "Obsolete"
: At a conceptual or preliminary stage, prior to a p p r o v a l , a n d n o t t r a n s m i t t a b l e t o M R P II. : An active routing, whose process design has been finalized and approved. : Under review, pending approval, possibly with a new revision level. The routing should not be used by any system. : T h e r o u t i n g is o b s o l e t e . MRp
R - "Released" H - "Hold"
II
: A n a c t i v e r o u t i n g , w h i c h is a b l e t o b e p a s s e d d o w n to t h e s h o p f l o o r b y M R P II. : U n d e r r e v i e w , n o t t o b e u s e d b y M R P II.
Table 7 W o r k Center Status Codes in MRP II and CAPP MRP
II
R - "released" H - "Hold" D - "Delete"
: An active work center. : N o t t o b e u s e d b y M R p II. : A work center deleted from
W
- "Working"
R
-
: At a preliminary stage, work center n e e d to be e n t e r e d in CAPP. : An active work center, able to be process plans. : Under review, not to b e u s e d for plans. : T h e w o r k c e n t e r is o b s o l e t e .
"Released"
H - "Hold" 0 - "Obsolete"
the
system.
details used
in
process
were derived to form a constraint based management system. A typical scenario (creation of a new part in CAD) in this system follows. Note that CAD controls the creation and modification of design data, originating engineering changes, and is one of the centers from which new parts are introduced. For consistency, it is considered that all part numbers are assigned solely by CAD.
119
Journal o,1"Manufacturing Systems Volume 9/No. 2
bilities in the field of computer integrated manufacturing (CIM). Basic Notions of Petri Nets. The structure of a Petri net is a bipartite directed graph consisting of two types of nodes called 'places' and 'transitions'. H Places and transitions are joined by directed arcs. 'Input' (resp. 'output') places of a transition are places connected by incoming (resp. outgoing) arcs of the transitions'. In order to simulate the dynamic behavior of a Petri net, each place is 'marked' with a non-negative number of so-called 'tokens'. Think of tokens as representing data items or as holding some conditions represented by places. A transition is said to be 'enabled' if each of its input places is marked with at least one token. An enabled transition may be chosen to fire. The 'firing' of a transition is executed by removing one token from each of its input places and by adding one token to each of its output places. Consider firing an event which may take place when certain conditions are satisfied. Each firing causes old conditions to cease and new conditions to hold, and the total number of tokens in a Petri net may change after each firing. A firing sequence is a succession of transitions firings. A marking is termed 'reachable' from an initial marking (i.e., an initial distribution of tokens), if there exists a firing sequence that transforms the initial marking into the new marking. The set of all reachable markings (states) is described by the 'reachability' tree.
record of the replaced part. The MRP II part master record is likewise modified to reflect this substitution. The latest revision of the part being supers e d e d - which may have a released status, or which may be on hold--is then made obsolete, if all the preceding steps are successful, the status of the new CAD revision is changed to " R " . MRP II then starts working on the part record of the new part in the system. It fills in whatever required information is available, including lead time, by using either the production routing information from CAPP or the vendor information from the purchasing module. When CAPP finalizes its process plan, the routing record is given a released status. Once again, a series of consistency checks are initiated before the release can be successful. First, a check is made to ensure that the part for which the routing is to be released in fact has a released status in CAD. If it does not, a message to this effect is generated in CAPP, and the release is not possible. Second, a check is made to verify that the effective dates of all the work centers used in the routings are at least six months (or some other acceptable time period) ahead. This guarantees that the routings are still applicable when the product must be produced. Third, it is confirmed that all the data fields in the CAPP routings file are complete. If all these checks are successfully made, then the routing is assigned an " R " status, and it is immediately transferred to the routing module of MRP II with a status of " H " . With the final step in this chain of events, MRP II first releases the part record and then the routing record. The complexity of this system grew very rapidly as more and more scenarios were developed. This made the continuation of the work very difficult, and the need for an appropriate modeling method became critical at that point.
Notations 1. P = {p~ ..... p,,} denotes the set of 'places' (represented graphically as circles) 2. T = {q ..... tin} denotes the set of 'transitions' (graphically represented as bars) 3. A marking is represented by an n-vector of non-negative integer M = {mj},,x~, where the j-th component mj denotes the number of tokens on place pj. M ° denotes the initial marking.
Petri Nets Introduction. Since the pioneering work of Petri who originated his nets in his dissertation "Communication with A u t o m a t a " , ~° Petri nets have been increasingly developed and used for modeling a wide variety of systems. This paper provides another illustration of their modeling capa-
The Model. The system caters to numerous scenarios. In this section, however, a typical scenario of creating a new part in CAD is modeled using Petri net theory, as shown in Figure 1. The modeling of this scenario involves a mapping of the
120
Journal Q/Manu/acturing Systems Volume 9/No. 2
PLACES
CAD
P1~ p I 3 1
P2
CAPP
II "W
2
PS t14
P7
115 P3~
P
Pt4
/
23
,
-
P22
.
"H"
P12 I0
32
II
0
P17
P21
INTERPRETATION
Pl: N e w part is ready to be entered in CAD. P2: New part # has not existed in CAD before. P3: New part record and revision record with "W" status in CAD. Part design has not been completed yet. P4: C o m p l e t e d part design and completed part record and revision record with "W" status in CAD. P5: NO superseded part in CAD. P6: Completed part design and completed part record and revision record with "W" status in CAD. P7: New part record and revision record with "R" status in CAD. P8: N e w part record and revision record w i t h "R" status in CAD. P9: Superseded part with "R" status in CAD. P l 0 : N e w part record and revision record with "R" status and completed effectivity start date in CAD. P l l : s u p e r s e d e d part with "H" status in CAD. Pl2:Superseded part with "0" status in CAD and completed superseded by part #. P l 3 : S k e l e t a l part record downloaded from CAD. P l 4 : N o superseded part in M R P II. P l 5 : S k e l e t a l part record and revision record with "N" status in MRP II. P l 6 : S u p e r s e d e d part with "H" status in M R P II. P l 7 : S u p e r s e d e d part with "H" status in M R P II and c o m p l e t e d effectivity end date and superseded by part #. P l 8 : C o m p l e t e d part record and revision record with "H" status in MRP II. P l 9 : S u p e r s e d e d part with "R" status in MRP II. P 2 0 : S u p e r e e d e d part with "R" status in MRP II and completed effectivity end date and superseded by part #. P21: Zompleted part record and revision record with "R" status in M R P II. P22: Completed part record and revision record with "R" status in M R p II. P23: Skeletal routing record downloaded from CAPP. P24: Skeletal routing record with "H" status in M R P II. P 2 5 : S k e l e t a l routing record with "N" status in M R P II. P26: Completed part record and revision record with "N" status in M R P II. P27: Routing record with "N" status in M R P II is complete. P28: Completed routing record with "R" status in M R P II. P29: Skeletal routing record downloaded from CAD. P 3 0 : R o u t i n g record with "W" status in CAPP. P31: Completed routing record with "W" status in CAPP. P32: Work center effectivity end dates are at least six months ahead. P33: Completed routing record with "R" status in CAPP.
P27
P20 P19
Figure 1 Petri Net Model with Initial Marking
logical rules, which regulate the data flow between the three application modules, onto a Petri net. Logic expressed in written words is transformed into a graphical and mathematical form suitable for analysis. Obviously, the value of the analysis depends on the correctness of this conversion, so it is important that there be a formal means of verifying the accuracy of the mapping. It will be shown in a later section jOst how net invariants can be used to accomplish this task. The Petri net graph shown in Figure 1 is composed of 33 places and 16 transitions grouped into three sections, which correspond to the three application modules. This physical layout provides a clear, graphical representation of the dependencies and relationship between the three systems. The interpretations assigned to the places and transitions are given in Figure 2. For each of the three modules, either one or two places are used to represent the various status codes (working, released, hold, obsolete). The set of places P3, P4 is an example of using two places for representing a status code. Both of these places represent the working status in CAD, but P3 also indicates that a part design is still in progress, while P4 indicates a completed and approved part design. The use of two places in some cases was necessary to represent precedence constraints. For example, before pro-
a. List of places TRANSITIONS tl: t2: t3: t4: t5: t6: t7: t8: t9: tl0: tll: t12: t13: t14: t15: t16:
INTERPRETATION
CAD user inserts the new part in CAD. CAD user completes w o r k i n g on the part d e s i g n and completes the part record and revision record. CAD user releases the part. CAD user releases the part. CAD user releases the part. Skeletal part record and revision record is e s t a b l i s h e d in MRP II. MRP II user completes the part record and revision record. MRP II user completes the part record and revision record. MRP II user completes the part record and revision record. MRP user releases the part. Skeletal routing record is established in M R P II. M R P II user completes the routing record. M R P II user releases the routing record. Skeletal routing record is established in CAPP. CAPP user completes the routing and process plans. CAPP user releases the routing record. b. LiSt of transitions
Figure 2 Interpretation of Places and Transitions
cess plans can be completed in CAPP (qs), the part must be finalized and approved in CAD (tz). Finalizing the part in CAD occurs while the new part has a working status in CAD. The marked Petri net graph shown in Figure 1 shows one of the possible initial states of the integrated system. Notice that the only enabled transition in this marking is t~ (insert a new part in CAD). This event can occur only when the user knows and is ready to key in the essential part data,
121
Jourmd of Mam!facturing System.s Volume 9/No. 2
such as part number, description, BOM unit of measure, revision level, and drawing file name (Pm). Also, the part number being added must not already exist in CAD (Pa). After the new part is successfully established in CAD, the CAD revision record is assigned a working status (P3), and transitions ta and t14 a r e enabled. As previously stated, ta represents the completion and approval of the new part in CAD, while q4 is interpreted as the creation of a "skeletal" routing record in CAPP. Ideally, once the part record is created in CAD, a skeletal routing record is immediately created and set to working status in CAPP. Problems might arise, however, that would cause this event (tl4) to occur either before, during, or after the part design is completed (tz). Once the part has been completed and approved, it is then ready to be released (P4), and t3, t4, or ts -- release part in CAD--will be enabled. Which particular transition is enabled depends on the status of the superseded part, if one exists at all. Note that in the particular case shown in Figure 1,
pl p2 p3 p4 p5 p6 p7 p8 p9 plO pll p12 p13 p14 p15 p16 p17 p18 p19 p20 p21 p22 p23 p24 p25 p26 p27 p28 p29 p30 p31 p32 p33
tl -i -i i 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
the superseded part has a released status in CAD (P9). Alternatively, the superseded part may have a hold status (Pl~), or the new part may not be superseding another part (Ps). Similarly, in the MRP II system, the initial marking indicates a token in Pt4, P~6, or pig--depending on the status of the MRP II part revision record. This status may or may not correspond to the status of the superseded part in CAD. There are two other sets of places used to represent status codes in MRP II. The sets P~s, P ~ , P22 and Pas, PaT, Pad represent the possible statuses of the new part revision and routing records, respectively. In CAPP, the set of places P3o, P31, P33 represents the possible statuses of the routing record. The final place specified in the initial marking is P3z. This indicates that effective end dates of all the work centers in all routings are at least six months ahead. As a way of performing checks or maintaining the precedence of activities, additional places were included in the net which duplicate the interpretation of other places. This was done in order to
t2 0 0 -i 1
t3 0 0 0 -i
t4 0 0 0 -i
t5 0 0 0 -i
t6 0 0 0 0
t7 0 0 0 0
t8 0 0 0 0
t9 0 0 0 0
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 I i -1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 1 1 0 0 -1 1 1 0 0 0 0 0 0 0 0 0 O 0 0 0 0 0 0 0 0 0 0
-i 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 -1 0 1 0 0 0 0 0 0 0 0 0 0 0 O O 0 0 0 0 0
0 0 0 0 0 0 0 0 0 -1 -1 0 0 1 0 0 0 0 0 -I 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 -1 0 0 1 -1 1 0 0 0 -i 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 -1 -1 1 1 0 0 0 0 0 -i 0 1 0 0 0 0 0 0 0
tlO tll t12 t13 t14 t15 t16 0 0 0 0 0 0 0 -1 0 1 0 0 0 0 0 0 0 -1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 1 1 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 -1 1 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0 0 0 -1 1 0 0 0 0 0
Figure 3 Incidence Matrix and Three Invariants
122
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 1 0 0 0
0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 -1 0 0 0
0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 -1 -1 1
il 1 0 i 1 0 0 0 1 0 i 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
12 0 0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
i3 0 0 0 0 0 0 0 0 0 0 0 0 O 1 O 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0
Journal of Manufacturing Systems Volume 9/No. 2
properly reflect the logical rules, by imposing further preconditions on certain events before they could occur. For example, the release of the new part in CAD (t 3, t 4, or ts) must precede the release of the routing record in CAPP (tl6). Therefore, p v - - t h e input place to t16)--was given the same interpretation as p s - - t h e released status in CAD--and must contain a token before t16 can be fired. In addition to this graphical representation, the structure of the Petri net can be expressed in a form called an incidence matrix, as shown in Figure 3. It is defined as follows:
Petri net was checked by examining these invariants. The initial logic specifies that every part and routing record be assigned a single status code. This would require that the places of the Petri net, which represent the possible status codes of a record, be mutually exclusive. An invariant containing these places would verify this property. For example, in CAD, a new part record is permitted to have a status of working (P4) or released (Ps), but not both. This was proven to be a property of the Petri net model by using the invariant i 1 shown in Figure 3, which denotes the set of mutually exclusive places Pl, P3, P4, P8, Plo. Invariant iz, as shown in Figure 3, indicates that the part to be replaced by the newly created part might have a status of released (Pg), hold (P11), or obsolete (P12). Its prediction, thus, correctly matches the initial logic. Similarly, invariant i3 verifies the mutual exclusiveness of the places representing the possible status codes for the superseded part record in MRP II. Any inconsistency between the initial logic and the invariants would indicate an error in either the modeling process or the initial set of logical rules. Reachabili~, Tree. Another method used to analyze the Petri net is the construction of the teachability tree as shown in Figure 4. The nodes of the tree represent the reachable markings (states) of the Petri net, while the arcs represent the firing of transitions between the markings. The numbers contained in the nodes of the tree identify the places in the net that are marked with a token. For example, the node at the top of the tree, (1, 2, 9, 19, 32), indicates that each member of the set {Pl, P2, P9, Pl9, P32} is marked. The reachability tree was generated beginning with this initial marking, by successively firing the enabled transitions until either no further transitions were enabled or a marking identical to another node was reached. The reachability tree provides a means of discovering logical conflicts in the system. These logical conflicts can cause blockages in the tree which prevent the branches from properly terminating in the desired final state. For this scenario, the desired final state consisted of the following: 1. New part in CAD has an " R " status and an effective start date (P~o) 2. Superseded part in CAD has an " O " status (P12) 3. Part in MRP II has an " R " status (P22)
Cij = - 1, if Pi is an input place of
tj
C = {C}~/nxm where C~/= 1, if of tj
Pi is
an output place
Cij = 0 otherwise Results. After the system was modeled with a Petri net, the Petri net was analyzed both to validate the model and to gain insight into the behavior of the modeled system. The use of three analysis techniques (invariants, reachability trees, and behavioral nets) are described in the following text. Invariants. Net invariants are useful for analyzing the Petri net model in terms of verifying system properties and locating modeling errors. 12,13 An invariant is formally defined as an n-vector, X, of non-negative integers, such that: xrc = 0
(1)
where C denotes the incidence matrix and T denotes the matrix-transpose. The set of places whose corresponding components in X are strictly positive is called the support of X, and it is denoted by Ilxll. The fundamental property of invariants is the following: X is invariant if, and only if, for any initial marking M ° and for any reachable marking M,
XrM = XrM °
(2)
The interpretation of Eq. (2) is as follows: the total number of tokens in the set of places Ilxl] (weighted by the components of X) is invariant by any transition firing. A total of 76 invariants were obtained from the Petri net model of the CAD/CAPP/MRP II system. The accuracy of mapping the initial logic on the
123
Journal of Manufacturing Systems Volume 9/No. 2
4. Superseded part in MRP II has an " R " status and an effective end date (P2o) 5. Routing record in MRP II has an " R " status
by either adding missing conditions or changing the dependencies between existing conditions. In addition to providing an overview of all the reachable markings of the net, the reachability tree shows how the final marking can be reached by executing any one of a number of firing sequences. Two such firing sequences are (tl-t]4-t2-t]s-t3-t]6tll-t6-ts-tlZ-tlO-tl3) and (tl-t14-tz-t3-t]5-t16-t ll-t6ts-t~2-tlo-q3). Notice that they both contain the same transitions, but that the transitions are arranged in a slightly different order. A number of firing
(P28)
6. Routing record in CAPP has an " R " status (Pa3). If the newly created part does not replace an existing part, then the desired final state would consist of all of the above, with the exception of the second and fourth items. Blockages discovered in the process of constructing the tree were removed
(1,2,9,19,32)
(3,9,19,29,32)
(4,6,9,19,29,32)
(6,7,8,12,13,29,32)
(4,6,9,19,30.31,32)
(6,7,8,12,13,19,30,32) (6,7,8,12,15,19,29,32) b (6,7,8,12,15,19,30,32)
c (7,8,12,13,19,31,32)
(6,8,12,15,19,30,32) ~15 d
(7,8,12,15,19,31,32)
(g,12,13,19,23,33)
(7,8,12,15,19,31,32) ~16 •
(8,12,15,19,23,33)
(8,12,15,19,24,25,33)
(8,12,13,19,24,25,33)
(8,12,15,19,23,33)
f
f
(8,12,15,19,24,25,33) (8,12,15,19,24,25,33)
(8,12,18,20,25,26,33)
(8,12,18,20,27,33) (10,12,20,21,22,25,26,33)
~10
(3,9,19,30,32)
~[F t12
(10,12,20,21,22,27,33) (10,12,20,21,22,27,33))
(10,12,20,22,28,33)
Figure 4 Reachability Tree
124
(4.6,9,19,30,32) t15- 1 ..~3 b ~ (6,7,8,12,13,19,30,32) (4,9,19,31,32)
(4,9,19,31,32) o
c
(7,8,12,13,19,31,32) (7,8,12,13,19,31,32)
Journal ~f Mam~[~wturing Systems Volume 9/No. 2
Behavioral Net. The final analysis tool used is the behavioral net, as shown in Figure 5. This is a transformation of the Petri net graph (based upon the initial marking) into a form which clearly distinguishes the transitions that fire concurrently from the ones that fire sequentially. In this form, possible redundancies in the logical rules were revealed by finding the redundant places and/or links between transitions and places of the behavioral net.
sequences are obtained because the events that can simultaneously transpire have an unspecified order of occurrence. For example, transitions t3 -- release the part in CAD--and tis--complete the routing record in CAPP--are both enabled in the marking M = {4,6,9,19,30,32}, and the decision of whether they fire concurrently or whether one fires before the other is arbitrary.
................... 7_
t
The behavioral net was constructed in the following manner: Let P1, (P1 ---{Pl, PZ, P9, P19, P32}), be the set of places that are initially marked, and let T l, (T l = {tl} ) be the set of transitions that are enabled by the places of P1. It is assumed that all transitions of T l fire once, and let P2, (P2 = {P3, P9, P19, P29, P32}) be the new set of marked places. Likewise, T2, (T z = {t2, q4}), is the set of transitions that are enabled by the places of P2 and P3, (P3 = { P 4 ' 136, P9, PI9' P30' P32}) is the new set of marked places once all transitions of T2 have fired; and so on until the process stops when all enabled transitions have fired. In the transformation just described, the net is said to be unfolded.
_.LII ..................
-~,2
~
iX / ' °
,,,
.co
.
[
:::J
.....
Apart from simulation purposes, the behavioral net helped in analyzing and validating the process logic. In the net shown in Figure 1, t12 (complete the routing record in MRP II) is enabled, if P25 (unfinished routing record with hold status in MRP II) and P26 (completed part record with hold status in MRP II) are marked. However, in view of the initial state and the corresponding behavioral net (Figure 5), it appears that P25 is always marked if P26 is. Hence, the condition that P2s should be marked to enable t12 is redundant, under the condition that P26 should also be marked. This means that, from a logical point of view, the outgoing arc from P2s to tl2 and the incoming arc from tl~ to P25 can be suppressed. In the interest of obtaining more information on the state of the system, however, it was decided to maintain this redundancy. Similarly, the condition that P8 (part record with released status in CAD) should be marked to enable tlo (release part record in MRP II) is redundant, with the condition that P~8 (completed part record in MRP II) should also be also marked. Nonetheless, this redundancy was also retained.
r.............................................. _~_ ~ ~.\ ]:> ] .
.
.
.
.
.
.
.
.
.
.
.
.
. . . . . . . . . .
. . . . . . . .
.,oo .,,o..-oi l
.....
~#';~3
.........
]
d
0" P28
Figure 5 Behavioral Net
125
Journal ~!f'Mant(filc'turing Systems Volume 9/No. 2
the minimal support invariants of a generalized Petri net. 13 Likewise, the construction of a reachability tree simulated the dynamic behavior of the system and revealed blockages in it. With the aid of the behavioral net, redundant places and arcs were exposed. The relatively small sizes of both the teachability tree and the behavioral net made it possible to manually construct them for the present model. But, as the modeled system becomes more complex, the use of software tools designed to construct, edit, and analyze Petri nets will become necessary. There will also be a need for efficient algorithms to enhance the power of these tools.
Discussion While Petri nets have traditionally been used in modeling and analyzing computer systems (hard/ software), the application discussed in this paper represents the first time they were used in the study of CIM at the factory level. The use of Petri nets made it possible to properly model the various activities in the system that were capable of taking place concurrently, such as releasing the new part in MRP II (tH~) and completing the routing record in MRP II (qz). In addition to being able to model simultaneous events, Petri nets have the ability to represent conflicts. A conflict occurs, for example, when two transitions are enabled, and the firing of one of them disables the other. Although this characteristic was not used in the present model, it is foreseeable that the capability to indicate such conflicts will be useful for modeling other scenarios of the system that involve making revisions to existing parts.
Concluding Remarks The modeling and analysis of the creation of a new part in CAD scenario using Petri nets provides a good foundation for additional work. One area that will be carefully investigated deals with the modification of the current Petri net model to include the handling of multiple parts. This enhanced model would then be able to represent the situation where a CAD user enters a new part into the system, while another part is already in the system. Another area of future work involves the design and specification of other scenarios. The creation of a new part in CAD is only one of the many operations needed for controlling data exchange and update in the CAD/CAPP/MRP II integrated system. Others that will be investigated are listed in Table 8. Once all these scenarios have been developed and modeled using Petri net theory, the next step would be to systematically combine them to form a complete CIM system model at the facility level. Such an undertaking is, indeed, possible since Petri nets are synthesizable. The next step after combining these scenarios would be to emphasize the study and application of reduction methods for the much more complicated model of the whole system. The goal would be to transform the Petri net to a reduced net, while retaining some desirable properties of the original net.~4 Information about the highly complex CAD/ CAPP/MRP II integrated system can still be obtained by analyzing the reduced net. Some reduction
Another advantage of Petri nets is how their graphical representations make the integrated system easier to understand by providing a clear, structural view of the model. The Petri net graph makes it possible to quickly identify the status codes of all the part and routing records by the current locations of the tokens. Also, all the consistency checks that take place in the CAD/CAPP/MRP II system are explicitly expressed on the Petri net graph. One final, major advantage of Petri nets is their hierarchical modeling capability. They can be used to describe the system at different levels of abstraction and detail. For modeling at a more abstract level, subnets can be replaced with either a simple place or a simple transition. For more detailed modeling, a place or transition can be replaced with a subnet. ~a This procedure would be helpful in analyzing the model as it becomes more complex, when other scenarios are considered. The various other tools used to analyze the proposed system played equally significant roles. Net invariants, for instance, were useful in verifying that certain places in the net actually represented mutually exclusive conditions, as specified by the logical rules. These invariants were obtained by using a very efficient algorithm that calculates all
126
Journal ~f Manu[acturing Systems Volume 9/No. 2
Table 8
References
List of Scenarios Embedded in a Typical Company Policy
1. "Design and Analysis of Integrated Manufacturing Systems", Supplement to The Bridge, Staff Article, Vol. 17, No. 2, National Academy of Engineering, Summer 1987. 2. M.E. Bohse, G. Harhalakis. "Integrating CAD and MRP II Systems", CIM Review, Vol. 3, No. 4, 1987, pp. 7-15. 3. "ICAM Program Overview", Staff Article, Materials Laboratory, Air Force Wright Aeronautical Laboratories, Wright-Patterson AFB, Ohio 1983. 4. S.Y.W. Su. "Modeling Integrated Manufacturing Data With SAM*", Computer, Vol. 19, No. 1, 1986, pp. 34-49. 5. S.H. Kim. " A Mathematical Framework for Intelligent Manufacturing Systems", Proceedings of Integrated and Intelligent Manufacturing in the Winter Annual Meeting Annual Meeting of ASME, Anaheim, California, 1986, pp. 1-8. 6. H.P. Wang, R.A. Wysk. "Intelligent Reasoning for Process Planning", Computers in lndusto'. Vol. 9, No. 3, 1987, pp. 293-309. 7. S.C.Y. Lu. "Knowledge-Based Expert System: A New Horizon of Manufacturing Automation", Proceedings of Knowledge-Based Expert Systems for Manuj?wturing in the Winter Annual Meeting of ASME, Anaheim, California, 1986, pp. 11-23. 8. C. Hsu, C. Angulo, A. Perry, L. Rattner. " A Design Method for Manufacturing Information Management", Proceedings ~[ Conference on Dam and Knowledge Systems for Manufacturing and Engineering, Hartford, Connecticut, 1987, pp. 93-102. 9. G. Harhalakis, L. Mark, C.P. Lin. B. Cochrane. " A Knowledge Based Multi-Database Interoperability System for the Integration of Manufacturing Resource Planning (MRP II) and Computer Aided Design (CAD)", Proceedings of 14th Conference on Production Research attd Technology of NSF Manu~tcturing Systems Program, Ann Arbor, Michigan, 1987, pp. 125-131. 10. C.A. Petri. "Kommunikation mit automaten". Ph.D. Dissertation, University of Bonn, Bonn, West Germany, 1962. 11. J.L. Peterson. Petri Net Theory attd the Modeling of S3"swms, Prentice Hall, Englewood Cliffs, New Jersey, 1981. 12. G. Memmi, G. Roucairol. "Linear Algebra in Net Theory", Lecture Notes in Computer Science, Vol. 84, Springer Verlag. 1980. 13. J. Martinez, M. Silva. "'A Simple and Fast Algorithm to Obtain All lnvariants of a Generalized Petri-Net". Lecture Notes in Computer Science, Vol. 52, Springer Verlag, 1982. 14. K.H. Lee, J. Favrel. "'Modeling, Analyzing, Scheduling and Control of Flexible Manufacturing Systems by Petri-Nets", Modeling Production Management Systems, IFIP, 1985. 15. Y.S. Kwong. '~On Reduction of Asynchronous Systems", Theoretical Computer Science, Vol. 5, 1977, pp. 25-50. 16. J. Grislain, L. Pun. "Graphical Methods for Production Control", 5th International Cot~'rence on Ptvduction Research, Amsterdana, August 1979. 17. K.H. Lee. J. Favrel. "Hierarchical Reduction Method for Analysis and Decomposition of Petri-Nets". IEEE Trans. on System, M(m and Cybernetics. Vol. SMC-[5, No. 2, March/April 1985. 18. L. Mark. N. Roussopoulos. "Operational Specification of Update Dependencies", Technical Report, Department of Computer Science, University of Maryland, College Park, 1987. 19. G. Harhalakis. M.E. Ssemakula, A. Johri. "Functional Design of an Integrated CIM System", International Journal of CIM, Vol. 1. No. 4, 1988, pp. 245-252.
Parts (i) (ii) (iii) (iv)
New New New New
p u r c h a s e d p r o d u c t part from CAD. m a n u f a c t u r e d tool part from CAPP. p u r c h a s e d tool part from CAPP. p u r c h a s e d supply part from M R P II.
(i) (ii)
G e n e r a t e d in CAPP. R e v i s i o n of routings.
Routinas
W o r k centers (i) I n s t a l l a t i o n of a new w o r k center. (ii) D e l e t i o n of w o r k center. (iii) R e v i e w i n g a w o r k c e n t e r in CAPP. (iv) R e v i e w i n g a w o r k c e n t e r in M R P II. Revisions (i) (ii) (iii) (iv) (v) (vi)
R e v i s i o n s of R e v i s i o n s of R e v i s i o n s of R e v i s i o n s of R e v i s i o n s of Revisions of product parts
m a n u f a c t u r e d p r o d u c t parts from CAD. p u r c h a s e d p r o d u c t parts from CAD. m a n u f a c t u r e d parts from CAPP. p u r c h a s e d parts from CAPP. p u r c h a s e d supply parts from M R P II. purchased as well as m a n u f a c t u r e d from M R p II.
methods have been proposed for different applications, isiv and all of them will be carefully reviewed to develop an appropriate reduction method for the CIM system. The objective will be to reduce the complexity of a fully automated manufacturing environment. Programming will be the final step, once an accurate model of the CAD/CAPP/MRP II integrated system (including all scenarios) is constructed. The functional specifications of the model will be programmed in the Update Dependency Language, which is currently under development in the Department of Computer Science at the University of Maryland, as a means tool for achieving interoperability. ~8 A rule set, called update and retrieval dependencies, must be constructed for the integrated system, which controls inter-database consistency through inter-database operation calls. This rule set will subsequently be used to implement the integrated CAD/CAPP/MRP II system.~9
Author(s) Biography George Harhalakis received his B.S. degree in Mechanical Engineering from the National Technical University of Athens, Greece, in 1971, and his M.S. and Ph.D. degrees in Mechanical Engineering from the University of Manchester Institute of Science and Technology, England, in 1981 and 1984, respectively. Presently, he is an Associate Professor in the Mechanical Engineering Department at the University of Maryland. His current research work includes computer integrated manufacturing, group technology, and hierarchical production management systems.
127
Journal ~["Manufacturing Systems Volume 9/No. 2
Herve P. Hillion graduated in 1983 from the Ecole Polytechnique, and in 1986 from the Ecole National des Ponts et Chaussees, both in Paris, France. He received the S.M. degree from the Technology and Policy Program at the Massachusetts Institute of Technology in 1986. He recently obtained his doctorate from INRIA (Institut Nationale de Recherche en Informatique et en Automatique) in Nancy, France. Currently, his research interests focus on modeling and analysis of flexible production systems, and on the use of timed Petri nets. Chang-Pin Lin received his B.S. degree from the National Taiwan University, Taiwan, R.O.C., in 1982 and his M.S. degree in Mechanical Engineering from North Carolina State University in 1986. He is a Ph.D. candidate in the Mechanical Engineering Department and a Research Fellow of the Systems Research Center at the University of Maryland. His current research focuses on the modeling and analysis of computer integrated manufacturing systems. Kenneth Y. Moy received his B.S. and M.S. degrees in Mechanical Engineering from the University of Maryland in 1986 and 1988, respectively. He is currently employed by General Electric Aerospace in Springfield, Virginia. He is a member of ASME and Tau Beta Pi.
128