Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abramsky, S and G McCusker. Game Semanticssee http// dcs.ed.ac.uk/abramsky
R. J. Allen and D. Garlan, A Formal Basis For Architectural ConnectionACM transactions on Software Engineering and Methodology July 97.
R. J. Allen, Remi Douence, and David Garlan, Specifying Dynamism in Software Architectures Workshop of Foundations of Component Based Systems,Zurich, 1997, see http://www.cs.iastate.edu/leavens/FoCBS/index.html
M. Boman, J.A. Bubenko, P. Johannesson, and B Wangler, Conceptual Modelling, Prentice Hall, 1997.
Luca Cardelli, Abstractions for Mobile Computation. Microsoft Research Technical Report MSR-TR-98–34 available at research.microsoft.com.
E. M. Clarke et al. Model Checking and Abstraction, ACM Transactions on Programming Languages and Systems, Sept. 94.
J. Conway. On Numbers and Games, Academic Press, 1976.
A. Dickman. Designing Applications with MSMQ, Addison Wesley, 1998.
M. Fowler. UML Distilled - Applying the standard Object Modelling language, Addison Wesley, 1997.
David Garlan et al. Architectural Mismatch, or, why it’s hard to build systems out of existing parts. ICSE, 179–185, 1995.
A. Gravell and P. Henderson. Executing formal specifications need not be harmful, Software Engineering Journal, vol. 11, num 2., IEE, 1996.
David N. Gray et al. Modern Languages and Microsoft’s Component Object Model. Communications of the ACM, Vol 41, No 5, 55–65, 1998.
O. Grumberg and D. Long. Model Checking and Modular Verification, ACM Transactions on Programming Languages and Systems, 843–871, May 1994.
M. Heimdahl and N. Leveson. Completeness and Consistency in hierarchical state-based requirements, IEEE Transactions on Software Enginerring, 22 (6): 363–377, 1996.
P. Henderson and G. D. Pratten. POSD - A Notation for Presenting Complex Systems of Processes, Proceedings of the First IEEE International Conference on Engineering of Complex Systems, IEEE Computer Society Press, 1995.
Peter Henderson. Laws for Dynamic Systems, International Conference on Software Re-Use (ICSR 98), Victoria, Canada, June 1998, IEEE Computer Society Press.
Peter Henderson. ARC: A language and a tool for system level architecture modelling, July 1999, see http://www.ecs.soton.ac.uk/ ph/arc.htm
Peter Henderson and Bob Walters. System Design Validation using Formal Models, Proceedings 10th IEEE Conference on Rapid System Prototyping, RSP’99, IEEE Computer Society Press, 1999.
Peter Henderson and Bob Walters. Component Based systems as an aid to Design Validation, Proceedings 14th IEEE Conference on Automated Software Engineering, ASE’99, IEEE Computer Society Press, 1999.
C. A. R. Hoare. How did Software get to be so reliable without proof? Keynote address at the 18th International Conference on Software Engineering. IEEE ComputerSociety Press, 1996. See also http://www.comlab.ox.ac.uk/oucl/users/tony.hoare/publications.html.
G. J. Holtzmann. The Model Checker SPIN, IEEE Transactions on Software Engineering, Vol 23, No 5, 279–295, 1997.
D. Jackson. Alloy: A lightweight Object Modelling Notation, available at http://sdg.lcs.mit.edu/ dnj/abstracts.html, July 1999.
R. Kurki-Suoni. Component and Interface Refinement in Closed-System Specifications, Proceedings of World Congress on Fornal Methods, Toulouse, September 1999, LNCS 1709, 134–154.
D. C. Luckham et al. Specification and Analysis of System Architecture using Rapide, IEEE Transactions on Software Engineering, 21 (4): 336–355, April 1995.
D. C. Luckham and J. Vera. An event-based architecture definition language, IEEE Transactions on Software Engineering, 21 (9): 717–734, September 1995.
D. C. Luckham. Rapide: A language and toolset for simulation of distributed systems by partial orderings of events, http://pavg.stanford.edu.
J. Magee and J. Kramer. Dynamic Structure in Software Architecture, Proceeedings of the ACM Conference on Foundations of Software Engineering, Software Engineering Notes, 21 (6): 3–14, IEEE Computer Society Press, 1996.
J. Magee, N. Dulay, S. Eisenbach, and J. Kramer. Specifying Distributed Software Architectures, Proceedings of 5th European Software Engineering Conference (ESEC 95), Sitges, Spain, LNCS 989, 137–154, September 1995.
J. Magee and J. Kramer. Concurrency: State Models and Java Programs, Wiley, 1999.
Object Management Group. Common Object Request Broker: Architecture Specification, http://www.omg.com.
M. Shaw et al. Abstractions for Software Architecture and Tools to Support Them, IEEE Transactions on Software Engineering, 21 (4) 314–335, April 1995.
M. Shaw and D. Garlan. Software Architecture - Perspectives on an emerging discipline. Prentice Hall, 1996.
K. Sullivan J. C. Knight. Experience Assessing an Architectural Approach to Large Scale Reuse, Proceedings of ICSE-18,1996 IEEE Computer Society Press.
K. Sullivan, J. Socha, and M. Marchukov. Using Formal Methods to Reason about Architectural Standards, 19th International Conference on Software Engineering, Boston, IEEE Computer Press, 1997.
Sun Microsystems. Jini Software Simplifies Network Computing, available at www.sun.com/jini.
D. Wile. AML: an Architecture Meta-Language, Proceedings ASE 1999,IEEE Computer Society Press, pp 183–190.
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2003 Springer Science+Business Media New York
About this chapter
Cite this chapter
Henderson, P. (2003). Modelling architectures for dynamic systems. In: McIver, A., Morgan, C. (eds) Programming Methodology. Monographs in Computer Science. Springer, New York, NY. https://doi.org/10.1007/978-0-387-21798-7_8
Download citation
DOI: https://doi.org/10.1007/978-0-387-21798-7_8
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4419-2964-8
Online ISBN: 978-0-387-21798-7
eBook Packages: Springer Book Archive