Skip to main content

A Framework for Interactive Verification of Architectural Design Patterns in Isabelle/HOL

  • Conference paper
  • First Online:
Formal Methods and Software Engineering (ICFEM 2018)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 11232))

Included in the following conference series:

Abstract

Architectural design patterns capture architectural design experience and are an important tool in software engineering to support the conceptualization and analysis of architectures. They constrain different aspects of an architecture and usually guarantee some corresponding properties for architectures implementing them. Verifying such patterns requires proving that the constraints imposed by the pattern indeed lead to architectures which satisfy the corresponding guarantee. Due to the abstract nature of patterns, verification is often done by means of interactive theorem proving and requires detailed knowledge about the underlying model, limiting its application to experts of this model. Moreover, proving properties for different patterns usually involves repetitive proof steps, leading to proofs which are difficult to maintain. To address these problems, we developed a framework that supports the interactive verification of architectural design patterns in Isabelle/HOL. The framework implements a model for dynamic architectures as well as a corresponding calculus in terms of two Isabelle/HOL theories and consists of roughly \(3\,500\) lines of Isabelle/HOL proof script. To evaluate our framework, we applied it for the verification of four different architectural design patterns and compared the overall amount of proof code to the code contributed by the framework. Our results suggest that the framework has the potential to significantly reduce the amount of proof code required for the verification of patterns and thus to address the problems mentioned above.

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

Access this chapter

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

Institutional subscriptions

Notes

  1. 1.

    Note that the specification uses flexible and rigid variables: while the former are newly interpreted at each point in time, the latter keep their value over time. Moreover, it uses the weak until operator which is defined as follows: \(\gamma ' ~\mathcal {W}~\gamma \overset{\text {def}}{\quad =\quad }\Box (\gamma ') \vee (\gamma ' ~\mathcal {U}~\gamma )\).

  2. 2.

    The full proof is provided in [23].

References

  1. Taylor, R.N., Medvidovic, N., Dashofy, E.M.: Software Architecture: Foundations, Theory, and Practice. Wiley, Hoboken (2009)

    Google Scholar 

  2. Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P., Stal, M.: Pattern-Oriented Software Architecture: A System of Patterns. Wiley, West Sussex (1996)

    Google Scholar 

  3. Marmsoler, D.: Hierarchical specification and verification of architecture design patterns. In: Proceedings of Fundamental Approaches to Software Engineering, FASE 2018, Thessaloniki, Greece, 14–20 April 2018 (2018)

    Chapter  Google Scholar 

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

  5. Marmsoler, D., Gleirscher, M.: On activation, connection, and behavior in dynamic architectures. Sci. Ann. Comput. Sci. 26(2), 187–248 (2016)

    MathSciNet  MATH  Google Scholar 

  6. Marmsoler, D.: On the semantics of temporal specifications of component-behavior for dynamic architectures. In: 2017 International Symposium on Theoretical Aspects of Software Engineering (TASE), pp. 1–6. IEEE (2017). https://doi.org/10.1109/tase.2017.8285638

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

  8. Nipkow, T., Paulson, L.C., Wenzel, M. (eds.): Isabelle/HOL, vol. 2283. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-45949-9

    Book  MATH  Google Scholar 

  9. Marmsoler, D.: Dynamic architectures. Archive of Formal Proofs, July 2017. http://isa-afp.org/entries/DynamicArchitectures.html

  10. Marmsoler, D.: A theory of architectural design patterns. Archive of Formal Proofs, March 2018. http://isa-afp.org/entries/Architectural_Design_Patterns.html

  11. Ballarin, C.: Locales and locale expressions in Isabelle/Isar. In: Berardi, S., Coppo, M., Damiani, F. (eds.) TYPES 2003. LNCS, vol. 3085, pp. 34–50. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24849-1_3

    Chapter  MATH  Google Scholar 

  12. Broy, M.: A logical basis for component-oriented software and systems engineering. Comput. J. 53(10), 1758–1782 (2010)

    Article  Google Scholar 

  13. Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline, vol. 1. Prentice Hall, Englewood Cliffs (1996)

    MATH  Google Scholar 

  14. Broy, M.: Algebraic specification of reactive systems. In: Wirsing, M., Nivat, M. (eds.) AMAST 1996. LNCS, vol. 1101, pp. 487–503. Springer, Heidelberg (1996). https://doi.org/10.1007/BFb0014335

    Chapter  Google Scholar 

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

  16. Marmsoler, D., Degenhardt, S.: Verifying patterns of dynamic architectures using model checking. In: Formal Engineering Approaches to Software Components and Architectures, FESCA@ETAPS 2017, Uppsala, Sweden, 22 April 2017, pp. 16–30 (2017)

    Article  Google Scholar 

  17. Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems. Springer, New York (1992). https://doi.org/10.1007/978-1-4612-0931-7

    Book  MATH  Google Scholar 

  18. Gordon, M.J., Milner, A.J., Wadsworth, C.P.: Edinburgh LCF. LNCS, vol. 78. Springer, Heidelberg (1979). https://doi.org/10.1007/3-540-09724-4

    Book  MATH  Google Scholar 

  19. Milner, R., Tofte, M., Harper, R.: The Definition of Standard ML. MIT Press, Cambridge (1990). Literaturverz. S. [87]–89

    Google Scholar 

  20. Blanchette, J.C., Hölzl, J., Lochbihler, A., Panny, L., Popescu, A., Traytel, D.: Truly modular (co)datatypes for Isabelle/HOL. In: Klein, G., Gamboa, R. (eds.) ITP 2014. LNCS, vol. 8558, pp. 93–110. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-08970-6_7

    Chapter  Google Scholar 

  21. Wenzel, M.: Isabelle/Isar - a generic framework for human-readable proof documents. From Insight to Proof - Festschrift in Honour of Andrzej Trybulec 10(23), 277–298 (2007)

    Google Scholar 

  22. Lochbihler, A.: Coinduction. The Archive of Formal Proofs. http://afp.sourceforge.net/entries/Coinductive.shtml (2010)

  23. Marmsoler, D.: A framework for interactive verification of architectural design patterns in Isabelle/HOL. Electronic Supplementary Material. http://www.marmsoler.com/docs/ICFEM18/

  24. Bergner, K.: Spezifikation großer Objektgeflechte mit Komponentendiagrammen. Ph.D. thesis, Technische Universität München (1996)

    Google Scholar 

  25. Broy, M., Facchi, C., Grosu, R., et al.: The requirement and design specification language spectrum - an informal introduction. Technical report, Technische Universität München (1993)

    Google Scholar 

  26. Fensel, D., Schnogge, A.: Using KIV to specify and verify architectures of knowledge-based systems. In: Automated Software Engineering, pp. 71–80, November 1997

    Google Scholar 

  27. Reif, W.: The KIV-approach to software verification. In: Broy, M., Jähnichen, S. (eds.) KORSO: Methods, Languages, and Tools for the Construction of Correct Software. LNCS, vol. 1009, pp. 339–368. Springer, Heidelberg (1995). https://doi.org/10.1007/BFb0015471

    Chapter  Google Scholar 

  28. Spichkova, M.: Specification and seamless verification of embedded real-time systems: FOCUS on Isabelle. Ph.D. thesis, Technical University Munich, Germany (2007)

    Google Scholar 

  29. Broy, M., Stolen, K.: Specification and Development of Interactive Systems: Focus on Streams, Interfaces, and Refinement. Springer, New York (2012)

    MATH  Google Scholar 

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

  31. Bertot, Y., Castéran, P.: Interactive Theorem Proving and Program Development: Coq’Art: The Calculus of Inductive Constructions. Springer, Heidelberg (2013)

    MATH  Google Scholar 

  32. Arbab, F.: Reo: a channel-based coordination model for component composition. Math. Struct. Comput. Sci. 14(03), 329–366 (2004)

    Article  MathSciNet  Google Scholar 

  33. Lamport, L.: The temporal logic of actions. ACM Trans. Program. Lang. Syst. (TOPLAS) 16(3), 872–923 (1994)

    Article  Google Scholar 

  34. Merz, S.: Mechanizing TLA in Isabelle. In: Workshop on Verification in New Orientations, pp. 54–74. Citeseer (1995)

    Google Scholar 

  35. Grov, G., Merz, S.: A definitional encoding of TLA* in Isabelle/HOL. Archive of Formal Proofs, November 2011. http://isa-afp.org/entries/TLA.html

  36. Merz, S.: A more complete TLA. In: Wing, J.M., Woodcock, J., Davies, J. (eds.) FM 1999. LNCS, vol. 1709, pp. 1226–1244. Springer, Heidelberg (1999). https://doi.org/10.1007/3-540-48118-4_15

    Chapter  Google Scholar 

  37. Mattolini, R., Nesi, P.: An interval logic for real-time system specification. IEEE Trans. Softw. Eng. 27(3), 208–227 (2001)

    Article  Google Scholar 

  38. Schimpf, A., Merz, S., Smaus, J.-G.: Construction of Büchi Automata for LTL model checking verified in Isabelle/HOL. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) TPHOLs 2009. LNCS, vol. 5674, pp. 424–439. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-03359-9_29

    Chapter  MATH  Google Scholar 

  39. Sickert, S.: Linear temporal logic. Archive of Formal Proofs, March 2016. http://isa-afp.org/entries/LTL.html

  40. Marmsoler, D.: Towards a theory of architectural styles. In: Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering - FSE 2014, pp. 823–825. ACM Press (2014)

    Google Scholar 

Download references

Acknowledgments

We would like to thank all the people from the Isabelle mailing-list for their fast support. In particular, we would like to thank Andreas Lochbihler for his valuable support. Moreover, we would like to thank Ondřej Kunčar, Veronika Bauer, and all the anonymous reviewers of ICFEM 2018 for their comments and helpful suggestions on earlier versions of this paper.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Diego Marmsoler .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Marmsoler, D. (2018). A Framework for Interactive Verification of Architectural Design Patterns in Isabelle/HOL. In: Sun, J., Sun, M. (eds) Formal Methods and Software Engineering. ICFEM 2018. Lecture Notes in Computer Science(), vol 11232. Springer, Cham. https://doi.org/10.1007/978-3-030-02450-5_15

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-02450-5_15

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-02449-9

  • Online ISBN: 978-3-030-02450-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics