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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 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.
A rigid variable keeps its value over time.
- 3.
A flexible variable is newly interpreted at each point in time.
- 4.
A corresponding proof is provided online in this paper’s supplementary electronic material.
References
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)
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
Broy, M.: Algebraic specification of reactive systems. Theor. Comput. Sci. 239(1), 3–40 (2000)
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)
Dashofy, E.M.: Supporting stakeholder-driven, multi-view software architecture modeling. Ph.D. thesis, University of California, Irvine (2007)
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)
Gidey, H.K., Marmsoler, D.: FACTum Studio (2018). https://habtom.github.io/factum/
Jackson, D.: Alloy: a lightweight object modelling notation. ACM Trans. Softw. Eng. Methodol. (TOSEM) 11(2), 256–290 (2002)
Marmsoler, D., Gleirscher, M.: On activation, connection, and behavior in dynamic architectures. Sci. Ann. Comput. Sci. 26(2), 187–248 (2016)
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)
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)
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
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
Miyazawa, A., Cavalcanti, A., Ribeiro, P., Li, W., Woodcock, J., Timmis, J.: Robochart reference manual. Technical report, University of York (2017)
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
Taylor, R.N., Medvidovic, N., Dashofy, E.M.: Software Architecture: Foundations, Theory, and Practice. Wiley Publishing (2009)
Wirsing, M.: Algebraic specification. In van Leeuwen, J. (ed.): Handbook of Theoretical Computer Science, vol. B, pp. 675–788. MIT Press, Cambridge (1990)
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
Corresponding author
Editor information
Editors and Affiliations
1 Electronic supplementary material
Below is the link to the electronic supplementary material.
Rights and permissions
Copyright information
© 2018 Springer Nature Switzerland AG
About this paper
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)