Chapter 6

Simulation Engines and Simulation Frameworks 1

6.1. Introduction

A typical simulation architecture is illustrated in Figure 1.7: the elements included in this figure can be found in more or less any simulation. Simulations, therefore, share numerous common points, a fact that is reinforced by their homogeneous architecture: given two discrete event simulations, a considerable part of the code is, or could be, identical. In such cases, we typically find that between 40% and 80% of services and objects are similar if not identical.

This raises an important point: what changes from one simulation application to another is essentially the code of the simulated system. We have, then, an important source for the optimization of developments, by factorizing common services within a given simulation domain. This is the purpose of simulation engines and frameworks, which provide the basic materials to construct simulations more quickly and at reduced cost. We could even envisage a situation where a library of “off-the-shelf” models would be available, enabling simulations to be built without writing a single line of code. This is perhaps just a dream for now, but it is possible, and certain cases already exist: in a simulation environment such as Matlab/ Simulink, for example, with a rich repository of generic models, a large number of systems can be modeled graphically using pre-defined components, then animated without resorting to programming.

The aim of this chapter is to ...

Get Simulation and Modeling of Systems of Systems now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.