Academia.eduAcademia.edu

Discrete event simulation environments: requirements

1990, Proceedings [1990]. AI, Simulation and Planning in High Autonomy Systems

The concept of a simulation environment combines the various different aspects of the simulation process into one complete powerful tool. The environment is intended to provide all the necessary state-of-the-art advances and concepts that a modeller may require during the simulation development and execution process. Hence the "environment" requirements must be suited towards the end user needs, free of obligations to learn a new language. The requirements must specify the useful features, independent of different platforms and implementation languages.

DISCRETEEVENTSIMULATION ENVIRONMENTS: REQUIREMENTS ORYALTANIR(BELLCANADA), CORPORATE QUALITY ASSURANCE. zyxwvutsrqpo zyxw zyxwv SULEYMAN SEVINC (UNIVERSITY OF SYDNEY), BASSERDEPARTMENT OF COMPUTER SCIENCE. ABSTRACT many other disciplines such as communications, programming languages, and in manufacturing of various computer components. These standards have permitted different manufactums to develop upon other manufacturers' products. 'Ihis in turn spawned a surge in the productivity and competitiveness of the market. The same type of progress in the simulation technology can also be accomplished. The concept of a simulation environment combines the various different aspects of the simulation process into one complete powerful tool. The environment is intended to provide all the necessary state-of-the-art advances and concepts that a modeller may require during the simulation development and execution process. The benefits of a standard to the simulation field are not limited to economic gains. A wider use and acceptance of simulation can be foreseen in an industry that is still not convinced of its usefulness. To many upper level management in large corporations, simulation is avoided as much as possible and the modeller is sometimes regarded as an "Alchemist" or a dabbler in the black arts. A standard can add more clout to the credibility of the simulationpractice. With more use of simulation, a faster rate of progress in ideas, concepts and implementations of simulation languages and environments can be envisioned. Hence the "environment" requirements must be suited towards the end user needs, free of obligations to learn a new language. The requirements must specify the useful features, independent of different platforms and implementation languages. Introduction The discrete event simulation community has progressed a long way since the last thirty years. Simulation is being implemented and accepted as an integral part of the product life cycle in many industries. The field promises many interesting development opportunities, however, many believe that a more standardized approach is necessary if industry is to fully participate as a partner in the expansion of the area. In this paper we intend to spur some discussion in the simulation community by laying down some issues involved in standardization. These issues are also the focus of the I.E.E.E. P1173 working group on simulation (sponsored by the I.E.E.E. Technical Committee on Simulation). There may also be some negative side effects of standardization. A potential undesired consequenceof standardization(as experienced in other fields) may be the damage it could do to research in the field, e.g. it may diminish research funding for new simulation environments. Therefore, one must be careful to use standardization as a means for advancing the field and not for inhibiting research. However, a long term disagreement in the basics may equally be harmful and certainly is not very productive. What a standard could achieve is a delicate balance between these two ends of the spectrum. The above points bring forth the concept of a Standard Discrete Event Simulation Environment (SDESE). The SDESE is different from a language in the sense Standards have been successfully developed in zyxwvuts zyxwvu zyxwvuts 160 TH0308-7/90/oooO/0160/$0.100 0 1990IEEE that it is not syntax dependant, but proposes to define the features and components of an "environment" which includes a model base, model construction and experimentation facilities. The underlying language syntax is viewed as an independent implementation detail. However the construct of the underlying language (its implementation, data structure processing capabilities etc.) may affect the ability of the language to support a SDESE. This point will be further discussed in the following section. The environment proposes to maintain a standard set of interfaces that allow it to integrate tools from multiple sources. Its significance is far reaching than this, since a standard interface also implies a common method of verification of the model. Given that two environments, although implemented differently, possess common definitions of model and specific internal features (which shall be elaborated in this paper), verification of the input/output definitions of each individual part is possible. Figure 1 further illustrates the position of the SDESE in relation to the modeller and the hardware platform and languages. Gonirtl Prrpoi# zyxwvut zyxwvutsr zyxwv Optictin( 1 As a result, a verification process applied to a given SDESE can also be used for another implementation of a SDESE. The modeller has access to a larger pool of resources than is currently available to single source languages. Simulation vendors can utilize their resources to further enhance their implementations rather than re-inventing the wheel and developing different add-ons to their products. The standards approach presents a more "unified" one, to further the cause of the simulation community. HLRDWARE essful. Perhaps one of the popular ones is the recent Unix implementation standard proposed across 80286 based personal computers. The circumstances leading to their success are quite different from those prevailing in the simulation arena. On the path of standardizing a simulation environment, as mentioned in the previous section, it is not desirable to concentrate upon implementation details. At present, simulation bases exist across various hardware platforms executing under numerous different operating systems. Furthermore, discrete event simulation itself is a wide discipline. Its use is so general that hardware requirements can range f "personal computers to parallel architectures. Defining specific implementation procedures would impose a smct limitation of the standard across specific hardware/software configurations. This in turn may not be suitable nor feasible for a given simulation project. Even for cases where the hardware is deemed adequate, the current base of Abstractions and Implementations in Discrete Event Modelling and Simulation In view of the many different implementations of discrete event simulation languages that exist, it is a considerably difficult, if not impossible, task to develop or standardize upon a given implementation. There are a few cases outside the simulation area where implementation standards are succ- Syittn zyxwvut 161 zyx zyxwvutsrqp zyxw simulation languages may not be utilized without significant re-working of the code to comply with the standard. gramming languages. The constructs found in programming languages can be adapted for implementing higher levels of abstraction used in simulation . Consequently, an SDESE would be significantly more useful if it were to concentrate upon abstraction details as opposed to implementation details. A word of caution must be presented here. The implementation language of the SDESE is a tool that provides the basic functionality of the simulation environment. As with any critical tool, they must be chosen rationally. For example, strict t y p limitations imposed by the underlying language can severely hinder the development of an environment and resmct modeller creativity. Also the underlying implementation language must allow the programmer to access lower level Components of given models if the modetler wishes to do so. Before continuing into a more detailed description of the SDESE features, the notion of an abstraction should be clarified. This concept is a key ingredient to describe the simulation practice. An abstraction is a representation of a system. It can be viewed as a mapping from a given state to another (presumably more abstract) state space. For example, a model can be viewed as an abstraction of a conceptualized system. The abstraction could contain components such as 1/0 definitions and state transitions. Proceeding one stage further with this rationale, a set can be thought of as an implementation of the states abstraction. Alternately, a heap can be considered an implementation of the sets abstraction. It can therefor be observed that there can be several layers of abstraction for a given conceptualized system. A language provides the programmer with a set of conceptual tools. If these tools are inadequate for a given problem they will be ignored and worked around. With this in mind, an Object Oriented Programming Language utilized as the basic implementation medium of the SDESE may provide more flexibility for creative development than conventional languages. This type of an approach contains some proven concepts that can ease the implementation of a SDESE. To appreciate some of the benefits of Object Oriented Programming, let us examine some examples: One of the more powerful methods of managing complexity in a simulation study is hierarchical modelling. This is the ordering of related model components in a tree structure with the general system model at the root of the tree. This type of organization is naturally defined in object oriented programming with the concept of classes and derived classes . In conventional languages, extra effort would be required to implement and manage hierarchical models. This distinction between implementation and abstraction is important when one considers which areas of the SDESE can be successfully defined. This paper will only concentrate on defining and outlining the issues concerning abstraction. The issue of language Another example is the concept of encapsulation : a model is combined with the functions and procedures that manipulate it to form an object. The "model" object can then be addressed at a significantlyabstract level allowing for flexible manipulation in a simulation study. At first one may be inclined to develop a standard containing syntax optimized for simulation abstractions. However the result would be no more than injecting yet another simulation language into a field that is not favourable to adopting just one syntactic description. This is not the intention of the SDESE. Finally, the concept of classes can be exploited: a class is a type and defines the behaviour of a set of similar objects. This can be easily extended into the simulation environment where models and sub-models are If one simply observes data types within simulation languages, one can conclude that they are not radically different than those found in other pro- I62 zyxwv zyxwvutsrqp zyxwvutsr defined with their respective behaviours. This will be further explained in the next section. also want to have operations for other pre- and postprocessing purposes such as window drawing, filtering, etc. Such operations that manage the presentation (visualization),however should not be considered as part of the model. Therefore, support for such operations can be considered desirable, but not mandatory. In particular environments, such operations may be supported through default dispatch mechanisms with provisions for allowing modellers to define their own. In the remaining parts of this paper, we will outline the kinds of constructs needed to be supported by SDESEs. It is assumed that the SDESE will utilize the primitives of a well chosen programming language. Desirable features The above, however is a very simplistic view of a model. First, a model needs to interact with its environment. Therefore, type model needs to be modified; Now that the basic objectives of the SDESE have been defined, this section will concentrate upon the necessary components of the environment. type MODEL operations data interfaces Modelling, Most people would agree that modelling is the most basic activity of a simulationist. Modelling is an activity in which real or imaginary worlds are expressed in a symbol space of a formal language. It is more abstract than coding in principal in that coding is only required if a translation is needed from the formal language in which the model is expressed to another language understood by a particular machine. interfaces are used to ensure that models can interact with their environments including other models in a predefined manner. This is done to enhance modularity which is both a powerful and necessary requkment for a SDESE. The benefits are numerous: A model is intended to represent a segment of the domain being studied. It replicates the behaviour of its real counterpart in a symbol space by generating trajectories consistent with those of what it represents. A model is the most basic construct that should be available to a simulationist. Therefore, support for defining a model in an SDESE is fundamental. Thus, there should be a construct of the form: development of a database of component models, model reusability, prerequisite for hierarchical construction of models, increased degree of testability. The second issue is decomposition: A simulation environmentmust have provisions for model decomp osition. Decomposition permits a complex model to be expressed in terms of simpler components. Verification and validation of the model can then be more readily carried out. Modularity and decomposition (also known as divide and conquer) are concepts complementary to each other. Therefore, type MODEL operations data (representation) zyxwvuts A model could be described using a set of operations operating on data. A data structure, often referred to as state or representation, may take the form of a stack, list, etc. Operations manipulate the data and have to be consistent with the structure, e.g. if data is a stack then operations may be push, pop, etc. Although the operations are primarily intended for manipulating the data, one may type MODEL component models operations data interfaces I63 becomes the extended description for a model. However it is useful to separate models which are decomposed from those that are not. A model with no components is called an atomic model, otherwise it is called a coupled model. Thus, upon that decomposing a large model into its smaller constituents makes the validation and verification process more manageable. In addition to this, in a discrete event simulation environment, a modeller would need the support for testing the components. zyx zyxw zyxw zyxw zyxwvuts zyxw type COUPLED-MODEL component models; atomic or coupled coupling scheme interfaces and type ATOMIC-MODEL operations data interfaces It is worth emphasizing that the simulationist must be freefrom the implementation details of high level con- structs in the environment. That is, the environment should provide facilities for debugging which will recognize constructs designed for simulation such as atomic or coupled models, as well as simpler types of operations. We leave open the question of whether verification support be part of any standard. Experimentation: Experimentation is the phase that follows modelling in a design or analysis task. 'Ihe purpose of experimentation is to learn more about the system under study by subjecting its model to various input sequences selected from the legitimate inputs of the model. The major distinction of coupled models is the existence of a coupling scheme to connect the interfaces of its component models. Also, coupled models may have operations for pre and post processing, as well as for manipulating their component models and outputs. The process of constructing experimental protocols resembles modelling in that it can be considered modelling the environment of the system under study. Thus we consider such protocols as realized by a model, coupled or atomic, called an experimental frame. When coupled together, models and their experimentation frames constitute a closed world. Observation of models during experimentation and checking for the acceptability of the experimentations may also be expressed using model theoretic means. The above discussion presents the basic constructs needed to support modularity and decomposition in a simulation environment. So far we have not considered timing and synchronization issues which are essential to simulation. Along the time axis, a modeller needs to be able to synchronize the activities of his models. A simulation environment needs to provide such means for the modeller. At the atomic model level, a primitive of the form "hold (duration)" may be used for scheduling the models' activities in the future. Simulation models are built for experimentation, yet modelling and design of experimentations must be as separate as possible. This is not a conflict because an experimentation may contain a set of segments of appropriate qualities rather than a single segment. Therefore, the models must be general enough SO that an entire family of experiments can be applied to them. At the coupled model level, the problem may appear as a conflict between two or more component-models scheduled for an internal activity for the same time. This situation can be handled using a tie breaking mechanism. The details of how particular implementations handle model activities should not concern the modeller, but the semantics should be clear so that it can be made to behave as in tended. In addition to features supporting modelling, an SDESE must also be able to support design and conduct of experiments. It is very fruitful to separate the design of experimentations from the modelling itself and in this respect, the environment should be able to recognize them as such. Another dimension to model development is validation and verification. It is usually agreed 164 zyxw zyxw zyxwvutsrq zyxwv zyxwvuts The fact that developing experiments is really a modelling activity implies that the support provided and experimentation specifications used in the modelling environment should enable one to design experiments as well. However there are some additional issues which are worth considering as part of a standard simulation environment: the future of the system and works in parallel with (presumably ahead of) the real system. Models may have to be synchronized with reality when necessary. Advanced features There are other features which are a mark of a well structured simulation environment. However, many of these features are still being studied and there are many others that do not appear in the following list. Therefore, it would be premature to include these in a standard. It is envisaged that, as the state of the art advances, although at a somewhat slower pace, the standard definition will be modified accordingly. Data or statistics gathering capabilities. Such facilities should provide at minimum the ability to attach observers to specific points in a model, i.e. inputs and outputs. - - Observation of interactions between the components models. Facilities for intercepting data (messages) exchanged between subcomponent models and means to relate the cause and effect of such exchanges. Facilities for granular modelling. This implies hiding the detail of a model's sub components and structure. Once the individual sub components are tested, a "higher" view of the model can be used to ease the complexity of the system components. - Models should be reusable or replicable. This facilitates model construction of similar systems and enhances the concept of a model base. - Facilities for redefining basic algorithmic components of the simulator. e.g., flexibility in choosing internal random number generators or utilizing an external algorithm or data file. - - Facilities for presentation of information related to experimentation. Some examples; check-pointing, resetting, restarting, stopping, etc. - Simplification. Simplification reduces the time and space complexity of a simulation model. We often simplify the parts of a model when they are not the focus of the simulation study. It would be beneficial to have automatic means for model simplification. - Adaptive system modelling. Adaptive modelling allows the study of systems that change their behaviours over time. Therefore, a simulation environment should at worst not prevent the simulationistsfrom developing their own techniques for adaptive system simulation and at best it should have features supporting it. - AI and modelling. There are many examples in which simulation and AI methods co-exist to solve a large prob lem together. Mature methods applying AI techniques to modelling and simulation should eventually be facilitated. - Real time inputs to the models. This involves the definition of interfaces and synchronization of models with the real system. This may be particularly useful in cibes where simulation is used in predicting 165 Parallelism. Distribution of discrete event simulation provides help in overcoming the problem of long execution times inherent in complex simulation studies. Conclusions: zyxwvutsrqpo Issues that are likely to be involved in defining a standard simulation environment were investigated. When doing so, only the functionality of such an environment was considered. We hope that these considerations will stimulate discussion and bring up others. As a result, the user is provided with a richer set of tools to produce more reliable models, and suppliers are provided with a new and potentially rewarding market to explore. ation: Paradigms for the future", Modelling and Simulation Methodology: Knowledge Systems Paradigms, M.S.Elzas, T.I.Oren, B.P.Zeigler (Eds.), North-Holland, Amsterdam, 1989, pp. 29-43. Oren, T. I., "Design of SEMA: A Software System for Computer Aided Modelling and Simulation of Sequential Machines", Proceedings of the Winter Simulation Conf. ,1980, pp. 113-123 zyx zyxwvutsr zyxwvutsrq zyxwvutsrq zyxwvutsrqpo Acknowledgments: We wish to thank B.P. Zeigler, T. Oren and F. Coallier for their comments during the preparation of this article. Sargent, R.G., "An Overview of Verification and Validation of Simulation Models", Proceedings of the 1987 Winter Simulation Conference, December 1987. BIBLIOGRAPHY: Balci, O., "Requirements for Model Development Environments" , Computers and Operations Research, 13,l (Jan-Feb), pp. 53-67. Fishwick, P.A. , "The Role of Process Abstraction in Simulation", IEEE Transactions on Systems, Man and Cybernetics, Vol. 18, No. 1, Jan/Feb. Lehmann, E.L., Testing Statistical Hypotheses, Wiley, New York, 1986. Murray, K. J., S . Sheppard, "Automatic Model Synthesis: using automatic programming and expert systems techniques towards simulation modelling", Proceedings of the Winter Simulation Conference 1987, December 1987, pp. 534-543. Nance, R.E., "The Conical Methodoloav: A framework for simulation model development", Proc. of the Conference on Methodology and Validation, (6-9 April 1987, Orlando, FL) Simulation Series (19) 1, Society for Computer Simulation, San Diego, CA, Jan. 1988. .,A Oren Oren, T.I., "Gest- A Modelling and Simulation Language Based on System Theoretic Concepts" , Simulation and Model-Based Methodologies: A n Integrative View, T.I. Oren, B.P. Zeigler, M. S .Elzas (Eds.) . Springer-Verlag, Heidelberg, Germany, pp. 281-335. , T . I., "Bases for Advanced Simul- Sevinc, S., "Automation of Simplification in Discrete Event Modelling and Simulation", Tech. Rept. 359, August 1989, University of Sydney, Basser Department of Computer Science Winston, P.H., B.K.P. Horn, LISP, Addison-Wesley Pub. Co. , Reading MA, 1984. Wymore, A.W., A Mathematical Theory of Systems Engineering-The Elements, Krieger, 1977 Zeigler, B.P., Theory of Modelling and Simulation, Krieger, 1976 Zeigler, B.P., Multifaceted Modelling and Discrete Event Simulation, Academic Press, 1984 Zeigler, B.P., "Hierarchical Modular Discrete-Event Modelling in an Object-Oriented Environment", Simulation, Nov. 1987