Safety analysis of an evolving software architecture

The safety analysis of an evolving software system has to consider the impact that changes might have on the software components, and to provide confidence that the risk is acceptable. If the impact of a change is not thoroughly analysed, accidents can occur as a result of faulty interactions between components, for example. However, the process of safety analysis can be enhanced if appropriate abstractions are provided for modelling and analysing software components and their interactions. Instead of considering components as the locus of change, the proposed approach assumes that components remain unchanged while their interactions (i.e. connectors) adapt to the different requirements needs. The safety analysis is then performed using model checking to verify whether safe behaviour is maintained when interactions between components change. The feasibility of the approach is demonstrated in terms of a case study that deals with the safety procedures associated with the launching of a sounding rocket.

[1]  Rogério de Lemos,et al.  Coordinated atomic actions in modelling object cooperation , 1998, Proceedings First International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC '98).

[2]  Rogério de Lemos,et al.  Safety Analysis Techniques for Validating Formal Models During Verification , 1999, SAFECOMP.

[3]  Aloysius K. Mok,et al.  Safety analysis of timing properties in real-time systems , 1986, IEEE Transactions on Software Engineering.

[4]  Ivar Jacobson,et al.  The Unified Modeling Language User Guide , 1998, J. Database Manag..

[5]  Lemos R de Validating Formal Verification using Safety Analysis Techniques , 1999 .

[6]  Reino Kurki-Suonio Fundamentals of Object-Oriented Specification and Modeling of Collective Behaviors , 1996 .

[7]  Robert Balzer,et al.  Instrumenting, Monitoring, & Debugging Software Architectures , 1998 .

[8]  Jan Bosch,et al.  Superimposition: a component adaptation technique , 1999, Inf. Softw. Technol..

[9]  Rogério de Lemos,et al.  Evaluation of Co-operative Actions in the Safety Analysis of the Destruction System of the Sounding Rocket VS-40X (in Portuguese) , 2000 .

[10]  Thomas A. Henzinger,et al.  Hybrid Systems III , 1995, Lecture Notes in Computer Science.

[11]  Victor R. Basili,et al.  Analyzing Error-Prone System Structure , 1991, IEEE Trans. Software Eng..

[12]  Rogério de Lemos,et al.  Extended RTL in the Specification and Verification of an Industrial Press , 1995, Hybrid Systems.

[13]  Yannis Smaragdakis,et al.  Implementing reusable object-oriented components , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[14]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[15]  Rogério de Lemos,et al.  ERTL: an extension to RTL for the specification, analysis and verification of hybrid systems , 1996, Proceedings of the Eighth Euromicro Workshop on Real-Time Systems.

[16]  Akinori Yonezawa,et al.  Abstracting Object Interactions Using Composition Filters , 1993, ECOOP Workshop.

[17]  Desmond D'Souza,et al.  Objects, Components, and Frameworks with UML: The Catalysis Approach , 1998 .

[18]  Wang Yi,et al.  Uppaal in a nutshell , 1997, International Journal on Software Tools for Technology Transfer.

[19]  Robyn R. Lutz,et al.  Analyzing software requirements errors in safety-critical, embedded systems , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[20]  D. L. Simms,et al.  Normal Accidents: Living with High-Risk Technologies , 1986 .