skip to main content
article
Free Access

Algebraic software architecture reconfiguration

Published:01 October 1999Publication History
Skip Abstract Section

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.

References

  1. 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 ScholarGoogle ScholarCross RefCross Ref
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3 K. M. Chandy and J. Misra. Parallel Program Design-A Foundation. Addison- Wesley, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 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 ScholarGoogle ScholarCross RefCross Ref
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6 Description of EDCS technology clusters. ACM SIGSOFT Software Engineering Notes, 22(5):33-42, Sept. 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle Scholar
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11 J. L. Fiadeiro and T. Maibaum. Categorial semantics of parallel program design. Science of Computer Programming, 28: 111-138, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle Scholar
  13. 13 N. Francez and I. Forman. Interacting Processes. Addison-Wesley, 1996.Google ScholarGoogle Scholar
  14. 14 A. Habel, R. Heckel, and G. Taentzer. Graph grammars with negative application conditions. Fundamenta Informaticae, 26(3-4), 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  16. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  17. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. 19 M. Lowe. Algebraic approach to graph transformation based on single pushout derivations. Technical Report 90/5, Technische Universitat Berlin, 1990.Google ScholarGoogle Scholar
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. 21 P. J. McCann and G.-C. Roman. Compositional programming abstractions for mobile computing. IEEE Transactions on Software Engineering, 24(2), Feb. 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 22 N. Medvidovic. ADLs and dynamic architecture changes. In Joint Proceedings of the SIGSOFT'96 Workshops, pages 24-27. ACM Press, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 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 ScholarGoogle Scholar
  24. 24 D. L. Mktayer. Describing software architecture styles using graph grammars. IEEE Transactions on Software Engineering, 24(7):521-553, July 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. 25 J. C. Mitchell. Foundations for Programming Languages. MIT Press, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. 26 R. T. Monroe, D. Garlan, and D. Wile. Acme StrawManual, Nov. 1997.Google ScholarGoogle Scholar
  27. 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 ScholarGoogle Scholar
  28. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  30. 30 R. Sedgewick. Algorithms. Addison-Wesley, second edition, 1988. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  32. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  33. 33 M. Wermelinger. Towards a chemical model for software architecture reconfiguration. IEE Proceedings-Software, 145(5):130-136, Oct. 1998.Google ScholarGoogle ScholarCross RefCross Ref
  34. 34 M. Wermelinger and J. L. Fiadeiro. Connectors for mobile programs. IEEE Transactions on Software Engineering, 24(5):331-341, May 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  36. 36 A. L. Wolf. Succeedings of the Second International Software Architecture Workshop. ACM SIGSOFT Software Engineering Notes, 22(1):42-56, Jan. 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. 37 D. Wolz. Colimit Library for Graph Transformations and Algebraic Development Techniques. PhD thesis, Technische Universitat Berlin, 1998.Google ScholarGoogle Scholar

Index Terms

  1. Algebraic software architecture reconfiguration

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM SIGSOFT Software Engineering Notes
        ACM SIGSOFT Software Engineering Notes  Volume 24, Issue 6
        Nov. 1999
        527 pages
        ISSN:0163-5948
        DOI:10.1145/318774
        Issue’s Table of Contents
        • cover image ACM Conferences
          ESEC/FSE-7: Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
          October 1999
          529 pages
          ISBN:3540665382

        Copyright © 1999 Authors

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 1 October 1999

        Check for updates

        Qualifiers

        • article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader