Modelling architectures for dynamic systems

A dynamic system is one that changes its configuration as it runs. It is a system into which we can drop new components that then cooperate with the existing ones. We are concerned with formally defining architectures for such systems and with realistically validating designs for applications that run on those architectures. We describe a generic architecture based on the familiar registry services of CORBA, DCOM and Jini. We illustrate this architecture by formally describing a simple point-of-sale system built according to this architecture. We then look at the sorts of global properties that a designer of applications would wish a robust system to have and discuss variations on the architecture which make validation of applications more practical.

[1]  Orna Grumberg,et al.  Model checking and modular verification , 1994, TOPL.

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

[3]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[4]  Peter Henderson,et al.  Component-based systems as an aid to design validation , 1999, 14th IEEE International Conference on Automated Software Engineering.

[5]  Peter Henderson,et al.  Executing formal specifications need not be harmful , 1996, Softw. Eng. J..

[6]  Daniel Jackson,et al.  Alloy: a lightweight object modelling notation , 2002, TSEM.

[7]  Jeff Magee,et al.  Concurrency - state models and Java programs , 2006 .

[8]  Ian Sommerville,et al.  Editorial. The Viewpoints FAQ , 1996 .

[9]  David Garlan,et al.  Architectural Mismatch or Why it's hard to build systems out of existing parts , 1995, 1995 17th International Conference on Software Engineering.

[10]  Jeff Magee,et al.  Dynamic structure in software architectures , 1996, SIGSOFT '96.

[11]  Nancy G. Leveson,et al.  Completeness and Consistency in Hierarchical State-Based Requirements , 1996, IEEE Trans. Software Eng..

[12]  C. A. R. Hoare,et al.  How Did Software Get So Reliable Without Proof? , 1996, FME.

[13]  J. Conway On Numbers and Games , 1976 .

[14]  David Garlan,et al.  Specifying Dynamism in Software Architectures , 1997 .

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

[16]  Peter Henderson,et al.  POSD-a notation for presenting complex systems of processes , 1995, Proceedings of First IEEE International Conference on Engineering of Complex Computer Systems. ICECCS'95.

[17]  Reino Kurki-Suonio,et al.  Component and Interface Refinement in Closed-System Specifications , 1999, World Congress on Formal Methods.

[18]  Reino Kurki-Suonio Component and Interface Renement in Closed-System Specications , 1999 .

[19]  Luca Cardelli,et al.  Abstractions for Mobile Computation , 2001, Secure Internet Programming.

[20]  David C. Luckham,et al.  An Event-Based Architecture Definition Language , 1995, IEEE Trans. Software Eng..

[21]  David C. Luckham Rapide: A language and toolset for simulation of distributed systems by partial orderings of events , 1996, Partial Order Methods in Verification.

[22]  David Garlan,et al.  A formal basis for architectural connection , 1997, TSEM.

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

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

[25]  Kevin J. Sullivan,et al.  Using Formal Methods to Reason about Architectural Standards , 1996, Proceedings of the (19th) International Conference on Software Engineering.

[26]  Edmund M. Clarke,et al.  Model checking and abstraction , 1994, TOPL.

[27]  Kevin J. Sullivan,et al.  Experience assessing an architectural approach to large-scale systematic reuse , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[28]  Kendall Scott,et al.  UML distilled - applying the standard object modeling language , 1997 .

[29]  Peter Henderson,et al.  System design validation using formal models , 1999, Proceedings Tenth IEEE International Workshop on Rapid System Prototyping. Shortening the Path from Specification to Prototype (Cat. No.PR00246).

[30]  Peter Houston,et al.  Designing Applications with MSMQ: Message Queuing for Developers , 1998 .

[31]  Jennifer Stapleton Review: UML Distilled: Applying the Standard Object Modelling Language , 1998 .

[32]  Magnus Boman,et al.  Conceptual modelling , 1997 .

[33]  Peter Henderson,et al.  Laws for dynamic systems , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[34]  Andrew Shalit,et al.  Modern languages and Microsoft's component object model , 1998, CACM.

[35]  David S. Wile AML: an Architecture Meta-Language , 1999, 14th IEEE International Conference on Automated Software Engineering.