A new ramework for the Analysis of Simultaneous ents Christoph Barz Rolf Göpffarth Peter Martini Andre Wenzel Uniersity of Bonn Institute of Computer Science IV Roemerstr. 164 D-53117 Bonn Germany {barzrggmartiniwenzel}@cs.uni-bonn.de Keywords: simultaneous eents simulation graphs discrete-eent framework analysis Abstract Discrete-eent system simulation is a common technique for studying the behaior and performance of systems. It has been in usage now for seeral years despite of certain issues concerning the ulnerability of this simulation technique. These issues were identified in the past but hae not yet been analyzed to a satisfactory extent. This paper deals with one of these issues namely the challenge of simultaneous eents. Preious work focused on determining a single execution order of simultaneous eents thus resulting in a single simulation result. or this purpose a formal framework has been deeloped. The present paper shows that this approach is not sufficient as simultaneous eents may lead to different simulation results. Based upon the preious formal approaches we introduce a new formalism allowing to examine the effects of simultaneously scheduled eents more precisely by determining a set of simulation results. Mechanisms before and during the runtime of the simulation are introduced which preent the calculation of unnecessary simulation results. At the same time they try to determine as many simulation results as possible. 1 INTRODUCTION Discrete-eent system simulation is a widespread method for studying the behaior and performance of systems that are too complex to be modeled mathematically. Instead of examining the real system a model of the system is examined in a simulation enironment. The behaior of the model is then computed in this enironment. Discrete-eent system simulation is able to represent systems that change their states at discrete points in time or that can be approximated to some degree by such changes. These state changes are associated with eents. In spite of the widespread acceptance and usage of discreteeent system simulation it has an inherent deficiency namely the problem of simultaneous eents. Simultaneous eents are two ore more eents that are scheduled to occur at the same time during a simulation run. The deficiency of simultaneous eents in discrete-eent system simulation has already been recognized by the simulation community. Howeer until now research has mainly focused on breaking time ties by using tie breaking rules. rederick Wieland addresses this problem in [1]. He concludes that a different ordering of simultaneous eents may influence the outcome of the simulation. His results are endorsed by [2]. It is underlined that simultaneous eents must be taken into account as these do not occur rarely and especially changing the execution order of simultaneous eents may result in different simulation results. Based upon the work of Som and Sargent [3] our paper introduces a new formal framework for analyzing the effects of different execution orders of simultaneous eents. Additionally this paper presents methods for reducing the simulation time when calculating seeral eent execution orders by trying to identify paths in the simulation tree leading to identical simulation results. The paper is structured as follows: the subsequent section 2 summarizes the basics needed for the rest of the paper and presents an oeriew of the formal approaches made in preious research work. Section 3 presents our new framework based upon the preious formal approaches. Section 4 introduces an algorithm for determining branches in the simulation tree to reduce unnecessary simulation time. inally section 5 summarizes our conclusions and outlines future research. 2 PRVIOUS WORK 2.1 Simultaneous ents Two or more eents that are scheduled in the uture ent List (L to occur at the same time during a simulation run are called simultaneous eents. In this case former scheduling algorithms use an arbitrary strategy to choose which eent to treat first. If there are n eents scheduled for the same time the scheduler has about n! different orders of eent executions. The different execution orders can be formalized in a simulation tree which is defined in chapter 3.1. The challenges resulting from simultaneous eents are the main focus of this paper. Theoretical work on the complexity of discrete-eent system simulation has been done by Sheldon Jacobsen Lee Schruben and ner Yücesan in [4-10]. Some of this work is based on the analysis of simulation graphs which were designed to be the first formalism with graphical representation for constructing discrete eent simulation models from the eent scheduling world iew. This work permits assertions on the complexity of the simultaneous eent. In [6] and [10] it is shown that strong permutation weak permutation and eent ordering are NP-hard search problems. This leads to the conclusion that it is ery unlikely that a polynomial-time algorithm can be deeloped to ealuate the impact of simultaneously scheduled eents on the simulation result. xisting sequential discrete-eent simulators deterministically fix the order of executing simultaneous eents either by pre-defined tie-breaking rules or een by simply taking the existing order of the eents in the L. To increase the size of sample simulation results
different eent execution orders must be inestigated. Already in 1969 Parnas came to the conclusion that a small sample is not sufficient if the result of the simulation needs a high reliability [11]. Generally the term simultaneous within the area of simultaneous eents looks far more triial than it really is. Particularly in computer simulation it is not apparent what simultaneity really means. Does the fact that two eents hae the same time stamp really mean that they occur simultaneously or is this only an inaccuracy in the underlying model? 2.2 Wieland s approach rederick Wieland criticizes in [1] the handling of simultaneous eents in existing simulators. Choosing a tie breaking strategy arbitrarily leads to incorrect simulation results. He suggests two different approaches to this problem. Simultaneous occurrence of eents should be either treated as a different eent type or all different orderings of simultaneous eents should be taken into account in order to calculate a correct result. To characterize the semantics of simultaneous eents Wieland adopts a δ -enironment for eery timestamp associated with the occurrence of simultaneous eents. The parameter δ is called the threshold of eent simultaneity. Breaking time ties is equialent to perturbing the time ties by a small amount δ. Howeer it is not apparent why changing the time stamp of an eent by a small amount is necessary. Such approach could lead to different simulation results. Calculating the magnitude of δ to preent such side effects may be difficult. The δ -approach is also hard to apply when using optimizations in calculating the simulation tree. or example it does not take into account that different eent execution orders lead to the same result. or these reasons the δ -approach is not considered in this paper. 2.3 Som and Sargent s approach Refining the work of Lee Schruben [12] Som and Sargent deeloped a formal framework [3] for discrete eent simulation which is based on analyzing simulation graphs. Using this framework they deeloped rules to anticipate logical errors in the model which are caused by simultaneous eents. These rules which are sufficient but not necessary identify pairs of eents for which execution order priorities hae to be defined. Som and Sargent s computational interpretation of their formalism uses a priority matrix to generate a unique computational trajectory. They premise that the modeler has to determine if two distinct eents occurring at the same time in simulation lead to distinct simulation states. In this case he has to constitute priorities which are recorded in the priority matrix. This assures a non-ambiguous and reproducible simulation result. Som and Sargent introduce seeral theorems in order to support the modeler in identifying pairs of eents that may lead to different simulation outcomes when permuting their execution order. Their framework identifies eents needing a priority assigned in order to preent logical errors in the simulation model. Howeer there are no implementations of this framework known and it was not in the scope of Som and Sargent to analyze the results of eent interaction by calculating a whole simulation tree as efficiently as possible. Neertheless Som and Sargent s approach of eent classification based on simulation graphs can be modified and extended to enhance the processing of the simulation tree which is described in chapter 4. As their formal framework is too complex to be presented in detail in our paper the reader is strongly encouraged to reiew Som and Sargent s approach in [3] before continuing with our new framework for dealing with simultaneous eents. 3 A NW RAMWORK As seen in chapter 2 existing approaches are not sufficient for an efficient analysis of the effects of different execution orders of simultaneous eents. This chapter introduces a new framework that aoids the drawbacks of former approaches. We define a new terminology on which new approaches are built. 3.1 Terminology Definition: Let S be a simulation state with n simultaneously scheduled eents. Then S is called a branching point. To define a simulation tree the algorithm described in [3] has to be modified to allow different execution orders of simultaneous eents. The term computational sequence is being extended in the following. Algorithm: Step 1: S s0 Step2a: Choose eent with smallest time stamp. If none exists choose arbitrarily. Step2b: If (s is not defined then stop otherwise S (s Step3: If is end-eent then stop otherwise go to 2a Definition: Let s 0 be the initial state of the simulation and nd an eent that terminates the simulation. The algorithm described aboe generates alid computational sequences (s s with 0 l ( si = nd( si 1 i = l and alid eent sequences e e with ( = nd i = l where ( 1 l e i 1 i l : s i = e i ( si 1. Let CS be the set of alid computational sequences S the set of alid eent sequences and IS the set of initial sequences: IS = {( e e ( f f S : i {1 k}: e = f } : 1 k 1 l i i This leads to the definition of simulation trees. Definition: Let s 0 tree = (V is defined by: V = IS be a well-defined initial state. The simulation = {( es es' es = ( e1 K e IS k es = ( f K f + IS i {1 k}: e = f } ' 1 k 1 i i
Definition: Let t be the current simulation time and r be a ertex of a simulation tree with (a L containing no entry for the current simulation time and (b the smallest timestamp t occurring in more than one entry. This ertex is the root of a sub-tree BA=(V of defined by: V BA BA BA = { r} {ν ν V BA : = { e e = ( ν 1 ν 2 { ν 1 ν 2} VBA : actual time in ν is t} and Then BA is called branching-area. An example of a branching area is depicted in igure 1. Definition: ery leaf in a simulation tree is associated with a simulation result which was generated by the appropriate alid eent sequence. Let Res :=(R S:R is result of leaf es. As different execution orders of simultaneous eents can lead to identical results we define Res:={(Rn R occurs n times in Res } ertex of a simulation tree within a branching-area ertex of a simulation tree without a branching-area igure 1: Branching-area in a simulation tree }. < t = t > t simulation time 3.2 New Approaches Preious approaches regarding simultaneous eents estimate the Res by a sample size of one. As shown in [1] and [2] there are cases in which this approach is not adequate. The accuracy of the estimation decreases with the number of simulation results N Res which do not differ necessarily. On the other hand calculating the whole set of simulation results is not feasible in bigger simulation scenarios. Howeer if there are a number of eents that do not interact i.e. 1 Res << N calculating only Res (i.e. the number of Res distinct simulation results different simulation results is a promising approach. In the context of this paper new methods are introduced to calculate a sample of simulation results by merging simulation states that lead to the same simulation result which will be seen in the following sections. Thus the amount of different simulation results calculated in the same time is increased. Howeer two classes of approaches can be distinguished: A-Priori-methods (AP-methods permit statements - A-Priori- Knowledge (APK - on the interaction of eents with respect to the simulation result. These statements are based on the definition of the simulation model and are acquired before the runtime of the simulation. Using AP equialence relations and mechanisms can be defined that allow decisions during runtime in order to determine which simulation paths potentially or surely lead to different simulation results. Runtime-methods permit the computation of different paths in the simulation tree and thus increase the size of the simulation result sample. In the context of this paper two different approaches are used: 1. Identification of ertices in the simulation tree that allow the application of APK 2. Identification of ertices in the simulation tree by comparing simulation states which lead to the same simulation result These methods can also be combined. 3.3 A new term of interaction The term interaction as defined by Som and Sargent concerns the state at the end of time t. This definition is suitable for their purposes because they focus on identifying the need for execution order priorities in order to preent logical errors in the simulation model. They only focus on one simulation path. The approach of this paper is different. A term is needed describing whether different eent execution orders lead do different simulation results. Another disadantage of using the existing framework in the context of this paper is the formulation of theorems 1 and 2 as in [3]: 1. Condition (ii (b of theorem 1 is hard to be tested automatically. Som and Sargent s framework targets the manual identification and the proof of eent interaction. 2. Theorem 1 and 2 proide only sufficient but not necessary conditions for non-reacting and non-interacting eent pairs. It is no ample disadantage to determine eent priorities for falsely classified non-interacting eents because it does not affect the simulation result. In the context of this paper it would lead to unnecessary calculations which is contrary to our main targets. Therefore new terms of interaction are defined: Definition: Let τ be the set of possible simulation trees of a gien simulation program. Two eents and are called surely-non-interacting in respect of simulation result sets if τ : ν = ( e1 e k V and are simultaneous eents in ν : Res(( e = Res(( e e. 1 K e k 1 K k surely-interacting in respect of simulation result sets if τ : ν = ( e1 e k V and are simultaneous eents in ν : Res(( e 1 e k Res(( e 1. potentially-interacting in respect of simulation result sets if and are neither surely-non-interacting nor surely-interacting.
Because of their prefixes these terms of interaction do not interfere with the terms used by Som and Sargent. In the following text the postfix in respect of simulation result sets is omitted. This partitioning of eent pairs can be used by a runtime method to aoid unnecessary calculations if two eents are classified as surely-non-interacting. It is also obious that if eent pairs are classified as surely-interacting there is no need for further comparisons of simulation states. This partitioning is refined by the following definitions. How this partitioning can be used to support a more efficient calculation of different simulation results is explained in the following chapters. 4.1 A-Priori-Phase In chapter 3 we only defined the aim of AP-methods saing time on unnecessary simulation result calculation by AP-knowledge during the runtime of the simulation. In this chapter we will define the terms A-Priori-method and A-Priori-knowledge and introduce a basic algorithm with two extensions. Definition: set of eent-pairs (P P = {( and are eents in the simulation program} With this definition we now can define: Definition: A method is called A-Priori-method in respect of Definition: Let be a simulation-tree and ν = ( e 1 e k V eent interaction (AP-method if for eery pair ( P a ertex in with and as potentially-interacting eents. The information about the eent interaction of this eent-pair can be two eents and are called identified. This must be based on their eent routines. This concretely-non-interacting in respect of simulation information is called A-Priori-knowledge (AP-knowledge. result sets if Res(( e 1 e k = Res(( e 1 K. The term identification instead of calculation is used because concretely-interacting in respect of simulation result automatic identification is only part of the gaining of APknowledge. Automatic identification is only able to identify all sets if Res(( e eent interactions with a non justified effort. The programmer of 1 e k Res(( e 1. the simulation model is encouraged to proide additional knowledge to support automatic knowledge acquisition. Definition: Let τ be the set of possible simulation trees of a gien Letting the programmer proide knowledge has the adantage simulation program. Two eents and are called surely-reacting of gaining more information than by automatisms alone. But this if also introduces the problem of false information. Those errors can τ : ν = ( e1 e k V and are be grouped in two classes: simultaneous eents in ν : 1. Two different results exist but only one of them has been calculated. state(( e 1 e k state(( e 1. 2. Two identical simulation result sets are calculated instead Definition: Let be a simulation-tree and ν = ( e 1 e k V a ertex in with and as potentially-interacting eents. The two eents and are called concretely-reacting if state(( e 1 e k state(( e 1 igure 2 depicts the different classifications of simultaneous eents and in which phases of the simulation the partitioning can be performed. ( concretelyreacting concretelyinteracting surely-noninteracting potentiallyinteracting surelyinteracting surelyreacting concretely-noninteracting igure 2: Classification of simultaneous eents A Priori runtime of calculating one simulation result. While the latter error only introduces unnecessary calculation time the first type of error leads to wrong simulation results and must be aoided. To support this simulation models must be clearly structured and high leel modeling should be used. This also eases automatic knowledge acquisition. 4.1.1 The basic method Basis of all algorithms introduced in this paper is the identification of the sets sni si and pi which are defined as follows: Definition: sni {( ( P and are surely-noninteracting} si {( ( P and are surely-interacting} pi {( (P and are potentiallyinteracting} Additionally the following conditions must hold: sni pi si = P pi ( sni si = 4 CALCULATING TH SIMULATION TR This chapter proides both A-Priori- and runtime-methods to ealuate a large sample of simulation results aoiding as many calculations as possible that lead to identical simulation result sets. Note that these definitions together with the specified conditions result in a partition of set P.
4.1.2 The sr-enhancement Chapter 3.2 proposes a comparison between simulation states during the runtime phase. This comparison should be performed for eery eent-pair in pi if they are scheduled simultaneously. or some eent-pairs it can be decided in the AP-phase whether the result of the comparison is always negatie. In this case no comparison is needed during simulation runtime. These eent pairs are called surely-reacting. Thus the basic method can be enhanced by adding the following set: Definition: sr {( (pi and are surely-reacting} It is important that all elements of sr need to be eliminated in pi. Putting all together the following conditions must hold: sni pi sr si = P sr ( sni pi si = We adert that an eent-pair ( sr can also be surely-noninteracting or surely-interacting. This is because of the nonoptimality of the AP-method used. 4.1.3 The c-enhancement The decision whether two eents are concretely-interacting concretely-reacting or concretely-non-interacting cannot be performed before the runtime of the simulation itself. This is because it depends on the state of simulation at the time the simultaneous eents occur. Howeer there are situations in which Boolean expressions - cni cr and ci - can be associated with eent-pairs in pi. This is called the k- enhancement. These expressions must show the following properties: cni and are concretely-non-interacting cr and are concretely-reacting ci and are concretely-interacting Note that all expressions are sufficient but not necessary. A simple example is a finite queue: Consider a full queue and two simultaneous eents enqueue ( and dequeue (D. Processing before D leads to a packet loss whereas processing D before does not. This dependency can easily be stated as a Boolean expression. In general constituting such expressions premises a high degree of understanding the simulation model. We proide algorithms that are able to identify such expressions for a subset of eent-pairs. 4.2 Runtime-Phase Runtime-methods are used during the actual simulation to calculate a preferably large sample of the simulation result set by trying to aoid unnecessary calculations that result in the same simulation result set. A theoretical framework for the realization of such methods is proided. Definition: A runtime-method for the examination of the impact of different execution orders of simultaneously scheduled eents on the simulation result in short runtimemethod is a method which is used during simulation runtime by a simulation enironment to calculate the simulation tree or part of it in a justifiable amount of time with the intention to find a sample Res of the simulation result set Res achieing a alue for s k ( R k Re ss being as large as possible. ery existing method which allows the execution of different eent orderings of simultaneous eents using priorities is a runtimemethod complying with the definition aboe. Howeer these methods proed to be inefficient for calculating a large simulation result set. Some simulation enironments do not een offer this simple opportunity. This paper identifies and examines four main situations in which a runtime-method can be applied: Table 1: Application of runtime-methods 1. Aoidance of the multiple calculation of a sub-path up to a branching point and branching to calculate different paths in the simulation tree. 2. Identification of ertices in the simulation tree that permit appliance of AP-knowledge and the calculation of a single simulation result if the AP-knowledge reeals identical simulation result sets. 3. Identification of ertices in different sub-paths that are compared ia an equialence relation. quialent ertices must lead to the same simulation result. 4. If sub-trees are identified by applying 2. or 3. leading to the same simulation result set only one set has to be computed. In this case the number of sub-trees has to be logged in order to be able to reconstruct the sub-tree of the simulation tree which has been omitted. 4.2.1 Branching Paths in the simulation tree are caused by different execution orders of simultaneous eents at branching points. If there are no simultaneous eents the simulation tree consists of only one path from the root to a single leaf. xisting simulation tools choose one of the different paths of the simulation tree based on tie-breaking rules or the order in the future eent list. Mechanisms to exploit different paths in the simulation tree can be classified in two basic groups: a Manual change of eent priorities in combination with seeral independent simulation-runs using the same initialization alues. b Automatic branching in simulation states. The automatic branching approach proides some important adantages compared to the manual approach but also has some disadantages: Adantages: + multiple calculation of identical sub-paths up to the branching point is aoided + automatic saing and recoery of ertices in the simulation tree + integration of aspects 2. to 4. described in T able 1 Disadantages: - integration in existing simulation enironments could be difficult
- saing and recoery of ertices leads to increased costs in time and space While the integration in existing simulation enironments could be difficult and expensie it could be easily accomplished to integrate runtime mechanisms in future simulation enironments. 4.2.2 Comparisons at runtime Comparisons of simulation states to economize unnecessary calculations at simulation time can further increase the sample of simulation results. In the following elaboration we assume that no AP-knowledge is aailable that could preclude the outcome of a comparison. Unlike in chapter 4.2.1 runtime comparisons try to merge paths in the simulation tree that lead to the same simulation result set. This means making decisions at runtime for two ertices ν 1ν 2 V of the simulation tree if Res( ν 1 = Res( ν 2 holds. In case it holds only one calculation is needed which leads Using the comparison of leaes of a branching-area only the leaes are compared ia = state and separated into different equialence classes. Comparison within a branching-area is based on comparisons of simulation states just as the comparison of branching-area leaes. Additionally this method gies answers to the question if two eents are concretely-interacting or concretelynon-interacting. In the case of comparisons within a branching-area one can argue with eent pairs so the definition of interaction can be applied. In addition the pairwise comparison ia = of state leaes of a branching area can be expensie both in time and space if there are many simultaneous eents at this point in time. This will result in many leaes that hae to be compared. or this type of comparison a different equialence relation has to be defined: to more efficiency. Definition: = S Howeer deciding whether Res( ν 1 = Res( ν 2 holds at Let be a simulation tree BA a branching-area and runtime is a challenge. The comparison of simulation results has no ν 1ν 2 V. Then = S is defined as follows: adantages compared to the calculation of all paths in the ν 1 = s ν 2 : ν 1 = ( e1 K ν 2 = ( e1 simulation tree because this calculation is a requirement for the comparison. ν 1 = state ν 2 What is really needed is an algorithm that is based on This means that two ertices are equal in sense of = S if they sufficient conditions to decide whether Res( ν 1 = Res( ν 2 holds originate from different execution orders of eent and and the without doing expensie calculations of Res( ν 1 and Res( ν 2. A simulation state is identical in both ertices. central aspect is to identify ertices where a comparison makes sense. or this purpose the authors proide 2 basic solutions: Lemma: = S is an equialence relation in V BA. 1. Comparison of the leaes of a branching-area 2. Comparison within a branching-area Proof: Reflexiity and Symmetry directly result from the definition of = S. Let ν 1 ν 2 ν 3 VBA be arbitrary but fixed ertices with Comparison of the leaes of a branching-area is a solution the key motiation of which is that two identical simulation states lead to the same simulation result sets. or a formal approach a definition of identical states is needed. Definition: = state Let be a simulation-tree 1ν 2 V ν ertices in and P j the projection on the j-th state ariable. Then = state is defined as follows: ν = ν j {1 K n}: P ( state( ν P ( state( 1 state 2 : j 1 = j ν 2 = state is an equialence relation because a comparison is made by = which is an equialence relation. identifies two = state ertices being equialent iff for eery state ariable belonging to the ertices has the same alue. Using this definition the following lemma can be stated: Lemma: or eery simulation tree and ν 1ν 2 V : ν = ν Res ν Res( 1 state 2 ( 1 = ν 2 This is because of the determinism of discrete eent system simulation that should be demanded. ν 1 = S ν 2 ν 2 = S ν 3. Because of the definition of = S either ν 1 and ν 2 or ν 1 and ν 3 are identical. Therefore ν 1 = S ν 3 holds which means transitiity. Using = S the following lemma defines a sufficient condition to decide if two eents are concretely-non-interacting: Lemma: Let be a simulation-tree and BA a branching-area in and and two simultaneous eents in ν = ( e 1 e k VBA. Then ν = ( e 1 e 1 K k V BA 2 = ( e 1 V BA 1 = S ν 2 Res( ν1 = Res( ν 2 ν and ν So if ν 1 = S ν 2 the eents and are concretely-non-interacting concerning ν. The proof of this lemma is based on the fact that from identical simulation states identical simulation result sets are reached. urthermore = S does not need to be optimal in terms of finding all states that lead to the same simulation result. Additionally ν 1 S ν 2 neither implies that Res( ν1 Res( ν 2 nor and are concretely-interacting. Howeer this has no impact on the runtime of the simulation because in this case both simulation-result-sets need to be compared anyway.
branching point with simultaneous eents and branching point with simultaneous eents and ( sni ( pi ( pi ( si TRU ALS cr cni TRU ci ALS TRU ALS ( sni & 2 ALS cni leaes TRU ( sr ( si ki kr ALS TRU =? S =? S TRU = S 2 ALS TRU = S 2 ALS 2 2 Res( = Res(2 Res( Res(2 Res( = Res(2 Res( Res(2 igure 3: left side comparison within branching-area / right side comparison of leaes Which ertices of the branching-area need to be compared is suggested by the definition of = in which two ertices ( e 1 and ( e 1 K e k are compared. or eery pair ( that occur simultaneously in the branching-point ( e 1 e k a comparison needs to be made. Applying comparisons of simulation states at runtime has the following adantages and disadantages. Adantages: + Preention of unnecessary calculations of sub-trees of the simulation-tree Disadantages: - integration of mechanisms into existing simulation enironments could be difficult - additionally branching and logging mechanisms need to be integrated into the simulation enironment (see 1. and 4. in Table 1 - design of efficient naigation strategies is not triial because saing restoring and comparison of simulation states hae to be reduced due to high costs in time and space S irst the use of the basic APK-method introduced in chapter 4.1 for both runtime methods is described. Then this is extended by the use of the sr- and c-enhancement. The basic APK-method separates the set of all eent pairs which appear in the simulation in partitions sni pi and si. This information can be applied at eery branching point ν = ( e 1 e k V BA. ( pi : It is not known if different execution orders result in different simulation result sets. Therefore branching must be applied to calculate both ν = ( e 1 e V and ν = ( e 1 e 2 K k V BA 1 K k BA. When both ertices are calculated they can be compared ia = S within the branching-area. This comparison is only made if the comparison within a branching-area is used. ( sni : All eent-pairs in sni are surely-non-interacting. Both execution orders result in the same simulation result set and therefore in spite of branching only one execution order needs to be calculated. As this mechanism preents branching it can be applied to both comparison within and comparison of the leaes of a branching area. Remember that ( sni does not mean As applying comparison is expensie concerning both time as well as space a performance ealuation has to be done in order to decide that ν 1 = AP ν 2 holds. Branching can be aoided if and only if the whether the method of runtime-comparison is promising or not. condition holds. If it does not at least a comparison of states is not necessary. 4.2.3 Applying AP-knowledge ( si : or both runtime strategies the comparison within as As described in the preious section runtime-methods use comparisons of simulation states to decide whether these states lead to the same simulation result sets or not. or this decision no APKknowledge was applied. This section discusses different ways of using APK-knowledge and how it influences the runtime-methods in order to preent unnecessary time and space expensie comparisons of simulation states. well as the comparison of the leaes of a branching area branching has to be done and no comparison is needed because all ( si are surely-interacting which means Res(( e 1 Res(( e 1 e k.
The sr-extension splits the set of eent pairs into partitions sni si pi and sr. Partition sr is constituted by splitting pi in pi and sr deleting all elements of sr from pi. This information can be applied at eery branching point ν = ( e 1 e k V BA. ( sr : If an eent pair is classified as sr the impact on runtime methods is the same as if they were classified as si. This is because ( sr ν 1 S ν 2. Whether Res( ν 1 = Res( ν 2 is not known but has no impact on the behaior of the runtime methods both result sets need to be calculated. The c-enhancement introduces Boolean expressions which classify eent pairs in pi as concretely-non-interacting concretely-interacting or concretely-reacting based on the system state at branching point. ( cni : No branching is needed for both comparison within and comparison of the leaes of a branching area because and are non-interacting. ( ci ( cr : Branching is needed for both comparison within and comparison of the leaes of a branching area but no comparison of states is necessary. To sum up the adantages and disadantages of applying APK-knowledge at runtime are: 5 CONCLUSIONS Preious research on simultaneous eents in discrete-eent system simulation has mainly focused on determining a single execution order and thus resulting in a single simulation result. This paper has shown that this is not sufficient as different execution order may result in different simulation results. Thus we hae specified a new formal framework for a more precise analysis of the effects caused by different execution orders of simultaneous eents. With new methods which are used before and during the runtime of the simulation an attempt has been made to determine a large simulation result set but reducing the number of unnecessary calculations. Applying detailed inestigations during the A-Priori-phase may reduce calculations during the runtime-phase and ice ersa. or this a trade off has to be found which can be influenced by formulating sufficient conditions for surely-interacting and surelynon-interacting eent pairs. All other eent pairs are classified as potentially-interacting which allows additional optimizations at the runtime of the simulation. Our new formal framework and the new algorithms we presented hae led to the deelopment of a new simulator MOOS (Module-based Object-Oriented Simulation nironment which enables us to determine a large simulation result set and thus a more reliable simulation. 6 RRNCS [1]. Wieland The Threshold of ent Simultaneity In Proceedings of the 11 th Workshop on Parallel and Distributed Simulation (PADS Adantages: + aoidance of unnecessary branches 97 Lockenhaus Austria June 1997 56-59. + fewer comparisons necessary at the runtime of the [2] A. Wenzel xperiences with Simultaneous ents Using Discretesimulation ent Simulation In Proceedings. of the IAD International Conference Modeling and Simulation May 1999 638-642. + the usage of AP-knowledge is optional [3] T.K. Som R.G. Sargent A ormal Deelopment of ent Graphs as Disadantages: an Aid to Structured and fficient Simulation Programs ORSA - integration into existing simulation enironment could be Journal on Computing 1(2 Spring 1989 107-125. difficult [4] L. Schruben Simulation Graphical Modeling and Analysis - information about si and pi can only be used if comparisons at runtime are possible (SIGMA Tutorial In Proceedings. of the 1990 Winter Simulation Conference 1990 158-161. [5]. Yücesan S.H. Jacobson Building Correct Simulation Models is Difficult In Proceedings of the 1992 Winter Simulation Conference Arlington Virginia December 1992 783-790. - for the use of state dependant AP-knowledge (c-extension access to state ariables is needed - expenditure of calculation of AP-knowledge may exceed saing at runtime [6] S.H. Jacobson. Yücesan Intractability Results in Discrete-ent Simulation Recherche opérationelle/operations Research Vol. 29 No. 3 1995 353-369. 4.2.4 Logging of simulation result sets [7]. Yücesan S.H. Jacobson Computational Issues for Accessibility The last paragraphs presented methods of preenting unnecessary calculations ia runtime mechanisms. In order to make reasonable statements on the sample of simulation result sets eery time a branch is omitted information has to be logged. This information must permit a reconstruction of the sub-tree of the simulation tree which has been omitted in calculation because of AP-knowledge or comparison of simulation states. Adantages: + a big sample of the simulation result set despite saings in calculations at the runtime of the simulation Disadantages: - integration in existing simulation enironment could be difficult in Discrete ent Simulation ACM Transactions on Modeling and Computer Simulations Vol. 6 No. 1 January 1996 53-75. [8]. Yücesan S.H. Jacobson The complexity of rapid learning in discrete eent simulation II Transactions 29 1997 783-790. [9]. Yücesan L. Schruben Complexity of Simulation Model: A Graph Theoretic Approach INORMS Journal on Computing Vol. 10 No. 1 1998 94-106. [10] S.H. Jacobson. Yücesan On the Complexity of Verifying Structural Properties of Discrete ent Simulation Models Operations Research Vol. 47 No. 3 May-June 1999 476-481. [11] D.L. Parnas On Simulating Networks of Parallel Processes in which Simultaneous ents may occur Communications of the ACM 12(9 September 1969 519-531. [12] L. Schruben Simulation Modeling with ent Graphs Communications of the ACM 26(11 Noember 1983 957-963.