Disciplined heterogeneous modeling

Complex systems demand diversity in the modeling mechanisms. One way to deal with a diversity of requirements is to create flexible modeling frameworks that can be adapted to cover the field of interest. The downside of this approach is a weakening of the semantics of the modeling frameworks that compromises interoperability, understandability, and analyzability of the models. An alternative approach is to embrace heterogeneity and to provide mechanisms for a diversity of models to interact. This paper reviews an approach that achieves such interaction between diverse models using an abstract semantics, which is a deliberately incomplete semantics that cannot by itself define a useful modeling framework. It instead focuses on the interactions between diverse models, reducing the nature of those interactions to a minimum that achieves a well-defined composition. An example of such an abstract semantics is the actor semantics, which can handle many heterogeneous models that are built today, and some that are not common today. The actor abstract semantics and many concrete semantics have been implemented in Ptolemy II, an open-source software framework distributed under a BSD-style license.

[1]  Alberto L. Sangiovanni-Vincentelli,et al.  Compositional Modeling in Metropolis , 2002, EMSOFT.

[2]  F. Shapiro,et al.  The Yale book of quotations , 2006 .

[3]  Edward A. Lee,et al.  Ptolemy: A Framework for Simulating and Prototyping Heterogenous Systems , 2001, Int. J. Comput. Simul..

[4]  A. Garrett,et al.  Ockham’s Razor , 1991 .

[5]  Alberto L. Sangiovanni-Vincentelli,et al.  Overcoming heterophobia: modeling concurrency in heterogeneous systems , 2001, Proceedings Second International Conference on Application of Concurrency to System Design.

[6]  Conrad Bock,et al.  SysML and UML 2 support for activity modeling , 2006, Syst. Eng..

[7]  E.A. Lee,et al.  Synchronous data flow , 1987, Proceedings of the IEEE.

[8]  Edward A. Lee Modeling concurrent real-time processes using discrete events , 1999, Ann. Softw. Eng..

[9]  Edward A. Lee,et al.  The Semantics of Dataflow with Firing , 2022 .

[10]  Ed F. Deprettere,et al.  A Methodology to Design Programmable Embedded Systems - The Y-Chart Approach , 2001, Embedded Processor Design Challenges.

[11]  A. Pnueli,et al.  STATEMATE: a working environment for the development of complex reactive systems , 1988, [1988] Proceedings. The Third Israel Conference on Computer Systems and Software Engineering.

[12]  Edward A. Lee,et al.  Leveraging synchronous language principles for heterogeneous modeling and design of embedded systems , 2007, EMSOFT '07.

[13]  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.

[14]  Edward A. Lee,et al.  Taming heterogeneity - the Ptolemy approach , 2003, Proc. IEEE.

[15]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[16]  Edward A. Lee,et al.  Dataflow process networks , 2001 .

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

[18]  Peter A. Fritzson,et al.  Principles of object-oriented modeling and simulation with Modelica 2.1 , 2004 .

[19]  Michael F. P. O'Boyle,et al.  Embedded Processor Design Challenges , 2002 .

[20]  Marilyn Bohl,et al.  Information processing , 1971 .

[21]  Edward A. Lee,et al.  Operational Semantics of Hybrid Systems , 2005, HSCC.

[22]  C. A. R. Hoare,et al.  Communicating Sequential Processes (Reprint) , 1983, Commun. ACM.

[23]  강문설 [서평]「The Unified Modeling Language User Guide」 , 1999 .

[24]  Carlo Rossi,et al.  Giotto a time-triggered language for embedded programming , 2011 .

[25]  Wolfgang Pree,et al.  Modeling with the Timing Definition Language (TDL) , 2006, ASWSD.

[26]  Manfred Broy,et al.  Model-Driven Development of Reliable Automotive Services, Second Automotive Software Workshop, ASWSD 2006, San Diego, CA, USA, March 15-17, 2006, Revised Selected Papers , 2006, Automotive Software Workshop.

[27]  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.

[28]  Gilles Kahn,et al.  Coroutines and Networks of Parallel Processes , 1977, IFIP Congress.

[29]  Edward A. Lee,et al.  Ptolemy II, Heterogeneous Concurrent Modeling and Design in JAVA , 2001 .

[30]  Edward A. Lee,et al.  Heterogeneous composition of models of computation , 2009, Future Gener. Comput. Syst..

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

[32]  Edward A. Lee Finite State Machines and Modal Models in Ptolemy II , 2009 .

[33]  L D Lutter,et al.  Ockham's Razor , 1999, Foot & ankle international.

[34]  Norman Kemp Smith,et al.  Immanuel Kant's Critique of Pure Reason. , 1930 .

[35]  Alberto L. Sangiovanni-Vincentelli,et al.  Languages and Tools for Hybrid Systems Design , 2006, Found. Trends Electron. Des. Autom..

[36]  Edward A. Lee,et al.  Modeling Timed Concurrent Systems , 2006, CONCUR.

[37]  Carolyn L. Talcott,et al.  A foundation for actor computation , 1997, Journal of Functional Programming.

[38]  Carl Hewitt,et al.  Viewing Control Structures as Patterns of Passing Messages , 1977, Artif. Intell..

[39]  Edward A. Lee,et al.  Actor-Oriented Design of Embedded Hardware and Software Systems , 2003, J. Circuits Syst. Comput..

[40]  Thomas A. Henzinger,et al.  Hybrid Systems: Computation and Control , 1998, Lecture Notes in Computer Science.

[41]  Fernando Herrera,et al.  A framework for embedded system specification under different models of computation in SystemC , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[42]  Frédéric Boulanger,et al.  A model of domain-polymorph component for heterogeneous system design , 2009, J. Syst. Softw..

[43]  Edward A. Lee,et al.  CONTINUOUS TIME AND MIXED-SIGNAL SIMULATION IN PTOLEMY II , 1999 .

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

[45]  Edward A. Lee,et al.  Heterogeneous Concurrent Modeling and Design in Java (Volume 2: Ptolemy II Software Architecture) , 2008 .

[46]  Christel Baier,et al.  CONCUR 2006 - Concurrency Theory, 17th International Conference, CONCUR 2006, Bonn, Germany, August 27-30, 2006, Proceedings , 2006, CONCUR.

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

[48]  Pieter J. Mosterman,et al.  Computer Automated Multi-Paradigm Modeling : An Introduction , 2000 .

[49]  Florence Maraninchi,et al.  42: programmable models of computation for a component-based approach to heterogeneous embedded systems , 2007, GPCE '07.

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

[51]  Edward A. Lee,et al.  Model Engineering using Multimodeling , 2008 .