Specifying and Analysing System-Level Inter-Component Interfaces

In control systems, the interfaces between software and its embedding environment are a major source of costly errors. For example, Lutz reported that 20–35% of the safety-related errors discovered during integration and system testing of two spacecraft were related to the interfaces between the software and the embedding hardware. Also, the software’s operating environment is likely to change over time, further complicating the issues related to system-level inter-component communication. In this paper we discuss a formal approach to the specification and analysis of inter-component communication using a revised version of RSML (Requirements State Machine Language). The formalism allows rigorous specification of the physical aspects of the inter-component communication and forces encapsulation of communication-related properties in well-defined and easy-to-read interface specifications. This enables us both to analyse a system design to detect incompatibilities between connected components and to use the interface specifications as safety kernels to enforce safety constraints.

[1]  Constance L. Heitmeyer,et al.  Automated consistency checking of requirements specifications , 1996, TSEM.

[2]  Robert J. Allen A formal approach to software architecture , 1997 .

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

[4]  David Garlan,et al.  Exploiting style in architectural design environments , 1994, SIGSOFT '94.

[5]  Michael W. Whalen,et al.  A formal semantics for RSML- e , 2000 .

[6]  Mats Per Erik Heimdahl,et al.  Specification and Analysis of Intercomponent Communication , 1998, Computer.

[7]  David Garlan An Introduction to the Aesop System , 1995 .

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

[9]  Robyn R. Lutz Targeting safety-related errors during software requirements analysis , 1993, SIGSOFT '93.

[10]  Xiaolei Qian,et al.  Correct Architecture Refinement , 1995, IEEE Trans. Software Eng..

[11]  Constance L. Heitmeyer,et al.  Applying the SCR requirements method to a weapons control panel: an experience report , 1998, FMSP '98.

[12]  Robert A. Riemenschneider,et al.  Introduction to SADL 1.0: A Language for Specifying Software Architecture Hierarchies , 1997 .

[13]  Peyman Oreizy,et al.  Using object-oriented typing to support architectural design in the C2 style , 1996, SIGSOFT '96.

[14]  Kathryn L. Heninger Specifying Software Requirements for Complex Systems: New Techniques and Their Application , 2001, IEEE Transactions on Software Engineering.

[15]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[16]  Kevin G. Wika Safety kernal enforcement of software safety policies , 1995 .

[17]  Nancy G. Leveson,et al.  Design for safe software , 1983 .

[18]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

[19]  Mary Shaw,et al.  Abstractions for Software Architecture and Tools to Support Them , 1995, IEEE Trans. Software Eng..

[20]  Nancy G. Leveson,et al.  Software Requirements Analysis for Real-Time Process-Control Systems , 1991, IEEE Trans. Software Eng..

[21]  Myla Archer,et al.  Using Abstraction and Model Checking to Detect Safety Violations in Requirements Specifications , 1998, IEEE Trans. Software Eng..

[22]  Thomas Anderson Safe and Secure Computing Systems , 1989 .

[23]  M. Young,et al.  How to leave out details: error-preserving abstractions of state-space models , 1988, [1988] Proceedings. Second Workshop on Software Testing, Verification, and Analysis.

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

[25]  David C. Luckham,et al.  An Event-Based Architecture Definition Language , 1995, IEEE Trans. Software Eng..

[26]  Michael M. Gorlick,et al.  Using weaves for software construction and analysis , 1991, [1991 Proceedings] 13th International Conference on Software Engineering.

[27]  David Garlan,et al.  A Formal Approach to Software Architectures , 1992, IFIP Congress.

[28]  David Lorge Parnas,et al.  Software Requirements for the A-7E Aircraft. , 1992 .

[29]  Ramesh Bharadwaj,et al.  Applying the SCR Requirements Specification Method to Practical Systems: A Case Study , 1996 .

[30]  Naranker Dulay,et al.  Specifying Distributed Software Architectures , 1995, ESEC.

[31]  Richard N. Taylor,et al.  A language and environment for architecture-based software development and evolution , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

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

[33]  A. Pnueli,et al.  STATEMATE: a working environment for the development of complex reactive systems , 1988, [1988] Proceedings. The Third Israel Conference on Computer Systems and Software Engineering.

[34]  Steve Vestal,et al.  Domain-Specific Software Architectures for Guidance, Navigation and Control , 1996, Int. J. Softw. Eng. Knowl. Eng..

[35]  Rajesh Rajamani,et al.  NIMBUS: A Framework for Static Analysis and Simulation of System-level Inter-component Communication , 1999 .

[36]  K. G. Wika,et al.  On the enforcement of software safety policies , 1995, COMPASS '95 Proceedings of the Tenth Annual Conference on Computer Assurance Systems Integrity, Software Safety and Process Security'.

[37]  Will Tracz,et al.  LILEANNA: a parameterized programming language , 1993, [1993] Proceedings Advances in Software Reuse.

[38]  John Rushby,et al.  The PVS Specification Language , 1993 .

[39]  T. Anderson Kernels for Safety ? , 1989 .

[40]  Jeff Magee,et al.  Dynamic structure in software architectures , 1996, SIGSOFT '96.

[41]  R LutzRobyn Targeting safety-related errors during software requirements analysis , 1993 .

[42]  Mats Per Erik Heimdahl,et al.  Specification-based prototyping for embedded systems , 1999, ESEC/FSE-7.

[43]  Michael M. Gorlick,et al.  Visual programming-in-the-large versus visual programming-in-the-small , 1994, Proceedings of 1994 IEEE Symposium on Visual Languages.

[44]  Mats Per Erik Heimdahl,et al.  Specification and analysis of system level inter-component communication , 1997, First IEEE International Conference on Formal Engineering Methods.

[45]  Richard N. Taylor,et al.  A general-purpose algorithm for analyzing concurrent programs , 1983, CACM.

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

[47]  Nancy G. Leveson,et al.  Specification and analysis of the requirements for embedded software with an external interaction model , 1990 .

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