Towards a formalism-based toolkit for automotive applications

The success of a number of projects has been shown to be significantly improved by the use of a formalism. However, there remains an open issue: to what extent can a development process based on a singular formal notation and method succeed. The majority of approaches demonstrate a low level of flexibility by attempting to use a single notation to express all of the different aspects encountered in software development. Often, these approaches leave a number of scalability issues open. We prefer a more eclectic approach. In our experience, the use of a formalism-based toolkit with adequate notations for each development phase is a viable solution. Following this principle, any specific notation is used only where and when it is really suitable and not necessarily over the entire software lifecycle. The approach explored in this article is perhaps slowly emerging in practice - we hope to accelerate its adoption. However, the major challenge is still finding the best way to instantiate it for each specific application scenario. In this work, we describe a development process and method for automotive applications which consists of five phases. The process recognizes the need for having adequate (and tailored) notations (Problem Frames, Requirements State Machine Language, and Event-B) for each development phase as well as direct traceability between the documents produced during each phase. This allows for a stepwise verification/validation of the system under development. The ideas for the formal development method have evolved over two significant case studies carried out in the DEPLOY project.

[1]  Nancy G. Leveson,et al.  Designing specification languages for process control systems: lessons learned and steps to the future , 1999, ESEC/FSE-7.

[2]  Michael J. Butler,et al.  ProB: an automated analysis toolset for the B method , 2008, International Journal on Software Tools for Technology Transfer.

[3]  Abraham H. Maslow,et al.  The psychology of science: a reconnaissance , 1966 .

[4]  Ib Holm Sørensen A Specification Language , 1981, Program Specification.

[5]  Alexei Iliasov Use Case Scenarios as Verification Conditions: Event-B/Flow Approach , 2011, SERENE.

[6]  Nancy G. Leveson,et al.  Completeness and Consistency in Hierarchical State-Based Requirements , 1996, IEEE Trans. Software Eng..

[7]  Manfred Broy,et al.  Seamless Method- and Model-based Software and Systems Engineering , 2010, The Future of Software Engineering.

[8]  Jean-Raymond Abrial,et al.  The B-book - assigning programs to meanings , 1996 .

[9]  Helen M. Edwards,et al.  Problem frames: analyzing and structuring software development problems , 2002, Softw. Test. Verification Reliab..

[10]  Manfred Broy,et al.  What is the Benefit of a Model-Based Design of Embedded Software Systems in the Car Industry? , 2012 .

[11]  Manuel Mazzara,et al.  On Modelling and Analysis of Dynamic Reconfiguration of Dependable Real-Time Systems , 2010, 2010 Third International Conference on Dependability.

[12]  Kendall Scott,et al.  UML distilled - a brief guide to the Standard Object Modeling Language (2. ed.) , 2000, notThenot Addison-Wesley object technology series.

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

[14]  Grady Booch,et al.  Object-Oriented Analysis and Design with Applications , 1990 .

[15]  Frank Waters,et al.  The B Book , 1971 .

[16]  Nancy G. Leveson,et al.  Requirements Specification for Process-Control Systems , 1994, IEEE Trans. Software Eng..

[17]  Elena Troubitsyna,et al.  Rigorous Open Development Environment for Complex Systems ) , 2005 .

[18]  Dines Bjørner,et al.  The Vienna Development Method: The Meta-Language , 1978, Lecture Notes in Computer Science.

[19]  Herbert Hanselmann,et al.  Challenges in automotive software engineering , 2008, ICSE Companion '08.

[20]  André Platzer,et al.  Adaptive Cruise Control: Hybrid, Distributed, and Now Formally Verified , 2011, FM.

[21]  Dominique Méry,et al.  Automatic code generation from event-B models , 2011, SoICT '11.

[22]  Jos C. M. Baeten,et al.  A brief history of process algebra , 2005, Theor. Comput. Sci..

[23]  Marek Jersak,et al.  Formal Methods for Integration of Automotive Software , 2003, DATE.

[24]  Felix Lösch,et al.  On Fitting a Formal Method into Practice , 2011, ICFEM.

[25]  Grady Booch,et al.  Object Oriented Analysis And Design With Applications 3Rd Edition , 2009 .

[26]  Grady Booch,et al.  Object-oriented analysis and design with applications, third edition , 2007, SOEN.

[27]  Cliff B. Jones,et al.  Software development - a rigorous approach , 1980, Prentice Hall international series in computer science.

[28]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[29]  Cliff B. Jones,et al.  Systematic software development using VDM , 1986, Prentice Hall International Series in Computer Science.

[30]  Cliff B. Jones,et al.  RODIN (Rigorous Open Development Environment for Complex Systems) , 2005 .

[31]  Manuel Mazzara,et al.  Deriving Specifications of Dependable Systems: toward a Method , 2010, ArXiv.

[32]  Manuel Mazzara,et al.  On Methods for the Formal Specification of Fault Tolerant Systems , 2012, ArXiv.

[33]  Andrew Edmunds,et al.  From Event-B models to code: sensing, actuating, and the environment , 2011 .

[34]  Martyn Thomas,et al.  Industrial deployment of system engineering methods providing high dependability and productivity. , 2013 .

[35]  Russo,et al.  Formal Methods in Industry: The State of Practice of Formal Methods in South America and Far East , 2009 .

[36]  Jeannette M. Wing What is a specification language ? , 2001 .