System-level simulation (SLS) is a collection of practical methods used in the field of systems engineering, in order to simulate, with a computer, the global behavior of large cyber-physical systems.
Cyber-physical systems (CPS) are systems composed of physical entities regulated by computational elements (e.g. electronic controllers).
System-level simulation is mainly characterized by:
These two characteristics have several implications in terms of modeling choices (see further).
System-level simulation has some other characteristics, that it shares with CPS simulation in general:
SLS is mainly about computing the evolution over time of the physical quantities that characterize the system of interest, but other aspects can be added like failure modeling or requirement verification.
The main motivation for SLS is the application of the holistic principle to computer simulation, which would state that simulating the system as a whole tells more than simulating parts of the system separately. Indeed, simulating the different parts of a complex system separately means neglecting all the possible effects of their mutual interactions. In many applications, these interactions cannot be ignored because of strong dependencies between the parts. For instance, many CPSs contain feedbacks that cannot be broken without modifying the system behavior. Feedbacks can be found in most modern industrial systems, which generally include one or more control systems. Another example of benefits from system level simulations is reflected in the high degree of accuracy (e.g. less than 1% cumulative validation error over 6 months of operation) of such simulations in the case of a solar thermal system. [2]
On the other hand, simply connecting existing simulation tools, each built specifically to simulate one of the system parts, is not possible for large systems since it would lead to unacceptable computation times. SLS aims at developing new tools and choosing relevant simplifications in order to be able to simulate the whole cyber-physical system.
SLS has many benefits compared to detailed co-simulation of the system sub-parts. The results of a simulation at the system level are not as accurate as those of simulations at a finer level of detail but, with adapted simplifications, it is possible to simulate at an early stage, even when the system is not fully specified yet. Early bugs or design flaws can then be detected more easily.
SLS is also useful as a common tool for cross-discipline experts, engineers and managers and can consequently enhance the cooperative efforts and communication. Improving the quality of exchanges reduces the risk of miscommunication or misconception between engineers and managers, which are known to be major sources of design errors in complex system engineering. [3]
More generally SLS must be contemplated for all applications whenever only the simulation of the whole system is meaningful, while the computation times are constrained. For instance, simulators for plant operators training must imitate the behavior of the whole plant while the simulated time must run faster than real time.
Cyber-physical systems are hybrid systems, i.e. they exhibit a mix of discrete and continuous dynamics. The discrete dynamics mostly originates from digital sensing or computational sub-systems (e.g. controllers, computers, signal converters). The adopted models must consequently be capable of modeling such a hybrid behavior.
It is common in SLS to use 0D —sometimes 1D— equations to model physical phenomena with space variables, instead of 2D or 3D equations. The reason for such a choice is the size of the simulated systems, which is generally too large (i.e. too many elements and/or too large space extension) for the simulation to be computationally tractable. Another reason is that 3D models require the detailed geometry of each part to be modeled. This detailed knowledge might not be known to the modeler, especially if the modelling is done at an early step in the development process.
The complexity of large CPSs make them difficult to describe and visualize. A representation that can be arranged so that its structure looks like the structure of the original system is a great help in terms of legibility and ease of comprehension. Therefore, acausal modeling is generally preferred to causal block-diagram modeling. [4] Acausal modeling is also preferred because component models can be reused, contrary to models developed as block diagrams. [4]
System-level simulation is used in various domains like:
In an early stage of the development cycle, SLS can be used for dimensioning or to test different designs. For instance, in automotive applications, "engineers use simulation to refine the specification before building a physical test vehicle". [16] Engineers run simulations with this system-level model to verify performance against requirements and to optimize tunable parameters.
System-level simulation is used to test controllers connected to the simulated system instead of the real one. If the controller is a hardware controller like an ECU, the method is called hardware-in-the-loop. If the controller is run as a computer program on an ordinary PC, the method is called software-in-the-loop. Software-in-the-loop is faster to deploy and releases the constraint of real time imposed by the use of a hardware controller. [17]
SLS is used to build plant models that can be simulated fast enough to be integrated in an operator training simulator or in an MPC controller. [18] Systems with a faster dynamics can also be simulated, like a vehicle in a driving simulator. [19]
Another example of SLS use is to couple the system-level simulation to a CFD simulation. The system-level model provides the boundary conditions of the fluid domain in the CFD model. [20]
Specific languages are used to model specification and requirement modeling, like SysML or FORM-L. [21] They are not meant to model the system physics but tools exist that can combine specification models and multi-physics models written in hybrid system modeling languages like Modelica. [22]
If a model is too complex or too large to be simulated in a reasonable time, mathematical techniques can be utilized to simplify the model. For instance, model order reduction gives an approximate model, which has a lower accuracy but can be computed in a shorter time. Reduced order models can be obtained from finite element models, [23] and have been successfully used for system-level simulation of MEMS. [24]
SLS can benefit from parallel computing architectures. For instance, existing algorithms to generate code from high-level modeling languages can be adapted to multi-core processors like GPUs. [25] Parallel co-simulation is another approach to enable numerical integration speed-ups. [26] In this approach, the global system is partitioned into sub-systems. The subsystems are integrated independently of each other and are synchronized at discrete synchronization points. Data exchange between subsystems occurs only at the synchronization points. This results in a loose coupling between the sub-systems.
Optimization can be used to identify unknown system parameters, i.e. to calibrate CPS model, matching the performance to actual system operation. [27] In cases when exact physical equations governing the processes are unknown, approximate empirical equations can be derived, e.g. using multiple linear regression. [28]
If the simulation can be deployed on a supercomputing architecture, many of the modeling choices that are commonly adopted today (see above) might become obsolete. For instance, the future supercomputers might be able to "move beyond the loosely coupled, forward-simulation paradigm". [29] In particular, "exascale computing will enable a more holistic treatment of complex problems". [29] To exploit exascale computers, it will however be necessary to rethink the design of today's simulation algorithms.
For embedded system applications, safety considerations will probably lead the evolution of SLS. For instance, unlike synchronous languages, the modeling languages currently used for SLS (see above) are not predictable and may exhibit unexpected behaviors. It is then not possible to use them in a safety-critical context. The languages should be rigorously formalized first. [30] Some recent languages combine the syntax of synchronous languages for programming discrete components with the syntax of equation-based languages for writing ODEs. [31]
A simulation is an imitative representation of a process or system that could exist in the real world. In this broad sense, simulation can often be used interchangeably with model. Sometimes a clear distinction between the two terms is made, in which simulations require the use of models; the model represents the key characteristics or behaviors of the selected system or process, whereas the simulation represents the evolution of the model over time. Another way to distinguish between the terms is to define simulation as experimentation with the help of a model. This definition includes time-independent simulations. Often, computers are used to execute the simulation.
Vehicle dynamics is the study of vehicle motion, e.g., how a vehicle's forward movement changes in response to driver inputs, propulsion system outputs, ambient conditions, air/surface/water conditions, etc. Vehicle dynamics is a part of engineering primarily based on classical mechanics. It may be applied for motorized vehicles, bicycles and motorcycles, aircraft, and watercraft.
Computer simulation is the process of mathematical modelling, performed on a computer, which is designed to predict the behaviour of, or the outcome of, a real-world or physical system. The reliability of some mathematical models can be determined by comparing their results to the real-world outcomes they aim to predict. Computer simulations have become a useful tool for the mathematical modeling of many natural systems in physics, astrophysics, climatology, chemistry, biology and manufacturing, as well as human systems in economics, psychology, social science, health care and engineering. Simulation of a system is represented as the running of the system's model. It can be used to explore and gain new insights into new technology and to estimate the performance of systems too complex for analytical solutions.
Modelica is an object-oriented, declarative, multi-domain modeling language for component-oriented modeling of complex systems, e.g., systems containing mechanical, electrical, electronic, hydraulic, thermal, control, electric power or process-oriented subcomponents. The free Modelica language is developed by the non-profit Modelica Association. The Modelica Association also develops the free Modelica Standard Library that contains about 1400 generic model components and 1200 functions in various domains, as of version 4.0.0.
In computational modelling, multiphysics simulation is defined as the simultaneous simulation of different aspects of a physical system or systems and the interactions among them. For example, simultaneous simulation of the physical stress on an object, the temperature distribution of the object and the thermal expansion which leads to the variation of the stress and temperature distributions would be considered a multiphysics simulation. Multiphysics simulation is related to multiscale simulation, which is the simultaneous simulation of a single process on either multiple time or distance scales.
ASCEND is an open source, mathematical modelling chemical process modelling system developed at Carnegie Mellon University since late 1978. ASCEND is an acronym which stands for Advanced System for Computations in Engineering Design. Its main uses have been in the field of chemical process modelling although its capabilities are general.
Dynamic simulation is the use of a computer program to model the time-varying behavior of a dynamical system. The systems are typically described by ordinary differential equations or partial differential equations. A simulation run solves the state-equation system to find the behavior of the state variables over a specified period of time. The equation is solved through numerical integration methods to produce the transient behavior of the state variables. Simulation of dynamic systems predicts the values of model-system state variables, as they are determined by the past state values. This relationship is found by creating a model of the system.
EcosimPro is a simulation tool developed by Empresarios Agrupados A.I.E for modelling simple and complex physical processes that can be expressed in terms of Differential algebraic equations or Ordinary differential equations and Discrete event simulation.
Model-based design (MBD) is a mathematical and visual method of addressing problems associated with designing complex control, signal processing and communication systems. It is used in many motion control, industrial equipment, aerospace, and automotive applications. Model-based design is a methodology applied in designing embedded software.
Dymola is a commercial modeling and simulation environment based on the open Modelica modeling language.
MapleSim is a Modelica-based, multi-domain modeling and simulation tool developed by Maplesoft. MapleSim generates model equations, runs simulations, and performs analyses using the symbolic and numeric mathematical engine of Maple. Models are created by dragging-and-dropping components from a library into a central workspace, resulting in a model that represents the physical system in a graphical form. Maplesoft began development of MapleSim partly in response to a request from Toyota to produce physical modeling tools to aid in their new model-based development process.
SimulationX is a CAE software application running on Microsoft Windows for the physical simulation of technical systems. It is developed and sold by ESI Group.
The Functional Mock-up Interface defines a standardized interface to be used in computer simulations to develop complex cyber-physical systems.
20-sim is a commercial modeling and simulation program for multi-domain dynamic systems, which is developed by Controllab. With 20-sim, models can be entered as equations, block diagrams, bond graphs and physical components. 20-sim is widely used for modeling complex multi-domain systems and for the development of control systems.
JModelica.org is a commercial software platform based on the Modelica modeling language for modeling, simulating, optimizing and analyzing complex dynamic systems. The platform is maintained and developed by Modelon AB in collaboration with academic and industrial institutions, notably Lund University and the Lund Center for Control of Complex Systems (LCCC). The platform has been used in industrial projects with applications in robotics, vehicle systems, energy systems, CO2 separation and polyethylene production.
Wolfram System Modeler, developed by Wolfram MathCore, is a platform for engineering as well as life-science modeling and simulation based on the Modelica language. It provides an interactive graphical modeling and simulation environment and a customizable set of component libraries.
Simcenter Amesim is a commercial simulation software for the modeling and analysis of multi-domain systems. It is part of systems engineering domain and falls into the mechatronic engineering field.
Building performance simulation (BPS) is the replication of aspects of building performance using a computer-based, mathematical model created on the basis of fundamental physical principles and sound engineering practice. The objective of building performance simulation is the quantification of aspects of building performance which are relevant to the design, construction, operation and control of buildings. Building performance simulation has various sub-domains; most prominent are thermal simulation, lighting simulation, acoustical simulation and air flow simulation. Most building performance simulation is based on the use of bespoke simulation software. Building performance simulation itself is a field within the wider realm of scientific computing.
OpenModelica is a free and open source environment based on the Modelica modeling language for modeling, simulating, optimizing and analyzing complex dynamic systems. This software is actively developed by Open Source Modelica Consortium, a non-profit, non-governmental organization. The Open Source Modelica Consortium is run as a project of RISE SICS East AB in collaboration with Linköping University.
{{cite journal}}
: Cite journal requires |journal=
(help)