COORDINATION 1997: Coordination Languages and Models pp 18-31 | Cite as
Exposing the skeleton in the coordination closet
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
Software Engineer Software Architecture Safety Property Label Transition System Liveness PropertyPreview
Unable to display preview. Download preview PDF.
References
- AG94.Allen R. and Garlan D., Formalizing Architectural Connection, (Proc. of 16th International Conference on Software Engineering (ICSE 16), Sorrento, May 1994, 71–80.Google Scholar
- Bar 93.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.Google Scholar
- CK96a.Cheung S.C. and Kramer J., Context Constraints for Compositional Reachability Analysis, ACM Transactions on Software Engineering Methodology TOSEM, 5 (4), (1996), 334–377.CrossRefGoogle Scholar
- CK96b.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.Google Scholar
- CGK97.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).Google Scholar
- Dij72.Dijkstra E.W., The Humble Programmer, Comms. Of the ACM, 15, 10, 859–866, Oct. 1972.CrossRefGoogle Scholar
- GKC97.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.Google Scholar
- GP95.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.Google Scholar
- Go195.Goldman, K.J., The Programmers' Playground: I/O Abstraction for UserConfigurable Distributed Applications, IEEE Trans. on Software Eng., SE 21 (9), (1995), 735–746.Google Scholar
- Gra91.Graves, H., Lockheed Environment for Automatic Programming, Proc. of KBSE 91, 6th IEEE Knowledge Based Software Engineering Conference, 1991, pp 68–76.Google Scholar
- Hoa85.Hoare, C.A.R., Communicating Sequential Processes, Prentice-Hall, Englewood Cliffs, N.J., 1985.Google Scholar
- KMS84.Kramer J., Magee J. and Sloman M.S. A Software Architecture for Distributed Computer Control Systems, Automatica, 20, (1984), 93–102.CrossRefGoogle Scholar
- KM8.Kramer J. and Magee J., Dynamic Configuration for Distributed Systems, IEEE Trans. on Software Eng., SE-11 (4), (1985), 424–436.Google Scholar
- KMN89.Kramer J. Magee J. and Ng K., Graphical Configuration Programming, IEEE Computer, 22 (10), (1989), 53–65.Google Scholar
- KMF90.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.Google Scholar
- KM90.Kramer J. and Magee J., The Evolving Philosophers Problem: Dynamic Change Management, IEEE Trans. on Software Eng., SE-16 (11), (1990), 1293–1306.CrossRefGoogle Scholar
- Kra90.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.Google Scholar
- Kra94.Kramer J., Exoskeletal Software, (Proc. of 16th IEEE Int. Conf. on Software Engineering (ICSE-16), Sorrento, 1994), 366.Google Scholar
- Kru95.Kruchten P.B., The 4+1 Model of Architecture, IEEE Software, 12 (6), Nov. 1995, pp 42–50.CrossRefGoogle Scholar
- Luc95.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.CrossRefGoogle Scholar
- MDE95.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.Google Scholar
- MDK94.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.CrossRefGoogle Scholar
- MKS89.Magee J., Kramer J., and Sloman M.S., Constructing Distributed Systems in Conic, tIEEE Trans. on Software Eng., SE-15 (6), (1989), 663–675.CrossRefGoogle Scholar
- MK96.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.Google Scholar
- MTK97.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.Google Scholar
- NMK96.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.Google Scholar
- Pur94.Purtilo J.M., The POLYLITH Software Bus, ACM Transactions on Programming Languages, 16(l), January 1994, pp 151–174.CrossRefGoogle Scholar
- Sh95a.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.CrossRefGoogle Scholar
- Sh95b.Shaw M., Comparing Architectural Design Styles IEEE Software, 12 (6), Nov. 1995, pp 27–41.CrossRefGoogle Scholar
- Tay96.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.CrossRefGoogle Scholar