Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

Algebraic Software Architecture Reconfiguration

  • Conference paper
  • First Online:
Software Engineering — ESEC/FSE ’99 (ESEC 1999, SIGSOFT FSE 1999)

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.

  1. 1.

    Components are written in a high-level program design language with the usual notion of state.

  2. 2.

    The approach combines two existing frameworks— one to specify architectures, the other to rewrite labelled graphs—just through small additions to either of them.

  3. 3.

    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).

  4. 4.

    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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  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.

    Chapter  Google Scholar 

  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 Scholar 

  3. K. M. Chandy and J. Misra. Parallel Program Design—A Foundation. Addison-Wesley, 1988.

    Google Scholar 

  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 Scholar 

  5. A. Corradini, U. Montanari, F. Rossi, H. Ehrig, R. Heckel, and M. Löwe. Algebraic approaches to graph transformation, part I: Basic concepts and double pushout approach. Technical Report TR-96-17, University of Pisa, Mar. 1996.

    Google Scholar 

  6. Description of EDCS technology clusters. ACM SIGSOFT Software Engineering Notes, 22(5):33–42, Sept. 1997.

    Article  Google Scholar 

  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’97, volume 1214 of LNCS, pages 505–519. Springer-Verlag, 1997.

    Google Scholar 

  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 Scholar 

  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 Scholar 

  11. J. L. Fiadeiro and T. Maibaum. Categorial semantics of parallel program design. Science of Computer Programming, 28:111–138, 1997.

    Article  Google Scholar 

  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 Scholar 

  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 Scholar 

  16. J. Kramer and J. Magee. The evolving philosophers problem: Dynamic change management. IEEE Transactions on Software Engineering, 16(11):1293–1306, Nov. 1990.

    Article  Google Scholar 

  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 Scholar 

  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.

    Chapter  Google Scholar 

  19. M. Löwe. Algebraic approach to graph transformation based on single pushout derivations. Technical Report 90/5, Technische Universität 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 Software Engineering, pages 3–14. ACM Press, 1996.

    Google Scholar 

  21. P. J. McCann and G.-C. Roman. Compositional programming abstractions for mobile computing. IEEE Transactions on Software Engineering, 24(2), Feb. 1998.

    Google Scholar 

  22. N. Medvidovic. ADLs and dynamic architecture changes. In Joint Proceedings of the SIGSOFT’96 Workshops, pages 24–27. ACM Press, 1996.

    Google Scholar 

  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. Métayer. Describing software architecture styles using graph grammars. IEEE Transactions on Software Engineering, 24(7):521–553, July 1998.

    Article  Google Scholar 

  25. J. C. Mitchell. Foundations for Programming Languages. MIT Press, 1996.

    Google Scholar 

  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.bell-labs.com/user/dep/work/swa/icse97.vg.ps.gz.

  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.

    Article  Google Scholar 

  30. R. Sedgewick. Algorithms. Addison-Wesley, second edition, 1988.

    Google Scholar 

  31. 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 Scholar 

  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 Scholar 

  33. M. Wermelinger. Towards a chemical model for software architecture reconfiguration. IEE Proceedings— Software, 145(5):130–136, Oct. 1998.

    Article  Google Scholar 

  34. M. Wermelinger and J. L. Fiadeiro. Connectors for mobile programs. IEEE Transactions on Software Engineering, 24(5):331–341, May 1998.

    Article  Google Scholar 

  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 Scholar 

  36. A. L. Wolf. Succeedings of the Second International Software Architecture Workshop. ACM SIGSOFT Software Engineering Notes, 22(1):42–56, Jan. 1997.

    Article  Google Scholar 

  37. D. Wolz. Colimit Library for Graph Transformations and Algebraic Development Techniques. PhD thesis, Technische Universität Berlin, 1998.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Wermelinger, M., Fiadeiro, J.L. (1999). Algebraic Software Architecture Reconfiguration. In: Nierstrasz, O., Lemoine, M. (eds) Software Engineering — ESEC/FSE ’99. ESEC SIGSOFT FSE 1999 1999. Lecture Notes in Computer Science, vol 1687. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48166-4_24

Download citation

  • DOI: https://doi.org/10.1007/3-540-48166-4_24

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66538-0

  • Online ISBN: 978-3-540-48166-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics