Model Engineering using Multimodeling

Abstract : We study the simultaneous use of multiple modeling techniques in the design of embedded systems. We begin with a pre-existing Statecharts model of a simple case study, a traffic light for a pedestrian crossing. This model combines two distinct models of computation (MoCs), finite state machines (FSMs) and synchronous/reactive (SR). We add an additional MoC to the mix, a discrete-event (DE) model of the environment in which the traffic light operates, including a simple fault model. We construct a second model of a hardware deployment. This exercise reveals hidden assumptions in the original model about implementation that require refactoring to get a distributed deployment model. We show that the portions of the models defining the control logic of the lights can be shared between the functional and deployment models using actor-oriented classes. This eases maintenance of the models. Finally, we show that models used for verification are abstractions of the functional models that can be synthesized from the other models, suggesting practical design-for-verification techniques. The result is that this simple example uses three distinct models of the system (functional, deployment, verification), two of which hierarchically combine distinct modeling techniques (DE, SR, FSM).

[1]  Gabor Karsai,et al.  Model-integrated program synthesis environment , 1996, Proceedings IEEE Symposium and Workshop on Engineering of Computer-Based Systems.

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

[3]  Yang Zhao,et al.  Modeling of sensor nets in Ptolemy II , 2004, Third International Symposium on Information Processing in Sensor Networks, 2004. IPSN 2004.

[4]  Damien Lyonnard,et al.  Colif: A Design Representation for Application-Specific Multiprocessor SOCs , 2001, IEEE Des. Test Comput..

[5]  Gérard Berry,et al.  The Esterel Synchronous Programming Language: Design, Semantics, Implementation , 1992, Sci. Comput. Program..

[6]  BerryGérard,et al.  The ESTEREL synchronous programming language , 1992 .

[7]  P ? ? ? ? ? ? ? % ? ? ? ? , 1991 .

[8]  Yi-Sheng Huang Design of Traffic Light Control Systems Using Statecharts , 2006, Comput. J..

[9]  Edward A. Lee,et al.  Hierarchical finite state machines with multiple concurrency models , 1999, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[10]  Kang G. Shin,et al.  An end-to-end tool chain for multi-view modeling and analysis of avionics mission computing software , 2003, RTSS 2003. 24th IEEE Real-Time Systems Symposium, 2003.

[11]  Mats Per Erik Heimdahl,et al.  Using PVS to analyze hierarchical state-based requirements for completeness and consistency , 1996, Proceedings. IEEE High-Assurance Systems Engineering Workshop (Cat. No.96TB100076).

[12]  Stephan Merz,et al.  Model Checking , 2000 .

[13]  Hans Vangheluwe,et al.  Multi-formalism modelling and model transformation for the design of reactive systems , 2007, SCSC.

[14]  Rajeev Alur,et al.  A Theory of Timed Automata , 1994, Theor. Comput. Sci..

[15]  Michael von der Beeck,et al.  A Comparison of Statecharts Variants , 1994, FTRTFT.

[16]  Edward A. Lee,et al.  A Code Generation Framework for Actor-Oriented Models with Partial Evaluation , 2007, ICESS.

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

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

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

[20]  Charles André,et al.  Semantics of S . S . M . ( Safe State Machine ) , 2003 .

[21]  Trevor Mudge,et al.  SPEX: A Programming Language for Software Defined Radio , 2006 .

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

[23]  KramerJeff,et al.  The Koala Component Model for Consumer Electronics Software , 2000 .

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

[25]  Reinhard von Hanxleden,et al.  Synthesizing safe state machines from Esterel , 2006, LCTES '06.

[26]  Marco Pistore,et al.  NuSMV 2: An OpenSource Tool for Symbolic Model Checking , 2002, CAV.

[27]  Reinhard von Hanxleden,et al.  Statechart development beyond WYSIWYG , 2007, MODELS'07.

[28]  Pieter J. Mosterman,et al.  A graphical variant approach to object-oriented modeling of dynamic systems , 2007, SCSC.

[29]  Axel Jantsch,et al.  Models of computation and languages for embedded system design , 2005 .

[30]  Ch. Andre,et al.  Synccharts: A visual representation of reactive behaviors , 1995 .

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

[32]  Edward A. Lee,et al.  Classes and inheritance in actor-oriented design , 2009, TECS.

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