Using Formal Methods to Reason about Architectural Standards

Abstract : We present a study in which we used formal methods to reason precisely about aspects of a widely used software architectural standard, namely Microsoft's Component Object Model (COM). We developed a formal theory of COM to help us reason about a proposed compositional architectural style based on COM, intended for use in a novel commercial multimedia authoring system. The style combined COM objects, integration mediators, and the COM reuse mechanism of aggregation. Our use of formal methods averted an architectural disaster by revealing essential but subtle and counterintuitive properties of COM. We partially validated our theory by subjecting it to review by the designers of COM and by testing it against other available data. The theory has good evidential support.

[1]  Dale Rogerson,et al.  Inside COM , 1997 .

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

[3]  David Lorge Parnas,et al.  Review of David L. Parnas' "Designing Software for Ease of Extension and Contraction" , 2004 .

[4]  Don S. Batory,et al.  Creating reference architectures: an example from avionics , 1995, SSR '95.

[5]  Kevin Sullivan,et al.  Mediators: easing the design and evolution of integrated systems , 1994 .

[6]  C LuckhamDavid,et al.  Specification and Analysis of System Architecture Using Rapide , 1995 .

[7]  Mark A. Ardis,et al.  A Framework for Evaluating Specification Methods for Reactive Systems , 1995, 1995 17th International Conference on Software Engineering.

[8]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[9]  Dan Craigen,et al.  Industrial applications of formal methods to model, design and analyze computer systems: an international survey , 1995 .

[10]  Mark Saaltink,et al.  The Z/EVES Reference Manual (for Version 1.5) , 1997 .

[11]  Dan Craigen,et al.  An International Survey of Industrial Applications of Formal Methods , 1992, Z User Workshop.

[12]  David Notkin,et al.  Evaluating The Mediator Method: Prism as a Case Study , 1996, IEEE Trans. Software Eng..

[13]  Don S. Batory,et al.  The design and implementation of hierarchical software systems with reusable components , 1992, TSEM.

[14]  Gregory D. Abowd,et al.  Formalizing style to understand descriptions of software architecture , 1995, TSEM.

[15]  Mary Shaw,et al.  An Introduction to Software Architecture , 1993, Advances in Software Engineering and Knowledge Engineering.

[16]  Andy Evans,et al.  Formalizing the Object Management Group's core object model , 1995 .

[17]  William G. Griswold,et al.  Adding Implicit Invocation to Languages: Three Approaches , 1993, ISOTAS.

[18]  David Notkin,et al.  Reconciling environment integration and software evolution , 1992, TSEM.