Analysing failure behaviours in component interaction

In order to facilitate the process of safety analysis of an evolving software system, this paper presents an architectural approach that enhances the safety analysis by providing appropriate abstractions for modelling and analysing interactions between components, since faulty interactions are the usual cause of accidents. For that, instead of considering components as the locus of change, the proposed approach assumes that components remain unchanged while their interactions (captured by connectors) adapt to the different changes made in the system. The behavioural description of connectors is provided in terms of maintained time automata, and the safety analysis is performed using model checking, which verifies 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]  David Garlan,et al.  Formal Connectors , 1994 .

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

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

[4]  Rogério de Lemos,et al.  Safety analysis of an evolving software architecture , 2000, Proceedings. Fifth IEEE International Symposium on High Assurance Systems Engineering (HASE 2000).

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

[6]  Bertrand Meyer,et al.  Applying 'design by contract' , 1992, Computer.

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

[8]  Andreas Reuter,et al.  Transaction Processing: Concepts and Techniques , 1992 .

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

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

[11]  Richard N. Taylor,et al.  A Component- and Message-Based Architectural Style for GUI Software , 1995, 1995 17th International Conference on Software Engineering.

[12]  Peyman Oreizy,et al.  Reuse of off-the-shelf components in C2-style architectures , 1997, ICSE '97.

[13]  Cecília M. F. Rubira,et al.  Fault tolerance in concurrent object-oriented software through coordinated error recovery , 1995, Twenty-Fifth International Symposium on Fault-Tolerant Computing. Digest of Papers.

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

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

[16]  Rogério de Lemos,et al.  Diversity of Safety Arguments in the Validation of a Sounding Rocket Destruction System , 2001 .

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

[18]  Nenad Medvidovic,et al.  Towards a taxonomy of software connectors , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

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

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

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

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

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

[24]  Brian Randell System structure for software fault tolerance , 1975 .

[25]  Avelino Francisco Zorzo,et al.  Rigorous development of a safety-critical system based on coordinated atomic actions , 1999, Digest of Papers. Twenty-Ninth Annual International Symposium on Fault-Tolerant Computing (Cat. No.99CB36352).

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

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