Mind the Gap: Addressing Behavioural Inconsistencies with Formal Methods

In complex system design, it is important to construct several design models focusing on different aspects of a system to gain a better understanding of individual component structure and behaviour. Scenarios of execution are commonly used to specify partial behaviour and interactions between a group of system objects or components. However, partial specifications may hide inconsistencies or an otherwise unintentionally incomplete or underspecified behavioural model. This paper proposes a new powerful technique combining constraint solvers and theorem provers to complete partial specifications and determine overall model inconsistencies. We use a true-concurrent model, namely labelled event structures, which can be used as the underlying semantics of widely used workflow or scenario-based languages. We show how an interplay between the theorem prover Isabelle and constraint solver Z3 can be used for detecting and solving partial specifications and inconsistencies over event structures.

[1]  Daniel Jackson,et al.  Software Abstractions - Logic, Language, and Analysis , 2006 .

[2]  Marsha Chechik,et al.  Declarative approach for model composition , 2008, MiSE '08.

[3]  Gerti Kappel,et al.  Guided Merging of Sequence Diagrams , 2012, SLE.

[4]  Juliana Küster Filipe Bowles,et al.  A Formal Model for Integrating Multiple Views , 2007, Seventh International Conference on Application of Concurrency to System Design (ACSD 2007).

[5]  Jacques Klein,et al.  Semantic-based weaving of scenarios , 2006, AOSD.

[6]  Xianming Liu,et al.  An Approach for Model Composition and Verification , 2009, 2009 Fifth International Joint Conference on INC, IMS and IDC.

[7]  Juliana Küster Filipe Bowles Modelling Concurrent Interactions , 2004, AMAST.

[8]  Glynn Winskel,et al.  Petri Nets, Event Structures and Domains, Part I , 1981, Theor. Comput. Sci..

[9]  Juliana Küster Filipe Bowles,et al.  Avoiding Medication Conflicts for Patients with Multimorbidities , 2016, IFM.

[10]  Juliana Küster Filipe Bowles Decomposing Interactions , 2006, AMAST.

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

[12]  Jon Whittle,et al.  Composing aspect models with graph transformations , 2006, EA '06.

[13]  João Araújo,et al.  Modeling and composing scenario-based requirements with aspects , 2004, Proceedings. 12th IEEE International Requirements Engineering Conference, 2004..

[14]  Marsha Chechik,et al.  Synthesis of Partial Behavior Models from Properties and Scenarios , 2009, IEEE Transactions on Software Engineering.

[15]  Mogens Nielsen,et al.  Models for Concurrency , 1992 .

[16]  Lawrence Charles Paulson,et al.  Isabelle/HOL: A Proof Assistant for Higher-Order Logic , 2002 .

[17]  Juliana Küster Filipe Bowles,et al.  Weaving True-Concurrent Aspects Using Constraint Solvers , 2016, 2016 16th International Conference on Application of Concurrency to System Design (ACSD).

[18]  Nikolaj Bjørner,et al.  Satisfiability modulo theories , 2011, Commun. ACM.

[19]  Juliana Küster Filipe Bowles,et al.  Matching and Merging Scenarios Automatically with Alloy , 2014, MODELSWARD.

[20]  Remco M. Dijkman,et al.  Semantics and analysis of business process models in BPMN , 2008, Inf. Softw. Technol..

[21]  Jürgen Dingel,et al.  A General Approach for Scenario Integration , 2008, MoDELS.

[22]  Juliana Küster Filipe Bowles,et al.  A Logical Approach for Behavioural Composition of Scenario-Based Models , 2015, ICFEM.