Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Berry, G., Boudol, G.: The chemical abstract machine. Theor. Comput. Sci. 96(1), 217–248 (1992)
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)
Broy, M.: A logical basis for component-oriented software and systems engineering. Comput. J. 53(10), 1758–1782 (2010)
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
Buschmann, F., et al.: Pattern-Oriented Software Architecture: A System of Patterns (1996)
Cardelli, L., Gordon, A.D.: Mobile ambients. Theor. Comput. Sci. 240(1), 177–213 (2000)
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
Clements, P.C.: A survey of architecture description languages. In: Proceedings of the 8th International Workshop on Software Specification and Design, p. 16 (1996)
Fiadeiro, J.L., Lopes, A.: A model for dynamic reconfiguration in serviceoriented architectures. Softw. Syst. Model. 12(2), 349–367 (2013)
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.)
Hirsch, D., Montanari, U.: Two graph-based techniques for software architecture reconfiguration. Electron. Notes Theor. Comput. Sci. 51, 177–190 (2002)
Le Mtayer, D.: Describing software architecture styles using graph grammars. IEEE Trans. Softw. Eng. 24(7), 521–533 (1998)
Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems. Springer, New York (1992). doi:10.1007/978-1-4612-0931-7
Marmsoler, D.: On the specification of constraints for dynamic architectures. ArXiv e-prints, March 2017. arXiv: 1703.06823
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
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)
Milner, R.: Communicating and Mobile Systems: The \(\pi \)-calculus (1999)
Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline, vol. 1 (1996)
Taylor, R.N., Medvidovic, N., Dashofy, E.M.: Software Architecture: Foundations, Theory, and Practice. Wiley, Hoboken (2009)
Wermelinger, M., Lopes, A., Fiadeiro, J.L.: A graph based architectural (re)configuration language. Softw. Eng. Notes 26(5), 21–32 (2001)
Wirsing, M.: Algebraic specification. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science, vol. B, Cambridge, pp. 675–788 (1990)
Acknowledgments
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”.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2017 Springer International Publishing AG
About this paper
Cite this paper
Marmsoler, D. (2017). Towards a Calculus for Dynamic Architectures. In: Hung, D., Kapur, D. (eds) Theoretical Aspects of Computing – ICTAC 2017. ICTAC 2017. Lecture Notes in Computer Science(), vol 10580. Springer, Cham. https://doi.org/10.1007/978-3-319-67729-3_6
Download citation
DOI: https://doi.org/10.1007/978-3-319-67729-3_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-67728-6
Online ISBN: 978-3-319-67729-3
eBook Packages: Computer ScienceComputer Science (R0)