Tracing Integration Analysis in Component-Based Formal Specifications

The correctness of a component-based specification is not guaranteed by the correctness of its components alone; on the contrary, integration analysis is needed to observe their conjoint behavior. Existing approaches often leave the results of the analysis at the level of the integrated system, without tracing them onto the corresponding components. This effectively results in loss of architecture, as it is no longer possible to reason over those components and evolve their specification while keeping the results of integration analysis. This paper presents a formal approach to automatically translate changes on the integrated system into revisions of the components and the architecture initially defined by the developers. Several architectural alternatives are provided that, besides allowing developers to reason about the system from different points of view, promote its correct modularization in two overlapping perspectives: the encapsulation of crosscutting concerns and the elaboration of the architecture desired for the final implementation.

[1]  Shaoying Liu,et al.  Capturing complete and accurate requirements by refinement , 2002, Eighth IEEE International Conference on Engineering of Complex Computer Systems, 2002. Proceedings..

[2]  Axel van Lamsweerde,et al.  Requirements engineering in the year 00: a research perspective , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[3]  Marsha Chechik,et al.  Generating Counterexamples for Multi-valued Model-Checking , 2003, FME.

[4]  Axel van Lamsweerde,et al.  Formal specification: a roadmap , 2000, ICSE '00.

[5]  João Araújo,et al.  Early aspects: a model for aspect-oriented requirements engineering , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[6]  Radha Jagadeesan,et al.  Abstraction-Based Model Checking Using Modal Transition Systems , 2001, CONCUR.

[7]  Thomas A. Henzinger,et al.  You Assume, We Guarantee: Methodology and Case Studies , 1998, CAV.

[8]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[9]  Tommaso Bolognesi,et al.  LOTOSphere: Software Development with LOTOS , 1995, Springer US.

[10]  Richard Banach,et al.  Retrenchment: extending the reach of refinement , 1999, 14th IEEE International Conference on Automated Software Engineering.

[11]  Karine Altisen Verimag Exploring Aspects in the Context of Reactive Systems , 2004 .

[12]  John A. McDermid,et al.  A model for a causal logic for requirements engineering , 2005, Requirements Engineering.

[13]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[14]  Jorge García Duque,et al.  SCTL-MUS: A Formal Methodology for Software Development of Distributed Systems. A Case Study , 2001, Formal Aspects of Computing.

[15]  Radha Jagadeesan,et al.  Model checking partial state spaces with 3-valued temporal logics , 2001 .

[16]  Bashar Nuseibeh Crosscutting requirements , 2004, AOSD '04.

[17]  Bashar Nuseibeh,et al.  An analysis-revision cycle to evolve requirements specifications , 2001, Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001).

[18]  Stanley M. Sutton,et al.  N degrees of separation: multi-dimensional separation of concerns , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[19]  Steve Schneider The B-method - an introduction , 2001, The cornerstones of computing series.

[20]  Jorge García Duque,et al.  An analysis-revision cycle to evolve requirements specifications by using the SCTL-MUS methodology , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.