System-level simulation

This article is about system-level simulation of cyber-physical systems. For social simulation, see Social simulation#System level simulation. For electronic systems simulation see, see Electronic system-level design and verification.

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.

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.

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 developping 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,.[2][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

Several modeling languages and tools are well adapted to SLS, because they are acausal, can model hybrid systems and are object-oriented:

Specific languages are used to model specification and requirement modeling, like SysML or FORM-L.[22] 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.[23]

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,[24] and have been successfully used for system-level simulation of MEMS.[25]

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.[26] Parallel co-simulation is another approach to enable numerical integration speed-ups.[27] 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.

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".[28] In particular, "exascale computing will enable a more holistic treatment of complex problems".[28] 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.[29] Some recent languages combine the syntax of synchronous languages for programming discrete components with the syntax of equation-based languages for writing ODEs.[30]

References

  1. "NASA - System-Level Simulation". www.nasa.gov. Retrieved 2015-11-17.
  2. "Rogers Commission Report". ...failures in communication... resulted in a decision to launch 51-L based on incomplete and sometimes misleading information, a conflict between engineering data and management judgments, and a NASA management structure that permitted internal flight safety problems to bypass key Shuttle managers.
  3. 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.
  4. 1 2 Tiller, Michael (2001-01-01). Block Diagrams vs. Acausal Modeling. 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.
  5. "System-Level Monitoring and Diagnosis of Building HVAC System". eScholarship. Retrieved 2015-11-17.
  6. Bouvy, Claude; Baltzer, Sidney; Jeck, Peter; Gissing, Jörg; Lichius, Thomas; Eckstein, Lutz. "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 (Linköping University Electronic Press). doi:10.3384/ecp12076263.
  7. 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. doi:10.1109/25.806769. ISSN 0018-9545.
  8. Braig, Thomas; Ungethüm, Jörg. "System-Level Modeling of an ICE-powered Vehicle with Thermoelectric Waste-Heat-Utilization". Proceedings of the 7 International Modelica Conference Como, Italy (Linköping University Electronic Press). doi:10.3384/ecp09430044.
  9. 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.
  10. 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.
  11. 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.
  12. 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". IEEE Electric Ship Technologies Symposium, 2009. ESTS 2009: 547–553. doi:10.1109/ESTS.2009.4906565.
  13. Thomas, Eric; Ravachol, Michel; Quincy, Jean Baptiste; Malmheden, Martin. "Collaborative complex system design applied to an aircraft system". Proceedings of the 9th International MODELICA Conference, September 3–5, 2012, Munich, Germany (Linköping University Electronic Press). doi:10.3384/ecp12076855.
  14. Kittilsen, Pål; Hauger, Svein Olav; Wasbø, Stein O. "Designing models for online use with Modelica and FMI". Proceedings of the 9th International MODELICA Conference, September 3–5, 2012, Munich, Germany (Linköping University Electronic Press). doi:10.3384/ecp12076197.
  15. Costes, Joris; Ghidaglia, Jean-Michel; Muguerra, Philippe; Nielsen, Keld Lund; Riou, Xavier; Saut, Jean-Philippe; Vayatis, Nicolas. "On the Simulation of Offshore Oil Facilities at the System Level.". Proceedings of the 10th International Modelica Conference, March 10–12, 2014, Lund, Sweden (Linköping University Electronic Press). doi:10.3384/ecp14096799.
  16. "Optimizing Vehicle Suspension Design Through System-Level Simulation". www.mathworks.com. Retrieved 2015-11-17.
  17. "Software in the Loop Simulation". QTronic.
  18. 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): 346–351. doi:10.1109/CACSD.2013.6663487.
  19. "MapleSim used in the creation of breakthrough vehicle driving simulator technology - User Case Studies - Maplesoft". www.maplesoft.com. Retrieved 2015-11-17.
  20. 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. Retrieved November 17, 2015.
  21. Casella, Francesco. "Simulation of Large-Scale Models in Modelica: State of the Art and Future Perspectives". Proceedings of the 11th International Modelica Conference, Versailles, France, September 21–23, 2015 (Linköping University Electronic Press). doi:10.3384/ecp15118459. Modelica language is well-established for system-level modelling tasks in many domains of engineering, such as automotive, robotics, mechatronics, energy, aerospace, in particular when multi-domain modelling is required.
  22. Otter, Martin; Thuy, Nguyen; Bouskela, Daniel; Buffoni, Lena; Elmqvist, Hilding; Fritzson, Peter; Garro, Alfredo; Jardin, Audrey; Olsson, Hans. "Formal Requirements Modeling for Simulation-Based Verification". Proceedings of the 11th International Modelica Conference, Versailles, France, September 21–23, 2015 (Linköping University Electronic Press). doi:10.3384/ecp15118625.
  23. Schamai, Wladimir; Fritzson, Peter; Paredis, Chris; Pop, Adrian. "Towards Unified System Modeling and Simulation with ModelicaML: Modeling of Executable Behavior Using Graphical Notations". Proceedings of the 7 International Modelica Conference Como, Italy (Linköping University Electronic Press). doi:10.3384/ecp09430081.
  24. 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.
  25. "Wiley: System-level Modeling of MEMS, Volume 10 - Gabriele Schrag, Oliver Brand, Gary K. Fedder, et al". eu.wiley.com. Retrieved 2015-11-17.
  26. 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.
  27. 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. doi:10.1016/j.simpat.2014.05.002.
  28. 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.
  29. Satabin, Lucas; Colaço, Jean-Louis; Andrieu, Olivier; Pagano, Bruno. "Towards a Formalized Modelica Subset". Proceedings of the 11th International Modelica Conference, Versailles, France, September 21–23, 2015 (Linköping University Electronic Press). doi:10.3384/ecp15118637.
  30. 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 (ACM): 113–118. Retrieved November 17, 2015.

External links

This article is issued from Wikipedia - version of the Monday, April 11, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.