Abstract

Simulation is the process of executing a model that describes a system with enough detail; this model has its entities, an internal state, some input and output variables and a list of processes bound to these variables. Teaching a simulation language such as general purpose simulation system (GPSS) is always a challenge, because of the way it executes the models and the abstraction level it can achieve, very different compared with most well-known programming languages. This article presents an open source simulation framework that implements a subset of entities of GPSS, which could help students to improve the understanding of this language. This tool also stores all entities of simulations in every single simulation time, which is very useful for debugging simulations, but also for getting a detailed history of all entities in the simulations, knowing exactly how they have behaved in every simulation time.

Highlights

  • Block programming languages offer an important abstraction level that allows the programmer to map objects from the real system to entities of the simulation in an almost transparent way, providing implicitly with each object a set of functions and facilities, which lets the programmer focus on designing the model and forget about implementation details (Naylor et al 1966, Dunna et al 2006)

  • Teaching in the area of simulations is always a challenge (Wildenberg 1981, Jones 1983), because this involves a huge amount of new concepts and complex methodologies; if we add a new block simulation programming language, which implies a new programming paradigm and a brand new way of thinking programs, the challenge is bigger yet, if we are dealing with students who know programming very well but come from a background of procedural, object-oriented or functional programming languages and a different way of regarding models (Wankat and Oreovic 1993, Morgan and Jones 2001)

  • Comprehension by some of the students about the way transactions move along blocks in a simulation written in General purpose simulation system (GPSS) and the way they interact with all entities is difficult, since the language performs all these operations in the background and the programmer just sees the results

Read more

Summary

Introduction

Block programming languages offer an important abstraction level that allows the programmer to map objects from the real system to entities of the simulation in an almost transparent way, providing implicitly with each object a set of functions and facilities, which lets the programmer focus on designing the model and forget about implementation details (Naylor et al 1966, Dunna et al 2006). In this work we present an open simulation framework that allows, on one side, to know, modify and extend the code of all blocks and main objects of the model, and, on the other side, to store in a database all simulation objects in order to know how they have evolved over time and what has happened in each simulation time This permits the students, for example, to pick any entity and know all changes it has suffered in all simulation times, which entities it has interacted with and what its life time inside the model was. They may select a range of times and see what entities existed at that moment

Brief introduction to GPSS
The model
Simulation persistence
Collection of data
Data recovery
Access to code and model extension
Reactions
Conclusion
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.