Abstract
For several different reasons, such as changes in the business or technological environment, the configuration of a system may need to evolve during execution. Support for such evolution can be conceived in terms of a language for specifying the dynamic reconfiguration of systems. In this paper, continuing our work on the development of a formal platform for architectural design, we present a high-level language to describe architectures and for operating changes over a configuration (i.e., an architecture instance), such as adding, removing or substituting components or interconnectons. The language follows an imperative style and builds on a semantic domain established in previous work. Therein, we model architectures through categorical diagrams and dynamic reconfiguration through algebraic graph rewriting.
- 1 R. Allen, R. Douence, and D. Garlan. Specifying and analyzing dynamic software architectures. In Fundamental Approaches to Software Engineering, volume 1382 of LNCS, pages 21-37. Springer-Verlag, 1998.]]Google ScholarCross Ref
- 2 R. Allen and D. Garlan. A formal basis for architectural connection. ACM TOSEM, 6(3):213-249, July 1997.]] Google ScholarDigital Library
- 3 L. Andrade and J. L. Fiadeiro. Coordination technologies for managing information system evolution. In Proc. CAiSE'01, volume 2068 of LNCS, pages 374-387. Springer-Verlag, 2001.]] Google Scholar
- 4 C. Canal, E. Pimentel, and J. M. Troya. Specification and refinement of dynamic software architectures. In Software Architecture, pages 107-125. Kluwer Academic Publishers, 1999.]] Google ScholarDigital Library
- 5 K. M. Chandy and J. Misra. Parallel Program Design-A Foundation. Addison-Wesley, 1988.]] Google ScholarDigital Library
- 6 A. Corradini, U. Montanari, F. Rossi, H. Ehrig, R. Heckel, and M. Lowe. Algebraic approaches to graph transformation, part I: Basic concepts and double pushout approach. Technical Report TR-96-17, University of Pisa, Mar. 1996.]] Google ScholarDigital Library
- 7 M. Endler. A language for implementing generic dynamic reconfigurations of distributed programs. In Proceedings of the 12th Brazilian Symposium on Computer Networks, pages 175-187, 1994.]]Google Scholar
- 8 G. Engels and R. Heckel. Graph transformation as unifying formal framework for system modeling and model evolution. In Proc. of ICALP, volume 1853 of LNCS, pages 127-150. Springer-Verlag, 2000.]] Google Scholar
- 9 J. L. Fiadeiro and A. Lopes. Semantics of architectural connectors. In Proceedings of TAPSOFT'97, volume 1214 of LNCS, pages 505-519. Springer-Verlag, 1997.]] Google Scholar
- 10 J. L. Fiadeiro, N. Marty-Oliet, T. Maibaum, J. Meseguer, and I. Pita. Towards a verification logic for rewriting logic. In Recent Trends in Algebraic Development Techniques, number 1827 in LNCS, pages 438-458. Springer-Verlag, 2000.]] Google Scholar
- 11 N. Francez and I. Forman. Interacting Processes. Addison-Wesley, 1996.]]Google Scholar
- 12 J. Gouveia, G. Koutsoukos, L. Andrade, and J. L. Fiadeiro. Tool support for coordination-based software evolution. In Proc. TOOLS 38, pages 184-196. IEEE Computer Society Press, 2001.]] Google ScholarDigital Library
- 13 D. Hirsch, P. Inverardi, and U. Montanari. Modelling software architectures and styles with graph grammars and constraint solving. In Software Architecture, pages 127-143. Kluwer Academic Publishers, 1999.]] Google ScholarCross Ref
- 14 D. Hirsch, P. Inverardi, and U. Montanari. Reconfiguration of software architecture styles with name mobility. In Coordination Languages and Models, volume 1906 of LNCS, pages 148-163. Springer-Verlag, 2000.]] Google ScholarCross Ref
- 15 J. Kramer and J. Magee. The evolving philosophers problem: Dynamic change management. IEEE Transactions on Software Engineering, 16(11):1293-1306, Nov. 1990.]] Google ScholarDigital Library
- 16 A. Lopes. Nao-determinismo e Composicionalidade na Especificacao de Sistemas Reactivos. PhD thesis, Universidade de Lisboa, Jan. 1999.]]Google Scholar
- 17 A. Lopes and J. L. Fiadeiro. Using explicit state to describe architectures. In Proceedings of Fundamental Approaches to Software Engineering, number 1577 in LNCS, pages 144-160. Springer-Verlag, 1999.]] Google ScholarDigital Library
- 18 J. Magee and J. Kramer. Dynamic structure in software architectures. In Proceedings of the Fourth ACM SIGSOFT Symposium on the Foundations of Software Engineering, pages 3-14. ACM Press, 1996.]] Google ScholarDigital Library
- 19 J. Magee, J. Kramer, and D. Giannakopoulou. Behaviour analysis of software architectures. In Software Architecture, pages 35-50. Kluwer Academic Publishers, 1999.]] Google ScholarDigital Library
- 20 N. Medvidovic. ADLs and dynamic architecture changes. In Joint Proceedings of the SIGSOFT'96 Workshops, pages 24-27. ACM Press, 1996.]] Google ScholarDigital Library
- 21 N. R. Mehta, N. Medvidovic, and S. Phadke. Towards a taxonomy of software connectors. In Proc. of the 22nd Intl. Conf. on Software Engineering, pages 178-187. ACM Press, 2000.]] Google ScholarDigital Library
- 22 D. L. Metayer. Describing software architecture styles using graph grammars. IEEE Transactions on Software Engineering, 24(7):521-553, July 1998.]] Google ScholarDigital Library
- 23 K. Moazami-Goudarzi. Consistency Preserving Dynamic Reconfiguration of Distributed Systems. PhD thesis, Imperial College London, Mar. 1999.]]Google Scholar
- 24 R. T. Monroe. Capturing software architecture design expertise with Armani. Technical Report CMU-CS-98-163, School of Computer Science, Carnegie Mellon University, Oct. 1998.]]Google Scholar
- 25 R. T. Monroe, D. Garlan, and D. Wile. Acme StrawManual, Nov. 1997.]]Google Scholar
- 26 P. Oreizy. Issues in the runtime modification of software architectures. Technical Report UCI-ICS-TR-96-35, Department of Information and Computer Science, University of California, Irvine, Aug. 1996.]]Google Scholar
- 27 P. Rodgers. Constructs for programming with graph rewrites. In Joint APPLIGRAPH and GETGRATS Workshop on Graph Transformation Systems, number 2000-2 in Forschungsberichte des Fachbereichs Informatik, pages 59-66. Technische Universitat Berlin, 2000.]]Google Scholar
- 28 G. Taentzer, M. Goedicke, and T. Meyer. Dynamic change management by distributed graph transformation: Towards configurable distributed systems. In Proc. 6th Int. Workshop on Theory and Application of Graph Transformation, 1998.]] Google ScholarDigital Library
- 29 M. Wermelinger and J. L. Fiadeiro. Algebraic software architecture reconfiguration. In Software Engineering-ESEC/FSE'99, volume 1687 of LNCS, pages 393-409. Springer-Verlag, 1999.]] Google Scholar
- 30 M. Wermelinger and J. L. Fiadeiro. A graph transformation approach to run-time software architecture reconfiguration. Science of Computer Programming, 2001. To appear.]] Google ScholarDigital Library
Index Terms
- A graph based architectural (Re)configuration language
Recommendations
A graph based architectural (Re)configuration language
ESEC/FSE-9: Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineeringFor several different reasons, such as changes in the business or technological environment, the configuration of a system may need to evolve during execution. Support for such evolution can be conceived in terms of a language for specifying the dynamic ...
The Ragnarok Architectural Software Configuration Management Model
HICSS '99: Proceedings of the Thirty-second Annual Hawaii International Conference on System Sciences-Volume 8 - Volume 8The architecture is the fundamental framework for designing and implementing large scale software, and the ability to trace and control its evolution is essential. However, many traditional software configuration management tools view 'software' merely ...
Comments