Abstract
The ability of reconfiguring software architectures in order to adapt them to new requirements or a changing environment has been of growing interest, but there is still not much formal work in the area. Most existing approaches deal with run-time changes in a deficient way. The language to express computations is often at a very low level of specification, and the integration of two different formalisms for the computations and reconfigurations require sometimes substantial changes. To address these problems, we propose a uniform algebraic approach with the following characteristics.
Components are written in a high-level program design language with the usual notion of state.
The approach combines two existing frameworks—one to specify architectures, the other to rewrite labelled graphs—just through small additions to either of them.
It deals with certain typical problems such as guaranteeing that new components are introduced in the correct state (possibly transferred from the old components they replace).
It shows the relationships between reconfigurations and computations while keeping them separate, because the approach provides a semantics to a given architecture through the algebraic construction of an equivalent program, whose computations can be mirrored at the architectural level.
- 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 C. Canal, E. Pimentel, and J. M. Troya. Specification and refinement of dynamic software architectures. In P. Donohoe, editor, Software Architecture, pages 107- 125. Kluwer Academic Publishers, 1999. Google ScholarDigital Library
- 3 K. M. Chandy and J. Misra. Parallel Program Design-A Foundation. Addison- Wesley, 1988. Google ScholarDigital Library
- 4 M. Clavel, S. Eker, P. Lincoln, and J. Meseguer. Principles of Maude. In Proceedings of the First International Workshop on Rewriting Logic, volume 4 of Electronic Notes in Theoretical Computer Science, pages 65-89. Elsevier, 1996.Google ScholarCross Ref
- 5 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
- 6 Description of EDCS technology clusters. ACM SIGSOFT Software Engineering Notes, 22(5):33-42, Sept. 1997. 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 J. L. Fiadeiro and A. Lopes. Semantics of architectural connectors. In Proceedings of TAPSOFT'SY, volume 1214 of LNCS, pages 505-519. Springer-Verlag, 1997. Google ScholarDigital Library
- 9 J. L. Fiadeiro and T. Maibaum. Interconnecting formalisms: Supporting modularity, reuse and incrementality. In SIGSOFT'95: Third Symposium on Foundations of Software Engineering, pages 72-80. ACM Press, 1995. Google ScholarDigital Library
- 10 J. L. Fiadeiro and T. Maibaum. A mathematical toolbox for the software architect. In Proceedings of the 8th International Workshop on Software Specification and Design, pages 46-55. IEEE Computer Society Press, 1996. Google ScholarDigital Library
- 11 J. L. Fiadeiro and T. Maibaum. Categorial semantics of parallel program design. Science of Computer Programming, 28: 111-138, 1997. Google ScholarDigital Library
- 12 J. L. Fiadeiro, M. Wermelinger, and J. Meseguer. Semantics of transient connectors in rewriting logic. Position Paper for the First Working International Conference on Software Architecture, Feb. 1999.Google Scholar
- 13 N. Francez and I. Forman. Interacting Processes. Addison-Wesley, 1996.Google Scholar
- 14 A. Habel, R. Heckel, and G. Taentzer. Graph grammars with negative application conditions. Fundamenta Informaticae, 26(3-4), 1996. Google ScholarDigital Library
- 15 D. Hirsch, P. Inverardi, and U. Montanari. Modelling software architectures and styles with graph grammars and constraint solving. In P. Donohoe, editor, Software Architecture, pages 127-143. Kluwer Academic Publishers, 1999. Google ScholarDigital Library
- 16 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
- 17 J. Kramer and J. Magee. Analysing dynamic change in software architectures: A case study. In Proceedings of the Fourth International Conference on Configurable Distributed Systems, pages 91-100. IEEE Computer Society Press, 1998. Google ScholarDigital Library
- 18 A. Lopes and J. L. Fiadeiro. Using explicit state do describe architectures. In Proceedings of Fundamental Approaches to Software Engineering, number 1577 in LNCS, pages 144-160. Springer-Verlag, 1999. Google ScholarDigital Library
- 19 M. Lowe. Algebraic approach to graph transformation based on single pushout derivations. Technical Report 90/5, Technische Universitat Berlin, 1990.Google Scholar
- 20 J. Magee and J. Kramer. Dynamic structure in software architectures. In Proceedings of the Fourth ACM SIGSOFT Symposium on the Foundations of zofiware Engineering, pages 3-14. ACM Press, 1996. Google ScholarDigital Library
- 21 P. J. McCann and G.-C. Roman. Compositional programming abstractions for mobile computing. IEEE Transactions on Software Engineering, 24(2), Feb. 1998. Google ScholarDigital Library
- 22 N. Medvidovic. ADLs and dynamic architecture changes. In Joint Proceedings of the SIGSOFT'96 Workshops, pages 24-27. ACM Press, 1996. Google ScholarDigital Library
- 23 N. Medvidovic. A classification and comparison framework for software architecture description languages. Technical Report UCI-ICS-97-02, Department of Information and Computer Science, University of California, Irvine, Feb. 1997.Google Scholar
- 24 D. L. Mktayer. Describing software architecture styles using graph grammars. IEEE Transactions on Software Engineering, 24(7):521-553, July 1998. Google ScholarDigital Library
- 25 J. C. Mitchell. Foundations for Programming Languages. MIT Press, 1996. Google ScholarDigital Library
- 26 R. T. Monroe, D. Garlan, and D. Wile. Acme StrawManual, Nov. 1997.Google Scholar
- 27 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
- 28 D. E. Perry. State-of-the-art: Software architecture. In Proceedings of the 19th International Conference on Software Engineering, pages 590-591. ACM Press, 1997. Slides available from http://www.belllabs.com/user/dep/work/swa/icse97.vg.ps.gz. Google ScholarDigital Library
- 29 G.-C. Roman, P. J. McCann, and J. Y. Plun. Mobile UNITY: Reasoning and specification in mobile computing. ACM TOSEM, 6(3):250-282, July 1997. Google ScholarDigital Library
- 30 R. Sedgewick. Algorithms. Addison-Wesley, second edition, 1988. Google ScholarDigital Library
- 31 G. Taentzer, M. Goedicke, and T. Meyer. Dynamic change management by distributed graph transformation: Towards configurable distributed systems. In Proc. 6th ht. Workshop on Theory and Application of Graph Transformation, 1998. Google ScholarDigital Library
- 32 M. Wermelinger. A hierarchic architecture model for dynamic reconfiguration. In Proceedings of the Second International Workshop on Software Engineering for Parallel and Distributed Systems, pages 243-254. IEEE Computer Society Press, 1997. Google ScholarDigital Library
- 33 M. Wermelinger. Towards a chemical model for software architecture reconfiguration. IEE Proceedings-Software, 145(5):130-136, Oct. 1998.Google ScholarCross Ref
- 34 M. Wermelinger and J. L. Fiadeiro. Connectors for mobile programs. IEEE Transactions on Software Engineering, 24(5):331-341, May 1998. Google ScholarDigital Library
- 35 M. Wermelinger and J. L. Fiadeiro. Towards an algebra of architectural connectors: a case study on synchronization for mobility. In Proceedings of the Ninth International Workshop on Software Specification and Design, pages 135-142. IEEE Computer Society Press, 1998. Google ScholarDigital Library
- 36 A. L. Wolf. Succeedings of the Second International Software Architecture Workshop. ACM SIGSOFT Software Engineering Notes, 22(1):42-56, Jan. 1997. Google ScholarDigital Library
- 37 D. Wolz. Colimit Library for Graph Transformations and Algebraic Development Techniques. PhD thesis, Technische Universitat Berlin, 1998.Google Scholar
Index Terms
- Algebraic software architecture reconfiguration
Recommendations
Algebraic software architecture reconfiguration
ESEC/FSE-7: Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineeringThe ability of reconfiguring software architectures in order to adapt them to new requirements or a changing environment has been of growing interest, but there is still not much formal work in the area. Most existing approaches deal with run-time ...
A graph transformation approach to software architecture reconfiguration
Special issue on applications of graph transformations (GRATRA 2000)The ability of reconfiguring software architectures in order to adapt them to new requirements or a changing environment has been of growing interest. We propose a uniform algebraic approach that improves on previous formal work in the area due to the ...
Low-Level Flexible Architecture with Hybrid Reconfiguration for Evolvable Hardware
Field-programmable gate arrays (FPGAs) can be considered to be the most popular and successful platform for evolvable hardware. They allow one to establish and later reconfigure candidate solutions. Recent work in the field of evolvable hardware ...
Comments