IIE Transactions (2003) 35, 29–48 Copyright 2003 ‘‘IIE’’ 0740-817X/03 $12.00+.00 DOI: 10.1080/07408170390116643 Simulation-based shop floor control: formal model, model generation and control interface YOUNG JUN SON1 , RICHARD A. WYSK2 and ALBERT T. JONES3 1 Systems and Industrial Engineering Department, The University of Arizona, Tucson, AZ 85721-0020, USA E-mail: [email protected] 2 Department of Industrial and Manufacturing Engineering, The Pennsylvania State University, University Park, PA 16802, USA E-mail: [email protected] 3 Manufacturing Systems Integration Division, National Institute of Standards and Technology, Gaithersburg, MD 20899, USA E-mail: [email protected] Received February 2001 and accepted March 2002 In this paper, a structure and architecture for the rapid realization of a simulation-based real-time shop floor control system for a discrete part manufacturing system is presented. The research focuses on automatic simulation model and execution system generation from a production resource model. An Automatic Execution Model Generator (AEMG) has been designed and implemented for generating a Message-based Part State Graph (MPSG)-based shop level execution model. An Automatic Simulation Model Generator (ASMG) has been designed and implemented for generating an Arena simulation model based on a resource model (MS Access 97) and an MPSG-based shop level execution model. A commercial finite capacity scheduler, Tempo, has been used to provide schedule information for the Arena simulation model. This research has been implemented and tested for six manufacturing systems, including The Pennsylvania State University CIM laboratory. 1. Introduction Traditionally, simulation has been applied to long-term planning, design and analysis of manufacturing systems. These models have been termed ‘throw away models’ because they are seldom used after the initial plans or designs are finalized (Thomson, 1994; Drake et al., 1995). Wysk et al. (1992) proposed that once the system design has been constructed, the simulation that was used for evaluation could then be used as a basis for system control. This approach has been illustrated as part of the RapidCIM project and has been implemented at both the Penn State CIM laboratory and the Texas A&M Computer-Aided Manufacturing (TAMCAM) laboratory. This type of control is referred to as simulation-based control. Figure 1 depicts the architecture for simulation-based control. In a simulation-based shop floor control system, a simulation model acts as a supervisor, interacting with a shop level executor while the executor actually interfaces with the physical equipment. In order for the simulation model to perform these activities effectively, it needs to be specifically designed and detailed for shop floor control. There must be a high degree of fidelity and granularity among the control (execution) model, the resource model, and the simulation model. The high cost of control software development and maintenance has been recognized as a significant problem inhibiting Computer Integrated Manufacturing (CIM) solutions. This fact holds true for the Shop Floor Control Systems (SFCSs), the central and critical component of CIM. In response to this problem, the main goal of this research is to develop a methodology that will reduce the time and expense required to develop or modify a fully integrated, simulation-based, real-time SFCS. To achieve the stated goal, the following specific objectives are established: 1. The first objective is to create a formal model of manufacturing resources that can be used for control. The focus in this research is shop floor control simulation and execution. This formal model allows the other objectives that are stated next. 2. The second objective is to create a methodology and a software system to extract execution model information and related simulation-based control model information for shop floor operation from a resource description. 3. The third objective is to develop a methodology for interfacing a simulation-based controller with an external scheduler. Tempo, a commercial finite capacity scheduler, was selected for implementation as the 30 Son et al. Fig. 1. Architecture for simulation-based shop floor control. external scheduler. Certain commercial software products are identified in this paper. These products were used only for demonstrations purposes. This use does not imply approval or endorsement by NIST, nor does it imply that these products are necessarily the best available for the purpose. The following assumptions and constraints characterize the target environments for which this research is applied: 1. The manufacturing system under consideration is a discrete part manufacturing system. 2. The control system under consideration is intended to operate with automated equipment such as NC machines and robots; however, human-assisted or manual workstations also can be included if the human responds to prompts in a deterministic manner as the equipment would respond. 3. The manufacturing system under consideration includes a set of material processors (machines), material handlers (robots), and buffers. The material handling equipment under consideration is the direct address material handling equipment. 4. Capacities of material processors and material handlers under consideration are one. All movement of parts between non-material handling equipment requires a material handler. 5. The manufacturing system under consideration does not consider assembly/disassembly operations. In addition, the unit of parts flowing throughout the system is always one. 6. Both the flow-shops and job-shops are taken into account in this research. 2. Literature review To control a dynamic Flexible Manufacturing System (FMS) the concept of real-time control of manufacturing cells using a simulation model(s) has been the subject of a number of research projects (Davis and Jones, 1988; Wu and Wysk, 1989; Harmonosky and Robohn, 1991; Manivannan and Banks, 1991; McConnell and Medeiros, 1992; Kim and Kim, 1994; Smith et al., 1994; Drake et al., 1995; Rahimifard and Newman, 1995; Peters et al., 1996; Son et al., 1999). Smith et al. (1994) examined the application of discrete event simulation to shop floor control of a FMS. In general, the output of scheduling is either a sequence of jobs for each resource (equipment) or a combination of dispatching rules. Kim and Kim (1994) presented a simulation-based real-time scheduling mechanism in which dispatching rules were dynamically varied based on evaluation of the candidate rules; this is associated with the latter case. In this research, the former case has been adopted, and Section 6 concentrates on the related issues. Simulation has been used to evaluate operation strategies or schedules. Although the basic manufacturing modeling requirements are the same in both design and control applications, there are some basic differences in the requirements on the simulation tools needed in these applications (Kachitvichyanukul et al., 1991). For example, in design applications, we typically are only interested in summary performance measures for comparing systems; in contrast, in control applications, we are not only interested in summary reports, but also reports detailing the behavior of individual jobs. Since Oldfather et al. (1966) developed the earliest simulation generator, researchers have reported a variety of simulation generators. Mathewson (1984) defined a simulation generator as a software tool that translates the logic of a model into the code of a simulation language, enabling a computer to mimic a modeler’s behavior. Five approaches have been proposed to define the simulation model, and they are: (i) natural language interface (Heidorn, 1974); (ii) graphical interface (Doshi et al., 1985; Murray and Sheppard, 1988); (iii) interactive dialogue interface (Doshi et al., 1985; Murray and Sheppard, 1988); (iv) the use of the resource and process description (Lee, 1996); and (v) the use of the resource and execution models (Son, 2000). In this research, a resource model and an execution model are used for system specification. The earliest use of a natural language interface was the Natural Language Programming for Queueing simulations (NLPQ) (Heidorn, 1974). When the required information had been collected, the NLPQ generated the simulation code in GPSS. Ford and Schroer (1987) developed the Electronic Manufacturing Simulation System (EMSS) also using a natural language interface. Yuan et al. (1993) used a batch file containing a list of operation equations and the remaining system specifications to generate the simulation code. The system specification has been also obtained either via a graphical interface or an interactive dialogue mon- 31 Simulation-based shop floor control itor (Doshi et al., 1985; Murray and Sheppard, 1988). A graphical interface is useful for describing the structure or layout of components within a system. Lee (1996) presented an automatic simulation modeling methodology based on the part flow information and the resource description. The process model represents the process sequence and the resource alternatives for manufacturing each part. Aytug and Dogan (1998) used a similar methodology for simulation generation for KANBAN-controlled manufacturing systems. Both methodologies use the generated simulation model for only design and analysis of the system. Peters et al. (1996) developed the simulation control system directly from information about the shop floor stored in a relational database using a similar methodology proposed by Centeno and Standridge (1992). In this approach, the look-ahead simulation tool is used to predict the feasibility of a given production schedule. In this paper, we refine and extend the previous research as follows. First, we present a more systematic framework for the generation of Simulation-based Shop Floor Control System (SSFCS) by: (i) formally modeling the components (execution model, simulation model, and resource model) that comprise the SSFCS; and (ii) clearly defining algorithms to extract information from each other. Sec- ond, the generated simulation model (same model) is capable of running in three different modes (refer to Section 5.1). In one of those three modes, schedule information (a sequence of jobs for each resource) is read from an external database, where schedules have been generated by TempoTM (refer to Section 6). 3. Framework and general concept 3.1. Solution framework Figure 2 overviews the proposed approach in this research in developing an integrated, real-time, Simulationbased Shop Floor Control System (SSFCS). In Fig. 2, the major components that this research focuses on are highlighted, and each component will be discussed in detail in the following sections. ‘TA ’, ‘TB ’, ‘TC ’ and ‘TD ’ in Fig. 2 are development times in each stage and will be used to illustrate the improvement made out of the proposed approach in Section 7. Previous work (Smith and Joshi, 1993) has been done to reduce ‘TC ’. The research in this paper attempts to reduce ‘TB ’ and ‘TD ’. Refer to Section 7 to find more details of the results. Prior to discussing the model generation methodologies, Section 3.2 first explores the generic information that comprises Fig. 2. Overview of the development of the simulation-based control system. 32 Son et al. the resource model, the execution model (shop level), and the simulation model. 3.2. Resource models, execution models, and simulation models 3.2.1. Convention of notations A partition of a set A is a collection of disjoint subsets of A whose union is all of A. A ¼ hA1 ; A2 ; A3 i represents that A is partitioned to A1 , A2 , and A3 . Brackets are used to enclose the list of attributes describing an object. For example, a ¼ ½id; name; description represents that an object a is characterized by attributes called id, name, and description. A period is used to represent values of these attributes. For instance, a:id ¼ 1 represents that the value of an attribute id of an object a is one. 3.2.2. Resource models A resource model contains a set of definitions and symbolic descriptions that are required to describe all of the individual resources in a facility as well as the necessary interactions between these resources. It includes both the physical and logical information in the facility directed toward the manufacture of the products. Resources (R) include equipment (E), tools (T), fixtures (F), instruction sets (I), connectivity graph (CG), locations (L), ports (P), facilitators (FA), which are formally defined as follows: R ¼ E [ T [ F [ I [ CG [ L [ P [ FA [ . . . Methodologies developed in this paper interact with only E and CG. Therefore, discussions in this section focus only on E and CG, and the other sets will not be further mentioned after this section. To find various usage of the production resource model, refer to Steele et al. (2001). A manufacturing system is made up of several items of equipment (devices). Several classes of equipment have been identified. Wysk et al. (1995) have defined these classes of Equipment (E) as Material Processing (MP), Material Handling (MH), Material Transporting (MT), and Buffer Storage (BS). All the equipment in the factory are classified as belonging to only one of these classes. Formally, the equipment (E) is defined as follows: E ¼ hMP ; MH ; MT ; BSi, where: MP ¼ hNMP ; PDi; BS ¼ hABS; PBSi; ABS ¼ hSABS; LABSi, and PBS ¼ hSPBS; LPBSi. Equipment classified to the MP class is the one that transforms a product in some way. MP is partitioned into NMP (Normal Material Processors class) and PD (Passive Devices class). If material processing equipment requires an equipment level controller, it belongs to the NMP class. Otherwise, it belongs to the PD class. NMP class equipment includes machining centers, inspection devices, assembly machines, and so on. PD class equipment includes gravity-based inverters, heat lamps used for drying parts after a painting operation, etc. In this paper, the MP class refers to the NMP class unless otherwise defined. Equipment classified in the MH class are those that transfer products between pieces of equipment (generally e 2 E MH ). This type of equipment includes robots, human operators, etc. Equipment classified in the MT class are those that move products from one location to another location. This type of equipment includes AGVs, conveyors, fork trucks, human operators, etc. Equipment classified in the BS (Buffer Storage) class are those that store products. General equipment storing products is classified either as ABS (Active Buffer Storage class) or PBS (Passive Buffer Storage class). If the storage equipment requires an equipment level controller, it belongs to ABS class; otherwise, it belongs to PBS class. Some requirements of an ABS equipment level controller include synchronization with MH class equipment, location allocation, capacity control, etc. ABS is partitioned into SABS (System Active Buffer Storage class) and LABS (Local Active Buffer Storage class). SABS class equipment are those associated with the system level activities, meaning that raw materials initiate and final products terminate their appearance to/from the production system. LABS class equipment is associated with local activities. Equipment classified to the PBS class is the one that store products and does not need an equipment level controller. Since no controller exists for this class of equipment, the supervisory level controller (simulation in our case) must take care of all the decisions associated with the equipment. PBS is partitioned into SPBS and LPBS in the same way as in the case of ABS. A Connectivity Graph (CG) is a graph showing the connections between the equipment in the facilities. Each node is associated with a physical equipment entity. Arcs are associated with equipment interactions (e.g., high level tasks). The connectivity graph is formally defined as: CG ¼ ðN ; AÞ, where N ¼ fn1 ; n2 ; . . . ; ni g is the set of nodes corresponding to E, A ¼ faij ji; j 2 N g. 3.2.3. Execution models Several techniques have been used to implement execution models, including Petrinets (Kasturia et al., 1988; Huang and Chang, 1992), push-down automata (Mettala, 1989), finite state automata (Smith and Joshi, 1993), object-oriented methods, graphical representations (Cho and Wysk, 1995), and programmable logic control. Common information embedded in these techniques is composed of two sets: (i) specifications for specific states; and (ii) a set of variables and associated actions that result in a state change. In this research, a Message-based 33 Simulation-based shop floor control Part State Graph (MPSG) presented by Smith (1992) is adopted to take advantage of the technology that automatically generates a Cþþ program from the model. The MPSG (Smith and Joshi, 1993) is a formal model of the execution portion of shop floor control that operates in a distributed control environment. Individual controllers in a distributed environment communicate using a well-defined protocol (messages) to affect system operation. An MPSG is a modified Deterministic Finite Automaton (DFA) similar to a Mealy machine (Hopcroft and Ullman, 1979). An MPSG, M, is defined formally as the octuple, M ¼ ðQ; q0 ; F ; R; ACT ; P ; d; cÞ, where Q is a finite set of states, q0 2 Q is an initial state, F Q is a set of final states (Smith, 1992). R is a finite set of controller events and serves as the input alphabet. Additionally, R is partitioned into a set of input messages (RI ), a set of output messages (RO ), and a set of controller tasks (RT ). ACT is a finite set of controller actions, where each a 2 ACT is an executable function that performs some controller action. P is a finite set of physical preconditions for controller actions. P is partitioned so that for each a 2 ACT , there is a corresponding qa 2 P , where qa is a function which returns either true or false. d : Q R ! Q is a state transition function. Similarly, c : Q ðRO [ RT Þ ! ACT is a controller action transition function (Smith and Joshi, 1993). 3.2.4. Simulation models Different people classify simulation information differently. Moreover, simulation models of the same system can significantly differ depending on the nature of the application. In this research, we classify the general simulation information so that it can most easily be fitted into our methodology. A simulation model (SM) is the collection of Default Components (DC), Static Information (SI), Dynamic Information (DI), Interaction with External Modules (IEM), Animation (AM), and Statistics Required (SR). Formally, SM ¼ DC [ SI [ DI [ IEM [ AM [ SR: Each component in our classification is explained as follows: 1. Default Components (DC): in order to model and run a Simulation Model (SM), some additional analysis information is required, including simulation duration, number of replicates, project information, etc. 2. Static Information (SI): the set of static information (SI) in a simulation (SM) is roughly similar to the information contained in an experiment file. It includes physical and logical data pertaining to the shop, such as layout and resource information (Simulation Resource Module, SRM). 3. Dynamic (time-varying) Information (DI): dynamic information (DI) are those characterized by the temporal evolution of objects in a system in terms of the changes of states they undergo in response to interactions with other objects inside or outside the system (Chen and Lu, 1997). Dynamic information (DI) in the simulation (SM) is used to implement dynamic part flow and entity interactions with resources as well as random part arrivals to the system. 4. Interaction with External Modules (IEM): the simulation for real-time shop floor control communicates with an execution system and interacts with the external databases, e.g., master production schedule, process plan, and external functions, e.g., planner, scheduler, and error detection and recovery procedures. Currently, few simulation packages support features used for real-time shop floor control. This is the primary motivation for the selection of Arena 3.01 RT as a target simulation language for development with Visual Basic Application (VBA). This selection provides a hook for both integration and automatic control. 5. Animation (AM): the animation processor updates and displays a graphical representation of the activities taking place during the simulation. Animation and dynamically updated displays and graphs provide a visual representation of what is happening in the model while the simulation is running. 6. Statistics Required (SR): generally, two types of statistics exist in a simulation: Observation Statistics (OS) and Duration Statistics (DS). Observation statistics (OS) are not time-persistent, and examples include time in system, machining time, and queueing time. Duration statistics (DS) are time-persistent, and examples include machine utilization and number in queue. 4. Shop level execution model generation 4.1. Overview of execution model generation The shop level task executor is called the BigE (Big Executor or Executor of executors). An MPSG for the BigE is denoted as MBigE . This section presents a methodology to automatically generate MBigE from a connectivity graph (part of our resource model). Figure 3 contains a reorganization of information in Fig. 2, used to generate MBigE from a connectivity graph. In Fig. 2, the Automatic Execution Model Generator (AEMG) is a procedure that generates, MBigE . Given a connectivity graph CG, the AEMG expands each arc aij 2 A CG based on the AEMG rules (defined in Section 4.3). 4.2. Procedure for shop level MPSG generation The conceptual procedure for the generation of MBigE from CG is illustrated in Fig. 4. Basically, the procedure visits each node of the connectivity graph, extending associated arcs to series of controller events based on the 34 Son et al. 0 if ni 2 VN ; 1 if ni 2 = VN : This function determines whether the current node has been previously visited or not. VNstate ð QÞ ¼ fvn1 ; vn2 ; . . . ; vni g is the set of states corresponding to VN. Which state : VN VNstate ! VNstate is a function retrieving the state number that the AEMG has previously assigned to a node. Arc interaction class (aij 2 A) is a function providing a generic class of interactions between the starting node i 2 N and the end node j 2 N . Table 1 describes this function. SGM (set of generated messages) is the set of information associated with each message r 2 R. Attributes characterizing a message m 2 SGM include msg name, #, @, control policy type, and sb message class. Formally, SGM ¼ ½msg name, #, @, control policy type, sb message class. # is e.id where e 2 MH , and @ is e.id where e 2 E MH . SB message class (r 2 R) is a function providing classes of input messages which originate from the simulation. Table 2 describes this function. 2. Has nd visited ðni 2 N Þ ¼ 3. 4. 5. Fig. 3. Overview of coordination MPSG generation from a connectivity graph. rules described in Section 4.3. The following sets and functions have been used to describe the procedure and to make sure to visit each node and arc only once and also to make sure to visit all the nodes and arcs of a connectivity graph: 6. 7. 1. VN N is a set of nodes that the AEMG has previously investigated. Before AEMG is initiated, VN ¼ /. Fig. 4. Conceptual procedure for the generation of MBigE from CG. 35 Simulation-based shop floor control Table 1. Arc interaction class function Condition i i i i i ˛ ˛ ˛ ˛ ˛ SPBS, j ˛ MH MH, j ˛ SPBS SABS, j ˛ MH MH, j ˛ SABS MH, j ˛ MP Result 1 2 3 4 5 Condition i i i i i ˛ ˛ ˛ ˛ ˛ MP, j ˛ MH MH, j ˛ LPBS LPBS, j ˛ MH MP, j ˛ MP MH, j ˛ LABS Result Condition Result 6 7 8 9 10 i ˛ LABS, j ˛ MH i ˛ MH, j ˛ PD i ˛ PD, j ˛ MH 11 12 13 Table 2. Simulation to BigE message class function Condition e e e e e = = = = = part_enter_sb pick_ns_sb mv_to_mp_sb mv_to_lpbs_sb mv_to_spbs_sb Result 1 2 3 4 5 Condition e e e e e = = = = = mv_to_sabs_sb put_sb process_sb pick_ns_sb put_ns_sb 4.3. Automatic execution model generation rules As shown in Fig. 1, the BigE interacts closely with the equipment level controllers. These interactions must be carefully considered building an MPSG for the BigE. Due to limited space, underlying MPSGs for the equipment level controllers are not described in this paper. These interactions are referred as AEMG rules and are represented as a series of controller events, which will form a part of the MPSG for the BigE. AEMG rules have been devised for the following combinations of classes of equipment: (i) SPBS and MH; (ii) MH and SPBS; (iii) SABS and MH; (iv) MH and SABS; (v) MH and MP; (vi) MP and MH; (vii) MH and LPBS; (viii) LPBS and MH; (ix) MH and LABS; and (x) LABS and MH. Figure 5 shows the common series of states, controller events, and state transitions required in the BigE MPSG when the starting node in a connectivity graph is associated with a system-level passive buffer storage class equipment (SPBS), and the ending node is associated Result 6 7 8 9 10 Condition e e e e = = = = rm_sabs_sb return_sb mv_to_labs_sb rm_labs_sb Result 11 12 13 14 with a material handling class equipment (MH). Interactions between an SPBS class equipment and an MH class equipment is initiated when the BigE receiving a part-entering notification from the simulation (part enter sb). When the BigE receives the part-entering notification (part enter sb), the BigE saves the part id and the part type, and then waits for the next message from the simulation. The simulation then commands the BigE to coordinate a pick task (pick ns sb). In response to this pick message, the BigE commands the associated MH class equipment controller to perform a pick task. Then, the BigE waits for the completion message from the MH class equipment. While the MH class equipment performs material handling tasks, the BigE is unaware of what is happening outside the scope of itself. When the BigE receives the completion message from the MH class equipment controller, it notifies the simulation of the completion of the pick task (pick ok bs). Note that i may or may not be equal to k, and j may or may not be equal to k þ 5. This is dependent upon the specific states that the AEMG has previously assigned for i and/or j. Fig. 5. AEMG rules for SPBS class equipment and MH class equipment. 36 5. Shop level simulation model generation Son et al. 1. First mode: users need to provide random part arrival information using a distribution function. Part routing information is read from an external database. 2. Second mode: part routing and order information is read from an external database. The simulation reads the external database every certain interval and releases existing orders. Scheduling is performed by default queue disciplines (first-in-first-out dispatching rules) within the simulation model. 3. Third mode: same as with the second mode except that schedule information is read from an external database, where schedules have been generated by Tempo. simulation model from a Message-based Part State Graph Summary (MPSGS) for the BigE, MSBigE ( MBigE ) (defined in the next section). Equipment in the resource model (E R) provides a basis for deriving the static information in a simulation model (SI SM). MSBigE provides dynamic information for a simulation model (DI SM). A product model and E provide information for animation, AM. By default, Arena 3.01 provides many of the duration statistics for the set of statistics required (DS SR). However, the ASMG has to be custom-built to gather the specific observation statistics in the statistics required (OS SR). In this paper, observation statistics, OS, is not taken into account. The OS can be easily added after automatic generation, according to the user’s requirements. The type of interaction with external modules, IEM, and default components, DC, varies significantly depending on the Simulation-based Shop Floor Control System (SSFCS) architecture that the simulation follows. The ASMG has been designed specifically to support the SSFCS architecture associated with this paper. For all three modes, the simulation can be run with (realtime mode) or without (fast mode) interacting with the shop level execution system. 5.3. Message-based part state graph summary 5.1. Scope of simulation The requirements for a simulation model change for different uses of the simulation. The generated simulation model, the outcome of the methodology that will be described in this section, is capable of running in three modes. Those three modes are as follows: 5.2. Overview of simulation model generation The simulation information described in Section 3.2.4 can be mapped or generated from the resource model and the shop level execution model. Figure 6 contains details for the information in Fig. 2, presenting an overview of simulation model generation from a resource model and MPSG-based execution model. The Automatic Simulation Model Generator (ASMG) generates an Arena 3.01 Fig. 6. Overview of simulation model generation from resource model and MPSG. As shown in Fig. 6, a Message-based Part State Graph Summary (MPSGS) is used as input for dynamic information, DI, generation. An MPSGS is a specific subset of the information in an MPSG. An MPSGS, MS, is formally defined as a three-tuple, MS ¼ ðQs ; Rs ; ds Þ, where Qs Q is a finite set of states. Rs RI is a finite set of messages. ds : Qs Rs ! Qs is a state transition function. An MPSGS for the BigE conveys interactions between the simulation and the BigE, and is denoted MSBigE . It should be noted that we can interpret all possible interactions (high level tasks) between equipment by looking at MSBigE . An MSBigE has the following properties: 1. All messages in the MPSGS for the BigE (8r 2 Rs ) end with ‘sb’. This means that the messages originate from the simulation and go to the BigE. Since the BigE interacts with both the Arena simulation model and the equipment-level controllers, the MPSG for the BigE includes those messages relevant to the simulation model as well as those messages relevant to the equipment controllers. Note that interactions between the BigE and the lower level equipment controllers are not needed in simulation model generation. 2. When the MPSG for the BigE is designed manually, it is possible that many different MPSGS can exist for the same system. In this research, since the MPSG is automatically generated based on identical sets of rules, it is unique. 3. A finite set of messages in an MPSGS for the BigE, MSBigE , is decomposed into several subsets based on the messages’ characteristics. Formally, 37 Simulation-based shop floor control Rs ¼ hRS PE; RS PIN ; RS MM; RS MLP ; RS MSP ; RS MSA; RS PU ; RS PR; RS PI; RS PUN ; RS RS; RS RE; RS MLA; RS RLi where: RS PE ¼ frj jrj is part enter sbg; RS PIN ¼ frj jrj is pick ns sbg; RS MM ¼ frj jrj is mv to mp sbg; RS MLP ¼ frj jrj is mv to lpbs sbg; RS MSP ¼ frj jrj is mv to spbs sbg; RS MSA ¼ frj jrj is mv to sabs sbg; RS PU ¼ frj jrj is put sbg; RS PR ¼ frj jrj is process sbg; RS PI ¼ frj jrj is pick sbg; RS PUN ¼ frj jrj is put ns sbg; RS RS ¼ frj jrj is rm sabs sbg; RS RE ¼ frj jrj is return sbg; RS MLA ¼ frj jrj is mv to labs sbg; and fRS RL ¼ frj jrj is rm labs sbg: We can characterize these classes of messages using English semantics, where mv stands for move and rm stands for remove. 4. A message pertaining to an MPSGS has several attributes including # and @. Formally, r 2 Rs ¼½#;@; . . .. # and @ are integer indexes of an item of equipment (ei 2 E). Any two messages pertaining to an MPSGS can be uniquely identified by # and @. Formally, 8ri , rj 2 Rs with i 6¼ j are uniquely identified by # and @. For example, pick#3@2 sb is a pick message associated with fei 2 MH E, ej 2 E MH jei :id ¼ 3, ej :id ¼ 2g. 5. The generic structure that an MPSGS always follows is shown in Fig. 7. There are 14 basic tasks (high level tasks) that are iteratively performed to produce finished products from raw materials. The MPSGS for the BigE, MSBigE , can be generated automatically from the MPSG for the BigE, MBigE . A new algorithm to do so has been developed and is now presented: 5.4. Methods for simulation model generation Figure 6 depicts an overview of how a simulation model can be generated. This section presents methodologies to generate the dynamic information, DI, and interaction with external modules, IEM, which constitute the bulk of the simulation model, SM. Refer to Son (2000) for methodologies to generate other components. Algorithm to generate MSBigE from MBigE Step 1. Find r 2 R RS . While there is such r, go to Step 2. Otherwise, go to Step 7. Fig. 7. Generic structure of MPSGS. Step 2. For r, let’s set a to be b (r) and let’s set b to be e (r) where: • b: R ! Q is a function retrieving the start state q 2 Q given a message r 2 R. • e: R ! Q is a function retrieving the end state q 2 Q given a message r 2 R. Then, go to Step 3. Step 3. Let R0 ¼ fr0 2 Rjbðr0 Þ ¼ g. a And, let R00 ¼ fr00 2 00 Rjeðr Þ ¼ g. a Then, go to Step 4. Step 4. For r00 2 R00 , assign eðr00 Þ to be . b If jR0 j ¼ 1, then go to Step 5. Otherwise, go to Step 6. Note that jR0 j 1 all the time. Step 5. Let R ¼ R fr00 g. Then, go back to Step 1. Step 6. Let R000 ¼ fr000 2 R0 jeðr000 Þ 6¼ g. b For r000 2 R000 , assign bðr000 Þ to be . b Let R ¼ R fr000 g. Then, go back to Step 1. Step 7. End. Currently available simulation packages, including Arena 3.01, AutoMod 10.2, ProModel 4.2, Quest, Micro Saint, etc, have similar, but not identical, constructs. Different software vendors have different definitions of basic simulation constructs, e.g., queue, resource, machine, station, etc. The National Institute of Standards and Technology (NIST) has been working to come-up with a neutral definition of simulation constructs for the last several years. However, there is no standard format and definition of simulation constructs to date, and it may be impossible to standardize these constructs across packages until the software vendors rewrite their software 38 Son et al. based on a certain neutral definition and description. Son et al. (2001) presented a summary of the efforts, defining neutral simulation constructs and generating Arena models as well as ProModel models from neutral descriptions of simulation models. The proposed methodology in this section expresses dynamic information, DI, in Arena syntax, but the methodology is not limited to Arena. 5.4.1. Overall structure of DI generation method The dynamic information, DI, generation methodology is partitioned into the following subsections with regard to the requirements of the methodology (refer to Fig. 8(a–c)): 1. 2. 3. 4. System input stations (e 2 SABS [ SPBS). Material processing stations (e 2 MP ). Local buffer stations (e 2 LABS [ LPBS). System output stations (e 2 SABS [ SPBS). Due to limited space, only the methodology for the first case is presented in this paper. In order to model active and passive system input buffers (e 2 SABS [ SPBS), we only need to focus on outgoing parts from the current system input buffers (refer to Fig. 8(a)). The material handler that will unload a part from the current input buffer needs to be seized (available) first before unloading the part. The overall procedure to generate dynamic information, DI is presented below. It should be noted that the procedure below captures the characteristics and the configurations of a system by investigating the MPSGS. Step 1. The purpose of this step is to capture information about system input buffers. From the Message-based Part State Graph Summary (MPSGS) for the BigE, MSBigE , construct a set of part enter sb messages, RS PE. We can construct RS PE from the MSBigE by extracting the messages associated with the part enter class. We can capture information about system input buffers by investigating the RS PE. This is because part enter sb messages must have already been generated by the AEMG rules (refer to Fig. 5) for the system input buffers. For example, if there is no part enter sb message (jRS PEj ¼ 0), it means that there is no corresponding system input buffer in the physical system. Step 2. The purpose of this step is to determine how many system input buffers exist, and how many material handling equipments can serve each system input buffer. Classify the constructed part enter sb messages, RS PE, into indexed subsets hRS PE1 ; . . . ; RS PEi ; . . .i where: RS PE1 ¼ fr 2 RS PEjr@ ¼ p1 g; //the set of ‘part enter sb’ messages whose @ attribute value is p1 . In the following sections, italic sentences coming after the symbol ‘//’ are used to describe the meaning of the formal procedures or functions being developed. RS PEi ¼ fr 2 RS PEjr@ ¼ pi g; //the set of ‘part enter sb’ messages whose @ attribute value is pi . p1 and pi are integer indexes of an item of equipment (e 2 E), i is a natural number. As mentioned in Section 5.3, a message pertaining to an MPSGS has attributes including # and @. When two material handling equipments (whose integer indexes are m1 and m2 ) can unload products from a system input buffer (whose integer index is m3 ), two part enter sb messages (part enter#m1 @m3 sb and part enter#m2 @ m3 sb) belong to the MPSGS. Step 3. The purpose of this step is to map a series of Arena building blocks for each system input buffer. For each system input buffer, Arena code to model the buffers can be generated by applying the rules presented in Fig. 9. A generic description of the simulation constructs used in the rules along with their operands is presented in Table 3. Note that the rules will be invoked i times, where i is the number of part enter sb messages in the MSBigE . Functions used in the rules in Fig. 9 are defined below: Fig. 8. Generic structure of: (a) each input system buffer in simulation; (b) each processor or local buffer in simulation; and (c) each output system buffer in simulation. 1. How many outgoing arc at SIB (r 2 RS PE) is a function to calculate the number of equipments (e 2 E MH ) to which the material handler (e 2 MH ) associated with the part enter sb message, r, can potentially pass the Simulation-based shop floor control 39 Fig. 9. Simulation generation rules for system input buffers. parts. This function calculates this value by counting the number of next streams from the current stream. The way to count the number of next streams is described in the OutNs ðÞ function below. The generalstructure of MPSGS was shown in Fig. 7. According to the structure, if a system input buffer belongs to the SABS class, a rm sabs sb message (r 2 RS RS) follows a part enter sb message (r 2 RS PE). In addition, a pick ns sb message (r 2 RS PIN ) follows the rm sabs sb message, and a return sb message (r 2 RS RE) follows the pick ns sb message. Note that a system input buffer and a material handler are associated with one stream (part enter sb,rm sabs sb, pick ns sb, and return sb). After the return sb message, there are branches to the next stream. The number of the branches depends on the number of equipment that the current material handler (who picked up a product) can pass the product. If a system input buffer belongs to the SPBS class, the function can be similarly explained. The function is formally defined below, and other functions included within the function are also described. How many outgoing arc at SIBðrÞ 8 Out Ns ðes ðnexts ðnexts ðnexts ðrÞÞÞÞÞ if > > > < Equipment classðrÞ ¼ 3ðSABSÞ; ¼ > Out Ns ðes ðnexts ðrÞÞÞ if Equipment classðrÞ > > : ¼ 6ðSPBSÞ: 40 Son et al. Table 3. Taxonomy of simulation constructs used in this paper (Kelton et al., 1998) Name General definition Our specific usage Operands Station Represents a point in the model to which entities are transferred Represents a physical point (e.g. MP or SABS physical stations) or a logical point (e.g., place where attributes are assigned in zero time) in the model Station ID Event Sends the entity to user-coded C function event. The subroutine must be compiled and linked to create a special version of the SIMAN executable program (e.g., DLL) Read the process plan to determine the NC file name and how long the operation takes or to find the port where the part is located, and the amount of time expected for the part’s next operation Event Number Delay Delays an entity by duration time units Delay for the amount of time read from the process plan or send the message to the executor (simulation-based shop floor control case) Simulation Delay Time Message Name Time Out Condition Branch Allows only a single branch to be taken at each entity arrival Chooses one equipment among alternatives. If only one equipment, chooses it all of the time Max Number of Branches Branch Types Seize Allocates units of a resource Allocates units of a resource Priority Resource ID Quantity Route Transfers the entity in Duration time units to the station specified by the operand Destination Transfers the entity in zero time to the station specified by the operand Destination Duration Destination Station Release Releases units of the resource Releases units of the resource Resource ID Quantity Assign Allows the assignment of a value to a SIMAN variable or entity attribute Assigns values of part type, number of products in system, picture associated with products, etc Variable or Attribute Name Value Create Generates arriving entities to a process model Generates entities to a model; some entities represents physical products, and other entities coordinates information or control Batch size First creation Time between Max batches Dispose Removes an entity from the model Removes an entity from the model Optional 2. Equipment class (r 2 RS ) is a function to retrieve the class of equipment that is associated with the given message, r. The range of the function is f1; 2; 3; 4; 5; 6; 7; 8g, where each element represents MP, MH, SABS, MT, LPBS, SPBS, LABS, and PD class, respectively. 3. es : Rs ! Qs is a function to retrieve the end state q 2 Qs given a message r 2 Rs . //This function returns the end state given a message. For example, given the ‘part enter’ message in Fig. 7, this function returns i þ 1. 4. OutNs : Qs ! N is a function to calculate the number of messages whose start state is q 2 Qs . // Given a state i, this function searches messages whose state is i. 5. nexts : fq 2 Qs jOutNs ðqÞ ¼ 1g ! Qs is a function retrieving the subsequent state qn 2 Qs given a state qnþ1 2 Qs . //Given a state, this function returns the subsequent state. 6. SB message class (r) has been defined previously. 7. Control policy (r 2 RS MM [ RS MLP [ RS MLA [ RS MSP [ RS MSA) is a function that interprets system configurations and returns the appropriate control policy. If the control policy attribute is assigned to one, the simulation must be configured so that a blocking situation (if any) will remain in the current MP class equipment. If the control policy attribute is assigned to zero, the simulation must be configured so that a blocking situation will not occur in the current 41 Simulation-based shop floor control MP class equipment, and the blocking situation will be transferred to the next MH class equipment. A tradeoff between the efficiency of the system and deadlock avoidance has to be made depending on the nature of the system. The control policy attributes are determined by the connectivity graph, which provides the configurations of a system. The arcs whose starting node is associated with the MH class equipment are eligible to have control policy attributes. A new algorithm to determine control policy attributes has been developed and is shown below. Given a CG, find arcs, whose starting nodes are associated with the MH class equipment. Formally, find faij je 2 MH , e corresponds to ni g. If 9 aji 2 CG, aij Control policy attribute ¼ 1, // if nodes i and j are associated with the arcs ði,jÞ and ðj,iÞ Else, aij Control policy attribute ¼ 0. Two types of control factors exist: uncontrollable (essential or minimal) factors (requirements) and controllable (user-specifiable) factors. Uncontrollable factors are the requirements (physical constraints) that must be satisfied regardless of the control strategies chosen. For example, in a system with no queueing buffers, the robot and the machine that parts need to visit next must be seized together in order to avoid a deadlock. Controllable factors are the ones that can be specified by system designers or external modules (e.g., external schedules). Examples of controllable requirements include the number of parts in the system and queue disciplines. In the proposed control system environment as in Fig. 1, the simulation model is in charge of satisfying the uncontrollable requirements. As a result, two primary roles of the simulation model are to generate tasks and to satisfy uncontrollable requirements. The simulation model is configured so that the same simulation model can deal with the various control strategies that result from various combinations of controllable factors. Some of the uncontrollable factors that must be satisfied are presented as follows: 1. In a flow-shop with m machines, one robot, and no buffers, the robot must be seized together with the machine that the part needs to visit next. Otherwise, deadlock can occur. 2. In a job-shop with no buffers, the robot must be seized together with the machine that the part needs to visit next; otherwise, deadlock can also occur. 3. If n parts are allowed in the system, and queueing stations are used to avoid deadlock, then n 1 queueing stations are required to ensure that deadlocking does not occur. Note that MP class and MH class equipment also can be used as queueing stations if needed. 4. In a shop (either flow-shop or job-shop) with buffers, two control policies are available for each robot. When blocking (a part has been processed and the machine that the part needs to visit next is not available) occurs, the robot can move the finished part to the buffer (a PUSH-like control) or can wait until the needed machine becomes available (more of a PULLlike control). Even if this kind of control policy is user specifiable, the decision must be made before the simulation model is constructed. This is simply because the same simulation model cannot deal with multiple control strategies simultaneously. 5.4.2. Interaction with external modules generation The simulation for real-time shop floor control communicates with a shop level executor and interacts with the external databases, e.g., master production schedule and process plan, and external schedules. Generation of three sub-modules pertaining to IEM is summarized as follows: 1. Communication with the shop level executor: real-time constructs supported by Arena 3.01 RT perform communication with the shop level executor. These real-time constructs are closely coupled with constructs associated with DI and the MPSG. Therefore, procedures presented in Section 5.4.1 include generation of the real-time constructs. 2. Interface with external process plans: Section 5.5 discusses the interaction between the simulation and process plans. 3. Interface with external schedules: Section 6 describes issues related with external schedules. 5.5. Process plan versus simulation The process plan, also called the route sheet, provides the instructions for producing a part. The simulation constructs reading external process plans are closely coupled with constructs associated with dynamic information, DI. Therefore, procedures presented in Section 5.4.1 include generation of the constructs reading the external process plans. It should be noted that the architecture used to represent the process plans is necessary when generating a simulation model, not the actual process plans. Rather, actual process plans provide information to control parts and resources when running the generated simulation models. 6. Method for schedule implementation in simulation In this research, the simulation is configured so that the sequence of parts to be processed by each MP class equipment is maintained. Riddick (1998) termed this sequence a dispatch list, and the term is interchangeable 42 with a work to be schedule. We define a schedule as a set of work to be schedules for each resource. For the example schedule shown in Fig. 10, the work to schedule for the machine 1 is 2 5 4 1 6 3. The work to schedule for each processor can be achieved by sorting the operations by the setup start time. The characteristics of simulation modeling, specifically in Arena, are summarized as follows, with a focus on implementing the schedules based on the work to schedule: 1. Each processor is associated with a dispatch list (work to be schedules). Ideally, parts will be added to or removed from the dispatch list dynamically during the Son et al. production stage. In Arena, an ‘expressions’ module, which is an array data structure, is used to represent a dispatch list. 2. There are m þ n logical queues in the simulation, where m is the number of material processors and n is the number of system input buffers. One queue is associated with each processor and system input buffer. These queues are detached queues, meaning that parts stay there until some other entity requests them in order to proceed (refer to Fig. 11). The reason why each material processor and input buffer has an associated logical queue is explained at the end of this section (refer to Fig. 11). Fig. 10. An example schedule (a set of work to schedules). Fig. 11. Generated Arena simulation constructs associated with processing equipment. 43 Simulation-based shop floor control 3. One entity is created for each material processor. This entity searches the m þ n queues for the next task that the associated processor is supposed to process. If the entity finds an appropriate part in a queue, it requests that part to proceed. Otherwise, it searches again. Figure 11 depicts an instance of the generated animation. This figure helps to explain the schedule implementation methodology that has been described. As shown in Fig. 11, the input system buffer and two pieces of processing equipment are associated with a logical queue. One product sits on the logical queue associated with processor 1. This physically implies that processor 1 has finished processing the product, and the product is still sitting on processor 1 until another processor or system output buffer requests it. 7. Software implementation and experiments The software tool developed for this research is primarily in a Visual Basic Application (VBA) embedded in Microsoft Access 97 (an ODBC and SQL compliant database system). Detailed information on software im- plementation and demonstration are enclosed in the Appendix. To test the validity and robustness of the software tool and underlying methodologies, six manufacturing systems have been tested. Table 4 depicts the tested manufacturing systems, including the part of The Penn State CIM lab (System ID 6). A layout of the partial CIM lab is shown in Fig. 12, and the software demonstration in Appendix A will be based on this system. A total development time of high level components of a simulation-based shop floor control system (T) is defined formally as: ¼ TA þ TB þ TC þ TD ; where T TA = time taken to fill in the resource model (database tables); TB = time to generate coordination execution model (MPSG for the BigE); TC = time to generate a specific Cþþ code for the BigE and compile it along with several default projectfiles; and TD = time to generate a simulation model. Figure 2 also shows the development time in each stage. Table 4 shows the development times (TB and TD ) of Table 4. Six manufacturing systems and associated control system development time (in seconds) System ID 1 2 3 4 5 6 Shop floor components 1 3 2 2 1 1 SPBS, 1 MH, and 2 MPs SPBSs, 4 MHs, and 2 MPs SPBSs, 3 MHs, and 2 MPs SPBSs, 3MHs, 2 MPs, and 1 LPBS ASRS, 3 MHs, 1 LPBS, and 2 MPs ASRS, 3 MHs, 1 LPBS, and 4 MPs Shop type Number of nodes Number of arcs TA FMS FMS Flow-shop FMS FMS FMS 4 9 7 8 7 9 6 11 6 8 12 16 105 157 93 114 133 220 Fig. 12. Layout of part of the Penn State CIM laboratory. TB (AEMG) 8 13 8 11 16 22 TC TD (ASMG) »180 »180 »180 »180 »180 »180 93 107 102 149 157 273 44 controllers for the test manufacturing systems, when the software tool described in this chapter is executed on a Pentium 200 MHz processor with a 64 MBz memory. Simulation models can be generated in about 2 minutes (when the number of arcs in the connectivity graph <10) and up to 10 minutes (when the number of arcs in the connectivity graph <20). Execution models and interface can be generated in 15 seconds (when the number of arcs in the connectivity graph <10) and up to 30 minutes (when the number of arcs in the connectivity graph <500). When the current approach (manual generation of the execution model and the manual generation of the simulation model) is used to develop a simulation-based control system, TA is not relevant because a formal resource model is not utilized in the current approach. TC values between the current approach and the proposed approach are the same; they are nearly a constant value (about 3 minutes) for different systems. Consequently, the reduction of a total development time (T ) of a shop floor control system by using the proposed approach compared with the current approach is attributable to the time reductions in TB and TD . This is why the TB and TD columns in Table 4 are highlighted. It is difficult to measure exact TB and TD values when the current manual approach is used. If a simulation and MPSG expert were to construct a shop floor control system manually, the summation of TB and TD would be about a week. As a result, the time to build a high level components (coordination execution system and simulation model) of a simulation-based shop floor control system was reduced from about a week to less than an hour for mid-sized manufacturing systems, which is significant. 8. Conclusions The high cost of control software development and maintenance in the development of shop floor control systems has been addressed as a major problem in this paper. To resolve this problem, formal models of manufacturing resources that can be used for control have been first presented. This research focused on developing a resource model, a coordination execution model, and a simulation model for use in shop floor control. On the basis of these formal models, three methods were created: (i) a method to extract execution model information from a common resource description; (ii) a method to extract simulation model information from a resource description and an execution model; and (iii) a method to implement schedules that have been generated by a finite capacity scheduler, Tempo. Two software tools, AEMG and ASMG, were developed based on the formal models and the two methodologies stated above. Using these software tools, a simulation control model was generated from common information stored in a resource model data file. This is the first time that complex control simulations that can be used for real-time control have been Son et al. produced automatically. The same database (resource model) was also used to generate execution control software, again a first. These components represent a significant departure from standard practice. To test the validity and robustness of the software and underlying methodologies, a software experiment was conducted with six sample manufacturing systems, including The Pennsylvania State University CIM laboratory (a full scale FMS). Arena simulation models for those systems were automatically generated in 2 to 5 minutes. The MPSG-based coordination executors were also automatically generated in less than 5 minutes. The generated components for six manufacturing systems were verified and validated. The results of the experiments indicated that the generated models were valid. Finally, the time to build high level components of a simulation-based shop floor control system was significantly reduced from about a week (current approach) to less than an hour (proposed approach) for mid-sized manufacturing systems (for a sophisticated control specialist). As mentioned at the end of Section 1, the proposed methodologies in this paper were limited to direct address discrete part manufacturing systems that operate with a single unit load. It was also assumed that the capacities of MP and MH class equipment are one, and all the movement of parts requires material handling equipment. Extension of the methodologies that can handle indirect address material handling systems, larger capacities, and larger unit loads are left for future research. References Aytug, H. and Dogan, C. (1998) A framework and a simulation generator for kanban-controlled manufacturing systems. Computers and Industrial Engineering, 34(2), 337–350. Centeno, M. and Standridge, C. (1992) Databases and artificial intelligence: enabling technologies for simulation modeling. In: Proceedings of the 1992 Winter Simulation Conference, Swain, J., Goldsmen, D., Wilson, J. and Grain, R. (eds), IEEE, Piscataway, NJ, pp. 181–189. Chen, K. and Lu, S. (1997) A Petri-net and entity-relationship diagram-based object-oriented design method for manufacturing systems control. International Journal of Computer Integrated Manufacturing, 10(1–4), 17–28. Cho, H. and Wysk, R. (1995) Intelligent workstation controller for computer-integrated manufacturing: problems and models. Journal of Manufacturing Systems, 14(4), 252–263. Davis, W.J. and Jones, A.T. (1988) A real-time production scheduler for a stochastic manufacturing environment. International Journal of Computer Integrated Manufacturing, 4(4), 531–544. Kachitvichyanukul, V., Davis, W., Pegden, C.D., Musselman, K.J., Ingalls, R. and Trybula, W.J. (1991) Simulation and scheduling (panel), in Proceedings of the 1991 Winter Simulation Conference, IEEE, Piscataway, NJ, pp. 382–391. Doshi, K.A., Madala, S. and Sinclair, J.B. (1985) GIST: A tool for specifying extended queueing network models. Technical report TR8511, Department of Electrical and Computer Engineering, Rice University, Houston, TX. Drake, G.R., Smith, J.S. and Peters, B.A. (1995) Simulation as a planning and scheduling tool for flexible manufacturing systems, in 45 Simulation-based shop floor control Proceedings of the 1995 Winter Simulation Conference, IEEE, Piscataway, NJ, pp. 805–812. Ford, D. and Schroer, B. (1987) An expert manufacturing simulation system. Simulation, 48(5), 193–200. Harmonosky, C.M. and Robohn, S.F. (1991) Real-time scheduling in computer integrated manufacturing: a review of recent research. International Journal of Computer Integrated Manufacturing, 4(6), 331–340. Heidorn, G.E. (1974) English as a very high level language for simulation programming. SIGPLAN Notices, 9, 91–100. Hopcroft, J.E. and Ullman, J.D. (1979) Introduction to Automata Theory, Languages, and Computation, Addison-Wesley, Reading, MA. Huang, H.P. and Chang, P.C. (1992) Specification, modeling and control of a flexible manufacturing cell. International Journal of Production Research, 30(11), 2512–2543. Kasturia, E., DiCesare, F. and Desrochers, A. (1988) Real-time control of multilevel manufacturing systems using colored Petri nets, in Proceedings of the IEEE International Conference on Robotics and Automation, IEEE, Piscataway, NJ, pp. 1114–1119. Kelton, D.W., Sadowski, R.P. and Sadowski, D.A. (1998) Simulation with Arena, McGraw Hill, Boston, MA. Kim, M. and Kim, Y. (1994) Simulation-based real-time scheduling in a flexible manufacturing system. Journal of Manufacturing Systems, 13(2), 85–93. Lee, S. (1996) Automatic generation of simulation model for shop floor control system. Master’s thesis, Department of Industrial Engineering, POSTECH, Pohang, Korea. Manivannan, S. and Banks, J. (1991) Real-time control of a manufacturing cell using knowledge-based simulation, in Proceedings of the 1991 Winter Simulation Conference, IEEE, Piscataway, NJ, pp. 251–260. Mathewson, S.C. (1984) The application of program generator software and its extensions to discrete-event simulation modeling. IIE Transactions, 16, 3–18. McConnell, P.G. and Medeiros, D.J. (1992) Real-time simulation for decision support in continuous flow manufacturing systems, in Proceedings of the 1992 Winter Simulation Conference, IEEE, Piscataway, NJ, pp. 936–944. Mettala, E.G. (1989) Automatic generation of control software in computer integrated manufacturing. Ph.D. dissertation, Department of Industrial and Manufacturing Engineering, Penn. State University, University Park, PA. Murray, K. and Sheppard, S. (1988) Knowledge-based simulation model specification. Simulation, 50(3), 112–119. Oldfather, P.M., Ginsberg, A.S. and Markowitz, H.M. (1966) Programming by questionnaire: how to construct a program generator. Rand report, RM-5129-PR, IBM Corporation, Los Angeles, CA. Peters, B.A., Smith, J.S., Curry, J., La Jimodiere, C. and Drake, G.R. (1996) Advanced tutorial simulation-based scheduling and control, in Proceedings of the 1996 Winter Simulation Conference, IEEE, Piscataway, NJ, pp. 194–198. Rahimifard, S. and Newman, S.T. (1995) The role of simulation in operational planning and control of flexible manufacturing cells, in Proceedings of the 1995 Winter Simulation Conference, IEEE, Piscataway, NJ, pp. 936–944. Riddick, F. (1998) Using simulation as a proxy for a real shop floor and data collection system. NIST report NISTIR 6173, NIST, Gaithersburg MD 20899. Smith, J. (1992) A formal design and development methodology for shop floor control in computer integrated manufacturing. Ph.D. dissertation, Department of Industrial and Manufacturing Engineering, Penn State University, University Park, PA. Smith, J. and Joshi, S. (1993) Message-based part state graphs (MPSG) for shop control. Industrial and Manufacturing Engineering, Working Paper Series, Pennsylvania State University, University Park, PA. Smith, J.S., Wysk, R.A., Sturrok, D.T., Ramaswamy, S.E., Smith, G.D. and Joshi, S.B. (1994) Discrete event simulation for shop floor control, in Proceedings of the 1994 Winter Simulation Conference, IEEE, Piscataway, NJ, pp. 962–969. Son, Y. (2000) Simulation-based shop floor control: automatic model generation and control interface. Ph.D. dissertation, Department of Industrial and Manufacturing Engineering, Penn State University, University Park, PA. Son, Y., Jones, A. and Wysk, R. (2001) Component-based simulation modeling from neutral component libraries. Computers and Industrial Engineering, 45(3), 291–308. Son, Y., Rodrı́guez-Rivera, H. and Wysk, R. (1999) A multi-pass simulation-based, real-time scheduling and shop floor control system. Transactions: The Quarterly Journal of the Society for Computer Simulation International, 16(4), 159–172. Steele, J., Son, Y. and Wysk, R. (2001) Resource modeling for the integration of the manufacturing enterprise. Journal of Manufacturing Systems, 19(6), 407–427. Thomson, M.B. (1994) Expanding simulation beyond planning and design. Industrial Engineering, 26(10), 65–67. Wu, D. and Wysk, R.A. (1989) An application of discrete-event simulation to on-line control and scheduling in flexible manufacturing. International Journal of Production Research, 27(9), 1603– 1623. Wysk, R., Joshi, S.B. and Pegden, C.D. (1992) Rapid prototyping of shop floor control systems for computer integrated manufacturing. ARPA project 8881, Department of Industrial and Manufacturing Engineering, Pennsylvania State University, University Park, PA. Wysk, R.A., Peters, B.A. and Smith, J.S. (1995) A formal process planning schema for shop floor control. Engineering Design and Automation Journal, 1(1), 3–19. Yuan, Y., Dogan, C. and Viegelahn, G. (1993) A flexible simulation model generator. Computers and Industrial Engineering, 24(2), 165–175. Appendix Software demonstration This section describes implementation specifics and software demonstration. Figure A1(a) depicts the start page for the software. Programming codes associated with the buttons in Fig. A1(a) have been embedded within a Microsoft Access 97 file. For each button shown in Figure A1(a), functions associated with each button and underlying implementation specifics are what follows: 1. The Resource Model button in Fig. A1(a) allows a user to input a resource model or to modify a resource. When, the button is clicked, it opens another Microsoft Access 97 application containing our resource model. Figure A1(b) depicts sample data associated with the manufacturing system in Fig. 12. 2. When the Generate BigE MPSG button is clicked, it activates the AEMG (refer to Fig. 3). The AEMG is a Visual Basic Application (VBA) program embedded in Microsoft Access 97. The input to the AEMG is the database containing our resource model. The output from the AEMG is the MPSG for the BigE. The MPSG for a BigE is represented in the database table. 46 Son et al. Fig. A1. (a) The start page of the developed software tool; (b) data associated with manufacturing system in Fig. 12; (c) generated MPSG (partial) for the BigE for the manufacturing system in Fig. 12; (d) MPSGS (partial) for the BigE for the manufacturing system in Fig. 12; (e) Process plan for Gear shift product; and (f) example master production schedule. For our example, the generated BigE in the database table form is shown in Fig. A1(c). 3. The BigE MPSG button in Fig. A1(a) generates the .m file for the MPSG compiler. When this button is clicked, the textual description of the MPSG for the BigE is opened. The use of this textual file is explained in the next section. 4. The Generate Cþþ Codes button in Fig. A1(a) generates a Cþþ code, which will form the basis for the BigE. Based on the text file (.m file) described in the previous step (Step 3), the BigE can be automatically generated by the MPSG builder that has been developed Smith and Joshi (1993). 5. The MPSG Parsing button in Fig. A1(a) is used to activate the procedure to construct an MPSGS for the BigE from an MPSG. The MPSGS for the BigE is represented in the database table. For our example, the generated MPSGS for the BigE is shown in Fig. A1(d). 6. The MPSG Summary button in Fig. A1(a) is used to visualize the MPSGS. When this button is clicked, the database table as shown in Fig. A1(d) is opened. This is used as major input for simulation model generation. 47 Simulation-based shop floor control 7. When the Generate Simulation button in Fig. A1(a) is clicked, it activates the ASMG (refer to Fig. 6). The ASMG is a VBA program embedded in Microsoft Access 97. The input to the ASMG is the database table containing MPSGS for the BigE (refer to Fig. A1(d)). The ASMG first opens the Arena 3.01 application along with a blank Arena model. The Visual Basic Application (VBA) enables the generation of an Arena model. The ASMG and the Microsoft Access 97 database interact with each other through the Microsoft Access 8.0 Object library and the DAO 3.5 (Data Access Objects) Object library. DAO is an Application Program Interface (API) available with Microsoft’s Visual Basic that lets a programmer request access to a Microsoft Access Database. It is difficult to prove that the generated simulation model is error free. However, models generated have been verified manually for their logical and structural correctness. The best method to verify and validate the generated simulation model is to run it in real-time mode along with the physical manufacturing system. If the manufacturing system is operated as expected, then the models are informally said to be error free. Several experiments (for six different manufacturing systems including Penn State CIM laboratory) with the ASMG indicated a valid and robust ASMG. 8. The MPS and Process Plans button in Fig. A1(a) is used to visualize the Master Production Schedule (MPS) and Process Plans (PP). Figure A1(e) depicts the process plan for the Gear shift product. Each row in the process plan table is associated with either equipment operation or decisions where alternatives exist. For example, the rows where Time field has been filled are associated with equipment operations. The Equipment id field is associated with e 2 E and specifies the equipment performing the next operation. The Port loc field is associated with e 2 E MH and is used to specify the next station. The Robot loc field is associated with e 2 E MH and is used to specify the place from which a MH class equipment picks products and to which a MH class equipment puts products. The NC file field contains the name of the NC file associated with the processing operation. Finally, the Time field contains the time taken to complete the operation. It is used when the simulation is run in fast time mode. Figure A1(f) depicts an instance of our master production schedule. Initially before the simulation is run, the Quantity and Quantity Left fields contain the same integer values. As the simulation is run, the value in the Quantity Left field is decreased while the value in the Quantity field is kept the same. By having these two fields, it is possible to show the original order quantity and the current status of it at the same time. While the simulation is running, the master production schedules can be modified. 9. The Work to Schedules button in Fig. A1(a) is used to visualize the schedule (set of work to schedules) or to generate a schedule. If Tempo has already generated schedules, the generated schedule will be shown. Other-wise, it will open a Tempo application so that we can perform scheduling activities. 10. The Schedule to Arena button in Fig. A1(a) is used to insert the schedule to the simulation. ‘‘Expression’’ module in Arena is used to represent the work to schedule for each equipment. It should be noted that simulation constructs related with schedule implementation are used only when simulation is run in mode 3. Otherwise, created entities are disposed as soon as they are created. 11. The Close button in Fig. A1(a) is used to terminate a session. Since the basis of the controllers have been created at this time point (after going through 11 steps specified in this section), users directly interact with the controller entities, including the simulation, the BigE, Tempo, master production schedules, process plans, and equipment level controllers. Biographies Young Jun Son is an Assistant Professor in the Department of Systems and Industrial Engineering at University of Arizona. He received his BS degree in Industrial Engineering with honors from POSTECH in Korea in 1996 and his MS and Ph.D. degrees in Industrial and Manufacturing Engineering from Penn State University in 1998 and 2000, respectively. His research interests include shop floor control, simulation, distributed system, software engineering, and virtual manufacturing. He was the Rotary International Multi-Year Ambassadorial Scholar in 1996, the Council of Logistics Management Scholar in 1997, and the recipient of the Graham Endowed Fellowship for Engineering at Penn State University in 1999. He is an Associate Editor of the International Journal of Modeling and Simulation and a professional member of ASME, IEEE, IIE, INFORMS, and SME. Richard A. Wysk’s work focuses on computer integrated manufacturing, computer automated manufacturing, computer-aided process planning and concurrent engineering. He holds the Leonhard Chair in Engineering at Penn State University. Prior to his current position, he was Director of the Institute for Manufacturing Systems and holder of the Royce Wisenbaker Chair in Innovation at Texas A&M. Dr. Wysk also served on the faculty of Virginia Tech and worked in industry as a research analyst for the Caterpillar Tractor Company and as production control manager for General Electric. He is a decorated Vietnam veteran. He is the author of several textbooks. Honors recognizing his research include the Institute of Industrial Engineers, David F. Baker Distinguished Research Award, and the Society of Manufacturing Engineers Outstanding Young Manufacturing Engineer Award. He holds Bachelor’s and Master’s degrees in Industrial Engineering and Operations Research from the University of Massachusetts and a Ph.D. in Industrial Engineering from Purdue University. Albert T. Jones is currently heading up projects at the National Institute of Standards and Technology (NIST) to investigate the functional and integration requirements for the next generation simulation tools. Prior to this assignment, he spent several years as Deputy Director of the Automated Manufacturing Research Facility at NIST. During that time, he worked with various NIST and academic 48 researchers on system architectures for shop floor control, cell control, and distributed scheduling. He received his MS in Mathematics and Ph.D. in Industrial Engineering from Purdue University. He is currently on the Executive Boards for the Winter Simulation Conference and the Engineering School at Loyola of Baltimore. He is Manufac- Son et al. turing Editor for several leading journals. He has Chaired or Cochaired several international conferences, and has served on several proposal evaluation panels for NSF, NIST, and ARPA. Contributed by the Facilities Layout and Material Handling Department
© Copyright 2026 Paperzz