by Daniel Jackson, Kevin Sullivan
http://geyer.lcs.mit.edu/~dnj/pubs/com-fse00.pdf
Add To MetaCart
Abstract:
Designing architectural frameworks without the aid of formal modeling is error prone. But, unless supported by analysis, formal modeling is prone to its own class of errors, in which formal statements fail to match the designer’s intent. A fully automatic analysis tool can rapidly expose such errors, and can make the process of constructing and refining a formal model more effective. This paper describes a case study in which we recast a model of Microsoft COM’s query interface and aggregation mechanism into Alloy, a lightweight notation for describing structures. We used Alloy’s analyzer to simulate the specification, to check properties and to evaluate changes. This allowed us to manipulate our model more quickly and with far greater confidence than would otherwise have been possible, resulting in a much simpler model and a better understanding of its key properties.
Citations
|
179
|
An event-based architecture definition language
– Luckham, Vera
- 1995
|
|
175
|
Alloy: a lightweight object modelling notation
– Jackson
|
|
171
|
Essential COM
– Box
- 1998
|
|
137
|
Dynamic structure in software architectures
– Magee, Kramer
- 1996
|
|
133
|
Exploting style in architectural design environments
– Garlan, Allen, et al.
- 1994
|
|
115
|
Formalizing style to understand descriptions of software architecture
– Abowd, Allen, et al.
- 1995
|
|
108
|
Formal specification and analysis of software architectures using the chemical abstract machine model
– Inverardi, Wolf
- 1995
|
|
85
|
Alcoa: the alloy constraint analyzer
– Jackson, Schechter, et al.
- 2000
|
|
37
|
Software architecture styles as graph grammars
– Métayer
- 1996
|
|
37
|
Capturing software architecture design expertise with Armani
– Monroe
- 1998
|
|
33
|
The Unified Modeling Language Reference
– Rumbaugh, Booch, et al.
- 1999
|
|
29
|
Formal Modeling and Analysis of the HLA Component Integration Standard
– Allen, Garlan, et al.
- 1998
|
|
22
|
The Component Object Model Specification, Version 0.9
– Corporation
- 1995
|
|
12
|
AML: Architecture Meta-Language
– Wile
- 1996
|
|
4
|
Analysis of a conflict between interface negotiation and aggregation in Microsoft’s component object model
– Sullivan, Marchukov, et al.
- 1999
|
|
2
|
Formalizing a specification for analysis: The HLA ownership properties
– Damon, Melton, et al.
- 1998
|
|
2
|
Understanding Z: A Specification Notation and its Formal Semantics, Cambridge Tracts
– Spivey
- 1988
|
|
1
|
Exploiting Architecture Description Languages to Specify Architectural Styles Induced by Middleware Infrastructures
– Nitto, Rosenblum
- 1999
|