Simulation of Discrete Event Systems Unit 1 Introduction to Discrete Event Systems Fall Winter 2015/2016 Univ.-Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Christopher M. Schlick Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen University Bergdriesch 27 52062 Aachen phone: 0241 80 99 440 email: c.schlick@iaw.rwth-aachen.de
Schedule of Lectures (L), Exercises (E), and Examination Unit Date Topics Instructor 1 (2L + 2E) 19./21.10.2015 Introduction to Discrete Event Systems Nelles, J. 2 (2L + 2E) 26./28.10.2015 Languages and Automata Harlacher, M. 3 (2L + 2E) 02./04.11.2015 Statecharts Witt, O. (extern) 4 (2L + 2E) 09./11.11.2015 Petri Nets (I): Foundations of Net Models Hellig, T. 5 (2L + 2E) 16./18.11.2015 Petri Nets (II): Analysis of Net Models Kuz, S. 6 (2L + 2E) 23./25.11.2015 Timed Models Mertens, A. 7 (2L + 2E) 30./02.11./12.2015 Stochastic Timed Automata Faber, M. 8 (2L + 2E) 07./09.12.2015 Markov Chains Rasche, P. 9 (2L + 2E) 14./16.12.2015 Queueing Models Czerniak, J. 10 (2L + 2E) 11/13.01.2016 Bayesian Networks Meyer, R. 11 (2L + 2E) 18./20.01.2016 Dynamic Bayesian Networks Petruck, H. 12 (2L + 2E) 25./27.01.2016 Variable Length Markov Chains Winkelholz, C. (extern) 13 (2L + 2E) 01./03.02.2016 Event Scheduling Scheme and Output Analysis Petruck, H. The written / oral exams take place on the 09 th of March 2016. For organizational questions regarding the examination please feel free to contact our exams-team: mail: pruefungen@iaw.rwth-aachen.de 1-2
Rooms for Lectures (L) and Exercises (E) Lecture (L2): Mondays, 08:30 a.m. 10:00 a.m., Lecture hall: 1810/512 (SG 512) Wüllnerstraße 5 b Exercise (E2): Wednesdays 04:15 p.m. 05:45 a.m., Lecture hall: 3990/003 (RS 3) Rochusstraße 2-14 In case of questions regarding the syllabus please contact Henning Petruck, M.Sc., E-Mail: h.petruck@iaw.rwth-aachen.de 1-3
Textbook for Lectures and Exercises Cassandras, C.,G.; Lafortune, S. (2008): Introduction to Discrete Event Systems. 2 nd edition Boston (MA): Kluwer Academic Publishers 1-4
Simulation of Discrete Event Systems Unit 1 Introduction to Discrete Event Systems Fall Winter 2015/2016 Univ.-Prof. Dr.-Ing. Dipl.-Wirt.-Ing. Christopher M. Schlick Chair and Institute of Industrial Engineering and Ergonomics RWTH Aachen University Bergdriesch 27 52062 Aachen phone: 0241 80 99 440 email: c.schlick@iaw.rwth-aachen.de
Contents 1. Simulation in Engineering Science 2. Definition of a Discrete Event System and Simple Modeling Examples 3. Levels of Abstraction in Model Development and Advanced Industrial Example 4. Generic Process Model of Simulation Studies 1-6
1. Simulation in Engineering Science 1. Simulation in Engineering Science 1-7
The role of simulation in engineering science Today, the computer-aided simulation of man-made systems is one of the main methodological approaches in (computational) engineering science, besides classic analytical methods and empirical experiments under controlled laboratory conditions. According to the German standard VDI 3633 and Shannon (1973) the term simulation refers to the process of designing a model of a real system and conducting experiments with this model for the purpose either of understanding the behavior of the system and its underlying causes or of evaluating various designs of an artificial system or strategies for the operation of the system. The simulation of dynamic systems has a tradition of more than 40 years in mechanical and electrical engineering and therefore has a high level of accuracy and maturity. Pictures: Rechenzentrum RWTH Aachen 1-8
Basic classification scheme of simulation models model static dynamic Time-varying Time-invariant linear nonlinear continuous states discrete states Focus of lecture series time-driven event-driven deterministic stochastic discrete-time continuous-time 1-9
Time-driven versus event-driven systems In continuous-state systems the state changes as time advances. This is particularly evident in discrete-time models: The clock is the driving force for the sample path. With every clock tick the state is expected to change, since continuous state variables continuously change with time. Because of this property we refer to such systems as time-driven systems. The time variable t is a natural independent variable appearing as the argument of all input, state and output functions. In discrete-state systems the state changes only at certain points in time through instantaneous transitions. An event can be associated with each transition. Let us assume there is an universal clock through which we will measure time and consider the following possibilities: 1. At every clock tick an event e is to be selected from the event set E. If no event takes places, we use a null event as a member of E, whose property is that it causes no state change. 2. At various time instants (not necessarily known in advance and also not necessarily coinciding with clock ticks), some event e announces that it is occurring. The fundamental difference between 1 and 2 is: In case 1, state transitions are synchronized by the universal clock. There is a clock tick, an event is selected, the state changes, and the process repeats. However, in case 2, every event e E defines a distinct process through which the time instants when e occurs are determined. State transitions are the result of combining the asynchronous and concurrent event processes. Moreover, these processes need not be independent. Case 2 is characteristic for an event-driven system. 1-10
Example of time-driven discrete system: A random walk Consider a random walking artificial entity (agent) on a plane in two dimensions. We can visualize this walk as a particle, which can be moved one unit of a spatial distance (a step) at a time in one of four directions: north, south, east, and west. The direction is chosen at random and is independent of the present position. The state of the system is the absolute position (x 1, x 2 ) of the particle, measured on the plane. The state variables denote the cartesian location taking only integer values and we have a state space X = {(i, j): i, j =,-1,0,1, }. The event set is simply E = {N, S, W, E} corresponding to the four discrete step events as above. A possible sample path of this time-driven system starting with the initial state (0, 0) may look like this: (t=9) (t=1) (t=7) (t=2) (t=6) (t=4) 1-11
Example of event-driven discrete system: A different random walk An alternative view of the previously described time-driven random walk comes from modifying the rules controlling the movement of the particle. Suppose there are four different players, each one responsible for moving the particle on the plane in a single direction: north (N), south (S), east (E), or west (W). Each player acts by occasionally issuing a signal to move the particle in his direction. These concurrent processes result in an event-driven system defined by these asynchronously acting players. As an example, suppose player N issues signals at discrete-time instants {7, 9}, S issues signals at {2,10}, W issues signals at {4, 6}, and E issues signals at {1, 11}. The resulting sample path can be visualized as a timing diagram, where the state transitions are event-driven. It is assumed that the initial state is (0, 0): 1-12
Comparison of observable behavior of time-driven and event-driven systems Metric state-space State-space with no intrinsic order (categorial) Time-stamp of discrete events Sequence of events (trace) 1-13
2. Definition of a Discrete Event System and Modeling Examples 2. Definition of a Discrete Event System and Modeling Examples 1-14
Definition of a discrete event system 1. Def.: A discrete event system (DES) is a system with discrete states s i that are elements of a finite state set X (s i X, i = 1 X ) and discrete events e j that are elements of a finitary event set E (e j E, j = 1 E ), which is event-driven and therefore the state evolution depends entirely on the occurrence of asynchronous events over time. In contrast to time-driven systems the state transitions of DES are not synchronized with the help of an external clock. In other words, an element e j of the event set can represent a dynamic process of its own right that is triggered, if the event e j occurs. The state transitions in an DES are effects of these asynchronous and often concurrent processes. The phenomenon time in DES is no more longer than the driving force (or order parameter) of system dynamics. Sample path of a queueing system with queue length x(t) e 3... e 2 e 1 1-15
Simple DES example: Counter (C) of defective parts integrated in a measurement machine Functional sketch: Good part (g) measurement machine counter reset button (r) Defective part (d) belt conveyor Simple DES model of counter: Event set: E = {g, d, r} State set: X = {0, 1, 2,..., n} State transition diagram: r r r r d d 0 1 2 d 3... d n g g g g g 1-16
Implementation of the example counter with the help of a computer-aided simulator (n = 5) Interactive demonstration of simulator software!!! 1-17
Lecture embedded exercise Consider a state set X = {0, 1, 2,..., 99} for the previously developed counter example. How can the cardinality of the state set be reduced, if we can use a concurrent automata model represented by two interacting state transition diagrams? 1-18
Solution: Two digit decimal counter with carry Event set: E = {g, d, r, c} State sets: X lsd ={0, 1, 2,... 9, C } X msd ={0, 1, 2,... 9 } r r r r Least significant digit 0 d 1 d 2 g g g d 3 g... d 9 g d C generate carry event c on entry of state C r Most significant digit r r 0 c 1 c 2 r c 3... c 9 1-19
Implementation of the two digit counter Interactive demonstration of simulator software!!! 1-20
3. Levels of Abstraction in Model Development and Application Example 3. Levels of Abstraction in Model Development and Advanced Industrial Example 1-21
Levels of abstraction in model development 1. Logical Modeling of event sequences: (e j(1), e j(2),..., e j(t) ) (e j E) Pro: Algebraic analysis and verification of system behavior possible Contra: Often too abstract for detailed engineering phases in product development 2. Modeling of time-stamped event sequences: ((e j(1), t 1 ), (e j(2), t 2 ),..., (e j(t), t T )) (e j E, t + ) Pro: High validity for completely digitized manufacturing systems Contra: Often too deterministic for simulation of human factors and disturbance issues 3. Modeling of time-stamped event sequences with stochastic dependencies: P(X 3 = e j(3) at t 3 given that e j(2) at t 2 and e j(1) at t 1 occurred previously) P(X 3 = e j(3) at t 3 ) Pro: Sufficient validity and reliability for modeling of socio-technical systems Contra: Risk of false design decisions due to inaccurate parameter estimation 1-22
Appl. example for the 2nd level of abstraction: Simulation of Flexible Manufacturing System Interactive demonstration of simulator software!!! 1-23
4. Generic Process Model of Simulation Studies 4. Generic Process Model of Simulation Studies 1-24
Flowchart of Generic Process Model (I) 1 2 Problem Formulation Development Entwicklung konzeptuelles of Conceptual Modells 3 Development of 4 Computerized Model Data Collection 5 Model Integration No 6 Verified? Yes No 7 Validated? No Reference: Banks 2000 Yes (continued on slide 26) 1-25
Insertion: Verification and validation of a DES simulation model (Quelle: Sargent 2003) 1-26
Flowchart of Generic Process Model (II) 8 9 Experimental Design Production Runs and Analysis Yes 10 More Runs? Yes 11 Documentation and Reporting 12 Model Implementation Reference: Banks 2000 1-27
Generic process model step 1: Problem formulation 1. Initial empirical analysis of the problem domain together with the customer 2. Problem statement in terms of hypotheses and definition of dependent variables (cycle time, resource consumption etc.) 3. Choice of level of detail to be modeled and simulated 4. Alignment of formulated hypotheses and modeling level of detail concerning the expected results of the customer 5. Choice of conceptual modeling language (Petri nets, queueing models etc.) and data modeling methods (class diagrams, data dictionary, lists etc.) 1-28
Generic process model step 2: Development of conceptual model 1. Detailed interactive analysis with the customer regarding the elements and relations of the conceptual model to be simulated 2. Conceptual modeling of elements and relations with the help of the chosen conceptual modeling language (graphical or textual) 3. Definition of system alternatives and therefore the independent variables in the simulation study (alternative layouts of manufacturing systems etc.) 4. Choice of programming language and simulation software package to be used for transforming the conceptual model into a computerized model 5. Specification of input requirements of the developed conceptual model 1-29
Generic process model step 3: Development of computational model 1. Initial programming of small, simple model components and objects based on the conceptual model, then step-by-step module accumulation and integration into main model 2. Focusing on problem statement and hypotheses, not on compilable and executable models 3. Coping with computational complexity: abstraction from real-life details; tests of runtime behavior of critical components 4. Code reviewing with regard to reuse, reliability, and inline documentation of components 5. Integration of behavior and attributes into a consistent structure of objects 6. Quality control of final released modules by an independent expert 1-30
Generic process model step 4: Data collection 1. Test of completeness and consistency of existing databases. 2. Collection of additionally required data with the help of objective and reliable methods and techniques 3. Preprocessing and data integration into simulation database 4. Review of theoretical approaches to data generation such as mathematical process and sensor models 1-31
Generic process model step 5, 6, 7: model integration, verification, and validation 1. Integration of simulation model code and data base, programming of connectors and wrappers 2. Systematic management of changes in conceptual model, computerized model, and data base due to code integration 3. Verification of computerized model with regard to the conceptual model 4. Successive refinement of validation levels: - theoretical validation - structural validation ( sensitivity analysis), - replicated validation (comparison real data simulation data) 1-32
Generic process model step 8: Experimental design 1. Choice of appropriate methods of inferential statistics (analysis of variance, linear regression, cluster analysis etc.) to test the formulated hypotheses on the basis of the dependent and independent variables 2. Critical review of the generated simulation data concerning required probability distributions of dependent variables in inferential statistics 3. Estimation of number of replications to be computed for each system alternative in order to fulfill the requirements of inferential statistics 4. Test of simulation model boundaries and comparison with simulated problem domain boundaries 4. Unambiguous preparation and parameterization of system alternatives for production runs 1-33
Generic process model step 9, 10: Production runs and analysis 1. Calculation of production runs for the prepared system alternatives 2. Critical review of generated simulation data concerning the layers of validity 3. Measurement and optimization of simulation performance of developed computerized model 4. If additional scenarios need to be simulated more production runs have to be carried out 5. Calculation of point and interval estimates of dependent variables given the levels of the independent variables (conditional means, standard deviations etc.) 6. Computation of test statistic variables for inferential statistics and comparison with critical values 1-34
Generic process model step 11: documentation and reporting 1. Consideration of reporting and documentation standards (conceptual model, dependent variables etc.) for domain independent comparisons of system alternatives 2. Documentation of computation procedure in the production runs 3. Documentation of statistical test results and thorough interpretation of significant effects 3. Limitation of model and results according to the verified and validated variable ranges 4. Model and data maintenance for future improvements and adaptations 1-35
Focus of lectures and exercices Problem Formulation 2 Development Entwicklung konzeptuelles of Conceptual Modells Focus of lectures and exercices 3 Development of 4 Computerized Model Data Collection 5 Model Integration No 6 Verified? Yes No 7 Validated? No 1-36
References Cassandras, C.,G.; Lafortune, S. (1999): Introduction to Discrete Event Systems. Boston (MA): Kluwer Academic Publishers. Banks, J.B. (Ed.) (1998): Handbook of Simulation. New York (NY):John Wiley & Sons. 1-37
Questions? Open Questions??? 1-38