Advertisement

Modeling and Verifying Dynamic Architectures with FACTum Studio

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

Abstract

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.

Keywords

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

Notes

Acknowledgments

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.

References

  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. CEUR-WS.org (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).  https://doi.org/10.1017/s0960129504004153MathSciNetCrossRefzbMATHGoogle 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).  https://doi.org/10.1007/978-3-642-54848-2_3CrossRefzbMATHGoogle 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).  https://doi.org/10.1007/978-3-319-48992-6_8CrossRefGoogle Scholar
  8. 8.
    Gidey, H.K., Marmsoler, D.: FACTum Studio (2018). https://habtom.github.io/factum/
  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).  https://doi.org/10.1007/978-3-319-07602-7_17CrossRefGoogle 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).  https://doi.org/10.1007/3-540-64358-3_47CrossRefGoogle 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).  https://doi.org/10.1007/978-3-319-67729-3_6CrossRefGoogle 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).  https://doi.org/10.1007/978-3-030-02450-5_15CrossRefGoogle 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).  https://doi.org/10.1007/978-3-319-89363-1_9CrossRefGoogle 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).  https://doi.org/10.1007/978-3-030-02146-7_14CrossRefGoogle 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).  https://doi.org/10.1007/978-3-319-46750-4_14CrossRefzbMATHGoogle 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