Towards a Calculus for Dynamic Architectures
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.
KeywordsDynamic 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”.
- 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
- 5.Buschmann, F., et al.: Pattern-Oriented Software Architecture: A System of Patterns (1996)Google Scholar
- 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.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
- 14.Marmsoler, D.: On the specification of constraints for dynamic architectures. ArXiv e-prints, March 2017. arXiv: 1703.06823
- 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.Milner, R.: Communicating and Mobile Systems: The \(\pi \)-calculus (1999)Google Scholar
- 18.Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline, vol. 1 (1996)Google Scholar
- 21.Wirsing, M.: Algebraic specification. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science, vol. B, Cambridge, pp. 675–788 (1990)Google Scholar