Enhancing architectural mismatch detection with assumptions

Detecting software architecture inconsistencies is a critical issue in software design. Software systems are described in terms of components, component behavior and interaction and mismatch detection is explored through techniques based on behavior analysis. Integration problems, however, are not only caused by behavioral mismatch: components make assumptions about their environment to guarantee functional and non-functional properties. If the actual deployment environment of each component does not satisfy its assumptions, component and system properties may not hold. In this work we propose to extend the idea of architectural mismatch to include the notion of assumption. We concentrate on a subset of possible assumptions and show how software architects can benefit from using them. We also present a discussion on how architecture description languages (ADLs) can be extended to include assumptions.

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

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

[3]  David Garlan,et al.  Formalizing Architectural Connection , 1994, ICSE.

[4]  Richard N. Taylor,et al.  Formal Modeling of Software Architectures at Multiple Levels of Abstraction , 1996 .

[5]  David Luckham,et al.  Debugging Ada Tasking Programs , 1985, IEEE Software.

[6]  Rance Cleaveland,et al.  The concurrency workbench: a semantics-based tool for the verification of concurrent systems , 1993, TOPL.

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

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

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

[10]  Walter Mann,et al.  Correction to "Specification and Analysis of System Architecture Using Rapide" , 1995, IEEE Trans. Software Eng..

[11]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[12]  Shing-Chi Cheung,et al.  Checking safety properties using compositional reachability analysis , 1999, TSEM.

[13]  Daniel G. Bobrow,et al.  Book review: The Art of the MetaObject Protocol By Gregor Kiczales, Jim des Rivieres, Daniel G. and Bobrow(MIT Press, 1991) , 1991, SGAR.

[14]  KramerJeff,et al.  Checking safety properties using compositional reachability analysis , 1999 .

[15]  David Lorge Parnas,et al.  Information Distribution Aspects of Design Methodology , 1971, IFIP Congress.

[16]  Dimitra Giannakopoulou,et al.  Analysing the behaviour of distributed software architectures: a case study , 1997, Proceedings of the Sixth IEEE Computer Society Workshop on Future Trends of Distributed Computing Systems.

[17]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[18]  Paola Inverardi,et al.  Formal Specification and Analysis of Software Architectures Using the Chemical Abstract Machine Model , 1995, IEEE Trans. Software Eng..

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

[20]  Shing-Chi Cheung,et al.  Compositional reachability analysis of finite-state distributed systems with user-specified constraints , 1995, SIGSOFT FSE.

[21]  Paola Inverardi,et al.  Checking Assumptions in Component Dynamics at the Architectural Level ; CU-CS-829-97 , 1997 .