Abstract
Several notations and languages for software architectural specification have been recently proposed. However, some important aspects of composition, extension, and reuse deserve further research. These problems are particularly relevant in the context of open systems, where system structure can evolve dynamically, either by incorporating new components, or by replacing existing components with compatible ones. Our approach tries to address some of these open problems by combining the use of formal methods, particularly process algebras, with concepts coming from the object-oriented domain. In this paper we present LEDA, an Architecture Description Language for the specification, validation, prototyping and construction of dynamic software systems. Systems specified in LEDA can be checked for compatibility, ensuring that the behaviour of their components conforms to each other and that the systems can be safely composed. A notion of polymorphism of behaviour is used to extend and refine components while maintaining their compatibility, allowing the parameterisation of architectures, and encouraging reuse of architectural designs.
The original version of this chapter was revised: The copyright line was incorrect. This has been corrected. The Erratum to this chapter is available at DOI: 10.1007/978-0-387-35563-4_35
This work was funded in part by the “Comisión Interministerial de Ciencia y Tecnología” (CICYT) under grant TIC98-0445-CO3-03.
Chapter PDF
References
Abowd, G., Allen, R., and Garlan, D. (1993). Using style to understand descriptions of software architecture. In Proc. ACM FSE’93.
Allen, R., Doucence, R., and Garlan, D. (1998). Specifying and analyzing dynamic software architectures. In Proc. ETAPS’98,Lisbon.
Allen, R. and Garlan, D. (1997). A formal basis for architectural connection. ACM Trans. on Software Engineering and Methodology.
Canal, C., Pimentel, E., and Troya, J. (1997). On the composition and extension of software systems. In Proc. of FSE’97 FoCBS Workshop,pp. 50–59, Zurich.
Canal, C., Pimentel, E., and Troya, J. (1998a). Compatibility, inheritance and extension of 7n—calculus agents. Technical Report LCC-ITI-98–13, Computer Science Dept., Universidad de Malaga. http://www.lcc.uma.es/—canal/LCC-ITI-98–13.
Canal, C., Pimentel, E., and Troya, J. (1998b). it—calculus semantics of an architecture description language. Technical Report LCC-ITI-98–17, Computer Science Dept., Universidad de Malaga. http://www.lcc.uma.es/—canal/LCC-ITI-98–17.
Magee, J. and Kramer, J. (1996). Dynamic structure in software architectures. In Proc. ACM FSE’96,pp. 3–14, San Francisco.
Medvidovic, N. and Rosenblum, D. (1997). Domains of concern in software architectures and architecture description languages. In Proc. USENIX Conf. on Domain-Specific Languages, Santa Barbara (USA).
Medvidovic, N., Rosenblum, D. and Taylor, R. (1998). A Type Theory for Software Architectures. Technical Report UCI-ICS-98–14. Dept. Information and Computer Science, University of California, Irvine.
Milner, R., Parrow, J. and Walker, D. (1992). A calculus of mobile processes. Journal of Information and Computation, 100: 1–77.
Nierstrasz, O. (1995). Requirements for a composition language. In Proc. of ECOOP’94 Workshop on Models and Languages for Coordination of Parallelism and Distribution,no. 924 in LNCS, pp. 147–161. Springer Verlag.
Nierstrasz, O. and Meijler, T. (1995). Research directions in software composition. ACM Computing Surveys, 27 (2): 262–264.
Pree, W. (1996). Framework Patterns. SIGS Publications.
Shaw, M. and Garlan, D. (1995). Formulations and formalisms in software architecture. In van Leeuwen, J., editor, Computer Science Today,no. 1000 in LNCS, pp. 307–323. Springer Verlag.
Shaw, M. and Garlan, D. (1996). Software Architecture. Perspectives of an Emerging Discipline. Prentice Hall.
Victor, B. (1994). A verification tool for the polyadic π-calculus. Master’s thesis, Department of Computer Systems, Uppsala University (Sweden).
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 IFIP International Federation for Information Processing
About this chapter
Cite this chapter
Canal, C., Pimentel, E., Troya, J.M. (1999). Specification and Refinement of Dynamic Software Architectures. In: Donohoe, P. (eds) Software Architecture. WICSA 1999. IFIP — The International Federation for Information Processing, vol 12. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-35563-4_7
Download citation
DOI: https://doi.org/10.1007/978-0-387-35563-4_7
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4757-6536-6
Online ISBN: 978-0-387-35563-4
eBook Packages: Springer Book Archive