Integrated Model Checking of Static Structure and Dynamic Behavior using Temporal Description Logics

This paper presents a new notation for the formal representation of the static structure and dynamic behavior of software, based on description logics and temporal logics. The static structure as described by UML class diagrams is represented formally by description logics while the dynamic behavior is represented by linear temporal logic and state transition systems. We integrate these descriptions of static and dynamic aspects into a single formalism called LTLDL. LTLDL enables a concise and natural yet precise definition of the behavior of software w.r.t. UML class diagrams and state transition diagrams. We demonstrate our approach on the sake warehouse problem. Further, we describe how properties of finite LTLDL models can be analyzed based on bounded model checking and SMT (satisfiability modulo theory) solving. We implemented a restricted SMT solver for finite sets and relations. This SMT solver helped to reduce the model checking runtime significantly as compared to bounded model checking with existing tools.

[1]  Shin Nakajima,et al.  An Object-Oriented Modeling Method for Algebraic Specifications in CafeOBJ , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[2]  Franz Weitl,et al.  Document verification with temporal description logics , 2007 .

[3]  Werner Nutt,et al.  Basic Description Logics , 2003, Description Logic Handbook.

[4]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[5]  Franz Baader,et al.  LTL over description logic axioms , 2008, TOCL.

[6]  Franz Baader,et al.  Runtime Verification Using a Temporal Description Logic , 2009, FroCoS.

[7]  Roberto Bruttomesso,et al.  An extension of the Davis-Putnam procedure and its application to preprocessing in SMT , 2009, SMT '09.

[8]  Marco Pistore,et al.  NuSMV 2: An OpenSource Tool for Symbolic Model Checking , 2002, CAV.

[9]  Michael J. Butler,et al.  ProB: an automated analysis toolset for the B method , 2008, International Journal on Software Tools for Technology Transfer.

[10]  Enrico Franconi,et al.  A survey of temporal extensions of description logics , 2001, Annals of Mathematics and Artificial Intelligence.

[11]  Ofer Strichman,et al.  Bounded model checking , 2003, Adv. Comput..

[12]  Gerard J. Holzmann,et al.  The SPIN Model Checker - primer and reference manual , 2003 .

[13]  Klaus Schild,et al.  Combining Terminological Logics with Tense Logic , 1993, EPIA.

[14]  Carsten Lutz,et al.  Temporal Description Logics: A Survey , 2008, 2008 15th International Symposium on Temporal Representation and Reasoning.

[15]  Daniel Jackson,et al.  Alloy: a lightweight object modelling notation , 2002, TSEM.

[16]  Jean-Raymond Abrial,et al.  Modeling in event-b - system and software engineering by Jean-Raymond Abrial , 2010, SOEN.

[17]  Thai Son Hoang,et al.  Rodin: an open toolset for modelling and reasoning in Event-B , 2010, International Journal on Software Tools for Technology Transfer.

[18]  Daniel Jackson,et al.  Alcoa: the Alloy constraint analyzer , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[19]  Diego Calvanese,et al.  Reasoning on UML class diagrams , 2005, Artif. Intell..

[20]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[21]  Diego Calvanese,et al.  The Description Logic Handbook: Theory, Implementation, and Applications , 2003, Description Logic Handbook.

[22]  Mana Taghdiri,et al.  Relational Reasoning via SMT Solving , 2011, FM.

[23]  Bruno Dutertre,et al.  A Fast Linear-Arithmetic Solver for DPLL(T) , 2006, CAV.