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:
- a level of detail adapted to the practical simulation of large and complex cyber-physical systems (e.g. plants, aircraft, industrial facilities)
- the possibility to use the simulation even if the system is not fully specified, i.e. simulation does not necessarily require a detailed knowledge of each part of the system. This makes it possible to use the simulation for conception or study phases, even at an early stage in this process
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 involves multi-physics models (thermo-fluidic, mechanical, electrical, etc.)
- SLS is frequently cross-disciplinary,[1] i.e. it is frequently the result of a collaboration between people with different expertises
- SLS is generally built upon a hierarchy of models; an organized modeling is usually necessary to make the whole model envisagable; the conceptual decomposition of the system into sub-systems is related to the notion of system of systems
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.
Motivations and benefit
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.
Modeling choices
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 he/she works 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]
Domains of application
System-level simulation is used in various domains like:
Usages
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]
Methods and tools
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]
Possible future evolutions
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]
References
- ↑ "NASA - System-Level Simulation". www.nasa.gov. Retrieved 2015-11-17.
- ↑ Fontanella, Giuliano; Basciotti, Daniele; Dubisch, Florian; Judex, Florian; Preisler, Anita; Hettfleisch, Christian; Vukovic, Vladimir; Selke, Tim (2012). "Calibration and validation of a solar thermal system model in Modelica". Building Simulation. 5 (3): 293–300. doi:10.1007/s12273-012-0070-y. S2CID 110823846.
- ↑ Thuy, Nguyen (October 2015). "The Benefits and Challenges of Massive Behavioural Simulation in the Engineering of Complex and Critical Cyber-Physical & Human Systems". 3rd International Workshop on Simulation at the System Level (Sim@SL). Retrieved November 17, 2015.
- 1 2 Tiller, Michael (2001-01-01). "Block Diagrams vs. Acausal Modeling". Introduction to Physical Modeling with Modelica. The Springer International Series in Engineering and Computer Science. Springer US. pp. 255–264. doi:10.1007/978-1-4615-1561-6_11. ISBN 978-1-4613-5615-8.
- ↑ "System-Level Monitoring and Diagnosis of Building HVAC System". eScholarship. Retrieved 2015-11-17.
- ↑ Bouvy, Claude; Baltzer, Sidney; Jeck, Peter; Gissing, Jörg; Lichius, Thomas; Eckstein, Lutz (2012). Holistic vehicle simulation using Modelica - An application on thermal management and operation strategy for electrified vehicles. Proceedings of the 9th International MODELICA Conference, September 3–5, 2012, Munich, Germany. Vol. 76. pp. 264–270. doi:10.3384/ecp12076263. ISBN 978-91-7519-826-2.
- ↑ Butler, K.L.; Ehsani, M.; Kamath, P. (1999-11-01). "A Matlab-based modeling and simulation package for electric and hybrid electric vehicle design". IEEE Transactions on Vehicular Technology. 48 (6): 1770–1778. CiteSeerX 10.1.1.476.2182. doi:10.1109/25.806769. ISSN 0018-9545.
- ↑ Braig, Thomas; Ungethüm, Jörg (2009). "System-Level Modeling of an ICE-powered Vehicle with Thermoelectric Waste-Heat-Utilization". Proceedings of the 7 International Modelica Conference Como, Italy. Vol. 43. pp. 708–715. doi:10.3384/ecp09430044. ISBN 9789173935135.
- ↑ Flueckiger, Scott M.; Iverson, Brian D.; Garimella, Suresh V.; Pacheco, James E. (2014-01-01). "System-level simulation of a solar power tower plant with thermocline thermal energy storage". Applied Energy. 113: 86–96. doi:10.1016/j.apenergy.2013.07.004.
- ↑ Casella, Francesco; Pretolani, Francesco (September 2006). "Fast Start-up of a Combined-Cycle Power Plant: a Simulation Study with Modelica" (PDF). Proceedings Modelica 2006. Retrieved November 17, 2015.
- ↑ Song, Zhaohui; Sun, Teng; Wu, Jian; Che, Lufeng (2014-09-16). "System-level simulation and implementation for a high Q capacitive accelerometer with PD feedback compensation". Microsystem Technologies. 21 (10): 2233–2240. doi:10.1007/s00542-014-2315-4. ISSN 0946-7076. S2CID 110407621.
- ↑ Fang, Ruixian; Jiang, Wei; Khan, J.; Dougal, R. (2009-04-01). "System-level thermal modeling and co-simulation with hybrid power system for future all electric ship". 2009 IEEE Electric Ship Technologies Symposium. pp. 547–553. doi:10.1109/ESTS.2009.4906565. ISBN 978-1-4244-3438-1. S2CID 5860684.
- ↑ Thomas, Eric; Ravachol, Michel; Quincy, Jean Baptiste; Malmheden, Martin (2012). Collaborative complex system design applied to an aircraft system. Proceedings of the 9th International MODELICA Conference, September 3–5, 2012, Munich, Germany. Vol. 76. pp. 855–866. doi:10.3384/ecp12076855. ISBN 978-91-7519-826-2.
- ↑ Kittilsen, Pål; Hauger, Svein Olav; Wasbø, Stein O. (2012). Designing models for online use with Modelica and FMI. Proceedings of the 9th International MODELICA Conference, September 3–5, 2012, Munich, Germany. Vol. 76. pp. 197–204. doi:10.3384/ecp12076197. ISBN 978-91-7519-826-2.
- ↑ Costes, Joris; Ghidaglia, Jean-Michel; Muguerra, Philippe; Nielsen, Keld Lund; Riou, Xavier; Saut, Jean-Philippe; Vayatis, Nicolas (2014). On the Simulation of Offshore Oil Facilities at the System Level. Proceedings of the 10th International Modelica Conference, March 10–12, 2014, Lund, Sweden. Vol. 96. pp. 799–808. doi:10.3384/ecp14096799. ISBN 978-91-7519-380-9.
- ↑ "Optimizing Vehicle Suspension Design Through System-Level Simulation". www.mathworks.com. Retrieved 2015-11-17.
- ↑ "Software in the Loop Simulation". QTronic.
- ↑ Larsson, P.-O.; Casella, F.; Magnusson, F.; Andersson, J.; Diehl, M.; Akesson, J. (2013-08-01). "A framework for nonlinear model-predictive control using object-oriented modeling with a case study in power plant start-up". 2013 IEEE Conference on Computer Aided Control System Design (CACSD) (PDF). pp. 346–351. doi:10.1109/CACSD.2013.6663487. ISBN 978-1-4799-1565-1. S2CID 17466757.
- ↑ "MapleSim used in the creation of breakthrough vehicle driving simulator technology - User Case Studies - Maplesoft". www.maplesoft.com. Retrieved 2015-11-17.
- ↑ Viel, Antoine (March 2011). "Strong Coupling of Modelica System-Level Models with Detailed CFD Models for Transient Simulation of Hydraulic Components" (PDF). Proceedings 8th Modelica Conference. doi:10.3384/ecp11063256. Retrieved November 17, 2015.
- ↑ Otter, Martin; Thuy, Nguyen; Bouskela, Daniel; Buffoni, Lena; Elmqvist, Hilding; Fritzson, Peter; Garro, Alfredo; Jardin, Audrey; Olsson, Hans; Tundis, Andrea (2015). Formal Requirements Modeling for Simulation-Based Verification. Proceedings of the 11th International Modelica Conference, Versailles, France, September 21–23, 2015. Vol. 118. pp. 625–635. doi:10.3384/ecp15118625. ISBN 978-91-7685-955-1.
- ↑ Schamai, Wladimir; Fritzson, Peter; Paredis, Chris; Pop, Adrian (2009). "Towards Unified System Modeling and Simulation with ModelicaML: Modeling of Executable Behavior Using Graphical Notations". Proceedings of the 7 International Modelica Conference Como, Italy. Vol. 43. pp. 612–621. CiteSeerX 10.1.1.364.1268. doi:10.3384/ecp09430081. ISBN 9789173935135.
- ↑ Rudnyi, Evgenii B. (June 2009). "From Finite Elements to System Level Simulation by means of Model Reduction" (PDF). Automation 2009, 6. Und 17. Juni 2009, Kongresshaus Baden-Baden, VDI Bericht. Retrieved November 17, 2015.
- ↑ "Wiley: System-level Modeling of MEMS, Volume 10 - Gabriele Schrag, Oliver Brand, Gary K. Fedder, et al". eu.wiley.com. Retrieved 2015-11-17.
- ↑ Stavåker, Kristian (2011). "Contributions to Parallel Simulation of Equation-Based Models on Graphics Processing Units" (PDF). Licentiate Thesis No 1507, Department of Computer and Information Science, Linköping University. Retrieved November 17, 2015.
- ↑ Ben Khaled, Abir; Ben Gaid, Mongi; Pernet, Nicolas; Simon, Daniel (2014-09-01). "Fast multi-core co-simulation of Cyber-Physical Systems: Application to internal combustion engines". Simulation Modelling Practice and Theory. 47: 79–91. CiteSeerX 10.1.1.635.1427. doi:10.1016/j.simpat.2014.05.002. S2CID 16514955.
- ↑ Ali, Muzaffar; Vukovic, Vladimir; Sahir, Mukhtar Hussain; Basciotti, Daniele (2013). "Development and validation of a desiccant wheel model calibrated under transient operating conditions". Applied Thermal Engineering. 61 (2): 469–480. doi:10.1016/j.applthermaleng.2013.08.010.
- ↑ Ali, Muzaffar; Vukovic, Vladimir; Sheikh, Nadeem Ahmed; Ali, Hafiz M.; Sahir, Mukhtar Hussain (2015). "Enhancement and integration of desiccant evaporative cooling system model calibrated and validated under transient operating conditions". Applied Thermal Engineering. 75: 1093–1105. doi:10.1016/j.applthermaleng.2014.10.064.
- 1 2 Dongarra, J.; Hittinger, J.; Bell, J.; Chacon, L.; Falgout, R.; Heroux, M.; Hovland, P.; Ng, E.; Webster, C. (2014-02-07). "Applied Mathematics Research for Exascale Computing". Livermore, CA. doi:10.2172/1149042. OSTI 1149042. S2CID 59544475.
{{cite journal}}
: Cite journal requires|journal=
(help) - ↑ Satabin, Lucas; Colaço, Jean-Louis; Andrieu, Olivier; Pagano, Bruno (2015). Towards a Formalized Modelica Subset. Proceedings of the 11th International Modelica Conference, Versailles, France, September 21–23, 2015. Vol. 118. pp. 637–646. doi:10.3384/ecp15118637. ISBN 978-91-7685-955-1. S2CID 55207973.
- ↑ Bourke, Timothy; Pouzet, Marc (April 2013). "Zélus: A Synchronous Language with ODEs". Proceedings of the 16th International Conference on Hybrid Systems: Computation and Control: 113–118. Retrieved November 17, 2015.