Download:
|
by Paola Inverardi, Alexander L. Wolf, Daniel Yankelevich
ACM Transactions on Software Engineering and Methodology
ftp://ftp.cs.colorado.edu/users/alw/doc/papers/tosem00.ps.gz
Add To MetaCart
Abstract:
A critical challenge faced by the developer of a software system is to understand whether the system's components correctly integrate. While type theory has provided substantial help in detecting and preventing errors in mismatched static properties, much work remains in the area of dynamics. In particular, components make assumptions about their behavioral interaction with other components, but currently we have only limited ways in which to state those assumptions and to analyze those assumptions for correctness. We have formulated a method that begins to address this problem. The method operates at the architectural level so that behavioral integration errors, such as deadlock, can be revealed early and at a high level. For each component, a speci-cation is given of its interaction behavior. From this specication, assumptions that the component makes about the corresponding interaction behavior of the external context are automatically derived. We have dened an algorithm that performs compatibility checks between nite representations of a component's context assumptions and the actual interaction behaviors of the components with which it is intended to interact. A conguration of a system is possible if and only if a successful way of matching actual behaviors with assumptions can be found. The state-space complexity of this algorithm is signicantly less than that of comparable approaches and, in the worst case, the time complexity is comparable to the worst case of standard reachability analysis. 1
Citations
|
2783
|
Communication and Concurrency
– Milner
- 1989
|
|
2712
|
Communicating Sequential Processes
– Hoare
- 1985
|
|
971
|
Software Architecture: Perspectives on an Emerging Discipline
– Garlan, Shaw
- 1996
|
|
491
|
Foundations for the study of software architecture
– Perry, Wolf
- 1992
|
|
487
|
A formal basis for architectural connection
– Allen, Garlan
- 1997
|
|
415
|
The chemical abstract machine
– Berry, Boudol
- 1992
|
|
351
|
A behavioral notion of subtyping
– Liskov, Wing
- 1994
|
|
274
|
Specification and Analysis of System Architecture Using Rapide
– Luckham, Kenney, et al.
- 1995
|
|
266
|
Three partition refinement algorithms
– Paige, Tarjan
- 1987
|
|
228
|
Specification Matching of Software Components
– Zaremski, Wing
- 1997
|
|
151
|
Programming by Multiset Transformation
– Banatre, Metayer
- 1993
|
|
150
|
Architectural mismatch: Why reuse is so hard
– Garlan, Allen, et al.
- 1995
|
|
115
|
The Specification of Process Synchronization by Path Expressions
– Campbell, Haberman
- 1974
|
|
108
|
Formal specification and analysis of software architectures using the chemical abstract machine model
– Inverardi, Wolf
- 1995
|
|
95
|
The Inscape environment
– Perry
- 1989
|
|
76
|
A partially deadlock-free typed process calculus
– Kobayashi
- 1998
|
|
66
|
Foundations for the study
– Perry, Wolf
- 1992
|
|
27
|
Three partition re algorithms
– Paige, Tarjan
- 1987
|
|
25
|
An implicitly-typed deadlock-free process calculus, in: C. Palamidessi (Ed
– Kobayashi, Saito, et al.
- 2000
|
|
23
|
Analysing the Behaviour of Distributed Software Architectures: a Case Study
– Magee, Kramer, et al.
- 1997
|
|
21
|
The AdaPIC toolset: Supporting interface control and analysis throughout the software development process
– Wolf, Clarke, et al.
- 1989
|
|
21
|
The Chemical Abstract
– Berry, Boudol
- 1992
|
|
19
|
The Gamma Model and its
– Banatre, Metayer
- 1990
|
|
18
|
Speci cation and analysis of system architecture using Rapide
– Luckham, Augustin, et al.
- 1995
|
|
15
|
A case study in architectural modeling: the AEGIS system
– Allen, Garlan
- 1996
|
|
8
|
Some Chemical Abstract Machines. In A Decade of Concurrency, number 803
– Boudol
- 1994
|
|
6
|
Formal Speci and Analysis of Software Architectures Using the Chemical Abstract Machine Model
– Inverardi, Wolf
- 1995
|
|
6
|
Relating CHAM descriptions of software architectures
– Inverardi, Yankelevich
- 1996
|
|
5
|
Automatic verification of distributed systems: The process algebra approach
– Inverardi, Priami
- 1996
|
|
5
|
What Do You get From a Pi-Calculus Semantics
– Radestock, Eisenbach
- 1994
|
|
2
|
Interoperability: Sample Problems and Solutions. Available from the authors
– Garlan, Kindred, et al.
- 1995
|
|
1
|
Static Checking of System Behaviors • 271
– ALLEN, GARLAN
- 1996
|
|
1
|
Automatic Veri of Distributed Systems: The Process Algebra Approach
– Inverardi, Priami
- 1996
|