Abstract
Many techniques long used for the partitioning and packaging of hardware are gradually being adopted for software with the move to using co-operating self-contained software components.
There has been a trend over the last decade towards implementations based on multiprocessor distributed concurrent systems with software components allocated to processors.
Designing the system-wide operation, synchronisation and exception handling for such a complex system becomes impossible at the level of traditional process synchronisation primitives, as it becomes intellectually unmanageable to grasp the system-wide behaviour when tackled piecemeal and ’bottom up’.
An alternative top down approach to structuring and designing the overall behaviour of highly concurrent systems implemented using components is presented. It is based on using one or more simple abstract state machines to define the system-wide synchronisation required in terms of the desired system-level behaviour rather than in terms of the low-level synchronisation primitives chosen for the fine grain of the implementation solution.
A practical example involving the creation of a high availability processing system made up of several commercial quality computers is used to illustrate the concept.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Agha, G., Hewitt, C.: Actors: a conceptual foundation for concurrent OO programming. In: Research Directions in OO Programming, pp. 49–74. MIT Press, Cambridge (1987)
Alexander, C.: Notes on the Synthesis of Form Harvard University Press, Cambridge 38, Massachusetts (1964)
Alexander, C.: The Timeless Way of Building. Oxford University Press, New York (1979) ISBN 0-19-502402-8
Dijkstra, E.: The Structure of the THE Multiprogramming System. Communications of ACM 11(3), 341–346 (1968)
Douglas, B.P.: Real Time Systems/UML. Addison Wesley, ISBN 0-201-65784-8
Gentleman, W.M.: Message passing between sequential processes: the reply primitive and the Administrator Concept. Software Practice and Experience 11, 435–466 (1981)
Gifford, D., Kirk, B., Leisch, B.: A Component Based Architecture for CAN Systems. In: 5th International CAN Conference ICC 1998 Proceedings, published by CAN in Automation, San José, CA (1998)
Harel, D.: Statecharts: a visual formalism for complex systems. Science of Computer Programming 8, 231–274 (1987)
Kirk, B., Nigro, L.: DART, Distributed Architecture for Real Time Advances in Programming Languages. In: Shulthess, P. (ed.) Proceedings of Joint Modular Languages Conference, Universitatsverlag Ulm GmbH, pp. 325–366 (1994)
Kirk, B., Nigro, L., Pupo, F.: Using real time constraints for modularization. In: Mössenböck, H. (ed.) JMLC 1997. LNCS, vol. 1204, pp. 236–251. Springer, Heidelberg (1997)
Jacobson, I.: Object Oriented Software Engineering. Addison Wesley, Reading (1993)
Parnas, D.L.: On the criteria to be used in decomposing systems into modules. Communications of the ACM (December 1972)
Szyperski, C.: Component Software – Beyond OO Programming. ACM/Addison Wesley (1999) ISBN 0-201-17888-5
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kirk, B. (2000). System Architecture and Design Using Co-operating Groups of Real and Abstract Components. In: Weck, W., Gutknecht, J. (eds) Modular Programming Languages. JMLC 2000. Lecture Notes in Computer Science, vol 1897. Springer, Berlin, Heidelberg. https://doi.org/10.1007/10722581_17
Download citation
DOI: https://doi.org/10.1007/10722581_17
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67958-5
Online ISBN: 978-3-540-44519-7
eBook Packages: Springer Book Archive