Modeling and Verifying Dynamic Architectures with FACTum Studio

  • Habtom Kahsay GideyEmail author
  • Alexander Collins
  • Diego Marmsoler
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 12018)


With the emergence of ambient and adaptive computing, dynamic architectures have become increasingly important. Dynamic architectures describe an evolving state space of systems over time. In such architectures, components can appear or disappear, and connections between them can change over time. Due to the evolving state space of such architectures, verification is challenging. To address this problem, we developed FACTum Studio, a tool that combines model checking and interactive theorem proving to support the verification of dynamic architectures. To this end, a dynamic architecture is first specified in terms of component types and architecture configurations. Next, each component type is verified against asserted contracts using nuXmv. Then, the composition of the contracts is verified using Isabelle/HOL. In this paper, we discuss the tool’s extended features with an example of an encrypted messaging system. It is developed with Eclipse and active on Github.


Dynamic architectures Model checking Interactive theorem proving FACTum Eclipse/EMF Xtext 



Parts of the work on which we report in this paper were funded by the German Federal Ministry of Economics and Technology (BMWi) under grant no. 0325811A.


  1. 1.
    Aravantinos, V., Voss, S., Teufl, S., Hölzl, F., Schätz, B.: AutoFOCUS 3: tooling concepts for seamless, model-based development of embedded systems. In: CEUR Workshop Proceedings, vol. 1508, pp. 19–26. (2015)Google Scholar
  2. 2.
    Arbab, F.: Reo: a channel-based coordination model for component composition. Math. Struct. Comput. Sci. 14(03), 329–366 (2004). Scholar
  3. 3.
    Baier, C., Sirjani, M., Arbab, F., Rutten, J.: Modeling component connectors in Reo by constraint automata. Sci. Comput. Program. 61(2), 75–113 (2006)MathSciNetCrossRefGoogle 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). Scholar
  5. 5.
    Bruni, R., Bucchiarone, A., Gnesi, S., Melgratti, H.: Modelling dynamic software architectures using typed graph grammars. Electron. Notes Theor. Comput. Sci. 213(1), 39–53 (2008)CrossRefGoogle Scholar
  6. 6.
    Bucchiarone, A., Galeotti, J.P.: Dynamic software architectures verification using DynAlloy. In: Electronic Communications of the EASST, vol. 10 (2008)Google Scholar
  7. 7.
    Gerostathopoulos, I., Skoda, D., Plasil, F., Bures, T., Knauss, A.: Architectural homeostasis in self-adaptive software-intensive cyber-physical systems. In: Tekinerdogan, B., Zdun, U., Babar, A. (eds.) ECSA 2016. LNCS, vol. 9839, pp. 113–128. Springer, Cham (2016). Scholar
  8. 8.
    Gidey, H.K., Marmsoler, D.: FACTum Studio (2018).
  9. 9.
    Koza, J.R.: Genetic programming: on the programming of computers by means of natural selection, vol. 1. MIT Press (1992)Google Scholar
  10. 10.
    Li, C., Huang, L., Chen, L., Li, X., Luo, W.: Dynamic software architectures: formal specification and verification with CSP. In: Proceedings of the Fourth Asia-Pacific Symposium on Internetware, p. 5. ACM (2012)Google Scholar
  11. 11.
    Li, Y., Sun, M.: Modeling and analysis of component connectors in Coq. In: Fiadeiro, J.L., Liu, Z., Xue, J. (eds.) FACS 2013. LNCS, vol. 8348, pp. 273–290. Springer, Cham (2014). Scholar
  12. 12.
    Manna, Z., Sipma, H.B.: Deductive verification of hybrid systems using step. In: Henzinger, T.A., Sastry, S. (eds.) HSCC 1998. LNCS, vol. 1386, pp. 305–318. Springer, Heidelberg (1998). Scholar
  13. 13.
    Marmsoler, D.: Towards a calculus for dynamic architectures. In: Hung, D., Kapur, D. (eds.) ICTAC 2017. LNCS, vol. 10580, pp. 79–99. Springer, Cham (2017). Scholar
  14. 14.
    Marmsoler, D.: A framework for interactive verification of architectural design patterns in Isabelle/HOL. In: Sun, J., Sun, M. (eds.) ICFEM 2018. LNCS, vol. 11232, pp. 251–269. Springer, Cham (2018). Scholar
  15. 15.
    Marmsoler, D.: Hierarchical specification and verification of architectural design patterns. In: Russo, A., Schürr, A. (eds.) FASE 2018. LNCS, vol. 10802, pp. 149–168. Springer, Cham (2018). Scholar
  16. 16.
    Marmsoler, D., Gidey, H.K.: FACTum studio: a tool for the axiomatic specification and verification of architectural design patterns. In: Bae, K., Ölveczky, P.C. (eds.) FACS 2018. LNCS, vol. 11222, pp. 279–287. Springer, Cham (2018). Scholar
  17. 17.
    Marmsoler, D., Gidey, H.K.: Interactive verification of architectural design patterns in FACTum. Formal Aspects Comput. 31(5), 541–610 (2019)MathSciNetCrossRefGoogle Scholar
  18. 18.
    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). Scholar
  19. 19.
    Miyazawa, A., Cavalcanti, A., Ribeiro, P., Li, W., Woodcock, J., Timmis, J.: Robochart reference manual. Technical report, University of York (2017)Google Scholar
  20. 20.
    Oquendo, F.: Dynamic software architectures: formally modelling structure and behaviour with Pi-ADL. In: 2008 The Third International Conference on Software Engineering Advances, pp. 352–359. IEEE (2008)Google Scholar
  21. 21.
    Oreizy, P., et al.: An architecture-based approach to self-adaptive software. IEEE Intell. Syst. Appl. 14(3), 54–62 (1999)CrossRefGoogle Scholar
  22. 22.
    Wirsing, M.: Algebraic specification. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science (Vol. B), pp. 675–788. MIT Press, Cambridge (1990)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2020

Authors and Affiliations

  • Habtom Kahsay Gidey
    • 1
    Email author
  • Alexander Collins
    • 2
  • Diego Marmsoler
    • 2
  1. 1.Universität der Bundeswehr MünchenNeubibergGermany
  2. 2.Technische Universität MünchenMunichGermany

Personalised recommendations