A Decision Support Framework for the Choice of Languages and Methods for the Design of Real Time Embedded Systems

The choice of methods or design languages is a crucial phase in the development of systems and software, also for real time and embedded systems. An open question that remains in the design of these types of systems is to build a method, or to choose one among those existing, capable to cover the life cycle of a project, and particularly the development phases. This article contributes to answer the question, by proposing an approach based on a multi-criteria comparative study, of few languages and methods dedicated to the design of real time and embedded systems. The underlying objective of this work is to present to designers a wide range of approaches, and elements that can guide their choices. In order to reach this goal, we propose different comparison criteria. Each criterion is divided into sub-criteria, so that the designers can refine their choices according to the qualities they prefer and wish to have in the method or language. We also define a rating scale which is used to assess the retained languages and methods. The scores obtained from this assessment are presented in tables, one table per criterion, followed by a summary table giving the overall scores. Graphics built from these tables are provided and intend to facilitate the judgement and thus the choice of the designers.

[1]  Stephen R. Schach Introduction to Object-Oriented Systems Analysis and Design with Uml and the Unified Process , 2003 .

[2]  George Bate The Official Handbook of Mascot. Version 3.1. Issue 1 , 1987 .

[3]  Rob Williams,et al.  Real-Time Systems Development , 2005 .

[4]  John W. Brackett,et al.  The Core method for real-time requirements , 1992, IEEE Software.

[5]  Ken Shumate,et al.  Designing large real-time systems with Ada , 1988, CACM.

[6]  Hugo Simpson,et al.  The Mascot method , 1986, Softw. Eng. J..

[7]  Francis Thom,et al.  An Integrated MDA Approach with SysML and UML , 2008, 13th IEEE International Conference on Engineering of Complex Computer Systems (iceccs 2008).

[8]  Thomas Vergnaud,et al.  Modélisation des systèmes temps-réel répartis embarqués pour la génération automatique d'applications formellement vérifiées , 2006 .

[9]  Petri Pulli,et al.  IPTES: A concurrent engineering approach for real-time software development , 1993, Real-Time Systems.

[10]  Hassan Gomaa Software design methods for concurrent and real-time systems , 1993, SEI series in software engineering.

[11]  Anthony Spiteri Staines A Comparison of Software Analysis and Design Methods for Real Time Systems , 2007 .

[12]  Sylvia Goldsmith A practical guide to real-time systems development , 1993 .

[13]  Kevin L. Mills Design Methods For Real-Time Systems In Ada , 1998 .

[14]  Shin'ichi Shiraishi Qualitative Comparison of ADL-Based Approaches to Real-World Automotive System Development , 2013, J. Inf. Process..

[15]  N. D. Birrell,et al.  A practical handbook for software development , 1985 .

[16]  Pierre de Saqui-Sannes,et al.  Synthèse d'une conception UML temps-réel à partir de diagrammes de séquences , 2005 .

[17]  Bran Selic Tutorial: real-time object-oriented modeling (ROOM) , 1996, Proceedings Real-Time Technology and Applications.

[18]  Laurent Pautet,et al.  Ocarina : An Environment for AADL Models Analysis and Automatic Code Generation for High Integrity Applications , 2009, Ada-Europe.

[19]  Simon Bennett,et al.  Schaum's Outline of UML , 2001 .

[20]  Anthony Spiteri Staines Modeling and Analysis of a Cruise Control System , 2008 .

[21]  Richard N. Taylor,et al.  A Classification and Comparison Framework for Software Architecture Description Languages , 2000, IEEE Trans. Software Eng..

[22]  Paul T. Ward,et al.  The transformation schema: An extension of the data flow diagram to represent control and timing , 1986, IEEE Transactions on Software Engineering.

[23]  Peter H. Feiler,et al.  Developing AADL Models for Control Systems: A Practitioner's Guide , 2007 .

[24]  J. E. Cooling,et al.  Software Design for Real-time Systems , 1991, Springer US.

[25]  Manas Saksena,et al.  Guidelines for automated implementation of executable object oriented models for real-time embedded control systems , 1997, Proceedings Real-Time Systems Symposium.

[26]  Derek J. Hatley,et al.  Strategies for Real-Time System Specification , 1987 .

[27]  Sanford Friedenthal,et al.  OMG Systems Modeling Language (OMG SysML™) Tutorial , 2008 .

[28]  Alan Burns,et al.  HRT-HOOD: A structured design method for hard real-time systems , 2005, Real-Time Systems.

[29]  Peter H. Feiler,et al.  The Architecture Analysis & Design Language (AADL): An Introduction , 2006 .

[30]  Paul C. Clements,et al.  A survey of architecture description languages , 1996, Proceedings of the 8th International Workshop on Software Specification and Design.

[31]  G. P. Mullery,et al.  CORE - a method for controlled requirement specification , 1979, ICSE 1979.

[32]  Hassan Gomaa,et al.  Designing concurrent, distributed, and real-time applications with UML , 2000, ICSE.

[33]  Pascal Roques UML in Practice: The Art of Modeling Software Systems Demonstrated through Worked Examples and Solutions , 2004 .

[34]  Alan O'Callaghan,et al.  Object-Oriented Methods: Principles and Practice , 2000 .

[35]  Jean-Marc Jézéquel,et al.  A Comparison of Six UML-Based Languages for Software Process Modeling , 2010, IEEE Transactions on Software Engineering.

[36]  Ernst-Rüdiger Olderog,et al.  A CSP View on UML-RT Structure Diagrams , 2001, FASE.

[37]  Hassan Gomaa,et al.  Software Design Methods for Real-Time Systems , 1989 .

[38]  Pierre Boulet Modélisation et analyse de systèmes embarqués ou temps-réel avec le profil UML MARTE , 2011 .