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

被引:5
作者
Marmsoler, Diego [1 ]
机构
[1] Tech Univ Munich, Munich, Germany
来源
FORMAL METHODS AND SOFTWARE ENGINEERING, ICFEM 2018 | 2018年 / 11232卷
关键词
Architectural design pattern; Interactive theorem proving; Architecture verification; Configuration trace; Co-inductive list; Isabelle/HOL; MODEL; LOGIC;
D O I
10.1007/978-3-030-02450-5_15
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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.
引用
收藏
页码:251 / 269
页数:19
相关论文
共 40 条
[11]  
Blanchette Jasmin Christian, 2014, Interactive Theorem Proving. 5th International Conference, ITP 2014, Held as Part of the Vienna Summer of Logic, VSL 2014. Proceedings: LNCS 8558, P93, DOI 10.1007/978-3-319-08970-6_7
[12]  
Broy M., 1996, Algebraic Methodology and Software Technology. 5th International Conference, AMAST '96. Proceedings, P487, DOI 10.1007/BFb0014335
[13]  
Broy M., 1993, REQUIREMENT DESIGN S
[14]  
Broy M., 2012, Specification and development of interactive systems: focus on streams, interfaces, and refinement
[15]   A Logical Basis for Component-Oriented Software and Systems Engineering [J].
Broy, Manfred .
COMPUTER JOURNAL, 2010, 53 (10) :1758-1782
[16]  
Buschmann F., 1996, Pattern-Oriented Software Architecture, Volume 1: A System of Patterns
[17]   Using KIV to specify and verify architectures of knowledge-based systems [J].
Fensel, D ;
Schonegge, A .
AUTOMATED SOFTWARE ENGINEERING, 12TH IEEE INTERNATIONAL CONFERENCE, PROCEEDINGS, 1997, :71-80
[18]  
Gordon M. J., 1979, Edinburgh LCF
[19]  
Grov G., 2011, DEFINITIONAL ENCODIN
[20]   THE TEMPORAL LOGIC OF ACTIONS [J].
LAMPORT, L .
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1994, 16 (03) :872-923