Skip to main content

FACTum Studio: A Tool for the Axiomatic Specification and Verification of Architectural Design Patterns

  • Conference paper
  • First Online:
Book cover Formal Aspects of Component Software (FACS 2018)

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

Included in the following conference series:

Abstract

Architectural Design Patterns (ADPs) restrict the design of an architecture with the aim to guarantee certain properties. Verifying ADPs requires to show that the imposed constraints indeed lead to the claimed guarantees and it is best done using interactive theorem proving (ITP). ITP, however, requires knowledge which is usually not available in the architecture community, which is why the technology is rarely used for the verification of patterns. To address this problem, we are working on a tool which supports the interactive verification of ADPs at a level of abstraction familiar to an architect. In the following paper, we introduce the tool and demonstrate it by means of a running example: we model a version of the Publisher-Subscriber pattern with a corresponding guarantee and verify it in a generated Isabelle/HOL theory.

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 example is intentionally kept simple since its purpose is to demonstrate the tool’s main features, rather than evaluating it in a real-world setting.

  2. 2.

    A rigid variable keeps its value over time.

  3. 3.

    A flexible variable is newly interpreted at each point in time.

  4. 4.

    A corresponding proof is provided online in this paper’s supplementary electronic material.

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

  3. Broy, M.: Algebraic specification of reactive systems. Theor. Comput. Sci. 239(1), 3–40 (2000)

    Article  MathSciNet  Google Scholar 

  4. Cansado, A., Madelaine, E., Valenzuela, P.: VCE: A graphical tool for architectural definitions of GCM components. In: 5th workshop on Formal Aspects of Component Systems (FACS’08) (2008)

    Google Scholar 

  5. Dashofy, E.M.: Supporting stakeholder-driven, multi-view software architecture modeling. Ph.D. thesis, University of California, Irvine (2007)

    Google Scholar 

  6. Garlan, D., Monroe, R.T., Wile, D.: Acme: architectural description of component-based systems. Foundations of Component-Based Systems, vol. 68, pp. 47–68 (2000)

    Google Scholar 

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

  8. Jackson, D.: Alloy: a lightweight object modelling notation. ACM Trans. Softw. Eng. Methodol. (TOSEM) 11(2), 256–290 (2002)

    Article  Google Scholar 

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

    Article  MathSciNet  Google Scholar 

  10. Marmsoler, D.: On the semantics of temporal specifications of component-behavior for dynamic architectures. In: 11th International Symposium on Theoretical Aspects of Software Engineering, pp. 1–6. Springer, Berlin (2017)

    Google Scholar 

  11. Marmsoler, D.: Towards a calculus for dynamic architectures. In: Hung, D.V., Kapur, D. (eds.): Theoretical Aspects of Computing - ICTAC 2017–14th International Colloquium, Proceedings. Lecture Notes in Computer Science, vol. 10580. Springer, Berlin (2017)

    Chapter  Google Scholar 

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

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

  14. Miyazawa, A., Cavalcanti, A., Ribeiro, P., Li, W., Woodcock, J., Timmis, J.: Robochart reference manual. Technical report, University of York (2017)

    Google Scholar 

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

    MATH  Google Scholar 

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

    Google Scholar 

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

Acknowledgements

We would like to thank Dominik Ascher and Sebastian Wilzbach for their valuable support on Eclipse/EMF. Parts of the work on which we report in this paper was 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 Diego Marmsoler .

Editor information

Editors and Affiliations

1 Electronic supplementary material

Below is the link to the electronic supplementary material.

Supplementary material 1 (zip 130 KB)

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., Gidey, H.K. (2018). FACTum Studio: A Tool for the Axiomatic Specification and Verification of Architectural Design Patterns. In: Bae, K., Ölveczky, P. (eds) Formal Aspects of Component Software. FACS 2018. Lecture Notes in Computer Science(), vol 11222. Springer, Cham. https://doi.org/10.1007/978-3-030-02146-7_14

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-02146-7_14

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-02145-0

  • Online ISBN: 978-3-030-02146-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics