An extensible modeling methodology for embedded and cyber-physical system design

Abstract models are important tools to manage the increasing complexity of system design. The choice of a modeling language for constructing models governs what types of systems can be modeled, and which subsequent design activities can be performed. This is especially true for the area of embedded electronic and cyber-physical system design, which poses several challenging requirements of modeling and design methodologies. This article argues that the Formal System Design (ForSyDe) methodology with the necessary presented extensions fulfills these requirements, and thus qualifies for the design of tomorrow’s systems. Based on the theory of models of computation and the concept of process constructors, heterogeneous models are captured in ForSyDe with formal semantics. A refined layer of the formalism is introduced to make its denotational-style semantics easy to implement on top of commonly used imperative languages, and an open-source realization on top of the IEEE standard language SystemC is presented. The introspection mechanism is introduced to automatically export an intermediate representation of the constructed models for further analysis/synthesis by external tools. Flexibility and extensibility of ForSyDe is emphasized by integrating a new timed model of computation without central synchronization, and by providing mechanisms for integrating foreign models, parallel and distributed simulation, modeling adaptive, data-parallel, and non-deterministic systems. A set of ForSyDe features is demonstrated in practice, and compared with similar approaches using a running example and two relevant case studies.

[1]  Christian Haubelt,et al.  Efficient Representation and Simulation of Model-Based Designs , 2006, FDL.

[2]  Seyed-Hosein Attarzadeh-Niaki,et al.  A formal, model-driven design flow for system simulation and multi-core implementation , 2015, 10th IEEE International Symposium on Industrial Embedded Systems (SIES).

[3]  Bradley R. Schmerl,et al.  Supporting Heterogeneity in Cyber-Physical Systems Architectures , 2014, IEEE Transactions on Automatic Control.

[4]  Ingo Sander,et al.  Synthesizing code for GPGPUs from abstract formal models , 2014, Proceedings of the 2014 Forum on Specification and Design Languages (FDL).

[5]  Kevin Marquet,et al.  PinaVM: a systemC front-end based on an executable intermediate representation , 2010, EMSOFT '10.

[6]  David Broman,et al.  Viewpoints, formalisms, languages, and tools for cyber-physical systems , 2012, MPM '12.

[7]  Gabor Karsai,et al.  Model-Integrated Computing , 1997, Computer.

[8]  Seyed-Hosein Attarzadeh-Niaki,et al.  Formal heterogeneous system modeling with SystemC , 2012, Proceeding of the 2012 Forum on Specification and Design Languages.

[9]  Joseph Sifakis,et al.  Modeling Heterogeneous Real-time Components in BIP , 2006, Fourth IEEE International Conference on Software Engineering and Formal Methods (SEFM'06).

[10]  Jan Reineke,et al.  Basic problems in multi-view modeling , 2017, Software & Systems Modeling.

[11]  Kenneth Steiglitz,et al.  Testing for cycles in infinite graphs with periodic structure , 1987, STOC.

[12]  Jayadev Misra,et al.  Distributed discrete-event simulation , 1986, CSUR.

[13]  Axel Jantsch,et al.  UMoC++: A C++-Based Multi-MoC Modeling Environment , 2006 .

[14]  Axel Jantsch,et al.  Modelling Adaptive Systems in ForSyDe , 2008, VerAS@TPHOLs.

[15]  Albert Benveniste,et al.  The synchronous approach to reactive and real-time systems , 1991 .

[16]  Edward A. Lee,et al.  Dataflow process networks , 1995, Proc. IEEE.

[17]  George Ungureanu,et al.  Automatic Software Synthesis from High-Level ForSyDe Models Targeting Massively Parallel Processors , 2013 .

[18]  Alberto L. Sangiovanni-Vincentelli,et al.  metroII , 2013, ACM Trans. Embed. Comput. Syst..

[19]  Fernando Herrera,et al.  A framework for heterogeneous specification and design of electronic embedded systems in SystemC , 2007, TODE.

[20]  Luciano Lavagno,et al.  Metropolis: An Integrated Electronic System Design Environment , 2003, Computer.

[21]  Frédéric Boulanger,et al.  ModHel'X: A Component-Oriented Approach to Multi-Formalism Modeling , 2008, MoDELS.

[22]  Jan Reineke,et al.  Basic Problems in Multi-View Modeling , 2014, TACAS.

[23]  Frédéric Boulanger,et al.  Exploring Multi-Paradigm Modeling Techniques , 2009, Simul..

[24]  Alfonso Acosta Gómez Hardware synthesis in ForSyDe: The design and implementation of a ForSyDe-to-VHDL Haskell-embedded compiler. , 2007 .

[25]  Edward A. Lee,et al.  A causality interface for deadlock analysis in dataflow , 2006, EMSOFT '06.

[26]  Ingo Sander,et al.  Co-simulation of embedded systems in a heterogeneous MoC-based modeling framework , 2011, 2011 6th IEEE International Symposium on Industrial and Embedded Systems.

[27]  David Barton,et al.  System specification in Rosetta , 2000, Proceedings Seventh IEEE International Conference and Workshop on the Engineering of Computer-Based Systems (ECBS 2000).

[28]  Edward A. Lee Disciplined heterogeneous modeling , 2010, MODELS'10.

[29]  Bernard P. Zeigler,et al.  Theory of Modelling and Simulation , 1979, IEEE Transactions on Systems, Man and Cybernetics.

[30]  Jean-Marc Jézéquel,et al.  Model Driven Engineering , 2017, Encyclopedia of GIS.

[31]  Axel Jantsch,et al.  HetMoC: Heterogeneous Modelling in SystemC , 2010, FDL.

[32]  Daniel D. Gajski,et al.  The SpecC Language Reference Manual , 1998 .

[33]  Douglas C. Schmidt,et al.  Guest Editor's Introduction: Model-Driven Engineering , 2006, Computer.

[34]  Peter G. Harrison,et al.  Parallel Programming Using Skeleton Functions , 1993, PARLE.

[35]  Attarzadeh Niaki,et al.  Managing the Complexity in Embedded and Cyber-Physical System Design : System Modeling and Design-Space Exploration , 2014 .

[36]  Axel Jantsch,et al.  The usage of stochastic processes in embedded system specifications , 2001, Ninth International Symposium on Hardware/Software Codesign. CODES 2001 (IEEE Cat. No.01TH8571).

[37]  Seyed-Hosein Attarzadeh-Niaki,et al.  Semi-formal refinement of heterogeneous embedded systems by foreign model integration , 2011, FDL 2011 Proceedings.

[38]  Wolfgang Müller,et al.  Model-based design of embedded systems , 2004, Seventh IEEE International Symposium onObject-Oriented Real-Time Distributed Computing, 2004. Proceedings..

[39]  Axel Jantsch,et al.  System modeling and transformational design refinement in ForSyDe [formal system design] , 2004, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[40]  Hideki John Reekie,et al.  Realtime Signal Processing Data∞ow, Visual, and Functional Programming , 1995 .

[41]  Д.Е. Гурьев,et al.  Описание языка SystemVerilog – Unified Hardware Design, Specification, and Verification Language, Часть V , 2013 .

[42]  Kees Goossens,et al.  A Composable and Predictable MPSoC Design Flow for Multiple Real-Time Applications , 2017 .

[43]  M. Otter,et al.  Modelica - A Unified Object-Oriented Language for Physical Systems Modeling - Language Specification , 2000 .

[44]  Edward A. Lee,et al.  A framework for comparing models of computation , 1998, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[45]  Marc Pouzet,et al.  Zélus: a synchronous language with ODEs , 2013, HSCC '13.

[46]  Bernard P. Zeigler,et al.  Theory of Modelling and Simulation , 1979, IEEE Transactions on Systems, Man, and Cybernetics.

[47]  Stavros Tripakis Basic Problems in MultiView Modeling ∗ , 2014 .

[48]  Jens H. Krüger,et al.  A Survey of General‐Purpose Computation on Graphics Hardware , 2007, Eurographics.

[49]  Mikkel Koefoed Jakobsen Formal methods for design and simulation of embedded systems , 2013 .

[50]  Seyed-Hosein Attarzadeh-Niaki,et al.  Heterogeneous system-level modeling for small and medium enterprises , 2012, 2012 25th Symposium on Integrated Circuits and Systems Design (SBCCI).

[51]  Murray Cole,et al.  Algorithmic Skeletons: Structured Management of Parallel Computation , 1989 .

[52]  Edward A. Lee,et al.  Modeling Cyber–Physical Systems , 2012, Proceedings of the IEEE.

[53]  Edward A. Lee The Past, Present and Future of Cyber-Physical Systems: A Focus on Models , 2015, Sensors.

[54]  Axel Jantsch,et al.  Modeling embedded systems and SoCs - concurrency and time in models of computation , 2003, The Morgan Kaufmann series in systems on silicon.

[55]  Gaurav Bhatia,et al.  Model-Based Development of Embedded Systems: The SysWeaver Approach , 2006, 12th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS'06).

[56]  Sandeep K. Shukla,et al.  SystemC Kernel extensions for heterogeneous system modeling - a framework for multi-MoC modeling and simulation , 2004 .

[57]  Ingo Sander,et al.  An automated parallel simulation flow for heterogeneous embedded systems , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[58]  Wolfgang Nebel,et al.  The Quiny SystemC Front End: Self-Synthesising Designs , 2006, FDL.

[59]  Kevin Marquet,et al.  A Theoretical and Experimental Review of SystemC Front-ends , 2010, FDL.