Abstract
One of the ways in which we cope with large and complex systems is to abstract away some of the detail, considering them at an architectural level as compositions of interacting components. To this end, the variously termed Coordination, Configuration and Architectural Description Languages (ADL) facilitate description, comprehension and reasoning at that level, providing a clean separation between individual component behaviour and their interaction in a software architecture. However, in the search to provide sufficient detail for reasoning, analysis or construction, many approaches are in danger of obscuring the essential structural aspect of the architecture, thereby losing the benefit of abstraction. In this paper we argue for the use of a concise and simple language explicitly designed for describing architectural structures. This can be used to provide the "skeleton" upon which to add the particular details of concern when necessary. Systems described in this way have an explicit and exposed skeleton which, being shared, helps to maintain consistency between the various elaborated views. To illustrate our approach, we use the Darwin architectural description language and the Tracta approach for compositional reachability analysis.
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
Allen R. and Garlan D., Formalizing Architectural Connection, (Proc. of 16th International Conference on Software Engineering (ICSE 16), Sorrento, May 1994, 71–80.
Barbacci M. et al, Durra: a structure description language for developing distributed applications, IEE Software Engineering Journal, Vol. 8, No. 2, March 1993, pp83–94.
Cheung S.C. and Kramer J., Context Constraints for Compositional Reachability Analysis, ACM Transactions on Software Engineering Methodology TOSEM, 5 (4), (1996), 334–377.
Cheung S.C. and Kramer J., Checking Subsystem Safety Properties in Compositional Reachability Analysis, (Proc. of 18th IEEE Int. Conf. on Software Engineering (ICSE-18), Berlin, 1996), 144–154.
Cheung S.C., Giannakopoulou D., and Kramer J., Verification of Liveness Properties using Compositional Reachability Analysis, accepted for (6th European Software Engineering Conference / 5th ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE 97), Zurich, Sept. 1997).
Dijkstra E.W., The Humble Programmer, Comms. Of the ACM, 15, 10, 859–866, Oct. 1972.
Giannakopoulou D., Kramer J. and Cheung S.C., TRACTA: An Environment for Analysing the Behaviour of Distributed Systems, (Proc. of 1st ACM SIGPLAN Workshop on Automatic Analysis of Software (AAS `97)), Paris, January 1997, 113–126.
Garlan D. and Perry D.E., Introduction to the Special Issue on Software Architecture, IEEE Transactions on Software Engineering, 21 (4), April 1995, pp 269–274.
Goldman, K.J., The Programmers' Playground: I/O Abstraction for UserConfigurable Distributed Applications, IEEE Trans. on Software Eng., SE 21 (9), (1995), 735–746.
Graves, H., Lockheed Environment for Automatic Programming, Proc. of KBSE 91, 6th IEEE Knowledge Based Software Engineering Conference, 1991, pp 68–76.
Hoare, C.A.R., Communicating Sequential Processes, Prentice-Hall, Englewood Cliffs, N.J., 1985.
Kramer J., Magee J. and Sloman M.S. A Software Architecture for Distributed Computer Control Systems, Automatica, 20, (1984), 93–102.
Kramer J. and Magee J., Dynamic Configuration for Distributed Systems, IEEE Trans. on Software Eng., SE-11 (4), (1985), 424–436.
Kramer J. Magee J. and Ng K., Graphical Configuration Programming, IEEE Computer, 22 (10), (1989), 53–65.
Kramer J., Magee J. and Finkelstein A., A Constructive Approach to the Design of Distributed Systems, (Proc. 10th IEEE Int. Conf on Distributed Computing Systems, Paris, 1990), 580–587.
Kramer J. and Magee J., The Evolving Philosophers Problem: Dynamic Change Management, IEEE Trans. on Software Eng., SE-16 (11), (1990), 1293–1306.
Kramer J., Configuration Programming-A Framework for the Development of Distributable Systems, (Proc. of IEEE Int. Conf. on Computer Systems and Software Engineering (CompEuro 90), Tel-Aviv, Israel, 1990), 374–384.
Kramer J., Exoskeletal Software, (Proc. of 16th IEEE Int. Conf. on Software Engineering (ICSE-16), Sorrento, 1994), 366.
Kruchten P.B., The 4+1 Model of Architecture, IEEE Software, 12 (6), Nov. 1995, pp 42–50.
Luckham D.C. et al., Specification and Analysis of Software Architecture using Rapide, IEEE Transactions on Software Engineering, 21(4), April 1995, pp 336–355.
Magee J., Dulay N., Eisenbach S., Kramer J., Specifying Distributed Software Architectures, (Proc. of 5th European Software Engineering Conference (ESEC `95), Sitges, September 1995), LNCS 989, (Springer-Verlag), 1995, 137–153.
Magee J., Dulay N. and Kramer J., Regis: A Constructive Development Environment for Distributed Programs, Distributed Systems Engineering Journal, 1 (5), Special Issue on Configurable Distributed Systems, (1994), 304–312.
Magee J., Kramer J., and Sloman M.S., Constructing Distributed Systems in Conic, tIEEE Trans. on Software Eng., SE-15 (6), (1989), 663–675.
Magee J. and Kramer J., Dynamic Structure in Software Architectures, (Proc. of 4th ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE 4), San Francisco, October 1996), SEN, Vol.21, No.6, November 1996, 3–14.
Magee J., Tseng A., Kramer J., Composing Distributed Objects in CORBA, (Third International Symposium on Autonomous Decentralized Systems (ISADS 97), Berlin, Germany, April 9–11, 1997.
Ng K., Kramer J. and Magee J., Automated Support for the Design of Distributed Software Architectures, Journal of Automated Software Engineering (JASE), 3 (3/4), Special Issue on CASE-95, (1996), 26I–284.
Purtilo J.M., The POLYLITH Software Bus, ACM Transactions on Programming Languages, 16(l), January 1994, pp 151–174.
Shaw M., et al., Abstractions for Software Architecture and Tools to Support Them, IEEE Transactions on Software Engineering, 21 (4), April 1995, pp 314–335.
Shaw M., Comparing Architectural Design Styles IEEE Software, 12 (6), Nov. 1995, pp 27–41.
Taylor R. et al, A Component-and Message-based Architectural Style for GUI Software, IEEE Transactions on Software Engineering, 22(6), June 1996, pp 390–406.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kramer, J., Magee, J. (1997). Exposing the skeleton in the coordination closet. In: Garlan, D., Le Métayer, D. (eds) Coordination Languages and Models. COORDINATION 1997. Lecture Notes in Computer Science, vol 1282. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-63383-9_70
Download citation
DOI: https://doi.org/10.1007/3-540-63383-9_70
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-63383-9
Online ISBN: 978-3-540-69527-1
eBook Packages: Springer Book Archive