Skip to main content

Modeling and Verifying Dynamic Architectures with FACTum Studio

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNPSE,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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

References

  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. 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/s0960129504004153

    Article  MathSciNet  MATH  Google Scholar 

  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)

    Article  MathSciNet  Google Scholar 

  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_3

    Chapter  MATH  Google Scholar 

  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)

    Article  Google Scholar 

  6. Bucchiarone, A., Galeotti, J.P.: Dynamic software architectures verification using DynAlloy. In: Electronic Communications of the EASST, vol. 10 (2008)

    Google Scholar 

  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_8

    Chapter  Google Scholar 

  8. Gidey, H.K., Marmsoler, D.: FACTum Studio (2018). https://habtom.github.io/factum/

  9. Koza, J.R.: Genetic programming: on the programming of computers by means of natural selection, vol. 1. MIT Press (1992)

    Google Scholar 

  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. 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_17

    Chapter  Google Scholar 

  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_47

    Chapter  Google Scholar 

  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_6

    Chapter  Google Scholar 

  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_15

    Chapter  Google Scholar 

  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_9

    Chapter  Google Scholar 

  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_14

    Chapter  Google Scholar 

  17. Marmsoler, D., Gidey, H.K.: Interactive verification of architectural design patterns in FACTum. Formal Aspects Comput. 31(5), 541–610 (2019)

    Article  MathSciNet  Google Scholar 

  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_14

    Chapter  MATH  Google Scholar 

  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. 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. Oreizy, P., et al.: An architecture-based approach to self-adaptive software. IEEE Intell. Syst. Appl. 14(3), 54–62 (1999)

    Article  Google Scholar 

  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 

Download references

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.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Habtom Kahsay Gidey .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Gidey, H.K., Collins, A., Marmsoler, D. (2020). Modeling and Verifying Dynamic Architectures with FACTum Studio. In: Arbab, F., Jongmans, SS. (eds) Formal Aspects of Component Software. FACS 2019. Lecture Notes in Computer Science(), vol 12018. Springer, Cham. https://doi.org/10.1007/978-3-030-40914-2_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-40914-2_13

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-40913-5

  • Online ISBN: 978-3-030-40914-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics