I u » ^ I p m a OJ Z Ji Oos ; |C35 ; £0 O ! fi: liö o Volume 21 Number 4 November 1997 ISSN 0350-5596 Informatica An International Journal of Computing and Informatics Simulation Modelling Methodology and Education The Slovene Society Informatika, Ljubljana, Slovenia "TT ì Informatica An International Journal of Computing and Informatics Basic info about Informatica and back issues may be FTP'ed from ftp.arnes.si in magazines/informatica ID: anonymous PASSWORD: FTP archive may be also accessed with WWW (worldwide web) clients with URL: http : 11 V(ni2. i j s. si/'mezi/inf ormat ica. html Subscription Information Informatica (ISSN 0350-5596) is published four times a year in Spring, Summer, Autumn, and Winter (4 issues per year) by the Slovene Society Informatika, Vožarski pot 12, 1000 Ljubljana, Slovenia. The subscription rate for 1997 (Volume 21) is - DEM 50 (USS 35) for institutions, - DEM 25 (USS 17) for individuals, and - DEM 10 (US$ 7) for students plus the mail charge DEM 10 (US$ 7). Claims for missing issues will be honored free of charge within six months after the publication date of the issue. M]eX Tech. Support: Borut Žnidar, Fin-Pro d.o.o.. Stegne 27, 1000 Ljubljana, Slovenia. Lcctorship: Fergus F. Smith, AMIDAS d.o.o., Cankarjevo nabrežje 11, Ljubljana, Slovenia; Printed by Biro M, d.o.o., Zibertova 1, 1000 Ljubljana, Slovenia. Orders for subscription may be placed by telephone or fax using any major credit card. Please call Mr. R. Murn, Jožef Stefan Institute: Tel (-1-386) 61 1773 900, Fax (-f386) 61 219 385, or use the bank account number 900-27620-5159/4 Ljubljanska banka d.d. Slovenia (LB 50101-678-51841 for domestic subscribers only). According to the opinion of the Ministry for Informing (number 23/216-92 of March 27, 1992), the scientific journal Informatica is a product of informative matter (point 13 of the tariff number 3), for which the tax of traffic amounts to 5%. Informatica is published in cooperation with the following societies (and contact persons): Robotics Society of Slovenia (Jadran Lenarčič) Slovene Society for Pattern Recognition (Franjo Pernuš) Slovenian Artificial Intelligence Society (Matjaž Gams) Slovenian Society of Mathematicians, Physicists and Astronomers (Bojan Mohar) Automatic Control Society of Slovenia (Borut Zupančič) Slovenian Association of Technical and Natural Sciences (Janez Peklenik) Informatica is surveyed by: AI and Robotic Abstracts, AI References, ACM Computing Surveys, Applied Science & Techn. Index, COMPENDEX*PLUS, Computer ASAP, Computer Literature Index, Cur. Cent. & Comp. & Math. Sear., Current Mathematical Publications, Engineering Index, INSPEC, Mathematical Reviews, MathSci, Sociological Abstracts, Uncover, Zentralblatt für Mathematik, Linguistics and Language Behaviour Abstracts, Cybernetica Newsletter The issuing of the Informatica journal is financially supported by the Ministry for Science and Technology, Slovenska 50, 1000 Ljubljana, Slovenia. Guest Editorial: Simulation Modelling Methodology and Education Ray J. Paul k Simon J.E. Taylor Centre for Applied Simulation Modelling Department of Information Systems and Computing, Brunei University, Uxbridge, UB8 3PH, England ray.paulSbrunel.ac.uk 1 Introduction Simulation Modelling, and the tools and techniques which it embraces, has been with us since at least the 1960s. Arguably it has contributed to some of the major advances in computer science, and has presented some of the greatest challenges. The simulation language SIMULA (Dahl and Nygaard 1966) has contributed much to what is commonly understood as object-oriented programming. Advances in Human-Computer Interaction have also come from the demands made by the sophisticated user interfaces required for visual simulation and visual interactive modelling (Kuljis 1996). Parallel discrete event simulation (Bagrodia 1996; Nicol 1996; Fujimoto 1993; Taylor, Fatin and Delaitre 1995) presents some of the greatest challenges to high performance computing as does Distributed Interactive Simulation to distributed computing (Dahmann 1995; Fullford 1996). Simulation and Virtual Reality are closely linked (Barnes 1996) and also have implications for Distributed Computing (Kloeber, Jr and Jackson, Jr (1995); Pratt and Johnson 1995, Macredie, et al. 1996)). Simulation has also greatly contributed to the performance analysis of computers and communication systems (Jain 1991). The purpose of this Special Issue is to introduce, or to reacquaint, the reader with those to whom this important field. Simulation Modelling Methodology and Education have been chosen for this (re-)introduction. Methodology concerns the process by which Simulation Modelling is applied, from the formulation of a problem to be solved, to suggested action to remedy fault. Education is close to the heart of Simulation Modelling and is at least as important as the Simulation Modelling process. Interaction with clients, or training those who will perform Simulation, has pedagogical implications. We begin this Special Issue with a review dedicated to giving the interested reader an overview of Simulation Modelling Methodology and Education with respect to recent advances in the field. The internationally refereed papers that follow have been selected to present a wide range of stimulating and thought provoking issues currently attracting interest in the simulation community. 2 Simulation Modelling Methodology and Education Simulation is dedicated to the study and analysis of systems as is, unsurprisingly, found in many areas such as manufacturing, road traffic planning, goods transportation, construction, military applications to name but a few. For example, simulation is being more widely used in business process design (contributions can be found in Bhaskar, et al. (1994); Bridgeland and Becker (1994); Giaglis, Doukidis and Paul (1996); Shapiro (1994); Swami (1995); and Tumay (1996)). To give the reader a feel for the variety of uses for which this technique can be employed, it is useful to present a short review. (Banks 1997; Pidd 1992; Robinson 1994) give excellent summaries of the uses of simulation in the study of systems. We present an outline of these below. — Simulation enables the study of, and experimentation with, the internal interactions of a complex system, or of a subsystem in a complex system; - Informal, organisation and environmental changes can be simulated and the effect of these alternations on the model's behaviour observed; — Much knowledge about a system can be gained from designing and developing a simulation model. This in itself may be of great value toward suggesting improvement in the system under investigation; — Incrementally changing simulation inputs and observing the resulting outputs yields valuable information into which model components are the most significant and how they relate to other model components; - As simulation studies a system as it evolves over time, the time-base of a simulation can be controlled. Manipulation of a computerised model in this way allows model conditions to be investigated which take a very short time to occur in the real system; - Simulation allows repeatability. A system can be studied repeatedly under the same conditions to investigate how the system changes over time. In a similar vein, a simulation can be reproduced several times to enforce reliability over output data generated; - Simulation can be used as a pedagogical device to reinforce training and system understanding; - Simulation can be used to experiment with new designs, policies or strategies prior to implementation, so as to prepare for the consequences of real system change and (hopefully) minimise the time and cost of introducing this change; and - Simulation allows the effect of extreme conditions in a system to be investigated thus providing the opportunity to increase safety in the real system under study. Similarly the implications of legal requirements made by external organisations on a system can be studied. How should the process of simulation be carried out? Many authors suggest commensurate methodologies for this purpose (Bald 1994; Banks 1997; Fishwick 1994; Nance 1994; Pegden, Shannon and Sadowski 1995). To introduce this process, we shall use that suggested by Paul and Balmer (1993) as this agrees with the general layout, from the definition of the problem to be discussed to reporting on what has been discovered. Please note that, loosely speaking, the following steps define a sequential generation of deliverables from the start to the end of a simulation study. In reality, the steps are carried out in a more or less concurrent manner, with much prototyping involved. For those that are interested, Kelton (1996) and Kleijnen (1996) give excellent overviews of some of the statistical issues underpinning the simulation process. 1. Problem formulation. The formulation of the problem to be investigated is the most important deliverable in the process of simulation. The manner in which the problem is defined depends very much on who is carrying out the simulation work and who is/are the problem owners. Either way it is paramount that clear and open communication between the groups involved in the project is guaranteed. This first stage very much involves all related parties getting to know each other's working environment and motivations, as well as understanding what is the problem with the investigated system. The first deliverable from discussion is a clear statement of the formulated problem with fully stated objectives and a project plan as to how the objectives are to be satisfied. Several authors have suggested guidelines for a successful simulation project (Musselman 1994; Nordgren 1994; Pidd 1996a; Robinson 1994) which have implications for the management of software development. Lehaney and Paul (1994) and Lehaney and Paul (1996) review the popular field of soft systems methodology and suggest how it may be linked to systems analysis by simulation in the hope of better problem formulation. 2. Formal Simulation model The formal simulation model is the end product of the thoughts and ideas conceptualised in the formulation of the problem. The development of this model is an art as much as a science and aims to abstract the essential features of a problem to identify the critical model components relevant to the problem and to specify the relationships between these. It is typically specified using a tool that reflects the structure of the problem (for example Activity Cycle Diagrams (Carrie 1988; Paul 1993; Pidd 1992), Event Graphs (Buss 1996; Shruben 1983), Process Diagrams (Schriber 1974) and Object oriented representations (Hirata and Paul 1993)). Bald (1988) and Oerie and Paul (1992) present a comparative overview of several modelling approaches. As indicated previously, the depth to which a model component must be modelled is not initially clear. Neither is the manner in which the data complementing model behaviour (Leemis 1996) gives an introduction to data modelling in simulation. As the development of the formal simulation model progresses, greater understanding of the system accrues. Initially modelling a system as simply as possible allows, with cooperation of the user, model components to be represented in as simple or complex form as the problem dictates. Unsurprisingly, when experimentation on the operational model takes place, reporting results to the user can result in a shortcoming of the model being simulated. The outcome of this is that certain system components might require more detail to be added. This is an entirely valid activity, as it shows that greater understanding of the system has resulted. 3. Computerised simulation model Once the formal simulation model has been agreed as representing, to the best knowledge of the groups involved, the system being investigated, the model must be translated into a computerised form. There are many simulation programming languages and simulation modelling packages that may be used to achieve this end (Banks 1997; Banks 1996; Law and Kelton 1991; Nance 1995). Hlupic (1995); Hlupic and Mann (1995); and Hlupic and Paul (1993) suggest an approach to selecting the correct language or package which can implement the formal model under constraints such as expertise, cost, appropriateness, etc. Paul and Hlupic (1994) and Stan- dridge et al. (1996). discuss developments in integrated computer-aided simulation modelling environments. Pidd (1996b) and Kuljis (1996) review HCl and simulation software with respect to understanding how far simulation has come with some cautionary tales to others involved in HCL In parallel with the development of the formal model and the computerised model are two concepts known as verification and validation. Verification concerns making sure that the computerised model executes correctly and parallels software testing very closely. Validation ensures that the model being executed is a model of the system under study and has not been allowed to drift away from the original specification. Reviews of the techniques used in verification and validation can be found in Baici (1994) and Sargent (1996) as well as recent advances in Arthur and Nance (1996). 4. Operational Simulation model The operational simulation model is the combination of the computerised model with an experimental design. The experimental design is a specification of how the model is to be experimented with, and what input parameters will be required as a consequence of this. Fu and Hu (1996) discuss some of the technical approaches used in experimentation. Tao and Nelson (1994) suggest a general framework to experimentation. 5. Experimental output and reporting The experimental output is derived from the experimentation with the operational model. The group performing the experiments must interpret the experimental output with respect to the system under investigation. Typically this involves analysis of how the model components interact and influence each other. To complete the simulation study, the results of analysis and modelling must be reported. The link between documentation and the modelhng process is discussed in Patel, Gardner and Taylor (1996). As the final part to this review, we consider Simulation Modelling education. Why is education in this area required? If one takes the view that simulation has a place in many different disciplines (as indicated by the introductory section) for the analysis of many diverse systems, then one must reflect on how the simulation process should be taught and where to teach it. The roles of those involved in simulation work also calls for some form of simulation education. For example, a user might choose to develop a simulation solution for their own problems. If this is the case, then the user must consider how simulation should be used. Alternatively, the user might employ specialists in simulation. In this case, for the simulation project to stand some chance of success, the user and the specialist must develop some common understanding of each other's skills and expertise. Again, simulation education becomes a requirement of this process if the user is to gain some understanding of what simulation requires and what it is (realistically) capable of. There are several alternative solutions to this need. A user purchasing simulation software can (and is sometimes required) attend a training course run by the manufacturor of the software. The drawback with this is, although is it useful, the training course is just that; the user is trained in the use of software rather than the process of simulation. Instead, to gain a wider understanding of the simulation process, a user should seek a training course with a broader skill base. Muller (1996) discusses the need for real models in training, while Farrington, Messimer and Schroer (1994); Lorenz and Schriber (1996); Stahl (1996); Silverman (1996); Paul and Hlupic (1994) discuss the impact and content of courses aimed at audiences with a focus on Simulation Modelling. Angehdes and Paul (1993), Siemer and Taylor (1995); Taylor and Siemer (1996) and Atolagbe and Hlupic (1996) address how computer-aided learning can support the diverse needs of Simulation Modelling. 3 The Selected Papers A fundamental component of simulation modelling methodology is visual simulation (sometimes called visual interactive modelling). Used to promote communication between client and simulationist for model development, validation (visual debugging) and reporting, the strength of the visual interface has played an increasingly vital role in the success of a simulation project. The visual interface is a major part of the interaction between human and computer. Human Computer Interaction (HCl) addresses the nuances of the interplay between the two and is therefore of particularly relevance to simulation. In the first of the papers of this special issue, Kuljis (1996) introduces many of the HCl issues in simulation by reviewing six simulation software packages. The points considered are simulation environment, data input, visual modelling, results display and user-assistance. The paper concludes with some general recommendations that can be used to improve the quality of HCl in simulation. Pidd (1996) takes a different but complementary approach to this issue. The latest developments in HCl are reviewed. These include interface design, user-centered design, principles of learning, and the effect of the interface on the user. These are considered in the light of simulation and the needs and problems of different user groups. The paper concludes with a cautionary rebuke for developers of overly complex user interfaces. The process of simulation modelling involves the building of, and experimentation with, a valid model of a given system with respect to a set of study objectives. By far the balance of work in simulation addressing this assumes the relative ease of objective definition and the identification of relevent system components. In reality one of the greatest reasons for the failure of simulation projects is the inappropriate choice of objectives and elements; the simulation was carried out correctly but failed to address and identify the right problem. A series of techniques which have found popularity in mainstream software development techniques are soft systems methodologies (SSMs). These complement the harder technological techniques that exist by focusing on the more humanist aspects of a development project. The goal of SSMs is therefore to correctly identify user requirements by formally involving the problem owners and stakeholders in the development such. In an attempt to gain the advantages in correctly identifying the objectives of a simulation project, Lehaney and Paul (1996) have combined aspects of SSMs with traditional simulation methodology. The paper reviews SSM and the suggested combined approach and illustrates this with a test case in the health service. This contribution represents an important first step and highlights that there is still much work to be done to successfully combine the two. In contrast to this work is that considered by Gi-aglis, Paul and Doukidis (1996). Rather than attempting to improve the simulation modelling process, this attempts to assess the impact of simulation modelling methdology on an existing toolset. Approaches to business redesign in recent years have included business process re-engineering, continuous process improvement, total quality management and organisational transformation. These differ significantly in scope and range of use but have in common a need for some form of modelling. Business process modelling has recently received widespread attention and has been acknowledged as addressing this modeling requirement. Simulation is a natural choice to support business process modelling. A drawback is the complexed involve in applying simulation to business problems is proving to be a significant challenge. This contribution considers the technical, political and social requirements that business changes makes of modelling and suggests how simulation could solve these in the light of inter-organisational business processes. The paper concludes with suggestions as to how business prcoess modelling should engender success. Macredie, et al (1996) take a more technological perspective and presents an informative overview on issues concerning the links between virtual reality and simulation. The paper explores this link and introduces a novel architecture required for distributed virtual reality access and suggests that an efficient un- derlying architecture is fundamental to the successful impact and evolution of a wide range of virtual reality applications. Simulation is a technique which forms part of many disciplines and can be found in undergraduate and postgraduate degrees in engineering, manufacturing, business studies and science. There are many different reasons why the presence of simulation in a ciriculum can to be prove desirable. The appreciation of how systems work through the process of modelhng and simulation could be argued as being the main driving force. To help stimulate ideas in those educators currently involved in simulation pedagogy, and to foster ideas in those wishing to introduce simulation, the remaining three papers of this special issue focus these aspects. The first paper of this section by Stohl (1996) presents the experiences of an educator involved in simulation education for over twenty years. Making the observation that finite resources limit what can be achieved in a course in simulation, the author suggests a very simplistic approach should be used to emphasise important features of simulation methodology. Using the course language MICRO-GPSS as an example, the paper discusses the course features that should be used in successful delivery. Taylor and Siemer (1996) take a complementary stance to simulation education. Reviewing a current simulation course, suggestions are made as to how large numbers of students can be given high quality education. The paper suggests that computer-aided learning techniques such as an Intelligent Tutoring System should be used. The features of such a system are discussed. Computer-aided learning support to education are further discussed in Atolagbe and Hlupic (1996). 4 Conclusions We have presented a diverse review of Simulation Modelling and Education. What follows is an eclectic mix of papers in this area which have been selected to provoke thought and to encourage the reader to delve further into what we consider to be a vibrant and fascinating subject. We hope that the reader is inspired to make their own investigations and, in the long run, their own decisions as to the impact Simulation Modelling could have on their future endeavours. References [1] Angelides, M.C. and Paul, R.J. (1993) Developing an Intelligent Tutoring System for a Business Simulation Game, Journal of Simulation Practice and Theory, 1, 3, p. 109-135. [2] Arthur, J.D. and Nance, R.E. (1996) Independent Verification and Validation: A Missing Link in Simulation Methodology? in Proceedings of the 1996 Winter Simulation Conference, Eds. Charnes, J.M., Morrice, D.J., Brunner, D.T., and Swain, J.J., p. 230-236, Association for Computing Machinery, Coronado, California. [3] Atolagbe, T.A. and Hlupic, V. (1996), A Generic Architecture for Intelligent Instruction for Simulation Modelling Software Packages, Proceedings of the 1996 Winter Simulation Conference, ed. Charnes J.M., Morrice D.J., Brunner D.T. and Swain J.J.,p.856-863, Association for Computing Machinery, Coronado, California. [4] Bagrodia, R.L. (1996) Perils and Pitfalls of Parallel Discrete-Event Simulations, in Proceedings of the 1996 Winter Simulation Conference, Eds. Charnes, J.M., Morrice, D.J., Brunner, D.T., and Swain, J.J., p. 136-143, Association for Computing Machinery, Coronado, California. [5] Baici, 0. (1994) Validation, Verification, and Testing Techniques Throughout the Cycle of a Simulation Study, Annals of Operations Research, 53, p, 121-173. [6] Bald, 0. (1988) The Implementation of Four Conceptual Frameworks for Simulation Modelling in High Level Languages, in Proceedings of the 1988 Winter Simulation Conference, Eds. Abrams, M., Haigh, P. and Comfort, J., p.287-295. Association for Computing Machinery, San Diego, California. [7] Banks, J. (1996) Software for Simulation, in Proceedings of the 1996 Winter Simulation Conference, Eds. Charnes, J.M., Morri'ce, D.J., Brunner, D.T., and Swain, J.J., p. 31-38, Association for Computing Machinery, Coronado, California. [8] Banks, J, Carson II, J.S. and Nelson, B.L. (1997) Discrete-Event System Simulation, Second Edition, Prentice-Hall International Series in Industrial Systems Engineering, Eds. Fabrycky, W.J. and Mize, J.H., Prentice-Hall, New Jersey. [9] Barnes, M. (1996) Virtual Reality and Simulation, in Proceedings of the 1996 Winter Simulation Conference, Eds. Charnes, J.M., Morrice, D.J., Brunner, D.T., and Swain, J.J., p. 101-110, Association for Computing Machinery, Coronado, California. [10] Bhaskar, R., Lee, H.S., Levas, A., Petrakian, R., Tsia, F. and Tulskie, B. (1994) Analyzing and Reengineering Business Processes using Simulation, in Proceedings of the 1994 Winter Simulation Conference, Eds. Tew J.D., Manivannan, S., Sadowski, D.A., and Seila A.F., p. 1206-1213, Association for Computing Machinery, Lake Buena Vista, Florida. [11] Bridgeland, D. and Becker, S. (1994) Simulation Satyagraha, A Successful Strategy for Business Process Reengineering, in Proceedings of the 1994 Winter Simulation Conference, Eds. Tew J.D., Manivannan, S., Sadowski, D.A., and Seila A.F., p. 12141220, Association for Computing Machinery, Lake Buena Vista, Florida. [12] Buss, A.H. (1996) Modelling with Event Graphs, in Proceedings of the 1996 Winter Simulation Conference, Eds. Charnes, J.M., Morrice, D.J., Brunner, D.T., and Swain, J.J., p. 153-160, Association for Computing Machinery, Coronado, California. [13] Carrie, A. (1988) Simulation of Manufacturing Systems, John Wiley and Sons, Chichester. [14] Ceric, V. and Paul, R.J. (1992) Diagrammatic Representations of the Conceptual Model for Discrete Event Systems, Mathematics and Computers in Simulation, 34, 317-324. [15] Dahl, 0. and Nygaard, K. (1996) SIMULA - an Algol-based simulation language. Communications of the ACM, 9, 9, p. 671-678. [16] Dahmann, J.S. and Wood, D.C. (1995) Eds. Special Issue on Distributed Interactive Simulation, Proceedings of the IEEE, 83, 8. [17] Farrington, P.A., Messimer, S.L. and Schroer, B.J. (1994) Simulation and Undergraduate Engineering Education: The Technology Reinvestment Project (TRP), in Proceedings of the 1994 Winter Simulation Conference, Eds. Tew J.D., Manivannan, S., Sadowski, D.A., and Seila A.F., p. 13871393, Association for Computing Machinery, Lake Buena Vista, Florida. [18] Fishwick, P.A. (1994) Simulation Model Design and Execution: Building Digital Worlds. Prentice-Hall, New Jersey. [19] Fu, M.C. and Hu, J.-Q. (1996) A Comparison of Perturbation Analysis Techniques, in Proceedings of the 1996 Winter Simulation Conference, Eds. Charnes, J.M., Morrice, D.J., Brunner, D.T., and Swain, J.J., p. 295-301, Association for Computing Machinery, Coronado, California. [20] Fujimoto, R.M. (1993) Parallel Discrete Event Simulation: Will the Field Survive?, ORSA Journal of Computing. 5, 3, p.218-230. [21] Fullford, D. (1996) Distributed Interactive Simulation: It's Past, Present and Future, in Proceedings of the 1996 Winter Simulation Conference, Eds. Charnes, J.M., Morrice, D.J., Brunner, D.T., and Swain, J.J., p. 179-185, Association for Computing Machinery, Coronado, California. [22] Giaglis, G.M., Paul, R.J. and Doukidis, G.I. (1996) Simulation for Intra- and Inter-Organisational Business Process Modelling, Proceedings of the 1996 Winter Simulation Conference, ed. Charnes J.M., Morrice D.J., Brunner D.T. and Sv/ain J.J., p. 1297-1304, Association for Computing Machinery, Coronado, California. [23] Hirata, C.M. and Paul, R. J. (1996). Object-Oriented Programming Architecture for Simulation Modelling. International Journal in Computer Simulation. 6, 2, p. 269-287. [24] Hlupic, V. (1995). A Comparison of Simulation Software Packages. Proceedings of the 1995 EUROSIM Conference. EUROSIM'95, Eds. Breitenecker, F. and Husinsky, I., p.171 - 176, Vienna, Austria. [25] Hlupic, V. and Mann, A. S. (1995). SimSelect: A System for Simulation Software Selection, in Proceedings of the 1995 Winter Simulation Conference, Eds, Alexopoulos, C., Kang, K. Lilegdon, W.R. and Goldsman, D., p.720 - 727, Association for Computing Machinery, Arlington, Virginia. [26] Hlupic, V. and Paul, R.J. (1993) Simulation Software in Manufacturing Environments: A Users' Survey. Journal of Computing and Information Technology, 1, 3, 205-212. [27] Jain, R. (1991) The Art of Computer Systems Performance Analysis: Techniques for Experiemn-tal Design, Measurement, Simulation and Metamod-elling, Wiley, New York. [28] Kelton, W.D. (1996) Statistical Issues in Simulation, in Proceedings of the 1996 Winter Simulation Conference, Eds. Charnes, J.M., Morrice, D.J., Brunner, D.T., and Swain, J.J., p. 47-53, Association for Computing Machinery, Coronado, California. [29] Kleijen, J.P.C. (1996) Five-Stage Procedure for the Evaluation of Simulation Models Through Statistical Techniques, in Proceedings of the 1996 Winter Simulation Conference, Eds. Charnes, J.M., Morrice, D.J., Brunner, D.T., and Swain, J.J., p. 248-254, Association for Computing Machinery, Coronado, California. [30] Kloeber, Jr, J.M. and Jackson, Jr, J.A. (1995) Issues in Using a DIS Facility in Analysis, in Proceedings of the 1995 Winter Simulation Conference, Eds, Alexopoulos, C., Kang, K. Lilegdon, W.R. and Goldsman, D., p.1229-1236, Association for Computing Machinery, Arlington, Virginia. [31] Kuljis, J., HCl and Simulation Packages, Proceedings of the 1996 Winter Simulation Conference, ed. Charnes J.M., Morrice D.J., Brunner D.T. and Swain J.J., p. 687-694, Association for Computing Machinery, Coronado, California. [32] Law, A.M. and Kelton W.D. (1991) Simulation Modelling and Analysis, Second Edition, McGraw-Hill, New York. [33] Leemis, L.M. (1996) Discrete-Event Simulation Input Process Modelling, in Proceedings of the 1996 Winter Simulation Conference, Eds. Charnes, J.M., Morrice, D.J., Brunner, D.T., and Swain, J.J., p. 39-46, Association for Computing Machinery, Coronado, California. [34] Lehaney, B. and Paul R.J., Soft Systems Methodology and Simulation Modelling, Proceedings of the 1996 Winter Simulation Conference, ed. Charnes J.M., Morrice D.J., Brunner D.T. and Swain J.J., p. 695-700, Association for Computing Machinery, Coronado, California. [35] Lehaney, B. and Paul, R.J. (1994) Using Soft Systems Methodology to Develop a Simulation of Outpatient Services, Journal of the Royal Society for Health, August, 197-200. [36] Lorenz, P. and Schriber, T.J. (1996) Teaching Introductory Simulation in 1996: From the First Assignment to the Final Presentation, in Proceedings of the 1996 Winter Simulation Conference, Eds. Charnes, J.M., Morrice, D.J., Brunner, D.T., and Swain, J.J., p. 1379-1386, Association for Computing Machinery, Coronado, California. [37] Macredie, R.M., Taylor, S.J.E., Yu, X. and Kee-ble, R. (1996) Virtual Reality and Simulation: An Overview, in Proceedings of the 1996 Winter Simulation Conference, Eds. Charnes, J.M., Morrice, D.J., Brunner, D.T., and Swain, J.J., p. 669-674, Association for Computing Machinery, Coronado, California. [38] Muller, D.J. (1996) Simulation: "What To Do With The Model Afterward", in Proceedings of the 1996 Winter Simulation Conference, Eds. Charnes, J.M., Morrice, D.J., Brunner, D.T., and Swain, J.J., p. 729-733, Association for Computing Machinery, Coronado, Cahfornia. [39] Musselman, K.J. (1994) Guidelines for Simulation Project Success, in Proceedings of the 1994 Winter Simulation Conference, Eds. Tew J.D., Manivan-nan, S., Sadowski, D.A., and Seila A.F., p. 88-95, Association for Computing Machinery, Lake Buena Vista, Florida. [40] Nanccj R.E. (1995) Simulation Programming Languages: An Abridged History, in Proceedings of the 1995 Winter Simulation Conference, Eds, Alex-opoulos, C., Kang, K. Lilegdon, W.R. and Golds-man, D., p.1307-1313, Association for Computing Machinery, Arlington, Virginia. [41] Nance, R.E. (1994) The Conical Methodology and the Evolution of Simulation Model Development, Annals of Operations Research, 53, p.1-46. [42] Nordgren, W.B. (1995) Steps for Proper Simulation Project Management, in Proceedings of the 1995 Winter Simulation Conference, Eds, Alex-opoulos, C., Kang, K. Lilegdon, W.R. and Golds-man, D., p.68-73. Association for Computing Machinery, Arlington, Virginia. [43] Nicol, D. (1996) Principles of Conservative Parallel Simulation, in Proceedings of the 1996 Winter Simulation Conference, Eds. Charnes, J.M., Mor-rice, D.J., Brunner, D.T., and Swain, 3.3., p. 128135, Association for Computing Machinery, Coron-ado, California. [44] Patel, N. V., Gardner, L. A. and Taylor, S. J. E. (1996) Hypermedia for Manufacturing Simulation. International Journal of Manufacturing System Design, 2, 2, p.153-161 [45] Paul, R.J. (1993) Activity Cycle Diagrams and the Three Phase Method, in Proceedings of the 1993 Winter Simulation Conference, Eds. Evans, G.W., Mollaghasemi, M., Russell, E.C. and Biles, W.E., p. 123-131, Association for Computing Machinery, Los Angeles, CA. [46] Paul, R.J. and Balmer D.W. (1993) Simulation Modelling. Chartwell-Bratt Student Series, Lund, Sweden. [47] Paul, R.J. and Hlupic, V. (1994) The CASM Environment Revisited, in Proceedings of the 1994 Winter Simulation Conference, Eds. Tew J.D., Manivan-nan, S., Sadowski, D.A., and Seila A.F., p. 641-648, Association for Computing Machinery, Lake Buena Vista, Florida. [48] Paul, R.J. and Hlupic, V. (1994b) Designing and Managing a Masters Course in Simulation Modelling, in Proceedings of the 1994 Winter Simulation Conference, Eds. Tew J.D., Manivannan, 8., Sadowski, D.A., and Seila A.F., p. 1394-1398, Association for Computing Machinery, Lake Buena Vista, Florida. [49] Pegden, C.D., Shannon, R.E. and Sadowski, R.P. (1995) Introduction to Simulation Using SIMAN, Second Edition, McGraw-Hill, New York. [50] Pidd, M. (1996a) Five Simple Principles of Modelling, in Proceedings of the 1996 Winter Simulation Conference, Eds. Charnes, J.M., Morrice, D.J., Brunner, D.T., and Swain, J.J., p. 721-728, Association for Computing Machinery, Coronado, California. [51] Pidd, M. (1996b) Model Development and HCl, Proceedings of the 1996 Winter Simulation Conference, ed. Charnes J.M., Morrice D.J., Brunner D.T. and Swain J.J., p. 681-686, Association for Computing Machinery, Coronado, California. [52] Pidd, M. (1992) Computer Simulation in Management Science, Third Edition, John Wiley and Sons, Chichester, England. [53] Pratt, D.R. and Johnson, M.A. (1995) Constructive and Virtual Model Linkage, in Proceedings of the 1995 Winter Simulation Conference, Eds, Alex-opoulos, C., Kang, K. Lilegdon, W.R. and Golds-man, D., p.1222-1228, Association for Computing Machinery, Arlington, Virginia. [54] Robinson, S. (1994) Succcessful Simulation, McGraw-Hill International, Maidenhead. [55] Schruben, L. (1983) Simulation Modelling with Event Graphs, Communications of the ACM, 26. p. 957-963. [56] Sargent, R.G. (1996) Verifying and Vahdating Simulation Models, in Proceedings of the 1996 Winter Simulation Conference, Eds. Charnes, J.M., Morrice, D.J., Brunner, D.T., and Swain, J.J., p. 55-63, Association for Computing Machinery, Coronado, California. [57] Schriber, T.J. (1974) Simulation Using GPSS, Wiley, New York. [58] Shapiro, R.M. (1994) Integrating BPR with Image-based Work Flow, in Proceedings of the 1994 Winter Simulation Conference, Eds. Tew J.D., Manivannan, S., Sadowski, D.A., and Seila A.F., p. 1221-1228, Association for Computing Machinery, Lake Buena Vista, Florida. [59] Siemer, J., Taylor, S. J. E., and Elhman, A. D. (1995) Intelhgent Tutoring Systems for Simulation ModeUing in the Manufacturing Industry. International Journal of Manufacturing System Design, 2, 3, p.165-175. [60] Silverman, R. (1996) Simulation for Computer Science Majors, in Proceedings of the 1996 Winter Simulation Conference, Eds. Charnes, J.M., Morrice, D.J., Brunner, D.T., and Swain, J.J., p. 13951400, Association for Computing Machinery, Coronado, California. [61] Swami, A. (1995) Building the Business using Process Simulation, in Proceedings of the 1995 Winter Simulation Conference, Eds, Alexopoulos, C., Kang, K. Lilegdon, W.R. and Goldsman, D., p.1081-1086, Association for Computing Machinery, Arlington, Virginia. [62] Stahl, L (1996), Teaching the Fundamentals of Simulation in a Very Short Time, Proceedings of the 1996 Winter Simulation Conference, ed. Charnes J.M., Morrice D.J., Brunner D.T. and Swain J.J., p. 1387-1394, Association for Computing Machinery, Coronado, California. [63] Standridge, C.R., Kelly, J.F., Kelley, T. and Walther, J. (1996) Progress in Modular Simulation Environments, in Proceedings of the 1996 Winter Simulation Conference, Eds. Charnes, J.M., Morrice, D.J., Brunner, D.T., and Swain, J.J., p. 714720, Association for Computing Machinery, Coronado, California. [64] Tao, Y-H. and Nelson, B.L. (1994) A Conceptual Framework for Simulation Experiment Design and Analysis, in Proceedings of the 1994 Winter Simulation Conference, Eds. Tew J.D., Manivannan, S., Sadowski, D.A., and Seila A.F., p. 681-688, Association for Computing Machinery, Lake Buena Vista, Florida. [65] Taylor, S.J.E., Fatin, F. and Delaitre, T. , (1995) Estimating the Benefit of the Farallelisation of Discrete Event Simulation, in Proceedings of the 1995 Winter Simulation Conference, Eds, Alexopoulos, C., Kang, K. Lilegdon, W.R. and Goldsman, D., p.674-681, Association for Computing Machinery, Arlington, Virginia. [66] Taylor, S.J.E. and Siemer, J. (1996) Enhancing Simulation Education with Intelligent Tutoring Systems, Proceedings of the 1996 Winter Simulation Conference, ed. Charnes J.M., Morrice D.J., Brunner D.T. and Swain J.J., p. 675-680, Association for Computing Machinery, Coronado, California. [67] Tumay, K. (1996) Business Process Simulation, in Proceedings of the 1996 Winter Simulation Conference, Eds. Charnes, J.M., Morrice, D.J., Brunner, D.T., and Swain, J.J., p. 93-98, Association for Computing Machinery, Coronado, California. HCl and Simulation Packages Jasna Kuljis Department of Applied Technology and Computing, Roehampton Institute London, West Hill, London SW15 3SN, England Phone: +44-181-392-3672, Fax: -^44-181-392-3271 jkulj is©roehampton.ac.uk Keywords: simulation, HCl Edited by: S.J.E. Taylor Received: April 14, 1996 Revised: July 14, 1996 Accepted: March 26, 1997 Computer-based simulation modelling is one of the domains that is particularly demanding in terms of user interfaces. It is also an area that often pioneers new technologies that are not necessarily previously researched in terms of human-computer interaction (HCl). Issues that influence the 'usability' of such systems are examined. Several representative systems were investigated in order to generate some general assumptions with respect to those characteristics of user interfaces employed in simulation systems. There is a need for simulation systems that can support the developments of simulation models in many domains, which are not supported by contemporary simulation software. Many user interface deficiencies are discovered and reported. On the basis of fìndings in this research, proposals are made on how user interfaces for simulation systems can be enhanced to match better the needs specifìc to the domain of simulation modelling, and on how better to support users in simulation model developments. 1 Introduction The population of computer users is increasing in numbers and expanding to all areas of human activities. HCl research is driven by that expansion. At the same time as computer systems become more 'usable', that brings in more new users and new uses of computers. Despite all the advances and improvements in today's interactive computer systems we are all too well aware that there are still many deficiencies in current user interfaces. Computer systems now have to cater for all kinds of task domains and for all types of user populations. This means that user interfaces have to bridge the gap between often computer illiterate users and computer systems. Computer-based simulation modelling is one of the domains that is particularly demanding in terms of user interfaces. It is an area that covers aspects of user interfaces that usually span over several application areas. It is also an area that often pioneers new technologies that are not necessarily previously researched in terms of human-computer interaction. Simulation systems therefore are worthy of examination from the user interface point of view. Particular attention in this research is therefore also placed on investigating issues related to interaction styles, interaction objects, screen layout design, navigation through interfaces, user support and assistance. This could result in more awareness among the simulation com- munity of the importance to provide user interfaces that better match the needs specific to the domain of simulation modelling. 2 What is HCl Only a small number of computer systems today are designed to run autonomously. Most of them are interactive systems in which human users and computers interact through a user interface. The success of a computer system is often dependent on how easily the user can learn to use the user interface. Today, the user interface is the first thing many people ask about when discussing a new software application. To users, the interface is the system (Hix and Hartson, 1993). Computer systems often lack good user interfaces for a variety of reasons, including the lack of a good user interface design methodology and the lack of good tools to implement a user interface. An interface is often the single most important factor in determining the success or failure of a system (Larson, 1992). It is also one of the most expensive. Smith and Mosier (1984) conducted a survey of people concerned with information systems design who on average estimated that 30 to 35 percent of operational software is required to support the user interface. Bobrow et al. (1986) claim that the user interface often constitutes one third to one half of the code of typical knowledge-based systems. This claim is reinforced by Myers and Rosson (1992) who argue that anywhere from an average of 48 percent to a maximum of nearly 100 percent of the code for an interactive system is now used to support the user interface. Human-computer interaction concerns itself with the domain of interaction between humans and computers, and all the issues associated with that activity: the interaction itself (as a process) and knowledge about that interaction. There is no agreed upon definition of the range of topics which form the area of human-computer interaction. The following definition is one from ACM SIGCHI (1992): "Humancomputer interaction is a discipline concerned with the design, evaluation and implementation of interactive computing systems for human use and with the study of major phenomena surrounding them". Benyon and Murray (1988) make an important distinction between the terms Human-Computer Interaction and HumanComputer Interface. Interaction includes all aspects of the environment such as the working practices, office layout, provision of help and guidance, and so on. The interface is the part of a system with which the user comes into contact physically, perceptually or cogni-tively. In this paper we are mostly concerned with the interface part of simulation systems. Research into HCl is now well established. The research spans across many disciplines. As a consequence the theories and methodologies developed within HCl are beginning to be used in a prescriptive way to develop new software products. In this paper we examine the usability and appropriateness of such approaches when dealing with simulation software development. We aim to examine user interfaces for discrete event simulation pacltages. In particular, to investigate issues that influence 'usability' of simulation systems. Usability has many meanings to many different people. The term is often used by software vendors who claim that their products have attributes such as high level of software usability, or 'user friendliness'. However, this terminology mostly indicates that software has a Windows like GUI. There is no generally agreed definition of usability. A definition of usability proposed by the International Standards Organization (ISO) and listed in Booth (1989) states: "The usability of a product is the degree to which specific users can achieve specific goals within a particular environment; effectively, efficiently, comfortably, and in an acceptable manner." This definition does not explicitly specify operational criteria that might lead to an understanding of what we should evaluate. A more operational definition is given by Shackel (1991) who suggests that any system should have to pass the usability criteria of effectiveness, learnability, flexibility, and user attitude. We assess the usability of current simulation systems based on the definition of usability that we adopted from Shackel (1991). Shackel's four distinguishable and quantifiable dimensions effectiveness, learnabifity, flexibility, and attitude are not mutually exclusive in the sense that measures of, for example, effectiveness can, at the same time, also give some indication of system learnability. Effectiveness refers to levels of user performance, measured in terms of speed and/ or accuracy, in terms of proportion of task(s), proportion of users, or probability of completion of a given task. Flexibility refers to variations in task completion strategies supported by a system. Learnability refers to the ease with which new or occasional users may accomplish certain tasks. Attitude refers to user acceptability of the system in question. There are some problems, however, in setting appropriate numerical values against usability goals. This approach would be more appropriate when the usability goals are set during the design stage of requirements specification than as an evaluation criteria once a system is finished. Although quantitative data is required to accurately assess the usability of a system, it is quahtative information that informs designers how to change an unusable system. Our objectives are both to assess the usability of current simulation systems and to identify usability defects. The usability evaluation of the representative simulation system was carried out using structured walkthrough (Booth, 1989), i.e. we worked through a series of tasks the user might be expected to perform looking for sources of potential difficulties. We have based the examination on simulation software for personal computers partly because the issues of interaction are not dependent on the computer platform and pai'tly because the PC platform predominates among commercial simulation systems. Therefore, the results and findings can be generalised across the whole spectrum of simulation software regardless of the host system. 3 HCl Features In Examined Packages We have reviewed six discrete simulation systems: XCELL+, Taylor II, ProModel for Windows, Micro Saint for Windows, WITNESS for Windows, and Sim-script II.5 for Windows. We examine the following interaction characteristics of these systems: input-output devices employed, interaction styles, and use of graphics. We are also interested in: type of simulation system, application areas, hardware platform, operating system, and hardware requirements. Table 1 provides a summary of the main characteristics of each system examined and general user interface features for each of the reviewed systems. For each simulation system we examine the user interface for the three identified modules: data input/model specification, simulation experiments, and presentation of output results. We are interested in XCELL-f Taylor 11 Application area Manufacturing Mainly manufacturing Software type Data-driven simulator Data-driven simulator Interaction style Menus and fill-in forms Interaction devices Keyboard Keyboard and mouse Navigation facilitated using Function keys Mouse, arrow keys, and function keys Terminology Manufacturing Manufacturing Screen layout Overcrowded Good No. of colours 12 16 Use of colours Hideous Good ProModel Micro Saint Application area Mainly manufacturing General Purpose Software type Data-driven simulator Data-driven simulator Interaction style Windows GUI Windows GUI Interaction devices Keyboard and mouse Keyboard and mouse Navigation facilitated using Mouse, arrow keys, and Fl Mouse, arrow keys, and function keys Terminology Manufacturing No specific domain Screen layout Good Good No. of colours 64 16 Use of colours Good Good Witness Simscript II.5 Application area Mainly manufacturing General Purpose Software type Data-driven simulator Language Interaction style Windows GUI Windows GUI Interaction devices Keyboard and mouse Keyboard and mouse Navigation facilitated using Mouse, arrow keys, and Fl Mouse, arrow keys, and Fl Terminology Manufacturing No specific domain Screen layout Poor Good No. of colours 16 64 Use of colours Too extensive Good Table 1: Main System Characteristics adopted interaction styles, modes of interaction, screen design and layout, interaction flexibility, supported functionality, navigation styles, use of colour, and the possibility to import and export data. We also examine what kind of user support and assistance is provided and analyse how this provision is facilitated. Finally, we evaluate each system against the usability criteria set in the previous section. To achieve that we test each of the six listed systems on the task of developing a small queuing model (a bank). The test is performed by a user with a high computer literacy, low domain knowledge, and no knowledge of any of the six simulation systems. The ability to accomplish the task must be based solely on consulting the user manuals and help (i.e. without formal training). We try to identify which of the general usability principles are applied and also establish where the usability defects are in each examined system. We want to find out where in a system users might run into problems and what kind of problems they are likely to encounter. When examining the user interface we are particularly interested in three aspects: firstly, how the user interface for a particular system aids the user in a model development process; secondly, can the user modify the existing interface to either accommodate the user's own preferences or to adjust the modelling environment to the needs of a particular model; and thirdly, does the system facilitate user interface development. 3.1 Simulation Environments The users of simulation software are often experts in special application fields. Kömper (1993) points out that these users, being laymen in information science, should be supported as much as possible by the simulation tool. The areas of concern are: validation, the development of simple models, and the development of complex models which contain, for example, non-typical phenomena in a special problem class. She advocates that the simulation tools should support the model builder in the first phases of becoming familiar with the tool, and in further work to model more complex phenomena without being forced to learn new concepts of model building. She sees the development of task specific user interfaces which relate to the respective knowledge as an aid to modelling. Bright and Johnston (1991) point out the necessity of 'ease of use' of simulation software. They see 'ease of use' as a combination of structural guidance in the model development process, error prevention, help provision, and the rate at which familiarity with the software is gained. However, they are concerned that the provision of these requirements in visual interactive modelling software will hinder generality and reduce its power. Regardless of whether the simulation systems are data-driven simulators or simulation languages, it is becoming common to provide some sort of integrated model building environment. The current simulation systems are typically visual interactive simulation systems that provide an integrated simulation environment. This type of environment includes a collection of tools for designing, implementing, and validating models; verifying the implementation; preparing the input data; analysing the output results; designing experiments; and interacting with the simulation as it runs. Such systems are inherently complex and inevitably employ a broad selection of interaction styles and often use technology in a novel way. The provision of completely self-sufficient simulation environments is important for the following reasons: - it reduces the development time, - it supports apphcation consistency, - it can aid the developers throughout the development cycle, - it can support model completeness, - it can provide checks of model validation. The experience we have gained during this research convinced us that the model development process is generally not well supported. Five of the six examined simulation packages are data-driven simulators (XCELL-f, Taylor II, ProModel for Windows, Micro Saint, and Witness for Windows) that use some sort of diagramming tools for representation of model logic, and one is a simulation language (Simscript II.5 for Windows). All six systems provide modelling environments. Two systems are general purpose (Micro Saint, Simscript II.5) whereas the other four are manufacturing or mainly manufacturing. Graphic elements for the representation of the model logic are pre-defined for all simulators, and cannot be changed for two of them (XCELL-f and Micro Saint). Names of model elements (i.e. machines, parts) are pre-defined and cannot be changed for any of the simulators, although the user can provide labels for individual instances of elements to describe better the domain related elements (i.e. an element machine can be labelled 'clerk' or 'bank teller' in a bank model using Taylor II). Similarly, all examined simulators use fixed, pre-defined, and un-modifiable attribute names (fields). Data entry is usually facilitated through pre-defined, unmodifiable fill- in forms which use the system's own element names, attribute names (fields), which usually have default values provided. Data validation is not a common facility (only in Taylor II and ProModel for Windows). Background drawing tools are rarely facilitated (Taylor II, ProModel for Windows, Simscript II.5 for Windows), as is importing graphics from other appUca-tions (ProModel for Windows, Micro Saint, Simscript II.5 for Windows). Icon editors are more common (not provided in XCELL-1- and Micro Saint), even though the majority of them only provide elementary drawing capabilities. The user is rarely allowed to control statistics collection (only in Micro Saint and Simscript II.5) and the way the statistics is displayed (only Simscript II.5 gives complete freedom). Report customisation is rarely allowed. If this facility is provided, only a limited set of options can be exercised. On-line help, if available, usually does not extend to anything more than an overview of basic system concepts. Context sensitive help is scarce and good context-sensitive help is almost non-existent (the exception is ProModel for Windows). On-line help for error messages is not available on the examined systems. The customisation of the modelling environment is virtually an unknown commodity. A limited customisation is offered only in ProModel for Windows. The development of separable user interfaces for particular simulation problems is possible only in Simscript 11.5 for Windows, which facilitates user interface development by providing templates for menus, fill-in forms, and several types of graphs that can be then tailored to suit the problem. 3.2 Data Input The least effort in existing simulation systems has been invested into data input facilities. It is apparent that this part of the system is considered as less important than, for example, the visual simulation part. Most of the papers on simulation systems only briefly mention the data input capabilities of systems, if at all. However, there is room for a great deal of improvement in the domain of data input and/or model specification that would improve existing simulation systems. We have already mentioned that data validation is supported in only two of the six examined simulation systems. None of the systems offers database capabilities for keeping multiple variations of a model. Data input forms, if available, are generally poorly designed. There is no help provision for individual data fields. Importing data files is supported in four of the examined systems. The format of imported data is usually an ordinary ASCII text file. Therefore, there is much to be improved in the way the simulation data is communicated to the systems.. Table 2 summarise user interfaces for data input/model specification for the systems examined. Most of the systems keep data in text files that can be accessed and modified from other environments. None of the examined systems provides database faciUties. Simulation languages, like SIMSCRIPT II.5 for example, can provide most of the data input features (menu-driven system, data-input forms, on-line help, data vahdation, etc.) but at the expense of an extensive time-consuming programming effort. Some of the systems provide limited input error checking and model verification facilities. 3.3 Visual Simulation Visual programming tools are standard features in all visual interactive simulation (VIS) systems, and drawing tools are very common. Dynamic icons and animation are supported by most visual simulation systems. The interactive change of the simulation parameters and of the speed of animation whilst the simulation is being executed, are also often provided. Panning and zooming is another quite common facility. Most of the current simulation systems have some form of visual animation of a simulation run. Animation speed in simulation systems is commonly made adjustable by their users. There are some problems with the animation speed that are not envisaged by the software developers. Simulation software is built for a particular hardware configuration and therefore for a particular processing speed (in MHz). The speed of animation (moving icons) is dependent on the computer processor speed. Hardware developments are much faster than software developments and by the time simulation software, based on a particular configuration, has reached the market it may well happen that the market has already adopted much faster computers. The user will probably install software on a much faster computer than it was intended for. Even though the user may have a facility to change animation speed, the slowest available speed may still be too fast for an animation observer. Table 3 provides a summary of some of the user interface features that are relevant for the design of simulation experiments. 3.4 Simulation Results Considerable effort has been invested in the presentation of simulation results. Often this effort lacks proper insight into the particular needs of simulation systems. Most simulation software offers graphical facilities for the representation of simulation statistics. Graphical coding can provide a powerful way of displaying quantitative data. In particular, graphs are able to abstract important relational information from quantitative data. The main advantages of using graphical representations (Preece et al, 1994) are that it can be easier to perceive: - the relationships between multidimensional data, - the trends in data that are constantly changing, - the defects in patterns of real-time data. Besides the standard reports for commonly occurring performance statistics (e.g. utihsation, queue sizes and delays, and throughput) some of the newer software allows the development of tailored reports. The user can choose the form of representation (e.g. textual output, table, representational graph, bar diagram, pie chart, histogram, time series), colours, labels, etc. In most of the VIS software, partial statistical results can be viewed during the simulation run. Graphs are updated dynamically during the simulation run. Some of the software has facilities to save the statistics into files that can then be printed. Rarely is there a facility to print the whole screen at any point of a simulation run or when the statistics are displayed/presented on the screen. Table 4 gives a summary of presentation of simulation results capabilities of the reviewed software. 3.5 User Support As a rule documentation is highly erratic, written in a technical jargon and rarely organised in any structured manner. If it contains an index (this is not always the case) it usually requires the user to know the exact terminology used to be able to find the topic of interest. Similarly, the installation procedures are generally badly documented and off-putting ("Insert next disk" - Yes? Which is the next disk if they are not numbered?). All of the systems examined, except Simscript II.5, require a security device to be plugged either in a serial or a parallel computer port (it varies from system to system). Considering the high cost of simulation software it makes some economic sense from the vendors point of view. However, from the customers point of view it shows a basic mistrust in customers' honesty and adds to the general unfriendliness of the simulation systems. User manuals for simulation systems are usually poorly written and need a lot of improvements. Of the six simulation systems we have examined only two provide Tutorial (Taylor II and Micro Saint), three provide Getting Started (XCELL-I-, ProModel for Windows, and Micro Saint), two provide Reference manuals (Pro Model for Windows and Simscript II. 5). An index is provided in all of them except XCELL-f-, but it usually hsts only system concepts using a particular simulation system's terminology. Generally, terminology used in the user manual is too technical. Examples, if provided, are not followed throughout the development process and are therefore of not much use. The summary of characteristics of printed manuals is given in Table 5. On-line help very rarely provides help for all facilities and tools in the simulation environment. Context-sensitive help is a rare commodity (it is only provided in Taylor II and ProModel for Windows) and is almost unheard of for system messages (i.e. error messages). XCELL-K Taylor II Model logic representation Diagramming tools Diagramming tools Graphic elements Pre-defined cannot be changed Pre-defined can be changed Model elements Pre-defined Pre-defined Element names Up to 10 characters Up to 8 characters Attribute names Pre-defined cannot be changed Pre-defined cannot be changed Default values provided Yes Yes Fill-in forms design Not applicable Good Importing files supported No Yes Data vahdation supported No Yes Model validation supported Partially No ProModel Micro Saint Model logic representation Diagramming tools Diagramming tools Graphic elements Default or user selected Pre-defined cannot be changed Model elements Pre-defined Pre-defined Element names Up to 80 characters Up to 20 characters Attribute names Pre-defined cannot be changed Pre-defined cannot be changed Default values provided Yes No Fill-in forms design Good Well balanced Importing files supported Yes No Data validation supported Yes No Model validation supported No No Witness Simscript II.5 Model logic representation Diagramming tools Program Graphic elements Pre-defined cannot be changed Not provided Model elements Pre-defined User defined Element names Up to 8 characters User defined Attribute names Pre-defined cannot be changed User defined Default values provided Yes Can be programmed Fill-in forms design Poor and often confusing Not apphcable Importing files supported Yes Yes Data vahdation supported No Can be programmed Model validation supported No Can be programmed Table 2: Data Input / Model Specification An on-line tutorial is provided only in ProModel for Windows. Demonstration disks are provided for three of the examined systems Taylor II, ProModel for Windows, and Micro Saint, and of these three only ProModel provides a professional and carefully thought out product. Table 6 provides a summary of on-line user assistance offered in the six examined simulation packages. 4 Usability Of Simulation Packages The usability evaluation of the six examined simulation packages indicates that only Pro Model for Windows provides an adequate level of support. Good user manuals are provided only for XCELL-I-, ProModel for Windows and Witness for Windows. Good on-line help is provided only for ProModel for Windows. Sim- ilarly ProModel for Windows is the only package that: - employs the natural structure of a dialogue that achieves a close match with the user's task organisation instead of being matched to the internal structure of the apphcation; - provides consitency in screen layout and organisation, in terminology, in system messages, in actions, etc.; - provides feedback that always keep users informed about what is going on; - provides clearly marked exits; - has error messages expressed in plain language (no codes) that precisely indicate the problem, and constructively suggest a solution. Effectiveness of the system can be hindered if there are: defects in navigation through the system, prob- XCELL+ Taylor II Background drawing tool No Yes Icon editor No Yes Importing graphics supported No No Zooming supported No No Panning supported No Limited (with arrow keys) Interactive speed change Yes Yes Interactive time change Yes Yes Interactive change (other) Yes Yes ProModel Micro Saint Background drawing tool Yes No Icon editor Yes No Importing graphics supported Yes Yes Zooming supported Yes No Panning supported Yes No Interactive speed change Yes -Yes Interactive time change Yes No Interactive change (other) Yes Yes Witness Simscript II.5 Background drawing tool No Yes Icon editor Limited Capabilities No Importing graphics supported No Yes Zooming supported Using Virtual Windows No Panning supported Limited No Interactive speed change Limited to 3 speeds Can be programmed Interactive time change No Can be programmed Interactive change (other) No Can be programmed Table 3: Simulation Experiment lems in screen design and layout, inappropriate terminology, inappropriate feedback or complete lack of feedback, problems with modality, inconsequential redundancies, and problems in matching with user tasks. Learnability can be impeded if there are: defects in navigation, problems in screen design and layout, inappropriate terminology, inappropriate feedback or complete lack of feedback, and problems in matching with user tasks. Flexibility is impeded if there is no user control over the system and if the system imposes the order in which the steps in a task are performed. The user attitude towards the system can be seriously affected by any of the above usability defects. The usability defects were identified in examined simulation systems. Again only ProModel for Windows has few problems. The only serious obstacles present in ProModel are its terminology and visual objects that are appropriate solely for the manufacturing domain. Therefore, in other domains there can be a problem in analogical mapping of the problem to an unsuitable domain. That would cause problems in matching the user tasks. XCELL-f, Witness for Windows, and Simscript II.5 have serious defects in navigation through the system. Feedback is inadequate in all five packages except in ProModel for Windows. Con- sistency of a system is assessed based on the degree to which the system performs in a predictable, well organised and standard fashion. XCELL-f- has an inconsistent use of function keys, Taylor II an inconsistent use of interaction devices, and Simpscript II.5 suffers from the inconsistency across its system modules. Modality is the state of the system operation that the user selects to perform a particular function (how easy is it to move between modes; how many different modes must the user know; how easy is it to recognise where one is at any time?). Only ProModel for Windows and Micro Saint provide clear feedback on the mode that the system is currently in. The four other systems either use modal dialogue which require the user to respond before any action can be taken or do not provide a clear indication in which mode the system is currently in. Only ProModel for Windows gives the user's feeling of being in control. It seems that the idea of adaptive user interfaces has not yet reached simulation software developers. There is no provision, or if there is it is marginal, for user interface customisation. However, there is the possibility to create new simulation systems for limited domains with a custom made interface appropriate for the model domain. These capabilities are currently limited to bespoke program- XCELL-t- Taylor II Control of statistics collection System System, User partially Default statistics provided Yes Yes Graphics supported No Yes Graph types NA Histogram, Pie chart. Bar, Line, Scatter, Gantt, Area graph User defined presentation No Partially Flexibility of presentation None Small Tabular form statistics Yes Yes Exporting files supported Yes Yes Printing statistics tables Yes No Printing graphs NA No ProModel Micro Saint Control of statistics collection System, User can only reduce the set User Default statistics provided Yes Yes Graphics supported Yes Yes Graph types Pie chart. Plot, Histogram, Bar, Line, Vertical line and Step graph Bar, Line and Step graph User defined presentation No Partially Flexibility of presentation Small Small Tabular form statistics Yes Yes Exporting files supported Yes Yes Printing statistics tables Yes Yes Printing graphs Yes Yes Witness Simscript 11.5 Control of statistics collection System Modeller Default statistics provided Yes NA Graphics supported Yes Yes Graph types Histogram, Time Series Histogram, Pie chart, Line graphs. Dynamic bar graphs. Trace and X-Y plots, Dials, Meters User defined presentation Partially Yes Flexibility of presentation Small Great Tabular form statistics Yes Yes Exporting files supported Yes Yes Printing statistics tables Yes Yes Printing graphs No No Table 4: Simulation Results ming that requires a substantial development effort. Sometimes user interface development can be facilitated using an object-oriented approach that reduces development time. An example is Simscript II.5 that provides ready-made user interface object templates like menus, forms, etc. supplied in the C language library. Only ProModel for Windows provides a minimal customisation of modelling environment. There is a facility for guiding an inexperienced user through the necessary steps of model development. Experienced users can choose the order in which to perform the steps of tasks. Hlupic (1993) provides a comprehensive set of criteria for the evaluation of simulation systems. Even though the criteria are drawn for manufacturing sys- tems they can be used for evaluating more general purpose simulation software if some of the specifics related to manufacturing systems are ignored. She concentrates primarily on modelling capabilities, taking the user interface into account broadly as "user friendliness", "user support" (documentation, tutorials, demonstration models), "modeUing assistance" (on-line help, prompting, logic checks), and "visual aspects" (animation, icon editors/Hbrary). However, what basis is used exactly to determine "user friendliness", for example, is not elaborated. Many authors argue that the advantages of VIS include better validation, increased credibility (and hence model acceptance), better communication between modeller and client, incorporation of the deci- XCELL-f Taylor II Tutorial Not provided Not thorough enough Getting started Part of the User Guide Not provided User guide Yes Yes Reference manual Not provided Not provided Index Only XCELL-f glossary Global for all manuals Terminology Manufacturing Manufacturing Technical ProModel Micro Saint Tutorial Not provided Yes Getting started Yes Yes User guide Yes Yes Reference manual Yes Not provided Index System concepts System concepts Terminology Manufacturing General Simulation Witness Simscript II.5 Tutorial Partial Yes Getting started Not provided Not provided User guide Yes Yes Reference manual Not provided Yes Index System concepts System concepts Terminology Manufacturing General Simulation Table 5: Printed Manuals Sion maker into the model via interaction, and learning via playing with the VIS. However, there is little published empirical evidence to substantiate these claims. In addition, animation can be used to enhance a model's credibihty and, according to Law and Kelton (1991), it is the main reason for animation's expanding use. Swider et al. (1994) feel that animation can provide convincing evidence that model behaviour is representative of the system under study. Cyr (1992) see advantage of using animation in its ability to demonstrate problems with the model itself which would otherwise be difficult to detect. Kalski and Davis (1991) point out that summary statistics sometimes do not show the active interactions of processes in a system, and they advocate the use of animation as an aid to the analyst in identifying the system status under which, for example, bottlenecks occur. There are many animation proponents in the simulation community, especially the software vendors, claiming the benefits of animation. However, there is very little published empirical evidence which would suggest how to design effective animation. Carpenter et al. (1993) conducted an experiment with 47 subjects to examine how well the animation communicated the operation of the simulation model. They considered combinations of three aspects of animation - movement, detail of icons, and colour. The results suggested that movement of icons is more important than their detail or colour in communicating the behaviour of a simulation model with moving entities. Swider et al. (1994) used 54 subjects to obtain objective and subjective measures in determining which combinations of animation presentation and speed were best for displaying violations of model assumptions. Based on the results of this study, Swider at el. (1994) recommend: the use of pictorial display with moving icons for simulation models with moving entities; the facility to set the presentation speed to make discrete differences visible; and to avoid overloading the user with too much visual information. The results of the above two studies are not surprising and they match our intuition and common-sense. However, their importance is in substantiating our intuitive judgement with some more concrete evidence. Animations with moving icons are often used in current simulation systems even though presentation of animation is not often well thought about. Ideally, it may seem desirable to present information on the screen that has characteristics similar to the objects we perceive in the environment. The visual system could then use the same processes that it uses when perceiving objects in the environment. Graphical means of description must be given preference over written ones because they present information in a more compact manner. Factors that contribute towards the mean-ingfulness of a stimulus are the familiarity of an item and its associated imagery. The graphical representation of constructs for different applications should give definite information about the type of model component it represents, such as waiting queues, customers or servers in queuing systems or-stores, or supphers in store keeping systems (Kömper, 1993). Designing manufacturing applications, as suggested by Preece et al. (1994), might benefit from the use of realistic im- XCELL-f Taylor II Model examples provided Yes Yes Help type One text screen Isolated text screens Navigation through help Not applicable Mouse and arrow keys facilitated using Help text Short information on system Complete version of printed material Index of topics Not apphcable Yes Search facility within help Not applicable Searches for a first occurrence of a given string Tutorial Not provided Not provided Context-sensitive help Not supported Only relevant page Help on help Not provided Not provided Printing help text supported No No Demonstration disk Not provided Elementary ProModel Micro Saint Model examples provided Yes Yes Help type Hypertext Limited Hypertext Navigation through help Mouse point and click Mouse point and click facilitated using on link nodes on link nodes Help text Differs from printed manuals Differs from printed manuals Index of topics Yes Yes Search facility within help Yes Searches for a first occurrence of a given string Tutorial Interactive lessons Not provided Context-sensitive help Yes Not provided Help on help Extensive Limited Printing help text supported Yes Yes Demonstration disk Professional Yes Witness Simscript 11.5 Model examples provided Yes Yes Help type Isolated text screens Hypertext Navigation through help Mouse point and chck Mouse point and click facilitated using on cross reference buttons on link nodes Help text Differs slightly from printed manuals Differs from printed manuals Index of topics Yes Yes Search facility within help Not provided Yes Tutorial Not provided Not provided Context-sensitive help Not provided Not provided Help on help Not provided Yes Printing help text supported No Yes Demonstration disk Not provided Not provided Table 6: On-line User Assistance ages in helping the users design and create objects. However, they anticipate that there might be a problem in the high-cost of real-time image generation and that for the actual needs of an application, such a degree of reahsm is often unnecessary. Nevertheless, we believe that it can help if some approximations of real life objects are used. Stasko's (1993) animation design recommendations state that animation should provide a sense of context, locality, and the relationship between and after states. Furthermore that the objects involved in an animation should depict application entities and that the animation actions should appropriately represent the user's mental model. If these recommendations were followed, the effectiveness, learn-abihty, and the enthusiasm of a wider user population to use simulation systems might increase. The eyecatching, appealing nature of animation can tempt designers to apply too many facets to an interface. Animation is, however, another attribute in which the often quoted design principle "less is more" does apply. Nevertheless, if the screen design is kept clean, simple, and well organised some redundant information can be quite useful to the user. The moderation principle is something that many simulation system developers should learn about. User interfaces that have screens crowded with too many objects, large numbers of offensive colours and incompatible colour schemes is more of a rule than an exception. The attribute names used in the examined simulation packages support mainly modelling in manufacturing domain. However, if the problem modelled is from a different domain manufacturing than the modeller has to map the entities of the domain modelled into the manufacturing domain. The analogical mapping that the modeller has to perform throughout the modelling process can cause many problems. Firstly, a heavy demand on the user's memory is required in order to perform constant translation of used objects to what these objects actually represent. Secondly, the concepts that have to be used have no close and natural association with the tackled problem. Thirdly, the tasks that have to be performed during the modelling process may not at all be related to the problem at hand. The effectiveness and learnability will therefore be seriously hindered. This will not promote the user's positive attitude towards the system. An essential aid in model development can be facihtated by selecting model components which are relevant to the model builder's modelling requirements. Pidd (1992b) points out that the graphics components must be directly linked into the simulator itself, so to avoid displays which are not a direct result of state changes in the simulation and that the model builders should be given the freedom to lay out the screen display by use of interaction devices, choosing how to represent the entities as the simulation proceeds from a provided set of icons. Our proposal is that simulation environments should provide model developers with the following: - Several pre-defined problem domains. - Facility to create new problem domains. - A facility to design and/or choose graphical representations for elements in a problem domain. - A facility to set default values for a problem domain. - A facility to set defaults for statistical data collection. - A facility to set defaults for the graphical presentation of simulation results. 5 Conclusions Traditionally, HCl has focused on how to design for data availability - is the available data legible and accessible? It is the domain actor's task to use the available data to answer questions and detect and solve problems. The perspective of representation design shifts emphasis away from the display of available data as signals to be interpreted, towards a focus on communicating what is signified by the data (Woods and Roth, 1988). Frequently, what data are relevant depends on the state of domain or the intentions of the problem solver. There is very little published material on usability of simulation systems or models. It seems that the simulation community is not particularly interested in evaluating user interfaces of simulation systems, and to examine what changes would enhance the usability of such systems and thus widen the user group. That is rather strange since simulation systems probably include a much wider scope for interaction paradigms than most other computer software. Advances in computer technology, especially in computer graphics, are much more readily incorporated into simulation systems than in others. References [1] ACM Special Interest Group on Computer-Human Interaction Curriculum Development Group (1992). ACM SIGCHI Curricula for human-computer interaction, Technical report, New York: Association for Computing Machinery, Inc. [2] Benyon, D. and D. Murray (1988). Experience with adaptive interfaces. The Computer Journal, 31, 5, 465. [3] Bobrow, D.G., S. Mittal and M.J. Stefik (1986). Expert systems: Perils and promise. Communications of the ACM, 29, 9, p.880-894. [4] Booth, P. (1989). An introduction to humancomputer interaction. Hove: Lawrence Erlbaum Associates. [5] Bright, J. G. and Johnston, K. J. (1991). Whither VIM? - A developers' view, European Journal of Operational Research, 54, 3, p.357-362. [6] Carpenter, M.L., Bauer Jr., K.W., Schuppe, T. F. and Viduhch, M. V. (1993). Animation: What's essential for effective communication of military simulation model operation?. Proceedings of the 1993 Winter Simulation Conference, Los Angeles, California, Association for Computing Machinery, p.1081- 1088. [7] Conway, R., Maxwell, W. L., McClain, J. 0. and Worona, S. L. (1990). User Guide to XCELL+ Factory Modeling System, San Francisco: The Scientific Press. [8] Cyr, R.W. (1992). Using animation to enhance a marine- terminal Monte Carlo simulator. Proceedings of the 1992 Winter Simulation Conference Arlington, Virginia, Institute of Electrical and Electronic Engineers, p.1000-1003. [9] Hix, D. and R.H. Hartson (1993). Developing user interfaces. Ensuring usability through product & process. New York: John Wiley & Sons, Inc. [10] Hlupic, V. (1993). Simulation modelling software approaches to manufacturing problems. Unpublished PhD dissertation, London School of Economics, University of London. [11] Kalski, D. R. and Davis, A. A. (1991). Computer animation with CINEMA, Proceedings of the 1991 Winter Simulation Conference Phoenix, Arizona, Association for Computing Machinery, p. 122- 127. [12] Romper, S. (1993). A systematization of requirements for the user interface of simulation tools. Systems Analysis and Modelling Simulation, 11, 2, p.107-119. [13] Kuljis, J. (1994). User interfaces and discrete event simulation models, Journal of Simulation Practice and Theory, 1, 5, p.207-221. [14] Kuljis, J. (1995) Usabihty of manufacturing simulation software. International Journal of Manufacturing System Design. 2, 2, p.105-120. [15] Kuljis, J. and R. D. Macredie (1996) Supporting model development through simulation systems. Journal of Intelligent Systems. 6, 1, p.25-44. [16] Larson, J.A. (1992). Interactive software. Tools for building interactive user interfaces. Englewood Cliffs: Prentice Hall. [17] Law, A.M. and D.W. Kelton (1991). Simulation modeling and analysis, 2nd ed.. New York: McGraw-Hill [18] Micro Saint Builder (1992). CA: Micro Analysis and Design Simulation Software, Inc. [19] Myers, B. A. and M. B. Rosson (1992). Survey on user interface programming. Proceedings of HCl Conference on Human Factors in Computing Systems, New York: ACM, p. 195-202. [20] Preece, J., Rogers, Y., Sharp, H., Benyon, D., Holland, S. and Carey, T. (1994) Human-Computer Interaction, Wokingham: Addison-Wesley. [21] ProModel for Windows (1993). Orem, Utah: Promodel Corporation. [22] Shackel, B. (1991). Usability - context, framework, definition, design and evolution. In Shackel, B. and S. Richardson (eds.) Human Factors for Informatics Usability, Cambridge: Cambridge University Press. [23] Simscript II.5 for Windows User's Manual (1993). La Jolla, CA: CACI Products Company. [24] Smith, S.L. and J.N. Mosier (1984). The user interface to computer-based information systems: A survey of current software design practice. Behaviour and Information Technology, Vol. 3, No. 3, pp. 195-203. [25] Stasko, J.T. (1993). Animation in user interfaces: Principles and techniques. In Bass, L. and P. Dewan (eds.). User Interface Software, Chichester: John Wiley & Sons, pp. 81-101. [26] Swider, C. L., Bauer Jr., K. W. and Schuppe, T. F. (1994). The effective use of animation in simulation model vahdation,Proceerfm^s of the 1994 Winter Simulation Conference, Orlando, Florida, Institute of Electrical and Electronic Engineers, p.633-640. [27] Taylor II Simulation (1993). Tilburg, Netherlands: F&H Logistics and Automation B.V. [28] Thomas, L .J., McClain, J. 0. and Edwards, D. B. (1989). Cases in Operations Management. Using the XCELL-h Factory Modeling System, Redwood: The Scientific Press. [29] Visual C-f-i- (1993) Microsoft. Windows Sim-script II.5 User's Manual (1993). San Diego: CACI Products Company. [30] WITNESS User Manual Release 307, Version 7.3.0 (1991). Redditch, UK: AT&T Istel Visual Interactive Systems, Ltd. [31] Woods, D.D. and Roth, E.M. (1988). Cognitive systems Engineering. In Helander, M. (Ed.) Handbook of Human-Computer Interaction, Amsterdam: North- Holland, p.3-43. Model Development and HCl Mike Pidd Department of Management Science, The Management School, Lancaster University, Lancaster LAI 4YX, England Phone: +44-1524-593870, Fax: -f-44-1524-592417 m.piddOlancaster.ac.uk Keywords: simulation, HCl Edited by: S.J.E. Taylor Received: April 14, 1996 Revised: July 14, 1996 Accepted: March 26, 1997 Much of the progress within discrete simulation has gone hand-in-hand with general developments in computing. Recent years have seen software developers putting great efforts into improving the user interfaces of discrete simulation systems. This too parallels developments elsewhere. This paper considers what further benefìts there might be for users and developers of simulation software from more careful attention to interface design. 1 Introduction As computers have grown more powerful, so have users' expectations of how they might be used. Today's school students now assume that computers will be fast, friendly and easy to use. Many of them, certainly in the USA and Western Europe, are video game experts, connoisseurs who are easily bored with experiences that do not live up to their expectations. (See Microserfs, Coupland (1996), for amusing examples of this). These people will be the next generation of simulation modellers and users and they may not be satisfied with the interfaces available in today's discrete simulation software. Thus, it seems important that the designers and vendors of simulation software start to take the question of user interface design very seriously. This paper presents the basic requirements for simulation software that stem from a particular view of modelhng that is argued elsewhere (Pidd, 1996a, 1996b). These are hnked to current theories and ideas about HCl (Human Computer Interaction or the Human Computer Interface) to present desirable features of future discrete simulation software. 1.1 Historical background It is probably true to say that developments in discrete simulation software have proceeded hand-in-hand with general developments in computer software. There have been a few cases in which discrete simulation software has led the field, examples being object orientation in Simula (Dahl and Nygaard, 1966) and the introduction of interactive program generators by Clementson (1991) in his ECSL system. However, in most cases, discrete simulation software developers have been willing to pick up and use whatever tools and ideas appear within the computing community. Examples of this being the use of animated graphics for visualisation by Hurrion (1976) and the use of source level debuggers to support program development. The purpose of this paper is to examine some of the links between simulation modelling and what is now known as HCL Given that the idea of simulation is to use a computer as a dynamic model of some situation or system, then it would seem that the question of appropriate HCl is an important one. This paper begins by considering the different ways in which discrete simulation software is provided, looks at the different roles which people play in developing and using simulation models and then speculates on how things might be improved. The question at issue is, what can simulation users and developers learn from the field of HCl? In addition, is there anything that the HCl community can learn from discrete simulation? 2 The Use of Discrete Simulation Software 2.1 Types of Discrete Simulation Software Different authors- have their own ways of discussing the various types of discrete simulation software that are now available. Law and Kelton (1991) divide this software into two main groups, those which require programming and the rest. The latter they describe as simulators. The former category includes general purpose programming languages and libraries such as C-H- or FORTRAN, as well as dedicated simulation programming languages such as the SIMSCRIPT family. A rather more finely drawn categorisation is found in Pidd (1992), who has no less than seven categories, ranging from 'do-it-yourself (in a general purpose programming language), through to Visual Interactive Modelling Systems (VIMS) such as Witness (Lanner Systems, latest edition) and Microsaint (Micro Analysis and Design, latest edition), via flow diagram or block diagram systems such as HOCUS (Szy-mankiewicz, McDonald and Turner, 1988) and GPSS. This paper uses a simple tripartite classification as follows. — 1. Software that requires all users to develop some true program code. This includes general purpose programming languages as well as simulation programming languages. It also includes those languages that provide support for visualisation and those that do not. — 2. Visual Interactive Modelling Systems which are primarily based around some kind of visual motif for virtually all of their functions. In these systems, examples of which include Witness, Microsaint, ProModel and AutoMod, a visual interface is used for model building, controlling simulation runs and for interaction as a simulation run proceeds. — 3. Layered systems in which the user can operate at a number of different levels, such as visual interactive modelling, automatic program generation, direct coding and low level bit twiddling. A few systems currently available incorporate some of these facilities and an example would be ARENA. 2.2 Groups of people involved in simulation projects Though simulation conferences typically focuse on those people who conduct the technical aspects of simulation projects, there is quite a range of people who may be involved across the set of activities that make up such projects. These may be different people or might be different roles that are conducted by one or more people. Examples include the following. — 1. Modellers: whose main role is to understand the system being simulated and to capture that understanding in a model that is implemented in some software system, or other. Thus the software interface must offer support to modellers as they develop, usually in a stepwise manner, their abstract and symbolic models. — 2. Programmers: who have the task, in some projects, of taking model conceptualisations and realising them in program code. In an ideal world this would enable the programmers, though coding, to operate at a level which relates to the problem being modelled, rather than just the computing aspects of the work. - 3. Project managers: who may be responsible for ensuring that the project meets the needs of the chents, is on-time and is properly conducted in a technical sense. This group of people may wish to establish standards that enable projects to be properly managed and consistently presented to clients. - 4. Customers: who are footing the bill for the project and whose questions are being addressed in the project itself. This concern of this group may be to ensure that they get value for money and this may be aided by suitable HCl considerations. - 5. Users: who may not be the same as the customers, but who may need to use a simulation model on one or more occasions to address issues of interest. This group may not be expert in simulation and may have limited expertise in computing. Thus the interface needs to be very supportive and should build on their previous experience and expertise. In addition, of course, there may be software vendors keeping an eye on what is happening. 2.3 Discrete simulation modelling A computer simulation involves experimentation on a computer-based representation of some system or other. Discrete event simulation is suited to systems made up of objects that change state and display dynamic behaviour. That is, those which change state through time. Thus, to build a discrete event model, the analyst must attempt to tease out and represent a number of features of the system being modelled. These are as follows. 1. The main entities of the system: that is, those classes of object whose behaviour seems important to the operation of the system. Note that word seems, if the modeller were absolutely sure of the important entities and if this were not a subject for thought, debate and argument, then it might not be necessary to model and simulate the system at all. 2. The logical operations of these entities: that is, the significant behaviour in which the classes of object engage as they persist; or appear, or disappear within the system being modelled. Once again, the previous sentence includes a weasel word, significant. This suggests that the modeller must make judgements about what features of the entities' behaviour deserves inclusion within the model. 3. The logical interactions of the entities: systems would be very simple to model and to simulate if the objects within them did not engage with one another. It is these complicated interactions through time that determine how the system itself will appear to behave and some of these interactions may be hard to tease out or may occur only rarely. 4. The statistical distributions: the entities will engage in activities, alone or whole other object classes and these activities may occur at irregular intervals and for time periods that cannot be precisely determined in advance. It is normal to model these durations and intervals using statistical distributions that are believed to be good representations of the observed behaviour. Thus an important HCl task is to ensure that the interface offers support on this model building, especially that it eases the gradual development of a model. 3 Basic Ideas of Human Computer Interaction/Interface 3.1 Interface design The main concern of HCl is to ensure that computer software and hardware is well suited to its users and to the tasks that they wish to perform. Early work on HCl tended to focus on the speciahsed needs of people such as pilots, engineers running large, complex systems and others such as air traffic controllers who worked with computers in situations of great pressure, risk or danger. More recently, the emergence of the Apple Macintosh and other windowing-type operating systems has brought some of the benefits of the this early work to users of general purpose computer systems. HCl includes the design of hardware as well as software, but for the purposes of this paper, HCl is restricted to the software that enables users to interact with computer systems. This software interface should reflect the characteristics of the people who wish to use the system and the tasks and functions that they have in mind as they approach the computer system. Lansdale and Ormerod (1994) suggest that the development of good software interfaces requires the cooperation of two groups of people, designers and psychologists. The designer must ensure that the software is able to achieve the tasks which the user may require of it. The psychologist must focus on the user to try to understand how the user might wish to conduct these tasks. This co-operation occurs during task analysis which aims to understand the logical structure of complex tasks, to identify the information needed by the users to carry out these complex tasks, to understand the activities conducted by users with the interface and to appreciate the conditions that may affect their performance. On the same theme, Norman (1990) suggests that the interface designer must bear three things in mind if the interface is to be well-designed. — 1. The types of people who may wish to use the system. — 2. The tasks that these people wish to accomplish. — 3. The tools that are most appropriate in enabling them to do those tasks. This is an extension of what Norman (1988) terms 'user-centered design'. 3.2 User centered design Norman (1988) suggests that designers should take account of seven principles if they wish to achieve a user-centered design. — 1. Use both knowledge in the world and knowledge in the head . Knowledge in the world is that which is available externally, especially visibly and which will suggest what the function of some system component may be. Knowledge in the head is that which the user is able to internalise as they become practised and proficient and for which few cues are needed. Hence, at its simplest level, there should always be enough clues on-screen for the naive user to know what to do and yet the expert user should also feel comfortable and should not be frustrated by a having to step through a mind-numbing routine of protocols to achieve some simple end. — 2. Simplify the structure of tasks.: This requires the designer to take account of the limitations of human memory. This is often conceptualised as short term memory, which is often believed to be capable of holding 7 plus or minus 2 items and long term memory, which seems to develop conceptual frameworks within which new experiences are considered. Thus, software must not overload short term memory, and it should be a good fit with the users' conceptual frameworks. Software that clashes markedly with a user's likely conceptual framework is likely to be difficult to learn and will be error prone in use. — 3. Make things visible. Designers should struggle to ensure that sufficient information is visible to the user to enable them to do what they wish, within the limitations of the software. This clearly relates to the first principle of using knowledge in the world - it requires the designer to ensure that suitable cues are available to the user. — 4. Get the mappings right. This principle requires the designer to ensure that the user can understand the links between the options, the information presented and the tasks that they wish to perform. The links between the users' intentions and the actions open to them in the software need to be made very clear. It also relates to the need to ensure that users have appropriate conceptual models, otherwise they may misunderstand the function of the system and its components. — 5. Exploit the power of constraints: Constraints are those are restrictions that are deliberately built into the software to ensure that dangerous or bizarre actions cannot be attempted. This might mean, on occasions, frustrating the user who wishes to cut corners. — 6. Design for error. This principle requires the designer to assume that the user may make mistakes. It is vital, therefore, to ensure that, if mistakes and shps occur, the behaviour of the software is safe and helpful to the user. It is unreasonable and downright stupid to assume that even experts never make mistakes. — 7. When all else fails, standardise. The idea of this final principle being to limit the amount of learning that the user must achieve in order to accomplish their required tasks. Clearly, these principles are inter-dependent and overlap with one another. But their overall message is very clear. Focus on the user and make things easy for them. This requires the designer to know who the likely users will be and to understand what they may wish to do. 3.3 Some principles of learning Kay (1990) builds on Bruner (1962) in suggesting that human cognition is made up of three interlinked aspects as follows, from the simplest through to the more abstract. As learning occurs, an individual moves through these levels. — 1. The enactive mentality. In this, there is a focus on direct experimentation, on trying things out. It relates to very concrete thinking. Expressed in computer interface terms, this requires the user to be aware of exactly where they are in the system and exactly what is open to them at that point. Given that Bruner (op cit) argues that this is the way in which many of us start to learn about new things, this suggests that the interface be designed to ensure that its exploratory use can do no harm. — 2. The iconic mentality. In this, the individual tries to recognise, compare and configure different aspects of their surroundings. This is rather more abstract than an enactive approach in that it suggests that a person may wish to change the world in some way or other and to make simple inferences. In computer interface terms, this means that the user needs recognisable images and objects whose function is clear. This should then reduce the need for learning by enactment and experimentation, — 3. The symbolic mentality. In this, the individual tries to tie together chains of reasoning in a way that may be very abstract. In essence, the person has conceptual models which are applied to the task at hand. There is thus a need to see the connect between different symbols and to understand how they may be linked to achieve particular tasks. In discrete simulation terms, the interface should support modeUing. In these terms, simulation modelling operates with a symbolic mentality, but Kay (op cit) points out that this will not be achieved unless the other two levels are in place. That is, the ability to conduct symbolic reasoning sits on iconic and enactive foundations. Thus, useful discrete simulation software must make provision for all three. 3.4 The effect of the interface Finally, it is important to bear in mind the comment made by Lansdale and Ormerod (op cit). Though they are insistent that good, user-centered design must be based on a good fit between task, technology and the user, they argue that one other aspect is of crucial importance. This is that the users' goals may not be static through time. There are two reasons for this, one of which may not be obvious. The obvious point is that the task itself may change for reasons quite unconnected with the software. Its scale might increase (e.g. air traffic controllers might need to deal with a much more crowded airspace) or other changes may take away much of the task (e.g. decisions on the sharing of air space amongst national traffic controllers). Thus a sensible task analysis needs to look at possible changes in the task. The less obvious point, and the one that matters for discrete simulation, is that the nature of the interface may change the task itself. To use a non-simulation example, consider word processors. They have two main virtues. The first is that they enable any trained user to produce work that is well-presented, hence a conference can provide presentation guidelines that enable authors to meet their requirements for camera-ready copy. The second is that it changes the nature of the task by allowing people to adopt a different approach to their writing. Writing with pen and ink requires a sentence, a paragraph even, to be composed in the head before it is committed to paper. This forces the pen-and-paper writing style to be thoughtful and considered (in the opinion of Stoll (1995)) or ponderous, in the opinion of others. Using a word processor, especially one with a good outliner, allows the user to hammer away at the keyboard with a stream of ideas that can later be expressed as lucid prose. Hence the software, and its interface, can change the nature of the task. 4 Implications for Discrete Simulation Software 4.1 User-centered design Norman's seven principles can, perhaps, be reduced to four when viewed within the use of today's window-centric world. These are as follows. — a) Simplify the structure of tasks. — b) Get the mappings right. — c) Exploit the power of constraints. — d) Design for error. This is not to say that today's windowing operating systems are perfect, far from it. However, adherence to their norms at least helps to enforce Norman's other three principles. A user who is familiar with other windowing software will at least have useful knowledge in the head and will know where to look for knowledge in the world. Such systems are also essentially visual (which presents severe problems for some users of computers with disabilities) and they provide some form of standardisation. Principles a) and b) above relate to Kay's point about symbolic, iconic and enactive mentalities. That is, they relate to the need to ensure that the conceptual model of the software is abundantly clear in its interface and for it to fit with that assumed by the user. Those of the user are provided, in part at least, by the conceptual frameworks of their long term memory. The interface and its metaphors need to be consistent, clear and must make sense to the user, but this is not easy. Consider for example, the metaphor that is usually employed in Visual Interactive Modelling Systems (VIMS). In these, the user develops a model by placing icons on-screen and by linking them with directed arcs in a network of some kind, see Figure 1. Though it may not be obvious, there are at least two ways in which this can be done - and this will not be obvious to the naive user. — 1. Make this a task network. This is the approach employed in software such as Microsaint (op cit). Each node represents a task and each of these tasks may employ several resources which are committed during the duration of the task. Thus, for example, a medical consultation may require the co-operation of a patient, a doctor, a nurse and some specialised equipment. These resources are freed at the end of the task. One of these resources is modelled as the system entity which flows through the task network. — 2. Make this a machine network. This is the approach commonly taken on manufacturing-oriented VIMS such as Witness (op cit). Each node represents a system resource that will be occupied as a system entity (usually an item being manufactured) passes through it. The node represents a machine that may well be capable of performing several tasks. These distinctions will be not be obvious to a naive user from the interface nor may they be obvious from simple examples. The user may suddenly be brought to the jarring realisation that their conceptual model is a task network (or vice versa) and the simulation software assumes a machine network (or vice versa). Principles c) and d) relate to the need for safety. They aim to minimise the risk that the user may make slips (accidental errors and abuses) or errors (deliberate actions that turn out to be misconceived): The interface and its metaphors must be clearly designed with this in mind. In the case of discrete simulation software, if designers wish to take these ideas seriously, then serious issues about various statistical aspects of the model and the simulation need to be taken into account. As a simple example, most VIMS permit the use of Normal distributions, but even sophisticated users may sometimes forget that Normally distributed variates range from plus to minus infinity. In most cases, users and modellers are probably assuming bounded Normal distributions. Whether this is what they will get may not be clear. If it is what they get, the bounds may not be stated anywhere that is easily accessible to the user. 4.2 Needs of different groups It is probably true to say that early simulation software systems concentrated on the needs of modellers and programmers. The idea being to give maximum support to the technical aspects of the task in hand. That this effort has been successful is evident in the widespread use of VIMS and the growing acceptance of layered systems and approaches. Though the early, first-generation user interfaces of these systems now seem somewhat crude, the latest generation does seem to have taken some of the lessons of user-centered design to heart - assuming, that is, that the technical people are the users. But what of the other groups of people involved in a simulation project? When a simulation model is used Task or machine? Task or machine? Task or machine? Task or machine? Task or machine? Figure 1: Developing a model by placing icons on-screen or viewed by someone who is not the developer, the user is modelling - comparing their conceptual model of the system with the perception of what the simulation model is doing. How can this be supported? The most common approach has been to improve the quality of graphics and visualisation. Welcome though this is, it does carry some problems. Last year the author visited a state-of-the-art engineering company who were planning the development of a highly expensive flexible manufacturing line. As part of this, they developed a discrete simulation which they were keen to show off. The graphics and visualisation were stunning with 3 dimensions, correct proportions, panning and zooming, etc.. But, the simulation itself was, in analytical terms, probably a waste of time. Simple calculations showed where the bottlenecks would occur and, given the discrete nature of the system components, it was pretty obvious what design would be needed. The author has a strong suspicion that this simulation may have hindered a sensible decision making process rather than supporting it. Though graphics and visualisation are important, it must be remembered that their role should be a support to people in their thinking. Sometimes a simple representation may be a better support to thinking than a complex one. As with user-centered design for the analyst, so too for the other groups, the basic questions concern the tasks to which the different users wish to put the system. It may be that this implies that well designed systems should offer support to these users as they experiment with simulation models. If Bruner and Kay are correct, then these users will wish to enact scenarios in an attempt to learn about the model and to make inferences about the system being simulated. If appearances are deceptive, perhaps superb visualisation is not the be-and-end-all for non-technical users? References [1] Bruner E. (1962) On knowing: essays for the left hand. Harvard Univ Press, Cambridge, Mass. [2] Clementson A.T. (1991) The ESCL Plus system manual. AT Clementson, The Chestnuts, Princes Road, Windermere, Cumbria, UK. [3] Coupland D. (1995) Mieroserfs. Flamingo, London. [4] Dahl 0. and Nygaard K. (1996) SIMULA - an Algol-based simulation language. Comm ACM, 9, 9, p. 671-678. [5] Hurrion R. (1976) The design, use and requirements of an interactive visual computer simulation language to explore production planning problems. PhD Thesis, University of London. [6] Kay A. (1990) Interview. In Laurel B. and Mount-ford S.J. (1990) The art of HCl design. Addison-Wesley, Reading, Mass. [7] Lanner Systems (latest edition) WITNESS User manual. Lanner Systems, Redditch, Worcs, UK. [8] Lansdale M.W. and Ormerod T.C. (1994) Understanding interfaces: a handbook of human computer dialogue. Academic Press, New York. [9] Law A.M. & Kelton W.D (1991) Simulation modelling & analysis, second edition. McGraw-Hill, New York. [10] Micro Analysis & Design (1992) Gettine started with Micro Saint for Windows. Micro Analysis &; Design Simulation Software Inc., Boulder CA. [11] Norman D.A. (1988) The psychology of everyday things. Basic Books, New York. [12] Norman D.A. (1990) Interview. In Laurel B. and Mountford S.J. (1990) The art of HCl design. Addison-Wesley, Reading, Mass. [13] Pidd M. (1992) Computer simulation in management science, third edition. John Wiley & Sons Ltd, Chichester. [14] Pidd M. (1996a) Tools for thinking: modelling in management science. John Wiley & Sons Ltd, Chichester. [15] Pidd, M. (1996b) Five Simple Principles of Modelling, in Proceedings of the 1996 Winter Simulation Conference, Eds. Charnes, J.M., Morrice, D.J., Brunner, D.T., and Swain, J.J., p. 721-728, Association for Computing Machinery, Coronado, California. [16] Stoll C. (1995) Silicon snake oil: second thoughts on the information superhighway. Doubleday, New York. [17] Szymankiewicz J, McDonald J. and Turner K. (1988) Solving business problems by simulation. McGraw-Hill, Maidenhead, Berks, UK author biography Soft Modelling Approaches to Simulation Model Specification Brian Lehaney Faculty of Business, University of Luton, Park Square, Luton, Beds, LUI 3JU, England Keywords: simulation, soft systems methodology, health care systems Edited by: S.J.E. Taylor Received: April 14, 1996 Revised: July 14, 1996 Accepted: March 26, 1997 Simulation is both popular and powerful, but reportage of simulation case studies indicates that in many cases process is treated cursorily, and end-user-acceptance of fìnal models is not forthcoming. Whilst texts often proclaim the importance of process, this is usually left to the discretion of the modeller. A range of problem structuring (or soft) methodologies have been developed to address process issues. However, these can be both slow and unwieldy. This paper outlines a case which utilises the principles of soft methodologies in a relatively quick and dirty approach to process. 1 Introduction Simulation provides managers with a powerful means to assess the demands on resources created by variable patterns of arrivals and service rates, such as those experienced in hospital outpatients departments. Analytical techniques such as queuing theory may not be of help in such situations, if their assumptions are too rigid or unreahstic or the situation is too complex. However, simulation does not provide a panacea, and much depends upon the way in which it is used. In order to ascertain the appropriate system specification, and model parameters, and in order to assess the value of the simulation, process of discusion an debate must be underataken. Indeed, that very discussion and debate may provide resolution in itself. Despite the possibihty of good intentions, simulation textbooks tend to ignore, or mention only fleet-ingly, the important processes of problem formulation and logical model development. As Paul and Balmer (1993, p5) note 'Experience of this process of model formulation is not easy to provide in the context of the essentially artificial 'practical' exercises in either a textbook or academic course'. In fact simulation texts give no real guidance as to how this process should be undertaken. In recent years problem structuring (soft methods) has flourished as an area of academic and practitioner interest. A range of methodologies has been developed, including Soft Systems Methodology (Checkland, 1981, Wilson, 1984). These draw from the following principles: - emphasis on problem identification, problem structuring, and problem resolution, rather than on problem solution; — acceptance of multiple problem-perspectives; - belief that the researcher will affect the situation; - consensus and participation rather than imposition; - continual re-evaluation; - no automatic acceptance of existing structures; - involvement of those being researched in the research process; - concern to elicit repressed or minority views; - challenging approaches to 'norms'. Whilst the approaches vary in many ways, the arguments in their favour are that they provide: - structured approaches to problem identification; - increased sense of model ownership, and hence increased likelihood of model confidence; - increased probability of implementing recommendations; - a reference framework which may be particularly useful in tricky situations, especially for the less experienced analyst; - improved communication through the use of a known modeUing methodology; - an important reminder of the process to authors who are writing up case material - process is often omitted in case articles. For a number of reasons. Soft Systems Methodology is advocated as potentially the most suitable for combining with simulation for the following reasons: — each approach provides important features missing from the other; — the two can be United in a truly complementarist manner; — SSM is probably the best known soft method; — SSM can be used to undertake the important problem structuring phase of simulation, assisting in identifying system boundaries and system activities; — SSM creates an activity-based model which can be converted to an activity cycle diagram; — simulation depicts a range of options which assists in assessing their feasibility and desirability; — simulation produces dynamic models which can be used to investigate interactions; — SSM enables 'hidden' activities to be identified, by means of issue-based root definitions; — the use of SSM reduces the chance of implementation failure which results from misunderstandings. for relevant systems which are described by a root definition (3) and conceptual model (4). Although other forms of root definition are possible, those which are both consensus-based, and issue-based are the most interesting and most useful. A root definition describes a system in terms of the following components. - Owners, the roles of monitoring and taking appropriate control actions; - Actors, the roles of running the system; — Customers, the beneficiaries (or victims) of the system; - Transformation, the system inputs coverted to outputs; — Weltanschauung, the world view, the perspective taken in defining the system; — Environment, the constraints on the system. The above can be formed as the mnemonic CAT-WOE, and may be used to deter the modeller from omitting important system elements. Any omissions should be deliberate and rational. 2 What is Soft Systems Methdology? Soft systems methodology (SSM) is an approach to modelling developed by Checkland (1981) and Wilson (1984), as an alternative to traditional 'hard' approaches, which are based on the prescriptive use of techniques, for clearly defined problems. Such techniques are of little use in the initial analysis of a human activity system, which is likely to have problem areas that are not clearly identified, and which are unstructured. Soft system methodology enables the people involved in running a system (Actors), those responsible for controlling it (Owners), and those who receive its benefits (Customers), to participate in the process of developing a system model, which is likely to encourage acceptability of the model. SSM may be used to aid the identification of system boundaries and system activities, particularly in complex systems. This is particularly useful in a case where a 'hard' technique may eventually be applied, such as in the simulation of an out-patients system. Activity areas within the National Health Service (NHS) are typically 'messy', and particularly suited to an SSM approach, and to the application of simulation. The general seven stages of soft systems methodology are shown in Figure 1. The methodology is iterative in approach, and is not prescriptive as to a starting point. The unstructured problem situation (1) is described by a rich picture (2). This is used to search 3 A Conceptual Combination of Simulation with SSM Figure 2 shows how SSM and simulation may be combined. Phase 1 comprises the early stages of SSM, in which finding out about the problem situation is undertaken, the problem situation is expressed (rich picture), and the system is described (root definition). From the root definition, a conceptual model is formed which contains the minimum set of activities needed to support the root definition. The conceptual model is compared with the system (Phase la), and, where appropriate, the root definition is changed, and a new conceptual model developed. If the activity-level of the conceptual model is too broad, selected activities are expanded until the appropriate level of resolution is reached. As primary task root definitions are used, it is Ukely that the systems identified within the conceptual model will match those of the organisation. Following temporary entities through the system may result in systems which do not match those of the organisation and which may not have owners. At this stage, if such systems are identified, it may be that control actions are taken. If the organisation appoints an owner of a newly-identified system, for example, this may be sufficient to address any problem situations which have arisen. If Phase 7 indicates that model output and system output do not match as well as is desired, the route of change must be through Phase 4, as adjusting the Action to improve the situation ±_ Unstructured problem situation Problem situation expressed Root definition Real World Systems thinking about the real world Feasible and desirable change Real world / conceptual model comparison 4 Conceptual model Figure 1: The SSM Seven Stage Process model ad hoc is hkely to lead to self-fulfilling validation prophecies. (The modeller must make judgements regarding minor changes.) The route through Phase 4 preserves the integrity of the model, and mimics the 'Rich-Picture-to-Root-Defintion- to-Conceptual-Model-to-Rich-Picture-to-Root Definition' circle of SSM, which should not be broken by direct input from the Rich Picture to the Conceptual Model. (The latter should be built solely from the root definition.) If the conceptual model development has been undertaken rigorously and with 'good' participation, it should be unnecessary to revisit the early SSM stages in the first iteration. These should, however, be revisited as part of the overall process, as once policy changes have been explored and implemented, the system, being dynamic, has led to another investigation. The cycle then continues. The concept proposed is appealing in many ways, but it is not without its difliculties. As Mingers (1995) notes, despite Checkland's assurances that SSM is time-independent, it is in fact time consuming. A useful approach is one which enables an accepatble simulation model to be built quickly, but within a framework which embodies the principles of soft methodologies. 4 A Quick and Dirty Case A hospital outpatients department was the subject of a recent investigation. Table 1 shows the process. The discussions were essentially focus groups geared to patient throughfiow. The key stakeholders were easily identified very quickly. From this identification the rest follows. Table 1 may appear to propose a sequential approach to a complex problem (Note that the initial First Contact was reassigned as a key stakeholder after the first two stages). In fact many of the activities in Table 1 may be undertaken in parallel, and the process is iterative. These activities can be grouped as a conceptual model, the root definition ofr which is as follows: A system owned by a group of key stakeholders, run by analysts, key stakeholders, and other stakeholders, who use simulation modelling as an aid to develop and implement operational policy which meets internal and external criteria. Using the CATWOE mnemonic: - Customer: unspecified - Actors: analysts, key and other stakeholders — Transformation: to develop and implement operational policy - Weltanschaung: by using simulation modelling as an aid, operational policy may be developed and implemented — Owners: key stakeholders — Environment: internal and external criteria The system which is being simulated is the outpatients department. The root definition and conceptual model here relate to a system of resolution which utilises that simulation model, but is not itself being simulated. If it were to be simulated (not impossible) then another overaching root definition and conceptual model for a system of resolution would be needed. The important point is that instead of the simulation being used simply to help solve a single specific problem at an operational level, it is now part of a system to resolve on-going complex situations at a strategic level. The above process has been used sucessfully to develop a simulation of an outpatients department. The term 'successfully' is used here to denote that the end users have welcomed the recommendations resulting from the investigation, and are taking control actions (patient rescheduling) accordingly. The above process is now seen as an important part of their monitoring and control procedures. The detailed methodology outlined below should be accompanied by critical reviews of the overall project, its process, its timing, and its outcomes to-date, by means of scheduled meetings of analysts and stakeholders, and by any other means considered to be useful by the analysts and stakeholders. The frequency and duration of meetings may be adjusted as the project develops and in order to ensure that analysts and stakeholders have sufficient opportunity to cover any major issues relating to the project which they wish to raise. Some stages may be undertaken in a different order to that shown below, and some stages may be undertaken in parallel. The terms 'model' and 'system model' refer to diagrams, numbers, and words that describe the analysts' and stakeholders' views of the operations of the system (eg flowcharts). This is distinct from a 'computer simulation', although the latter will be based on a 'system model'. 5 Conclusion Simulation literature is sparse in the extreme with regard to process, and the principles of soft methods are useful for anyone planning or examining an investigation involving simulation. SSM is conceptually the most appropriate soft approach to combine with simulation, but it is time consuming and unwieldy. A quick and dirty approach to developing simulation models which utilises the principles of soft methods may encourage end-user confidence in the early stages, and if an over-arching 'soft' framework is utilised, this confidence is fostered and maintained. References [1] Checkland, P.B. (1981) Systems Thinking, Systems Practice, Wiley, Chichester. [2] Mingers, J. and Taylor, S. (1992) The Use of Soft Systems Methodology in Practice. Journal of the Operational Research Society, 43, 4, p.321-332. [3] Paul, R.J. and Balmer, D. (1993) Simulation Modelling, Chartwell Bratt, Bromley. [4] Wilson, B. (1984) Systems: Concepts, Methodologies, and Applications, Wiley, Chichester. Actors Actions A, FC agree the broad nature and scope of the project A, FC establish the initial key stakeholders A, KS establish the broad area of investigation A, KS re-establish the key stakeholders A, KS estabhsh the nature and scope of the project A, KS agree working objectives A, KS agree an initial project process and timetable A, KS establish other relevant stakeholders A, KS agree initial model of system boundaries and system activities A build initial computer simulations A run initial computer simulations using 'rough' data estimates A, KS evaluate initial computer simulations A, KS establish other relevant stakeholders A, KS decide roughly how the system could be best examined 'on the ground' A, KS, ORS inform ORS of the nature and scope of the project A, KS, ORS refine the process of 'on the ground' system examination A, KS, agree a timetable to examine the system 'on the ground' A, KS, ORS examine the system 'on the ground' A, KS, ORS collate information A, KS refine the system model A, KS refine the nature and scope of the project A, KS refine the working objectives A refine the computer models A run the refined computer models using 'rough' data estimates A, KS establish confidence in results A, KS refine data requirements A, KS, ORS collect and collate additional data A run refined computer simulation using refined data A, KS experiment with scenarios and analyse results A, KS determine the external and internal criteria which policy should address A, KS assess which policy options are both feasible and desirable KS establish how policy is to be implemented (practical, technical) KS implement policy A, KS assess the success of policy in meeting internal and external criteria A, KS reassess the nature and scope of the project Key A Analysts FC First Contact KS Key Stakeholders ORS Other Relevant Stakeholders Table 1: Simulation Modelling Process Figure 2: A Conceptual Combination of Simulation with SSM Simulation for Intra- and Inter-Organisational Business Process Modelling George M. Giaglis and Ray J. Paul Department of Information Systems and Computing, Brunei University, Uxbridge, UB8 3PH, England Phone: +44-1895-274000, Fax: -h44-1895-251686 george.giaglisSbrunel.ac.uk, ray.paulObrunel.ac.uk AND Georgios I. Doukidis Department of Informatics, Athens University of Economics and Business, Patission 76, Athens 104 34, GREECE Keywords: simulation, business process modelling Edited by: S.J.E. Taylor Received: April 14, 1996 Revised: July 14, 1996 Accepted: March 26, 1997 Business process modelling (BPM) is an increasingly emerging field of simulation application. Although it has been practically demonstrated that simulation can be an effective tool for business redesign, there does not exist a comprehensive framework to explain the characteristics of business processes and identify specifìc requirements for their modelling. Furthermore, hardly any attention has been paid to the modelling of inter-organisational business systems. In this paper, we examine the nature of business processes in the light of modern change management approaches and propose a set of requirements for their modelling. We then concentrate on inter-organisational processes and argue that modelling problems can be much more difficult to overcome when more than one business is involved, mainly due to the multiplicity of decision making levels involved and the subsequent need for multi-level output analysis. Based on an empirical study, we illustrate the practical problems of modelling inter-organisational business systems and suggest desirable characteristics of simulation packages for that purpose. 1 Introduction have in common that they require businesses to model the ways in which they currently operate, to identify A multitude of change management concepts have opportunities for change, and to design and implement emerged during recent years to help modern enter- alternative ways of carrying out business processes. In prises in their efforts to adapt in a constantly changing view of the above. Business Process Modelling (BPM) business, social, and technological environment. The has recently received widespread attention and has most popular of these approaches include: been acknowledged as an integral part of any change - Business Process Re-engineering (BPR) (Hammer management project. Different tools and techniques 1990, Davenport and Short 1990) proposed for BPM, and simulation has been identified as an extremely useful tool for this purpose - Continuous Process Improvement (CPI) (Bar- (see for example Tumay 1995, Swami 1995, Bhaskar rington 1991) et al 1994). Despite the availability of these tools, it ^ , ^ ,, ,, , has been reported that companies are usually facing - Tota Quality Management (TQM) (Oakland ^^^ ^^^^^ 1993) in detail the way they operate (Hansen 1994) or to - Organisational Transformation (OT) (Adams implement changes in existing environments (Galliers 1984) 1994). Many reasons can be attributed to this difficulty, Each approach differs significantly in the scope and the primary ones being: range of the anticipated changes, the management tools utilised to achieve change, and the business con- - the complexity of most real-world business pro- texts in which they can be used. However, they all cesses — their stochastic and usually unpredictable behaviour — the interdependencies between individual tasks — the informal nature of many tasks which makes their analysis and documentation profoundly problematic — the different perceptions of users regarding the way in which work is being done. Such modelling problems can become very significant in large, complex organisational settings, especially in cases where more than one business is involved (inter-organisational systems). For example, Business Process Re-engineering projects, where inter-organisational processes almost always play an important role (see for example Riggins and Mukhopad-hyay 1994), have been reported to have a large proportion of failures in practice. In this paper, we first examine the nature of the problems of business modelling in general and identify a set of requirements that should be met if a process modelling exercise is to be successful. We then concentrate on the modelling of Inter-Organisational Business Processes and examine their distinct characteristics and requirements for modelhng. Simulation modelhng is assessed as a potential tool for BPM (at intra- and inter-organisational levels). Finally, an example of inter-organisational business modelling is presented to help clarify some practical modelling problems that might arise. 2 Business Processes: Characteristics and Modelling Requirements 2.1 Process-Based Organisational Approach Most of the change management concepts identified above (especially BPR) adopt a new look to organisations based on the processes they perform rather than the functional units, divisions or departments they are divided into. Processes are defined as 'structured, measured sets of activities designed to produce a specified output' (Davenport 1993). Typical examples of major business processes include the purchasing of raw materials from suppliers, the use of these materials to produce goods and/or services, the delivery of these goods/services to customers, the acquisition of new customers, the development of new products according to customer needs, etc. It is obvious that each of these processes requires the co-operation and synchronisation of different functional units in order to be successfully performed. It is also typical for a business process to cross organisational boundaries and extend to third parties (customers, suppliers, etc.). Of course, processes can be described at different levels of detail depending on the abstraction put into analysing the organisation. Typical business processes hke those identified above, can be divided into sub-processes which can be further split until the level of individual business tasks. 2.2 Requirements for Business Process Modelling It has been argued (Willcocks and Smith 1995, Galliers 1993) that businesses and business processes are sufficiently complex systems and therefore carefully developed models are necessary to understand their behaviour in order to be able to design new systems or improve the operation of existing ones. As businesses are essentially 'socio-technical' systems, we can distinguish the basic requirements of the decision maJcers regarding the modelling process in two separate areas: 'Technical' requirements which refer to those needs that call for the application of engineering principles in process analysis and design, and 'Political' requirements which refer to the needs that emerge from the social nature of business systems. These requirements include; a. Technical Requirements — Formal Modelling Formal engineering principles should be adopted during the modelling process in order to enable the development of models that can be readily understood and agreed upon by all paxties, thus providing a common basis for decision making. - Quantitative Modelling Managers need to have quantitative information that will allow for informed decision making (e.g. cost-benefit analysis) and for direct comparison between alternative system designs. - Stochastic Modelling Modelling should take into account the stochastic nature of business processes, especially the way in which they are triggered by external factors and should allow for representation of and experimentation with situations where a great degree of uncertainty exists. Sensitivity analysis of business models becomes a significant issue in this case. — Model Documentation Models should be easy to document for exchanging information between modellers, analysts, and decision makers. Model documentation can also be used as a reference in subsequent modelling exercises and/or if the model development teams change. — Model Adaptability or Reusability Models should be easily updatable to follow changes in actual processes. Thus, they can be continuously used for future modeUing exercises. Reusable models could assist in reducing the cost of model building and can provide an additional means of justifying the initial investment. — Objective-driven Modelling BPM is usually performed having in mind specific business goals to be achieved through the process redesign exercise. The evaluation of alternative configurations is therefore highly dependent on the objectives of the particular study. Business models should reflect this requirement of decision makers and allow for output analysis that can be configured according to objectives so as to provide alternative views of measuring business performance. b. Political/Social Requirements — Feasibility of alternative designs Modelling and decision making in business contexts should take into account such factors as legislation restrictions, user acceptance of changes, etc. It is not sufficient to simply derive a particular system configuration that seems to optimise business performance, if the changes required in business processes cannot be practically implemented for this configuration. — Communication of Models Business models are often used in brainstorming sessions of business management in order to assist in deciding changes. The models should therefore allow for easy communication of results between different parties. Moreover, generating alternatives and modifying the model during the decision making process is another very important aspect of business modelling, as managers clearly need to be able to interact with the models as new information or ideas emerge during brainstorming sessions. — User Friendliness Modelling tools should be easy to use to allow users of the processes to be personally involved in the modelling exercise. The personal involvement of users should increase the confidence of the whole enterprise in the change initiative, thus enabling a greater degree of acceptability of the derived results. — Business Process Modelling approaches should combine the requirements identified above if they are to be proven useful tools for business decision making. In the next section we will assess the potential of simulation modelling as a suitable BPM technique. 2.3 Simulation as a Tool for Business Process Modelling Simulation can be an invaluable tool for BPM, as it incorporates characteristics and capabilities that can accommodate all the requirements identified above. - Formal Modelling Simulation is a formal and robust technique. It does not rely heavily on mathematical abstraction therefore it is suitable for modelling even complicated management systems (Pidd 1992). - Quantitative Modelling Simulation is basically a numerical technique, therefore it can be used to generate quantitative output data on various parameters that influence a business system performance. Output Data Analysis, Experimental Design, and other techniques can be employed to ensure a significant degree of mathematical robustness at every stage of a simulation project. - Stochastic Modelling Statistical representation of real-world uncertainty is an integral part of simulation models. Indeed, simulation is perhaps the most suitable modelling technique regarding its ability to capture the dynamic and stochastic behaviour of real systems. Sensitivity Analysis for example can be employed to assess a simulation model's validity with respect to variations in the values of (unknown) system parameters. - Model Documentation The development of a simulation model requires certain assumptions about the real system which can be documented as the model is being developed. Therefore, documentation of simulation models can be a relatively easy task. However, users in practice do not always pay enough attention to the documentation process. Simulation packages which allow for automatic documentation of models can prove particularly useful for this purpose, although they cannot entirely replace the modeller's role. - Model Adaptability or Reusability Simulation models can easily be updated to reflect changes in real world processes. With respect to BPM, a great opportunity exists to integrate workflow capabilities in simulation environments to support not only the modelhng and redesigning exercise, but also the actual carrying out of business tasks, thus resulting in highly flexible and continuously reusable models. - Objective-driven Modelling Due to their flexibility, simulation models can be customised to serve multiple purposes of management. Modellers can specify alternative output measures and apply different output data analysis techniques to simulation models, thus allowing for multiple uses of a single business model according to management requirements. — Feasibility of alternative designs Simulation as a process is meant to help with identifying appropriate solutions to complex decision problems. The feasibility of alternative designs in a business context is essentially a step that has to be built into the assumptions made during model development. If certain managerial, legislative, or other restrictions occur, they should be taken into account during the experimentation phase by adhering to these assumptions. In this way, 'pohtical' requirements can be easily accommodated by simulation models. — Communication of Models Simulation models, especially when combined with graphical, animation, and/or interactive characteristics are probably the best means of communicating the essence of a model to managers and decision makers. — User Friendliness Simulation models for business process analysis can be as friendly as their developers choose them to be. In general, simulation allows for a great degree of user friendliness (e.g. through graphical user interfaces) which is supported by the majority of existing simulation packages. In the next section we will concentrate on inter- organisational business settings and try to understand the characteristics of inter-organisational business processes, to identify additional modeUing requirements, and to assess the potential of simulation in this context. 3 Inter-Organisational Business Processes: Characteristics and Additional Modelling Requirements 3.1 Characteristics of Inter-organisational Processes Problems of BPM become even more difficult to tackle when considering processes which extend beyond the boundaries of a single organisation and include multiple businesses in the value chain. Examples of such processes include purchasing (supplier involvement), shipping (when third parties are employed to transport goods), sales (customer involvement), etc. Inter- organisational involvement might exist even in processes which seem at first to be internal, but require (explicitly or imphcitly) the co-operation of third parties. A single organisation cannot control the behaviour of external parties in the way it can with its own resources (people, equipment, etc.). Therefore, the degree of uncertainty is substantially increased with possible implications for the validity of the derived models. Modelling of inter-organisational processes must be exercised with great care to avoid such pitfalls and sensitivity analysis becomes an extremely important issue in this case. Furthermore, modelling requires extensive data collection and organisation in order to understand and structure the behaviour of the system under study. In the case of external players, such data might not be available, so businesses usually have to rely on additional assumptions that might further jeopardise the validity of the business model. Decision making becomes extremely difficult in situations where multiple players are involved, since the decisions made by managers in one firm are affected by the (uncontrollable) behaviour of outside parties. For example, a company might decide to adopt a Just-InTime method of production based on results derived by a, perhaps simulation, modelhng exercise showing that such a strategy could streamline the company's operation, cut down on operating costs, and increase timeliness and quality of service to customers. However, the company's suppliers might not be able or willing to deliver raw material at short notice and in small quantities (an essential prerequisite of JIT implementation).- If managers decide to adopt such a JIT approach and redesign the respective business processes without a prior assessment of the possible outcomes according to alternative supplier reactions, results might be unexpected. Interactions between players should always be taken into account in inter-organisational modelling and decision making. There are cases where the decision to model inter-organisational business processes comes from all the parties involved. For example, a company might agree with its suppliers to develop a common model of their trading communication in order to identify opportunities for change. Such a case is presented in the following section. In such a setting, most of the aforementioned problems become less important, since the behaviour of all parties is generally more controlled and input data can be more easily available. The new problem that arises in this case is the multiplicity of decision making levels. When for example, two companies (Company A and Company B) develop a single model to represent their trading interface, decision making can be performed either at a single-site level (e.g. Company A experiments with the model to identify opportunities for change within its own operations) or at a multi-site level (i.e. joint brainstorming sessions of the two companies). In the first case, the model should allow for experimentation only with those parts (submodels) which represent processes that are performed by Company A (since A cannot control or change the processes of B), and should also allow for multiple output analyses, both at an intra-organisational level (to assess impacts of changes within the company) and at an inter-organisational level (to understand the consequences of individual decisions to the whole system, as these might influence the reactions and future behaviour of Company B). In the second case, multi-level output analysis is again of paramount importance, since companies need to assess the impact of changes both on their individual performance and in the efficiency of the value chain as a whole. We can conclude that inter-organisational business processes differ significantly from processes limited to one organisation. Although the requirements reported in previous sections for BPM are still valid. Inter- organisational Business Process ModeUing (IBPM) requires additional considerations which will be outlined below, after presenting a small-scale case study of Inter- organisational modelling. 3.2 A Case Study of Inter-Organisational Simulation Modelling The work presented here was part of a wider BPR project aiming at redesigning trading communication between a major pharmaceutical company in Greece (Company A) and its main distributors. The subproject that is described here involved the medical division of Company A which sells small equipment and medical consumables to hospitals and healthcare institutions, via a number of distributors throughout Greece. Each distributor covers a specific geographic area and is responsible for delivering products to customers from its own inventories which are replenished by the main inventory of Company A at regular intervals. One of the problems identified by the management of Company A (due to space constraints we will be limited only to one of the areas that was actually examined in the project) was the long time it took for a hospital to receive goods from the time it had placed an order. The long lead times were causing customer dissatisfaction and their reduction was considered as a top priority by the management of Company A. The ordering process was analysed and found to be unnecessarily complicated: Customers placed their orders either with Company A or with Company A's salesmen who visited the customer sites or directly to the distributors. However, all orders had to be authorised by Company A before the distributors proceeded with order execution. This policy resulted in unnecessary delays as the distributors and the salesmen had to forward the orders to Company A, which gave the authorisation (usually with no amendments) and forwarded the orders again to the distributors. Figure 1 illustrates the process. A simulation model to represent the aforementioned ordering procedure will necessarily include activities performed and controlled by Company A (including Order Receipt, Order Processing, and Order Forward to Distributors), but also activities performed by the distributors (e.g. Forward Order to Company A), by the salesmen, and by the customers. Furthermore, certain activities require a degree of co-operation between parties, thus reducing the flexibility of individual firms to initiate changes in the respective processes. For example, looking at the model from Company A's perspective, one might want to assess the possibility of changing the ordering process in such a way that salesmen have greater independence and can authorise orders and forward them directly to the distributors, thus relieving Company A from the additional administrative burden. If this scenario is simulated and seems to improve performance in Company A, it might still not be applicable in practice because the distributors might not accept having too many communication channels open to receive orders, as this could influence their own throughput. In this case, the burden of order authorisation in Company A is simply transferred down the value chain to individual distributors. The requirement is for a simulation model that will enable Company A not only to identify the impact of changes in their own performance, but also to measure the influence that the same changes might have on other parties (such as the distributors) in order to be able to more safely 'predict' their reaction to changes. Another solution might be for distributors to proceed with the orders they receive from customers without waiting for an authorisation from Company A. Such a policy would surely eliminate the delay of orders dehvered to distributors and waiting idle until they are authorised, thus resulting probably in reducing the overall order lead time (which is the objective of the whole exercise). However, this is again a pohcy that has to be implemented by a party outside of the decision sphere of Company A. Distributors might not be willing to adopt such a policy as it would mean an additional level of responsibility for them. Therefore, they have to be persuaded that such a policy would be in their interest too. How can this happen if the model used does not provide output data to assess the performance of the individual players? And what would happen if distributors wanted to experiment only with the parts of the whole model that describe their own behaviour to improve their understanding about the impact of proposed changes on them? If the simulation model is not modular and easy to decompose, they would probably have to build a new model from scratch just to represent the same workings which are already included in the initial model. A third option for Company A and its distributors might be to co-operate in a joint eflfort to improve the Order Final Order Product Figure 1: Ordering Process quality of service they offer to their customers. They might, for example, want to investigate the possibility of adopting EDI to electronically exchange orders, thus reducing unnecessary delays during communications. In this case, the requirement would be for a simulation model that will allow them 1. to fully understand the interactions implied by the new way of communication before committing to changes, 2. to assess their individual performances under the new scheme, 3. to be able to measure the overall improvement in the value chain in terms of total order lead time reduction, and 4. possibly to communicate the results with their customers to persuade them to adopt EDI as a means of order submission as well. Surely, there are a lot of alternative ways to implement the ordering process in a way that can fit Company A's management objectives. These ways need to be modelled keeping an eye on the influence changes might have on the performance of individual players as well as the whole system. Such a level of modelling and analysis cannot easily be implemented with existing simulation packages, as it requires modular model design and multiple levels of output analysis. A way to overcome the modelling problems would be to use a general purpose programming language to implement a modular model. An approach is to implement each player (customers, distributors, salesmen, and Company A) as an independent sub- model. Each sub-model communicates with others when necessary (for example when an order is forwarded) via a message passing mechanism which initiates the creation of an entity in the TO model, while it places the respective entity in an idle state in the FROM model. For example, when distributors forward orders to Company A for authorisation, orders remain idle in the distributor submodel, while a 'new' order is created in the Company A submodel. When the order is authorised, it is 'sunk' in the Company A submodel and the respective entity in the distributor submodel becomes busy again (forwarded to be processed). Although this message passing mechanism facilitates 'independent' modelling of the various levels of decision making of the system and allows for output analysis of submodels, the whole process is clearly not user-friendly and cannot provide the necessary degree of adaptability and reusability required for business models. A far better solution might be to use a user-friendly simulation package for model development, provided that a package to satisfy the aforementioned requirements actually exists on the market. 3.3 Additional Requirements for Inter-Organisational Business Modelling Based on the analysis of the case study presented above, we can derive the following additional requirements for Inter-organisational Business Modelling: - Modular Model Design A holistic approach to business modeUing is necessary to identify implicit interdependencies among processes, even when they are performed by different organisations. On the other hand, different parties should be able to use suitable sub- models to assess their own performance (but, at the same time, keeping an eye on the influence of 'local' changes on 'global' performance). There is clearly a need for modelling conventions that will allow for modular model implementation and for experimentation with selected sub-models. - Modular Model Analysis Models that represent the workings of more than one business unit should also allow for a multi-level output data analysis to accommodate the decision making needs of the individual parties involved as well as any of their combinations. Business process configurations that are derived from these models should optimise the performance of individual firms and, at the same time, streamhne the efficiency of the whole system. Improvements achieved by individual players should not be lost downstream or upstream in the value chain. - Model Decomposition and Integration Implementation of modular models should be achievable even if this is not the initial target of the modelling exercise. For example, two firms might develop models independently of each other and at a later stage wish to link these models into a concrete inter-organisational model. To enhance model reusability, individual models should be easy to link, without extensive modifications. In the same way, a single model might need to be decomposed to sub-models, when for example departments of an organisation need to assess their individual performance. Perhaps the only way to achieve problem-free model decomposition and integration, is by defining standard interfaces between models. 3.4 Simulation as a Tool for Inter-Organisational Business Modelling Simulation models have the potential to become powerful tools for modelhng inter-organisational business processes. However, in contrast to intra- organisational simulation, existing commercial products do not generally provide the necessary functionahty to meet the requirements identified above. - Modular Model Design Although simulation as a technique can theoretically be used for modular model development and use, existing simulation packages do not generally include such characteristics. At the time being, the requirement for modular model design can only be met if a general-purpose programming language or a simulation programming language is used to develop the model. We are aware of no existing simulation packages (i.e. software that allows model development and use without or with very Hmited programming) that include advanced functionalities to assist the user in modular model design. This does not mean that modular model development cannot be done with simulation packages. Rather it means that the user is left alone in performing this task, i.e. the package does not guide him/her towards defining appropriate sub-models that will clearly indicate the 'decision territories' of the firms involved in modelling. - Modular Model Analysis Things become even more difficult when considering the issue of analysing inter-organisational models for the purpose of decision making. Again the problem seems to be that existing simulation platforms do not provide multiple levels of output analysis. Even worse, in the majority of cases output analysis is not provided at aggregate levels at all, and is usually limited to performance indicators within single functional units of the model (resources, activities, or queues). This however, cannot satisfy the requirement for assessing whole, inter-function extended, business processes which is usually needed in business change projects. - Model Decomposition and Integration At the current status of non-existence of industrial standards to define the interconnectivity issues between simulation model components, this requirement cannot be easily satisfied. Only if individual models are developed on the same platform, can they be connected in a relatively painless way. If different simulation environments are used, then model integration is usually simply not possible, and a new model should be developed from scratch. Regarding model decomposition, things are slightly better since a single model can always be truncated to include only a subset of its initial range. Even in this case however, the user will probably need to carry out sub-model definition, to define new output analysis measurements, to 'fill' gaps generated by model truncation, etc. 4 Discussion: The Road Ahead Business process modelling carries several distinct characteristics that differentiate it from other types of modeUing problems that simulation has been traditionally used for. This highlights the need for a focused approach to the development of software pacl Z , we can take advantage of the n x Z pseudoinverse Jg ds - dq = 0. (5) Arrange now the increment of joint coordinates into the primary dqp and the secondary dqN (subordinated) part, so that dqN does not produce any change of primary coordinates p dq = dqp + dqN. By multiplying with Jp we get Since we have dp — Jpdqp -I- JpdqiM. JpdqN = 0, dp = Jpdqp dqp = Jpdp (6) (7) (8) (9) dp — Jpdq = 0, (1) Let where Jp is a m x n Jacobian matrix that incorporates the derivatives dp/dq\. We assume that n > m and Jpdp — dq = 0. (2) If Jp Jp^ of dimension mxn isn't singular, the following Jp = Jp'^(JpJp''^ ) -1 (3) is the so-called unweighted pseudoinverse of Jp whose dimension is mxn. The utilisation of the pseudoinverse in solving the task to move a redundant manipulator in a given p implicitly leads to a minimisation of joint velocities [16]. To satisfy other criteria, one can introduce additional optimisations that must dqN = Nj^dqs (10) where dqs is an arbitrary ?i-dimensional vector of joint increments associated with the secondary task, while Ni^ is of dimension n x n JpNp = 0. According to [17] Np = I - J+Jr (11) (12) lies in the null space of Jp so that dq^ and dqp are orthogonal. The null space projection operator Np is Hermitian and idempotent, Np '' = Np,NpNp = Np. The kinematic redundancy, in our opinion, must be understood as an instantaneous property associated with the dimension of the null space of the primary task. We thus define the degree of redundancy as the rank of the hull space projection operator D = rank {Np} = n — rank {Jp} . (13) D is the achievable order of the secondary motion that can change throughout the workspace of the manipulator mechanism in dependence on q. We assume in this work that I > D. By substituting (10) into (6) and by multiplying with JS we have ds = Jsdqp + JsNpdqs dqs = (JsNp)+(ds-Jsdqp). (14) The secondary task coordinates depend on dqN and dqp . We denote dsp = JscJqp, c/siM = Jst^qN ^ ds = dsp + dsN- (15) The secondary motion can only be assembled in the null space of the Jacobian matrix Jp where a vector dqs is projected through Np into c?qN. Thus, an element of a sphere dqgdqs = 1 is transformed in the sphere dq^dq^ < 1. The null space of Jp is spaned by the n-dimensional orthonormal eigenvectors of matrix NpNp = Np, denoted by Ep = (ei,e2,.....,ep). Thus, any dqN as a function of parameters 7 = (71,..... dqN = Ep7 is an element of a sphere if dq^dqN = it -1- 71 + -• + Id = 1- (17) (18) If we take into account (6,10,14), a complete increment in joint coordinates can be written as dq = Jp+dp + Np(JsNp)+(ds - JsJ^dp), (16) which is the know task priority approach where the first part of the joint increment is the particular solution associated with the primary task. It is of a higher priority in comparison with the second part which is the homogeneous solution associated with the secondary task [1, 4]. 3 Secondary domain In this work, an increment in joint coordinates is referred to as the secondary motion (self-motion) of a redundant manipulator when it does not produce any increment in the primary task coordinates. In connection with the definition of the manipulability ellipsoids [18], a sphere dqsdqs = 1 produces an ellipsoid in l-dimensional space of ds whose principal axes are the eigenvectors of JsJg and their lengths are the related singular values. It is clear, however, that only a part of elements ds in this elhpsoid can be accomplished by the secondary motion of the redundant manipulator. Note that there is some controversy in the definition and utilisation of manipulability when different types of task coordinates are treated simultaneously, such as linear and angular velocities. [19, 8] dealt with this problem. The values of dsN (15) that are functions of dqN constrained by (18) form that part of the vector space of ds that can be accomplished by the secondary motion of the manipulator. Vectors dsN produce an ellipsoid whose principal axes are the /-dimensional eigenvectors of matrix JsNp(JsNp)'^ (denoted by ui, U2,......, ud), while the corresponding singular values of JsNp are the lengths of these principal axes. The secondary manipulability ellipsoid characterises the domain of the secondary task bounded by (18). It describes the potential of a redundant manipulator to solve the secondary task with no interference with the primary task in a given location determined by the joint coordinates q [20]. 4 Best optimisation step Assume that the secondary task of a redundant manipulator is to minimise a quadratic cost function (which is a very reasonable assumption for a vast variety of practical implementations, e.g. joint torque minimisation) c = s'^Ws mini 'I 1 (19) where W is a diagonal I x I full-rank matrix of positive weights Wi, while dqN is constrained by the primary task. An iterative procedure is to provide a series of dqN that step by step minimise c and do not interfere with the primary task. In a commonly used gradient projection technique to minimise a scalar cost function [17, 8], the joint displacement is dq = fcpjjdp - /!;sNpJ+ ■ (20) where kg and kp are selected in order to assure the convergence of the numerical procedure. The trouble 654 Informatica 21 (1997) 651-655 J. Lenarčič et al. with such an approach is that in general the projection of the gradient in the null space of J p may not provide the maximum decrease of the cost function. Hence, the iterative procedure may not be able to locate the desired minimum in an acceptable number of iterations. There are two remedies for it. One is to adapt the projection vector directly in the domain of the secondary task. This can be done by searching the optimum projection vector produced by joint increments that lie the secondary domain. The other way is to adequately rotate the null space of Jp. In the present paper we show only the second possibility. It is well known [16] that a weighted pseudoinverse (21) minimises a performance criterion of joint velocities in the form of q^Aq where A is a positive definite weighting matrix. The weighted null space projection operator for the weighted pseudoinverse Jp^^^ is given by l — ] = ds\ + 2Js^ WJsdq - JjA = 0, (24) as well as its derivative with respect to A so that (1) holds. As a result, (25) where we introduced the following notation A = J|WJS. (26) Since A is singular when I > m and cannot directly be inverted, one can utilise either the damped least square solution NpA =1-JÌAJP- (22) This null space projection operator is idempotent but in general is not Hermitian. It rotates the null space of the Jacobian in what was termed the effective null space by [12]. It is the central point of many attempts to resolve redundancy with solutions possessing different characteristics that assist to avoid obstacles and singularities or minimise a given criterion. In [7] one can find a variety of possibilities later implemented and improved by other authors. For instance, [10, 11] used this approach in order to incorporate some global properties in the optimisation of dynamic joint torques. [21] showed the limitations of these methods when they are implemented independently on a real mechanism without considering its kinetic behaviour. Lately, [12] reported a weighted null space projection operator suitable for a weighted joint torque optimisation with the aim to avoid instabilities that arise from unrealisable joint velocities. We show here that it is possible to determine a weighted null space projection operator that provides a steepest descent minimisation of a given cost function. For this purpose we search for an optimum ds that minimises a quadratic form c = c(s + ds) (where c is given in (19)) with respect to the primary task (1). The associated Lagrangian, in which we substitute ds by Jsdq , is as follows ds] + (23) WJsdq -f A^ {dp - Jpdq) Here,A is the vector of Lagrangian multipliers. The derivative of L with respect to dq must vanish A-i - (Js WJs -I- al)-i or the formulation Multiplying (25) by Jp gives (27) (28) ^A = (JpA -^Jl { ds/ (29) Then by substituting A again in (25), by taking into account (21,22), as well as A^^J^ = and by introducing scalar constants fcp, ks to control the iteration step we get dq = kpJ+^dp - fcsNpAJ^ I ^ I , (30) which is analogous to the standard formula (20) with a weighted pseudoinverse and the corresponding null space projection operator, while the weighting matrix is given by (26) and its inverse by (27) or (28). The approach (30) turns out to be numerically very effective if compared to (20). The necessary number of iterations to solve the primary and the secondary task can drastically be decreased. While in some cases the formulation (20) fails to carry out the imposed optimisation in the secondary level, the approach formulated in (30) guarantees the best solution to the primary and to the secondary task simultaneously. 5 Conclusions The paper deals with a steepest descent local minimisation in the level of the secondary task of a redundant manipulator. In previously reported pseudoinverse-based optimisation techniques, the gradient of a given cost function is directly mapped in the null space of the primary task. The projection in the null space may distort the gradient and the optimisation procedure may be troubled. In our work, we overcome the problem by utilising an optimum weighted pseudoinverse. By this improvement, the optimisation procedure becomes more effective and numerically robust. It finds a solution in less iterations and its potential to locate the optimum solution is greater. References [1] Maciejewski, A.A., Klein, C.A. (1985) Obstacle avoidance for kinematically redundant manipulators in dynamically varying environments, Int. J.Rohotics Res. Vol. 4, No. 4, pp.109-117. [2] Baker, D.R., Wampler, C.W. (1988) On the inverse kinematics of redundant manipulators, Int. J.Rohotics Res., Vol. 7, No. 2, pp. 3-21. [3] Chang, K.-S., Khatib, 0. (1994) A dynamically consistent strategy for manipulator control at singularities, Advances in Robot Kinematics, Kluwer Academic Pubi, Dordrecht, pp. 221-228. [4] Nakamura, Y., Hanafusa, H., Yoshikawa, T. (1987) Task-priority based redundancy control of robot manipulators, Int. J.Rohotics Res., Vol. 6, No. 2, pp. 3-15. [5] Ghosal, A., Roth, B. (1988) A new approach for kinematic resolution of redundancy. Int. J.Rohotics Res., Vol. 7, No. 2, pp. 22-35. [6] Nenchev, D.N. (1989) Redundancy resolution through local optimisation: A review. Int. J. Robotic Systs., Vol. 6, No. 6, pp. 769-798. [7] Hollerbach, J.M., Suh, K.C. (1987) Redundancy resolution of manipulators through torque optimization, IEEE J. Robotics and Automat., Vol. 3, No. 4, pp. 308-316. [8] Yoshiltawa, T.(1996) Basic optimization methods of redundant manipulators, Laboratory Robotics and Automat., Vol. 8, No. 1, pp. 49-60. [9] Khatib, 0. (1996) The impact of redundancy on the dynamic performance of robots, Laboratory Robotics and Automat., Vol. 8, No. 1, pp. 37-48. [10] Nedungadi, A. Kazerounian, K. A (1989) local solution with global characteristics for joint torque optimisation of a redundant manipulator, J.Robotic Systs., Vol.6, No. 5., pp. 631-654. [11] Kazerounian, K., Wang, Z. (1988) Global versus local optimization in redundancy resolution of robotic manipulators, J. Robotics Res., Vol. 7, No. 5, pp. 3-13. [12] Hu, B., Teo, C.L., Lee, H.P. (1995) Local optimization of weighted joint torques for redundant robotic manipulators, IEEE Trans, on Robotics and Automat., Vol. 11, No. 3, pp. 422-425. [13] Baillieul, (1986) J. Avoiding obstacles and resolving kinematic redundancy, IEEE Int. Conf. Robotics and Automat., pp. 1698-1704. [14] Klein, C.A., Chu-Jenq, C., Ahmed, S. (1995) A new formulation of the extended Jacobian method and its use in mapping algorithmic singularities for kinematically redundant manipulators, IEEE Trans, on Robotics and Automat., Vol. 11, No. 1, pp. 50-55. [15] Park, J., Chung, W.-K., Youm, Y. (1996) Characteristics of optimal solutions in kinematic resolutions of redundancy, IEEE Trans, on Robotics and Automat, Vol. 12, No. 3, pp. 471-478. [16] Whitney, D.E. (1969) Resolved motion rate control of robot manipulators and human prostheses, IEEE Trans. Man-Mach. Sys., Vol. 10, No. 2, pp. 47-53. [17] Liegois, A. (1977) Automatic supervisory control of the configuration and behaviour of multibody mechanisms, IEEE Trans. Sys., Man, Cybern., Vol. 7, No. 12, pp. 868-871. [18] Yoshikawa, (1985) T. Manipulability of robotic systems. Int. J. Robotics Res., Vol. 4, No. 2, pp. 3-9. [19] Doty, K.L., Melchiorri, C., Schwartz, E.M., Bonivento, C. (1995) Robot Manipulabihty, IEEE Trans, on Robotics and Automat., Vol. 11, No. 3, pp. 462-468. [20] Nenchev, D.N. (1992) Restricted Jacobian matrices of redundant manipulators in constrained motion tasks, Int. J. Robotics Res., Vol. 11, No. 6, pp. 584-597. [21] Maciejewski, A.A. (1991) Kinetic limitations on the use of redundancy in robotic manipulators, IEEE Trans, on Robotics and Automat., Vol. 7, No. 2, pp. 205-210. Encapsulation — the Key to Software Component Re-Use Raimund K. Ege School of Computer Science Florida International University, University Park, Miami, FL 33199 phone: (305) 348-3381 fax: (305) 348-2336 egeOcs.liu.edu Keywords: software, object-orientation, encapsulation, programming languages Edited by: Rudi Murn Received: January 24, 1997 Revised: September 9, 1997 Accepted: September 23, 1997 Successful software today is built from components. Modern software engineering techniques, such as those based on the object paradigm, support the specification, implementation and re-use of components. Encapsulation is the term used to describe this basic knowledge representation principle of packaging information and its related functionality. This paper explores the concept of encapsulation as it is used in object-oriented programming languages, analysis and design methods, distributed systems and data bases. The paper uses a specification language - KAPSEL - that facilitates the specifìcation of re-usable object-oriented software components to illustrate advanced encapsulation features. 1 Introduction The paclcaging of software components is a key feature of object-oriented software technology. An object is an instantiation of a re-usable software component -a class. Object-based technology already allowed the specification and implementation of such components. Object-oriented technology goes a few steps further by allowing that these components are related and organized into inheritance hierarchies. Encapsulation is the concept of paclcaging software components [Parnas et al., 1985] by specifying their interfaces to their .users or clients and hiding from them their internal implementation details. In a true object-oriented context, where classes belong to class hierarchies and whole-part associations, encapsulation issues can become quite complicated. The purpose of the research reported in this paper was to investigate and explore variations in the specification of encapsulation for object-oriented software components and their relationships. The result of the research is a specification language - KAPSEL - which allows a great degree of flexible but strictly controlled access to software components. There is some confusion and dispute among the object-oriented community regarding the correct definition of encapsulation [Knight, 1992], This paper is not an attempt to solve the dispute. Instead, we offer our own definition of encapsulation: Encapsulation is the collection and protection of attributes for an object and its exclusive, associated services. seta's Figure 1: an encapsulated point As example, consider a "Point" class (see Figure 1), which defines two attributes ("x" and "y") to represent the coordinates of a point, and two services ("set" and "move") that allow to store some initial values for coordinates and allow them to be changed, i.e. for the point to move. Instances of class "Point", i.e. point objects, each encapsulates 2 attributes and 2 services. Conventional object-oriented wisdom would assume that the attributes are hidden by each object, only to be modified via the specified services. But the degree of encapsulation can be more arbitrary: given a "point", are its "x" and "y" coordinates accessible; are its services "set" and "move" invocable ? It is the purpose of encapsulation specification to control the degree of visibility or hiding that each software component allows. Object-oriented technology knows many ways and modes of controlling access to elements of software components. The goal of this paper is to describe our categorization of forms and variations in encapsulation control and to introduce a specification language "KAPSEL" that enables the broadest and most detailed of access control. 2 Encapsulation The focus of our work is not so much the pure concept of encapsulation, but rather its specification. If encapsulation is "collection and protection", then our question is; how can it be specified and controlled ? While encapsulation deals with the visibility of attributes and services, we ask how this visibility can be specified in the most flexible way and how it can be controlled. In the following we will discuss various issues that relate to the understanding and specification of encapsulation: - unit of encapsulation - granularity of encapsulation — class hierarchy encapsulation — whole-part association encapsulation Our discussion of KAPSEL will rely on an understanding of these issues. Encapsulation Unit The most natural unit of encapsulation is an object: it has attributes and services that can be protected from access by others. Most object-oriented programming languages follow this model. For example, if an attribute of an object is declared to be "private", i.e. to be protected and not visible, then it is not accessible from any other object Typically, this degree of encapsulation is specified for all objects of the same class as part of the class declaration. Notable exception among the object-oriented programming languages are C-l--f [Ellis and Stroustrup, 1990] and Java [Gosling and McGilton, 1996] which consider the class as unit of encapsulation: for example in C-H-, given 2 points with private coordinate attributes, one point is able to access the coordinates of the other point, whereas in Smalltalk [Goldberg and Robson, 1983] or Eiffel [Wiener, 1995], one point is not able to "see" the coordinates of another. "Object as encapsulation unit" is more natural, whereas "class as encapsulation unit" appeals to the software developer whose unit of concern is the specification of a set of objects: and this set of objects is the class. ^of course, the object itself still has access to all its private attributes. Access Granularity Access to attributes and services can be controlled. The smallest "granule" (i.e., unit of access specification) can be either a single attribute or a single service. The largest granule can be that "all services" or "all attributes" are accessible. Smalltalk is an object-oriented programming language that treats encapsulation control in-the-large: all attributes (instance variables) are not visible, all services (instance methods) are generally accessible. Eifi'el, C^—^ and Java allow a per attribute/service specification of accessibility. Also of importance is the nature of the access: what effect does the access have on the state of the object. Access to an attribute is possible in a "initialization" (to set stored value for an attribute once, initially), "read" (to get the stored value for an attribute) or "write" (to change the stored valued) sense. Access for a service typically is meant to allow the sending of a message to the object to request the performance of a service. The service invocation can further be classified into one that would read only, initialize, or write, based on whether the service will affect the state of the object. Again, languages disagree here: in C4-+ for example, if an attribute is "public", i.e. visible, then it can be initiafized, read and written from "outside", whereas in Eiffel, if an attribute is exported, it is only readable: Eiffel maintains that while attributes might be made visible, they are still part of an object's internals, and outside change has to be affected through appropriate messages to the object. Object creation and deletion can also be considered within the scope of encapsulation specification: to create an object is typically a service provided by the class and therefore can be specified as visible or not; to delete an object is an operation upon an object and therefore can be specified as visible or not, as well. Specification can be active or passive. Active encapsulation control specifies which other objects or classes can "see" specific attributes or services. Examples are Eiffel, where attributes and services are exphcitly exported; or C-I--1- where the "friend" mechanism allows the specification of a class that can access all attributes and services of an object. Passive specification classifies attributes and/or services as visible or not: something that is visible is then accessible to any client object that would want to. Active encapsulation specification is typically not transitive, that is if class A actively allows class B access, and B allows C, then C does not have access to A. Eiffel modifies this concept slightly in that it allows all subclasses of B to access A, and all subclasses of C access to B. And, of course, active encapsulation specification is not symmetric. Class Hierarchy Inheritance has to be considered in the context of encapsulation specification in 2 ways: 1. which attributes and services of the superclass are accessible to the subclass ? There are 3 modeling choices: (a) the subclass is just like any other regular client, and therefore has access to only the visible attributes and services; (b) the subclass has unrestricted access to all attributes and services of the superclass; (c) the superclass can explicitly and selectively make attributes and services visible to that subclass. C-|--t- is an example of the third choice: it uses the keyword "private" to deny subclass access, and the keyword "protected" to explicitly allow access by the subclass. Most other object-oriented programming languages use choice (b), which seems liberal and does not protect a superclass from subclass problems. The first choice is too limited: the subclass is in the same family as the superclass and therefore should gain some privileges. 2. how accessible are inherited attributes and services in an instance of a subclass ? In general, attributes and services should maintain their accessibility in subclasses; the subclass otherwise violates the "behavior-compatibility" maxime in true object-oriented class hierarchies. C-f-1-, for example, allows that subclasses restrict the visibility of inherited attributes and services via its "protected" and "private" inheritance mechanism. Eiffel has a similar capability in that subclasses are allowed to change the export status of features (attributes or services). Both mechanisms allow the definition of classes that are "less" than their superclasses: a typical example is to define a "Stack" class as a subclass of "LinkedList" by renaming and hiding the appropriate services. However a "Stack" is NOT a "LinkedList": the subclass is not behavior compatible to its superclass. Whole-Part Association Encapsulation control can also be specified for complex objects that contain other (or refer to other) objects. It is possible to view these contained objects as "regular" attributes of the object, whose accessibility can be specified in detail. However, it is desirable to consider the special relationship between the whole and part objects. For example, consider a point object and a line object; further consider that the line object is defined as 2 points: head and tail. Is it necessary for the line to go through the pubhc protocol to access the coordinates of its head and tail points, or could one specify special privileges for the whole that contains the parts? Of course, this special access should not hold for all line objects. Moreover, what about a special relationship between the head and tail points of a single line ? Should the head point be able to access private attributes of the tail point in the line^ ? In KAPSEL, we are introducing a "key" concept that would allow the line object to gain special access privileges to its head and tail points and to grant them to other objects (see Section 4 of this paper). For both class hierarchy and whole-part association encapsulation control specification graphs can be used to visualize object and class dependencies. 3 Encapsulation Support Encapsulation is at the heart of object-orientation, however, support for encapsulation control and specification varies in object-oriented programming languages and analysis and design methods and also in distributed object approaches[Ege, 1994]. In this section we will discuss encapsulation support at these 3 levels: analysis and design methodologies, programming languages and distributed object systems. OOA & D In our opinion, current OOA&D methodologies fall into two categories in respect to their support for encapsulation specification and control: 1. The 00 Pioneers: like Smalltalk, these methodologies consider attributes as part of the internal state of an object that should not be an immediate concern to the analyst. Services are considered part of the public protocol of an object, and therefore freely accessible to any client. Examples of true "00 Pioneer" methods are the Booch [Booch, 1994] approach and "Responsibility Driven 00 design" [Wirfs-Brock et al., 1990]. 2. The 00 Practitioners: their approach is more practice-oriented, attributes can be specified but typically are not considered to be directly accessible. Services are accessible in general. Whole-Part associations are explicit and therefore freely accessible. Examples of methods are OMT [Rumbaugh et al., 1991] and the Shlaer/Mellor [Shlaer and Mellor, 1992] approach. Both groups of methods lack serious support and tools to enable encapsulation control. 00 analysis and design methods in general lag significantly behind ^of course, in C++ that would be the case anyway. such capable object-oriented programming languages as Eiffel and C+-I-. One notable exception is the "Law of Demeter" [Lieberherr, 1989] which deals with encapsulation guidelines during object-oriented design. Programming Languages As mentioned earlier in the paper, Smalltalk takes the wholesale approach that attributes should be hidden inside an object for the sole access by the object itself. Services make up the protocol of messages that an object understands: any client object can send any message as long as there is such a service. Smalltalk stands out as the pioneer of true 00 understanding, however, various improvements in the area of encapsulation control have been proposed for it. Newer languages, such as Eiffel, C-l-t- and Java, have significantly more language constructs to deal with encapsulation control. They allow a single attribute or service as smallest "granule" of specification; both support active (list of targets) or passive exportation; both can give dedicated access to its subclasses; and both can vary the access control to attributes and services inherited by a subclasses (e.g. "private" and "protected" inheritance in C-t-+ and Java). They differ in their treatment of the encapsulation unit: in Eiffel the unit is the object; in C-l—I- and Java the unit is the class^. Another difference is their treatment of explicit exportation: in Eiffel explicit exportation gives access to the target class and all its subclasses, whereas subclasses of "friends" in C-I--I- don't have access to the attributes and services of the class which extended the "friendship". In Smalltalk, Eiffel, C-t-+ and Java whole-part associations are treated uniformly as attributes, they enjoy the same level of encapsulation control as regular attributes. DOS / DB Of growing importance is encapsulation control in large systems that are assembled from object-oriented components. Rarely is it feasible to enforce a single policy (most likely via the adoption of a single programming language). The question is how to specify and control access to and from objects in an environment of heterogeneous object-systems. There are 2 basic approaches: a distributed object system that follows a common architecture (e.g. CORBA [Group, 1991]); or a unifying single'' repository of objects in a common object-oriented data base. ^C-l—f treats accessibility of members in a class as a scope issue: it supports class scope, but not object scope. "•This is meant to be a logically single repository: notwithstanding that the data base can support multiple servers/volumes/clients. Encapsulation control in such systems is still in its infancy: CORBA, for example, takes the approach in its interface definition language (IDL) that only the visible features of a class need to be declared, no variation is allowed. Attributes or services that are listed in an IDL definition of a class are accessible. The only additional control measure is that attributes can be declared read-only. Encapsulation control in object-oriented data bases [Loomis, 1995] is still dominated by its data definition language, which typically is either Smalltalk or C++. 4 KAPSEL - The Language KAPSEL's goal is to facihtate the re-use of object-oriented software components. We designed its features to be as inclusive as possible to allow experimentation with the encapsulation control measures discussed in this paper and to allow evaluation. KAPSEL is used in our IMN project [Ege and Stary, 1992] that combines object-orientation with constraints in the context of building task-oriented user interfaces^. KAPSEL is based on Smalltalk-80 [Kolla, 1996]. We chose Smalltalk-80 because of its very open and flexible system approach, but also because it has the least flexibility of its own to vary encapsulation control. The unit of encapsulation in KAPSEL is the object. Since KAPSEL is based on Smalltalk, it is therefore also possible to express control for a class, since a class is represented and is available as a "class description" object in Smalltalk. The granularity of access control is a single attribute or service. Read or write access can be specified: write access includes read access. Active and passive exportation is supported. For active exportation a target class is specified, it can gain regular or transitive access. Transitive access allows the target class to further extend this access privilege to other classes. Passive exportation can be specified for subclasses or in general. General access allows any other object in the system to access the attribute or service. KAPSEL supports the concept of "key" access: when a KAPSEL class is specified, the specification may include a key, which is a set of access specifications per attribute or service; this key is given to the creator of an instance of the class; the creator can access the new object according to the key, or can give the key to other objects; keys can be copied; keys can be reduced, where access privileges to attributes and/or services can be removed; in order to gain access to an object via a key, an object has to register with the object that is to be accessed®. This "key" concept allows ®KAPSI5L also allows the specification of constraints. This aspect of KAPSEL is not within the scope of this paper ®Tho creator object is automatically registered. Kapsel subclass: #Point instanceVariableNames: 'x y' inst anceMethodNames: 'moveByX:Y:' classVariableNames: '' classMethodNames: '' keyDictionaries: #( x->general y->general moveByX;Y:->(general write)) poolDictionaries: '' category: 'Kapsel-Examples'. Figure 2: KAPSEL Point Class Kapsel subclass: #Point instanceVariableNames: 'x y' instanceMethodNames: 'moveByX:Y:' classVariableNames: '' ClassMethodNames: '' keyDictionaries: #(x->(VisualComponent read) y->(VisualComponent read) x->(Line write transitive) y->(Line write transitive)) poolDictionaries: '' category: 'Kapsel-Examples'. Figure 3: KAPSEL Point Class very flexible, per object, access specification of encapsulation control. It is also the implementation vehicle that is used in our implementation of KAPSEL encapsulation enforcement. Examples KAPSEL examples would best be shown interactively in the context of the Smalltalk-80 class browser. For this paper we extracted the relevant definition statements: they resemble Smalltalk-80 syntax. The first example (see Figure 2) shows a simple "Point" class with two attributes ("x" and "y") to represent its coordinates and a service that allows to logically move a point by a distance (i.e., change its coordinates). The coordinates "x" and "y" are exported and made visible to all other objects in the system via "general" exportation. Access privilege defaults to "read" if not otherwise specified. The service "moveByX:Y:" is also made accessible, but with a "write" privilege, allowing the service to change the state of the object. If not specified, then service access defaults to "general write". Figure 3 shows a variation of the "Point" class where "x" and "y" are not generally exported, but are rather made available explicitly to class "VisualComponent" for read access, and also made available to class "Line" for transitive write access which allows the "Line" class to export access to its points. Figure 4 shows a hnked list class: it makes its services available in general, but limits access to its "firstNode" attribute to its subclasses and allows only read access. Figure 5 shows class "Stack" as a subclass of "LinkedList". It defines services "push" and "pop" to enable ordinary stack processing. It also restricts the accessibility of its inherited services to "hierarchy" hiding the fact that "Stack" is-a "LinkedList" from other objects that are not instances of subclasses. Figure 6 again shows another version of the "Point" class: it defines a "creatorKey" to allow write access to the "x" and "y" coordinates. Whenever an instance of class "Point" is created, the creating object is allowed to retrieve the creator key from the "Point" class. Keys can be used to register with a class to gain special access to an object. Keys can be passed and copied freely from object to object. Keys can be reduced, i.e. access privileges can be removed from it, but, of course, none can be added. Implementation KAPSEL has been implemented [Kolla, 1996] as an extension to Smalltalk-80 under the VisualWorks environment running on a SparcStation. Our goal is to use KAPSEL in the context of our user interface specification project [Ege and Stary, 1992]. Figure 7 shows Kapsel subclass : #LinkedList instanceVariableNames: 'firstNode' instanceMethodNames: 'append: insert: removeFront removeEnd' classVariableNames: '' classMethodNames: '' keyDictionaries: #(firstNode->(hierarchy read)) poolDictionaries: '' category: 'Kapsel-Examples'. Figure 4: KAPSEL LinkedList Class LinkedList subclass: #Stack instanceVariableNames: ' instanceMethodNames: 'push: pop' classVariableNames: '' ClassMethodNames: '' keyDictionaries: #(append:->hierarchy insert :->hierarchy removeFront->hierarchy removeEnd->hierarchy) poolDictionaries: '' category: 'Kapsel-Examples'. Figure 5: KAPSEL Stack Class some of the classes of the KAPSEL system, and an example "Point" class definition. 5 Conclusion Encapsulation is at the heart of useful re-use specification in object-oriented software. Encapsulation specification and enforcement is important, however, it needs to be as open and flexible as possible to enable a hardware-like "off-the-shelf" approach to software construction. Software is by its name "soft", i.e. malleable, rather than rigid. The encapsulation specification language introduced in this paper - KAPSEL -strives for a good balance between control and flexibility in setting up interfaces to re-usable software components. References [Booch, 1994] Booch, G. (1994). Object-Oriented Analysis and Design with Applications, 2nd Edition. Benjamin/Cummings. [Ege, 1994] Ege, R. K. (1994). Object-Oriented Programming with C-t—h. Academic Press, AP Professional. [Ege and Stary, 1992] Ege, R. K. and Stary, C. (1992). Designing maintainable, reusable interface. IEEE Software. [Ellis and Stroustrup, 1990] Elfis, M. A. and Strous-trup, B. (1990). The Annotated C-h-f- Reference Manual. Addison Wesley, Reading, MA. [Rumbaugh et al., 1991] James Rumbaugh et al. (1991). Object-Oriented Modeling and Design. Prentice Hall. [Goldberg and Robson, 1983] Goldberg, A. and Rob-son, D. (1983). Smalltalk-80: The Language and its Implementation. Addison Wesley, Reading, Mass. [Gosling and McGilton, 1996] Gosling, J. and McGilton, H. (1996). The Java language environment. http://www.javasoft.com/doc- /language-environment/. [Group, 1991} Group, 0. M. (1991). The common object request broker: Architecture and specification. OMG Document Number 91.12.1. [Knight, 1992] Knight, A. (1992). Encapsulation and information hiding. The Smalltalk Report. [Kolla, 1996] Kolla, S. (1996). Implementation of KAPSEL: an object-oriented language. FIU Master's thesis. [Lieberherr, 1989] Lieberherr, K. J. (1989). Formulations and benefits of the law of demeter. SIGPLAN Notices, 24(3). [Loomis, 1995] Loomis, M. E. (1995). Object Databases - The Essentials. Addison-Wesley. Kapsel subclass: #Point instanceVariableNames: 'x y' instanceMethodNames: 'moveByX:Y:' classVariableNames: ' ' classMethodNames: '' keyDictionaries: #(x->general y->general moveByX:Y:->(general write) (x->write y->write) asCreatorKey ) poolDictionaries: '' category: 'Kapsel-Examples'. Figure 6: KAPSEL Point Class [Parnas et al., 1985] Parnas, D. L., Clements, P. C., and Weiss, D. M. (1985). The modular structure of complex systems. IEEE Transactions on Software Engineering, SE-11 (3). [Shlaer and Mellor, 1992] Shlaer and Mellor (1992): Object Lifecycles, Modeling the World in States. Yourdon Press. [Wiener, 1995] Wiener, R. (1995). Software Development Using Eiffel. Prentice Hall. [Wirfs-Brock et al., 1990] Wirfs-Brock, R., Wilker-son, B., and Wiener, L. (1990). Designing Object-Oriented Software. Prentice Hall, Englewood Cliffs, NJ. UlPainter-Support UlPainter-Tools Database-Interface UlExamples-General UlExamples-Records test classes UlExamples-Databas Kapsel-Kernel Kapsel-Classes Kapsel KapselBehavIor KapselClass KapselClassDescripti KapselKey KapselKeyDictlonary KapselMetaClass instance class accessing initialize-release Kapsel subclass: #Point instanceVariableNames: "x y' instanceMethods: 'moveByXiY:' classVariableNames: " classMehodNames: " keyDIctionaries: #(x->general y->general rTioveByX:V;j->(general write)) poolDictionaries: " category: 'Kapsel-Classes' Figure 7: Smalltalk System Class Browser: KAPSEL classes Holographic Neural Networks and Data Compression Robert Manger Department of Mathematics, University of Zagreb Bijenička cesta 30, 10000 Zagreb, Croatia Phone: (385) 1 4680 111, Fax: (385) 1 4680 335 mangerSmath.hr Keywords: artificial neural networks, holographic neural technology, data compression Edited by: Rudi Murn Received: June 27, 1997 Revised: September 2, 1997 Accepted: September 16, 1997 This paper evaluates data compression capabilities of holographic neural networks. An outline of a possible "holographic" compression method is given. Experiments are described, where the proposed method has been simulated on a series of data files. The obtained results are presented and discussed. Conditions are identified, which are necessary for proper functioning of the method. 1 Introduction Holographic networks [6] are an interesting and promising new type of artificial neural networks. Contrary to the usual "connectionist" approach [3], where networks are built of many simple processing elements, holographic networks consist of a small number of powerful components. Namely, a single holographic neuron is already able to learn stimulus-response associations, so that it is functionally equivalent to a whole conventional network. Another important characteristic of holographic networks is that they internally represent information by complex numbers. Magnitudes of those numbers are interpreted as confidence levels of data, and phase angles serve as actual values of data. The memory of a holographic neuron is realized as a coniplex matrix, whose {k,l)-th entry in fact measures the influence of the ^-th stimulus element on the /-th response element. During the training process, all associations are encoded and enfolded onto the same memory matrix. Thus training can be viewed as a form of data compression, where many stimulus-response pairs are squeezed together in a relatively small block of memory. Similarly, responding to the learned stimuli can be interpreted as data decompression, since the original stimulus-response pairs are again recreated (at least approximately). Data compression has already been considered as a possible application of holographic neural networks [2]. There is an interesting example in [1], showing how a neuron with a 1024 x 1 memory matrix can learn 512 random associations and reproduce them with the mean response error 2% of full scale. In this example, stimulus length is 1024 and response length is 1. The author concludes that his neuron in fact compresses the given set of stimulus-response pairs to 1/128 of its original size. This estimation, although correct, is in a way too optimistic, since it compares the memory matrix size to the size of the table with exphcitly written stimulus-response pairs. But in many apphcations long stimuli do not need to be recorded at all, since they can be reproduced from much shorter (even implicit) data. Thus it would be more appropriate to compare the memory matrix with the list of responses (in the previous example the matrix is larger than the hst). So the question remains: are holographic networks really as suitable for data compression as they look on the first sight? The aim of this paper is to evaluate holographic neural networks as a prospective tool for data compression. The paper has no intention to define precisely all details of a "holographic" compression algorithm, but only to assess if such algorithm is feasible or not. Section 2 reviews the theory of holographic neural networks. Section 3 gives an outline of a hypothetical data compression method based on holographic training. Section 4 presents our experiments, where data files have been coded and reproduced by a holographic neuron. Section 5 summarizes the results of those experiments - compression rates and reproduction errors are hsted. Section 6 gives a conclusion, i.e our answer to the initial question. 2 Holographic Neural Networks As mentioned before, a single holographic neuron has already the functionality that is usually expected from a whole network, i.e. it can map stimuli to responses and it can learn associations. A stimulus to a neuron is a complex vector of the form JO2 and a response is also a complex vector of the form As we see, our holographic neuron internally works with complex numbers (written here in polar notation). It means that some form of data conversion is needed to switch between external (usually real or integer) and internal (complex) representation. This conversion should map actual data onto phase angles and their confidence levels onto magnitudes. The available software emulator [2] performs such data transformation automatically. The neuron internally holds a complex nxm memory matrix X. Obviously, this matrix has enough entries to measure separately the influence of each stimulus element on each response element. But even more, a single matrix can be used to record a whole set of different associations, given by different stimulus-response pairs. Namely, the encoded associations can be superimposed one on another and stored into the matrix. After superposition, each single association can still be reproduced approximately. The described property of the memory matrix relies heavily on the fact that complex numbers are used instead of real numbers. Learning one association between a stimulus S and a desired response R reduces to the following update of the memory matrix: X = X + S'' [R- Efe=l sx (1) is computed as follows: R' = A detailed mathematical analysis of the expression shown here can be found in [2] or [7]. The analysis demonstrates that R* can be interpreted as a sum of many components - each component corresponds to one of the learned responses. If S* happens to be equal to one of the learned stimuli S, then the corresponding learned response R occurs in R* as a component with a great magnitude (confidence). At the same time, the remaining components have small magnitudes and different directions, so that they produce a relatively small disturbance. Consequently, R* should have approximately the same direction (thus value) as R. The worst-case response error is expected to be ^tan ^(v^), (3) Here 5'" denotes the conjugated transpose of the vector S. All occurences of X on the right-hand side refer to the old (previous) value of that matrix, and X on the left-hand side is the new (updated) value. Note that we deal here with a straightforward formula, which involves no iteration but only a fixed number of arithmetic operations. To learn a set of stimulus-response associations, the basic step (1) must be repeated in turn for each association, so that all updates are accumulated in the same matrix X. Each subsequent encoding of a new association slightly disturbs previous encodings. Therefore the whole training sequence must be repeated several times in order to stabilize (i.e. several epochs are needed). The number of required iterations is almost always less than 20 [2]. Consequently, holographic training is usually faster than training in conventional neural networks. Suppose that training has been completed. Then the response R* to a given stimulus = K s*x. (2) where p is the number of associations learned. This estimation is fairly realistic if our neuron has been trained with random (uniformly distributed) data. From (3) we see that the learning capacity of our neuron is limited, and it depends on the length of the stimulus vector. For problems where the stimulus vector is short, the number of associations that can accurately be encoded is small. Then we need a special preprocessing operation called stimulus expansion, which artificially increases the stimulus vector length. There are several stimulus expansion procedures in use. The most popular one is called higher order statistics [7]; it supplements the (internally represented) original stimulus elements with their conjugates and products (order 2, 3, ... etc). Another expansion procedure [4] interprets the original stimulus elements as angles, and computes sines and cosines of their multiples. The equation (2) shows that after training each of the computed response elements can depend on any of the given stimulus elements. The influence of the k-th. stimulus element on the l-th response element is proportional to the (fc,i)-th entry of the matrix X. If the (fc,/)-th entry is relatively small, then the k-th stimulus element cannot significantly influence the ž-th response element, and the entry can be "deactivated" (treated as zero). Memory optimization is a special operation where all matrix entries with magnitudes below a given threshold are deactivated. After optimization it is advisable to perform few more training epochs - the neuron will then "adapt" to the loss of some parts of its memory. Note that the trained neuron in fact stores the learned stimulus-response associations in its memory matrix X. The size of this storage is nxmx (number of bytes needed to represent a complex number). Stimulus expansion increases the storage size in order to reduce the response error. On the other hand, memory optimization reduces the storage (zeros do not need to be stored explicitly) on the expense of increasing the response error. 3 A Data Compression Method Suppose that we are given a sequential file consisting of p (let say real) values ri, r2, ... , rp. We would like to design a method to store the file in the memory of a holographic neuron. Or, differently speaking, we would like to design a procedure to train the neuron with the values ri, r2, ... , r^, so that after training each of those values is available (at least approximately) as a response to a suitable stimulus. Let us now discuss how such a method could look like. Since the values ri, r2, ■■■ , are generally independent, each of them must be used as the response in at least one training example. Obviously, one training example per value is enough. Also, for ji ^ the stimuli associated with rj^ and rj^ respectively must be different (otherwise the neuron would be exposed to contradictory data) ; thus the stimulus associated with rj must be equivalent to the index j. For simplicity, we can assume that our original training set consists of the pairs {j,rj), j = 1,2,... ,p. The used informal abbreviation {j,rj) in fact denotes the pair consisting of the stimulus vector S and the response vector R, so that 5 is equal to the (internally represented) vector [j] and R is equal to the (internally represented) vector [rj]. As we see, both vectors have length 1, and the set consists of p training examples. After training, rj can hopefully be reproduced by stimulating the neuron with j. For the success of our file storage method it is crucial that the learned values rj are reproduced with satisfactory precision. In order to assure this, we will have to introduce some form of stimulus expansion. Namely, the original stimulus is obviously too short, since it leads to the memory matrix consisting of only one complex number. The introduced procedure should expand the stimulus vector in each training example to a fixed length n >>1, while keeping the response vector intact. In this way, the procedure should produce a transformed training set, again with p training examples. After transformation, the stimulus length will be the chosen n and the response length still m = 1. It means that the corresponding memory matrix will consist of n complex numbers. The length n has to be chosen big enough to ensure precise reproduction of any file with the given size p. If we wish that the described storage method is also a compression method, we must require from the memory matrix to be smaller than the original file. This requirement can be met after training, by memory optimization. Namely, the optimization procedure will take into account the results of training, and it will discard all those memory elements which are not necessary for reproducing that particular file. Thus the minimum possible storage will be formed, which still assures the required precision in reproduction. Let us denote by n the number of active matrix elements after ' optimization. Putting it all together, our hypothetical data compression method should be based on a combination of stimulus expansion, training, and memory optimization. The corresponding data flow diagram is given in Figure 1. It is reasonable to assume that one complex number requires twice as much storage as one real number. Thus we can compute the compression rate (the ratio between the size of the compressed and the original file) as 2n/p, expressed as a percentage. This estimate is optimistic, since it does not take into account a small overhead necessary to record the positions of still active stimulus elements. Let us now consider the computational complexity of our proposed compression method. If the file size p becomes bigger, the expanded stimulus size n should also increase in order to retain the same precision in response. In the worst case (random files), the response error behaves according to the equation (3) - i.e. the error stays the same only if n is kept proportional to p. Thus in the worst case one learning step (1) requires Q{p) operations, and the whole training procedure (at least p learning steps) requires n(p^) operations. This estimation means that our method is not able to code directly very big files - it would be computationally too expensive. The only way how to deal with a big file is to divide it into smaller blocks. A practical compression method should use a fixed block size and it should produce the compressed file as the union of its compressed blocks. Each block should be compressed separately, according to the basic algorithm shown in Figure 1. The whole "block" method will then have linear computational complexity. The question remains how to choose the block size for our block method. From the computational point of view, smaller blocks are better. But we must also take into account how the block size influences the overall compression rate. If our flle consists of random numbers, then there is no influence; namely the equation (3) then indicates that for a fixed error level the compression rate (i.e. the ratio njp for any block) is always the same. However, this reasoning is not valid if our file posseses some kind of regularity (redundancy) - namely the neuron can "learn" that regularity and use it more efficiently to reproduce a larger block. For instance, if our file is a tabulated linear function, then the neuron should learn and store only one value (i.e. the slope), which represents 10% of a 10-values block and only 1% of a 100-values block. Thus from the compression point of view it is safer to use larger blocks. Putting it all together, our method should use blocks that are small enough to assure reasonably fast computation, and still big enough to enable efficient compression. Note that the proposed holographic compression Original file p real numbers interpretation training Original traiiiing set p stim-resp pairs, stimulus length; 1, response length: 1 Transformed training set p stim-resp pairs, stimulus length: n, response length: 1 stimulus expansion to length n Memory matrix n complex numbers memory optimization V Reduced memory matrix n complex numbers Figure 1: Outline of our data compression method. method bears some resemblance to the widely used JPEG compression standard [8]. First, our method is also lossy, i.e. it only approximately reproduces original data. Also, both algorithms are block algorithms, i.e. they divide a big file into smaller (equally sized) blocks which are compressed independently. Finally, our method is also parametrizable in the sense that accuracy can be traded for better compression. 4 Experiments In order to test data compression capabilities of holographic neurons, we have performed a series of experiments. Our experiments tried to mimic the proposed basic holographic compression method, i.e. they followed the outline shown in Figure 1. In each particular experiment, a different combination of data file and stimulus expansion procedure was chosen. After the initial training, the optimization phase was conducted very slowly. During the whole training and optimization process, the current compression rate and the current reproduction error were measured and recorded. In this way, the interdependence between compression efficiency and reproduction quality was explored. We used altogether 15 different test files; all of them had the same size p = 100, and consisted of real numbers spanning the range between 0 and 1. These test files should be regarded as blocks in our hypothetical block compression method. According to our ex- perience, the proposed block size 100 is already too large from the computational point of view - training lasts about a minute on a Pentium-based PC. Still, we worked with such big blocks in order to give more chance for successful compression. Our 15 test files have been chosen in order to form three essentially different groups of 5. Members of the first group are very "regular" files, obtained by tabulating elementary functions. Files from the second group are still regular but more demanding; they have been constructed by repeating or combining the simple patterns used in the first group. The third group comprises extremely "irregular" files, i.e. sequences of random numbers (uniformly distributed between 0 and 1). One expects that regular files are easier to compress than more demanding ones. Also, truly random files should be incompressible by definition. For each test file we tried two stimulus expansion procedures: the higher-order statistics and the sine-cosine procedure. This gives altogether 30 experiments. The expanded stimulus length was always n = 200, which is sufficient for exact reproduction of most files of size p = 100. Note that the initial holographic memory matrix (before optimization) is 4 times larger than the original file. Optimization should reduce this matrix size as much as possible, so that the final (still acceptable) matrix is hopefully smaller than the original file. To measure the current reproduction error, we com- file name > file description stimulus expansion procedure optimal compression rate mean error mean error mean error < 0.0001 < 0.0010 < 0.0100 linear r - — 'j ~ 100' i = 1,2,... ,100 hi.ord.stat 2% 2% 2% sine-cosine 364% 228% 52% step rj = 0 for j = 1, 2,... rj = 1 for j = 51,52,. ,50, ..,100 hi.ord.stat 8% 8% 4% sine-cosine 12% 12% 8% polynomial _ jü-iooj J 'y 2500 ^ ' i = l,2,... ,100 hi.ord.stat > 400% > 400% 32% sine-cosine > 400% > 400% 108% sine = isinfff+ i = 1,2,... ,100 hi.ord.stat 228% 200% 36% sine-cosine 2% 2% 2% sine-f cosine r,- = f(sinf^-|-cos i = l,2,... ,100 , 1 101 ^ ^ 2 ' hi.ord.stat • 244% 174% 26% sine-cosine 292% 202% 44% Table 1: Summary results - experiments with regular files. puted the mean absolute response error, i.e. we computed the mean absolute difference between original and reproduced file values. Since our files consisted of values between 0 and 1, the chosen error measure can also be interpreted as "relative to full range". For instance, error 0.0100 simply means that the expected difference between an original value and its corresponding reproduced value is 1% of full range. The current compression rate was computed as 2n/p, expressed as a percentage, where n denotes the current number of active matrix elements. The rationale for this estimate has already been given in the previous section. Let us now explain in more detail how the two chosen stimulus expansion procedures work in our particular case, where the original stimulus associated with the file value tj is simply its index j. - The higher-order-statistics procedure uses the (internally represented) index j and its conjugate to form products of 1, 2, 3, 4, ... etc. factors. The expanded stimulus is simply a hst of unique products of that kind (each one of them has either a-different number of factors or a different proportion of conjugated factors). As many products are generated as necessary to complete the vector of n elements. — The sine-cosine procedure interprets the original stimulus j as an angle between 0 and 27r, i.e. instead of j it uses aj = 2-17j/{p -I- 1). Then the procedure computes sin{kaj) and cos(kaj) for fc = 1,2, ... , n/4:. These n/2 numbers (internally represented), together with their conjugates, form the expanded vector of n elements. The two expansion procedures can lead to completely different results. Namely, after expansion the training process will try to correlate rj with the elements of the expanded stimulus vector. In the first case rj will be compared to something analogous to powers of j, and in the second case to something similar to sines and cosines of multiples of j. The different nature of the two expansion procedures can be illustrated by analogy with classical numerical approximation methods. More precisely, the higher-order-statistics expansion is analogous to the Lagrange interpolation, where a function is approximated by a polynomial, while the sine-cosine expansion is analogous to the Fourier analysis, where a function is expressed as a combination of trigonometric functions [5]. 5 Results The results of our experiments have been summarized in Tables 1, 2, and 3. Table 1 describes the behaviour of regular test files (first group), Table 2 the behaviour file name file description stimulus expansion procedure optimal compression rate mean error mean error mean error < 0.0001 < 0.0010 < 0.0100 multiple linear r,=T^forl 400% > 400% 148% sine-cosine > 400% > 400% 210% multiple step Tj = 0 for 1 < i < 50 or 76 < j < 88 or 95 < j < 100, Tj = 1 for 51 < j < 75 or 89 < i < 94 hi.ord.stat 312% 292% 150% sine-cosine 386% 318% 142% amplified sine Tj - Cl ■ j ■ Sm^ + C2, Cl = 0.006563739, 02 = 0.5824075, i = l,2,... ,100 hi.ord.stat > 400% > 400% 34% sme-cosme > 400% > 400% 118% accelerated sine Tj = |sin47r(j^)2-t-i, i = 1,2,... ,100 hi.ord.stat 254% 246% 92% sine-cosine 386% 366% 168% modulated sine T3 - sin ^ , j = 1,2,..., 100 hi.ord.stat > 400% > 400% 62% sine-cosine > 400% > 400% 16% Table 2: Summary results - experiments with more demanding files. of more demanding files (second group), and Table 3 the behaviour of random files (third group). Each row corresponds to one experiment - the best possible compression rate for each of the three chosen error thresholds is reported. In some cases the optimal compression rate is greater than 400%, which means that the initial stimulus was still not long enough to assure the required precision. As we see from Table 1, our holographic method can compress regular files, but only with a modest precision in reproduction. If we can tolerate the mean response error 1% of full range, then we can achieve compression rates between 20 and 50%. Some files can even be compressed to 2% of its original size and reproduced with no error at all (row 1 and 8 of Table 1). But these examples are rather exceptional, namely they are based on a situation where the file value (response) happens to be proportional to one of the expanded stimulus elements. In this rare occasion the optimization procedure quickly isolates the right stimulus element and deactivates all the others. However, for a slightly more complicated situation (row 5 and 10 of Table 1) where the response is proportional to the sum of two stimulus elements, the results are not so spectacular - namely optimization ends up with much more than two elements. The reason for this is internal (complex) representation of data within a holographic neuron, and the fact that arithmetic op- erations and data conversion do not commute. For instance, if we add x and y externally and then represent this sum internally, we would not obtain the same value as if we first convert x and y and then add them internally. According to the results in Table 2, our holographic method is only occasionally successful in compressing more demanding files. To a human eye, the plotted versions of the given files would still look regular in some sense. However, the holographic neuron is usually not able to recognize such subtle regularity. It is very hard to determine which of the demanding files are "regular enough" to be compressed and which are not. Table 3 shows that our holographic method was not successful in compressing the given random files. In each experiment and for any error threshold, the optimized neuron memory was bigger than the original file. This is contrary to our expectations: namely a good method should preserve the original size of an incompressible file. If a high precision in reproduction was required (error 0.0001 - column 4 of Table 3) then the stored file was 2 to 4 times bigger than the original. For a low precision (error 0.0100 - column 6 of Table 3) the stored file was considerably smaller, but it still had the size at least 1.6 of the original. It is important to note that the results obtained for different random files are quite similar. Therefore we file name file description stimulus expansion procedure optimal compression rate mean error mean error mean error < 0.0001 < 0.0010 < 0.0100 random-1 first 100 values from a pseudo-random sequence high.ord.Stat 316% 238% 172% sine-cosine 338% 332% 192% random-2 101-st to 200-th value from the same sequence high.ord.stat 264% 250% 184% sine-cosine 330% 330% 190% random-3 201-st to 300-th value from the same sequence high.ord.stat 318% 242% 174% sine-cosine 236% 236% 188% random-4 301-st to 400-th value from the same sequence high.ord.stat 248% 226% 184% sine-cosine 338% 338% 192% random-5 401-st to 500-th value from the same sequence high.ord.stat > 400% 242% 164% sine-cosine > 400% 304% 184% Table 3: Summary results - experiments with random files. believe that the observed failure of our method on the given files is not accidental. It is very likely that the method would have the same problems with any irregular (non-smooth, non-redundant) file. Some of the obtained results are illustrated in more detail by Figures 2 and 3. Both figures correspond to the same experiment described in Table 2, row 5. The chosen experiment uses the relatively complicated but still compressible "amplified sine" file, and apphes the higher-order-statistics procedure for stimulus expansion. Figure 2 shows precisely how the mean reproduction error depends on the compression rate. Figure 3 compares the original file values with the reproduced values that are obtained after optimal compression (rate 34%). Tables 1, 2 and 3 can also be used for evaluation of the two stimulus expansion procedures. Namely, we can compare the results of any two experiments that use the same file, and we can observe which procedure leads to a better compression rate within the same error threshold. Not surprisingly, the results obtained by two expansion procedures are never the same. As we can see from rows 7-8 of Table 1 or rows 3-4 and 910 of Table 2, the sine-cosine procedure can be better. But more often, the higher-order-statistics procedure is better. It is an open question whether some new stimulus expansion procedure can be constructed, which would be generally better than higher order statistics. Obviously, each procedure is suitable for a certain limited class of files where file values happen to be in correlation with only few expanded stimulus elements. The problem is to find a procedure whose class covers as many files as possible. 6 Conclusion In this paper we have considered the feasibility of a general data compression method based on holographic networks. The considered method interprets a given file as a set of stimulus-response associations. Each association corresponds to a particular value from the file, so that the stimulus identifies that value and the response contains the value itself. Through the process of training, the set of associations is stored (compressed) in the memory of a holographic neuron, and can later on be reproduced. The described method includes stimulus expansion and memory optimization as subroutines. Stimulus expansion is necessary to assure accuracy in reproducing the file. Memory optimization takes into account special properties of the file (discovered through training) and assures optimal compression. Two stimulus expansion routines have been considered: the one based on higher order statistics, and the one that employs sines and cosines. 672 Informatica 21 (1997) 665-673 R. Manger mean reprod error X >$< 0.0075 - X 0.0050 - )5< xx" 0.0025 - Xx. XX XXX X X XX X- ■X X X X XXX 100 200 300 Figure 2: Detailed results for a chosen experiment. compress rate (%) 0.75 0.50 — 0.25 — '»««SR«'' o original file values X reproduced file values « R B ox » 20 40 60 80 Figure 3: More details for the same experiment and a chosen compression rate. Our experiments clearly indicate that the considered "holographic" compression method works well only if the following two conditions are met. 1. The file to be compressed is in some sense very "regular" (e.g. smooth, redundant, repeatable). 2. The required precision in reproducing the file is not too high (e.g. the reproduction error about 1% of full range can be tolerated). Under these circumstances, we can expect moderate compression rates about 20-50%. Among the two stimulus expansion routines, higher order statistics seem to be more successful in general, although sines and cosines can be better in some special cases. Our experiments also show that the considered method is not reliable enough if we deal with slightly more complicated files (e.g. oscilations, discontinuities) . The method sometimes succeeds and sometimes fails for no obvious reason. Finally, our experiments demonstrate that the considered method does not work satisfactorily with random (highly irregular and nonredundant) files. Namely, the stored version of a random file always turns out to be bigger than the original file, so that the whole effort degenerates into data "expansion". References [1] AND Corporation (1990), HNeT Neural Development System - Version 1.0, Hamilton, Ontario. [2] AND America Limited (1993), HNeT Discovery Package - Version 1.3 for Windows, Oakville, Ontario. [3] Hecht-Nielsen R. (1990), Neurocomputing, Addison-Wesley, Reading, Massachusetts. [4] Manger R., Plantamura V.L. andSoučekB. (1994), "Stimulus preprocessing for holographic neural networks", in Frontier Decision Support Concepts, ed. by V.L. Plantamura, B. Souček and G. Visaggio, John Wiley and Sons, New York, pp. 79-90. [5] Press W.H. et al. (1988), Numerical Recipes in C, Cambridge University Press, Cambridge. [6] Sutherland J.G. (1990), "Holographic model of memory, learning and expression". International Journal of Neural Systems, Vol. 1, No. 3, pp. 256267. [7] Sutherland J.G. (1994), "The holographic cell: a quantum perspective", in Frontier Decision Support Concepts, ed. by V.L. Plantamura, B. Souček and G. Visaggio, John Wiley and Sons, New York, pp. 65-78. [8] Wallace G.K. (1991), "The JPEG still picture compression standard". Communications of the ACM, Vol. 34, No. 4, pp. 31-44. Logic as the Language of Innate Order of Consciousness Jeremy Home 3128 West Reunion Drive Phoenix, AZ 85027, USA jliornelOcris. com Keywords: consciousness, information, logic, operators, order, Piaget Edited by: Anton P. Železnikar Received: April 10, 1997 Revised: July 28, 1997 Accepted: November 12, 1997 Basic logic and math textbooks usually present a standards for prioritizing operators in parenthesis-free expressions. The authors say that it is a scheme dictated by convention, but not clear is a description of circumstances under which one would ever fìnd ungrouped expressions and need to prioritize operators. This paper argues that the circumstances generating the expressions dictate the prioritization. That is, if logic and mathematics at a basic level represent the real world, then ordering the operators would have a "natural" foundation. Logic and mathematics reRect a structure of human consciousness, as suggested by Jean Piaget. The operators, themselves, have degrees of intellectual complexity and an empirical foundation with major philosophical import. Section One describes logical aggregation and its importance. Section Two briefly examines three examples suggesting that the ease of logical thinking depends upon ordering of operators. Cases found in human learning theory and Boolean neural networks suggest that each operator has a unique level of complexity. In Section Three, the author proposes a method for finding a natural order of operators that more closely fits the way in which humans think, and Section Four advances a procedure to analyze seemingly unordered phenomena. Section Five describes the philosophy upon which this proposed research is predicated. Binary logic's syntax displays semantics of order in human consciousness, as biophysical and cosmological research indicate. The syntax, itself, may be semantic expressed by a deeper structure linked to that of the cosmos;:itself Section Six suggests a direction in which research should proceed to understand how the source of our being might be communicating to us. 1 Introduction ical convenience for analyzing mathematical relationships and attempting to analyze ordinary language ar- Have you ever wondered about the reason for the con- guments. Yet, exciting mathematical, neurophysiolog- vention that prioritizes or aggregates logical operators ical, and psychological work recently done in binary in parenthesis-free expressions and what the conse- logic suggests a connection between our consciousness quences would be if the order were different and had and the cosmos. an empirical foundation? Questioning such an appar- This essay is conjectural in some parts and cross- ently mundane ground rule can lead to an upheaval disciplinary. It does not purport to be a deep analysis of the way people have been thinking about a sys- of competing ideas, but I wanted to tie together some tem. What if you learned that the logic and these crucial observations to create enough of a focal point operators had more significance than representing the for questioning present conventions, re-directing ped- structure of arguments, that they might represent the agogy, and proffering groundwork for a philosophy of structure of the cosmos, itself? In this essay, I argue binary logic and consciousness. that the complexity of relations between/among enti- The second section describes logical aggregation and ties should determine operator prioritization and that its importance. Section Three briefly examines three this complexity is the essence of the binary logic as the examples llustrating that the ease of logical thinking language of innate order in the universe. depends upon ordering of operators. Cases found in Our logic has assumed paramount importance as the human learning theory and Boolean neural networks foundation of modern computer science and much of suggest that each operator has a unique level of com- artificial intelligence. Binary logic usually is the first plexity. In Section Four, I propose a method for find- and most common logic students encounter, but they ing a natural order of operators that more closely fits rarely encounter meaning beyond it being a mechan- the way in which humans think, and Section Five ad- varices a procedure to analyze a seemingly unordered phenomenon. The sixth section describes the philosophy upon which this proposed research scheme is predicated. Binary logic's syntax displays a semantics of order in the universe, as biophysical and cosmological data indicate. The syntax, itself, may be a semantics expressed by a deeper structure. Section Seven suggests a direction in which research should proceed to understand how the source of our being may be communicating to us. 2 Prioritization and Its Importance In parenthesis-free expressions, such a,s p D q Ar, the truth value oi (p D q) /\r is different than p D {q Ar). Using commonly accepted notation and by convention, the priority of operators is equivalence (=), implication (d), or (v), and (a), and negation (->) in descending order of scope, or precedence. That is, affects only the adjacent variable, a affects only the variables on either side, v affects the a expression inside the parentheses and the first variable outside, and so forth. So, p = q D r W s A -