Towards a Calculus for Dynamic Architectures

  • Diego Marmsoler
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10580)


The architecture of a system describes the system’s overall organization into components and connections between those components. With the emergence of mobile computing, dynamic architectures have become increasingly important. In such architectures, components may appear or disappear, and connections may change over time. The dynamic nature of such architectures makes reasoning about their behavior difficult. Since components can be activated and deactivated over time, their behavioral specifications depend on their state of activation. To address this problem, we introduce a calculus for dynamic architectures in a natural deduction style. Therefore, we provide introduction and elimination rules for several operators traditionally employed to specify component behavior. Finally, we show soundness and relative completeness of these rules. The calculus can be used to reason about component behavior in a dynamic environment. This is demonstrated by applying it to verify a property of dynamic blackboard architectures.


Dynamic architectures Component calculus Architecture verification Configuration traces Behavior traces 



We would like to thank Manfred Broy, Mario Gleirscher, Vasileios Koutsoumpas, and the anonymous reviewers of ICTAC 2017 for their comments and helpful suggestions. The work was partially funded by the German Federal Ministry of Education and Research (BMBF) under grant “01Is16043A”.


  1. 1.
    Berry, G., Boudol, G.: The chemical abstract machine. Theor. Comput. Sci. 96(1), 217–248 (1992)MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    Bradbury, J.S., et al.: A survey of self-management in dynamic software architecture specifications. In: Proceedings of the 1st ACM SIGSOFT Workshop on Self-Managed Systems, pp. 28–33 (2004)Google Scholar
  3. 3.
    Broy, M.: A logical basis for component-oriented software and systems engineering. Comput. J. 53(10), 1758–1782 (2010)CrossRefGoogle Scholar
  4. 4.
    Broy, M.: A model of dynamic systems. In: Bensalem, S., Lakhneck, Y., Legay, A. (eds.) ETAPS 2014. LNCS, vol. 8415, pp. 39–53. Springer, Heidelberg (2014). doi: 10.1007/978-3-642-54848-2_3 CrossRefGoogle Scholar
  5. 5.
    Buschmann, F., et al.: Pattern-Oriented Software Architecture: A System of Patterns (1996)Google Scholar
  6. 6.
    Cardelli, L., Gordon, A.D.: Mobile ambients. Theor. Comput. Sci. 240(1), 177–213 (2000)MathSciNetCrossRefzbMATHGoogle Scholar
  7. 7.
    Castro, P.F., Aguirre, N.M., López Pombo, C.G., Maibaum, T.S.E.: Towards managing dynamic reconfiguration of software systems in a categorical setting. In: Cavalcanti, A., Deharbe, D., Gaudel, M.-C., Woodcock, J. (eds.) ICTAC 2010. LNCS, vol. 6255, pp. 306–321. Springer, Heidelberg (2010). doi: 10.1007/978-3-642-14808-8_21 CrossRefGoogle Scholar
  8. 8.
    Clements, P.C.: A survey of architecture description languages. In: Proceedings of the 8th International Workshop on Software Specification and Design, p. 16 (1996)Google Scholar
  9. 9.
    Fiadeiro, J.L., Lopes, A.: A model for dynamic reconfiguration in serviceoriented architectures. Softw. Syst. Model. 12(2), 349–367 (2013)CrossRefGoogle Scholar
  10. 10.
    Gordon, M.J., Milner, A.J., Wadsworth, C.P.: Edinburgh LCF. LNCS, vol. 78. Springer, Heidelberg (1979). (Ed. by G. Goos and J. Hartmanis. 1st ed.)zbMATHGoogle Scholar
  11. 11.
    Hirsch, D., Montanari, U.: Two graph-based techniques for software architecture reconfiguration. Electron. Notes Theor. Comput. Sci. 51, 177–190 (2002)CrossRefzbMATHGoogle Scholar
  12. 12.
    Le Mtayer, D.: Describing software architecture styles using graph grammars. IEEE Trans. Softw. Eng. 24(7), 521–533 (1998)CrossRefGoogle Scholar
  13. 13.
    Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems. Springer, New York (1992). doi: 10.1007/978-1-4612-0931-7 CrossRefzbMATHGoogle Scholar
  14. 14.
    Marmsoler, D.: On the specification of constraints for dynamic architectures. ArXiv e-prints, March 2017. arXiv: 1703.06823
  15. 15.
    Marmsoler, D., Gleirscher, M.: Specifying properties of dynamic architectures using configuration traces. In: Sampaio, A., Wang, F. (eds.) ICTAC 2016. LNCS, vol. 9965, pp. 235–254. Springer, Cham (2016). doi: 10.1007/978-3-319-46750-4_14 CrossRefGoogle Scholar
  16. 16.
    Medvidovic, N.: ADLs and dynamic architecture changes. In: Joint Proceedings of the Second International Software Architecture Workshop and International Workshop on Multiple Perspectives in Software Development on SIGSOFT 1996 Workshops, pp. 24–27 (1996)Google Scholar
  17. 17.
    Milner, R.: Communicating and Mobile Systems: The \(\pi \)-calculus (1999)Google Scholar
  18. 18.
    Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline, vol. 1 (1996)Google Scholar
  19. 19.
    Taylor, R.N., Medvidovic, N., Dashofy, E.M.: Software Architecture: Foundations, Theory, and Practice. Wiley, Hoboken (2009)CrossRefGoogle Scholar
  20. 20.
    Wermelinger, M., Lopes, A., Fiadeiro, J.L.: A graph based architectural (re)configuration language. Softw. Eng. Notes 26(5), 21–32 (2001)CrossRefGoogle Scholar
  21. 21.
    Wirsing, M.: Algebraic specification. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science, vol. B, Cambridge, pp. 675–788 (1990)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  1. 1.Technische Universität MünchenMunichGermany

Personalised recommendations