Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1007/978-3-030-30942-8_36guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

APML: An Architecture Proof Modeling Language

Published: 07 October 2019 Publication History

Abstract

To address the increasing size and complexity of modern software systems, compositional verification separates the verification of single components from the verification of their composition. In architecture-based verification, the former is done using Model Checking, while the latter is done using interactive theorem proving (ITP). As of today, however, architects are usually not trained in using a full-fledged interactive theorem prover. Thus, to bridge the gap between ITP and the architecture domain, we developed APML: an architecture proof modeling language. APML allows one to sketch proofs about component composition at the level of architecture using notations similar to Message Sequence Charts. With this paper, we introduce APML: We describe the language, show its soundness and completeness for the verification of architecture contracts, and provide an algorithm to map an APML proof to a corresponding proof for the interactive theorem prover Isabelle. Moreover, we describe its implementation in terms of an Eclipse/EMF modeling application, demonstrate it by means of a running example, and evaluate it in terms of a larger case study. Although our results are promising, the case study also reveals some limitations, which lead to new directions for future work.

References

[1]
Arbab FReo: a channel-based coordination model for component compositionMath. Struct. Comput. Sci.20041403329-3662063647
[2]
Baier, C., Katoen, J., Larsen, K.: Principles of Model Checking. MIT Press (2008). https://books.google.de/books?id=nDQiAQAAIAAJ
[3]
Ballarin C Berardi S, Coppo M, and Damiani F Locales and locale expressions in Isabelle/Isar Types for Proofs and Programs 2004 Heidelberg Springer 34-50
[4]
Barras, B., et al.: The Coq proof assistant reference manual: version 6.1. Ph.D. thesis, Inria (1997)
[5]
Bettini L Implementing Domain-specific Languages with Xtext and Xtend 2016 Birmingham Packt Publishing Ltd.
[6]
Biere A, Cimatti A, Clarke E, and Zhu Y Cleaveland WR Symbolic model checking without BDDs Tools and Algorithms for the Construction and Analysis of Systems 1999 Heidelberg Springer 193-207
[7]
Gheorghiu Bobaru M, Păsăreanu CS, and Giannakopoulou D Gupta A and Malik S Automated assume-guarantee reasoning by abstraction refinement Computer Aided Verification 2008 Heidelberg Springer 135-148
[8]
Broy MTheory and methodology of assumption/commitment based system interface specification and architectural contractsFormal Methods Syst. Des.201852133-871392.68238
[9]
Broy M and Stølen K Specification and Development of Interactive Systems: Focus on Streams, Interfaces, and Refinement 2012 Heidelberg Springer
[10]
Brucker AD and Wolff B Carreño VA, Muñoz CA, and Tahar S A proposal for a formal OCL semantics in Isabelle/HOL Theorem Proving in Higher Order Logics 2002 Heidelberg Springer 99-114
[11]
Chilton C, Jonsson B, and Kwiatkowska M Păsăreanu CS and Salaün G Assume-guarantee reasoning for safe component behaviours Formal Aspects of Component Software 2013 Heidelberg Springer 92-109
[12]
Cimatti, A., Dorigatti, M., Tonetta, S.: OCRA: a tool for checking the refinement of temporal contracts. In: 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE), pp. 702–705, November 2013
[13]
Cimatti A and Tonetta S Contracts-refinement proof system for component-based embedded systems Sci. Comput. Program. 2015 97 P3 333-348
[14]
Clarke, E.M., Long, D.E., McMillan, K.L.: Compositional model checking. In: 1989 Proceedings of Fourth Annual Symposium on Logic in Computer Science, pp. 353–362. IEEE (1989)
[15]
Damm W and Harel D LSCs: breathing life into message sequence charts Formal Methods Syst. Des. 2001 19 1 45-80
[16]
Damm, W., Hungar, H., Josko, B., Peikenkamp, T., Stierand, I.: Using contract-based component specifications for virtual integration testing and architecture design. In: 2011 Design, Automation & Test in Europe, pp. 1–6. IEEE (2011)
[17]
De Moura L and Bjørner N Satisfiability modulo theories: introduction and applications Commun. ACM 2011 54 9 69-77
[18]
Dwyer, M.B., Avrunin, G.S., Corbett, J.C.: Patterns in property specifications for finite-state verification. In: Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No. 99CB37002), pp. 411–420. IEEE (1999)
[19]
Elkader KA, Grumberg O, Păsăreanu CS, and Shoham S Bjørner N and de Boer F Automated circular assume-guarantee reasoning FM 2015: Formal Methods 2015 Cham Springer 23-39
[20]
Emmi M, Giannakopoulou D, and Păsăreanu CS Cuellar J, Maibaum T, and Sere K Assume-guarantee verification for interface automata FM 2008: Formal Methods 2008 Heidelberg Springer 116-131
[21]
Fensel, D., Schnogge, A.: Using KIV to specify and verify architectures of knowledge-based systems. In: Automated Software Engineering, pp. 71–80, November 1997
[22]
Foster S, Zeyda F, and Woodcock J Naumann D Isabelle/UTP: a mechanised theory engineering framework Unifying Theories of Programming 2015 Cham Springer 21-41
[23]
Hoare CAR and Jifeng H Unifying Theories of Programming 1998 Englewood Cliffs Prentice Hall
[24]
Huber F, Schätz B, Schmidt A, and Spies K Jonsson B and Parrow J AutoFocus—a tool for distributed systems specification Formal Techniques in Real-Time and Fault-Tolerant Systems 1996 Heidelberg Springer 467-470
[25]
Kugele, S., Marmsoler, D., Mata, N., Werther, K.: Verification of component architectures using mode-based contracts. In: 2016 ACM/IEEE International Conference on Formal Methods and Models for System Design, MEMOCODE 2016, Kanpur, India, 18–20 November 2016, pp. 133–142. IEEE (2016). 10.1109/MEMCOD.2016.7797758
[26]
Li Y and Sun M Fiadeiro JL, Liu Z, and Xue J Modeling and analysis of component connectors in Coq Formal Aspects of Component Software 2014 Cham Springer 273-290
[27]
Marmsoler D and Gleirscher MOn activation, connection, and behavior in dynamic architecturesSci. Ann. Comput. Sci.2016262187-24836796011424.68003
[28]
Marmsoler D Sun J and Sun M A framework for interactive verification of architectural design patterns in Isabelle/HOL Formal Methods and Software Engineering 2018 Cham Springer 251-269
[29]
Marmsoler D Russo A and Schürr A Hierarchical specification and verification of architectural design patterns Fundamental Approaches to Software Engineering 2018 Cham Springer 149-168
[30]
Marmsoler, D.: Verifying dynamic architectures using model checking and interactive theorem proving. In: Becker, S., Bogicevic, I., Herzwurm, G., Wagner, S. (eds.) Software Engineering and Software Management 2019, pp. 167–169. Gesellschaft für Informatik e.V., Bonn (2019). 10.18420/se2019-52
[31]
Marmsoler, D., Blakqori, G.: APML: An architecture proof modeling language. https://arxiv.org/abs/1907.03723, July 2019. Extended preprint
[32]
Marmsoler D and Gidey HK Bae K and Ölveczky PC FACTum studio: a tool for the axiomatic specification and verification of architectural design patterns Formal Aspects of Component Software 2018 Cham Springer 279-287
[33]
Marmsoler D and Gleirscher M Sampaio A and Wang F Specifying properties of dynamic architectures using configuration traces Theoretical Aspects of Computing – ICTAC 2016 2016 Cham Springer 235-254
[34]
Nipkow T, Wenzel M, and Paulson LC Isabelle/HOL: A Proof Assistant for Higher-Order Logic 2002 Heidelberg Springer
[36]
Păsăreanu CS, Dwyer MB, and Huth M Dams D, Gerth R, Leue S, and Massink M Assume-guarantee model checking of software: a comparative case study Theoretical and Practical Aspects of SPIN Model Checking 1999 Heidelberg Springer 168-183
[37]
Pnueli A Apt KR In transition from global to modular temporal reasoning about programs Logics and Models of Concurrent Systems 1985 Berlin Springer 123-144
[38]
Reif W Broy M and Jähnichen S The Kiv-approach to software verification KORSO: Methods, Languages, and Tools for the Construction of Correct Software 1995 Heidelberg Springer 339-368
[39]
Reussner, R.H., Becker, S., Firus, V.: Component composition with parametric contracts. In: Tagungsband der Net. ObjectDays 2004, pp. 155–169 (2004)
[40]
Spichkova, M.: Focus on Isabelle: from specification to verification. In: 21st International Conference on Theorem Proving in Higher Order Logics, p. 104. Citeseer (2008)
[41]
Steinberg D, Budinsky F, Merks E, and Paternostro M EMF: Eclipse Modeling Framework 2008 London Pearson Education
[42]
Warmer, J.B., Kleppe, A.G.: The Object Constraint Language: Precise Modeling with UML. Addison-Wesley Object Technology Series (1998)
[43]
Wenzel, M.: The Isabelle/Isar reference manual (2004)
[44]
Wenzel, M.: Isabelle/Isar - a generic framework for human-readable proof documents. In: From Insight to Proof - Festschrift in Honour of Andrzej Trybulec, vol. 10, no. 23, pp. 277–298 (2007)

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
Formal Methods – The Next 30 Years: Third World Congress, FM 2019, Porto, Portugal, October 7–11, 2019, Proceedings
Oct 2019
775 pages
ISBN:978-3-030-30941-1
DOI:10.1007/978-3-030-30942-8

Publisher

Springer-Verlag

Berlin, Heidelberg

Publication History

Published: 07 October 2019

Author Tags

  1. Compositional verification
  2. Interactive Theorem Proving
  3. Architecture-based Verification
  4. FACTum
  5. Isabelle

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 0
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 05 Feb 2025

Other Metrics

Citations

View Options

View options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media