Correct composition in the presence of behavioural conflicts and dephasing

Abstract Scenarios of execution are commonly used to specify partial behaviour and interactions between different objects and components in a system. To avoid overall inconsistency in specifications, various automated methods have emerged in the literature to compose scenario-based models. In recent work, we have shown how the theorem prover Isabelle/HOL can be combined with an SMT solver to detect inconsistencies between sequence diagrams and, only in their absence, generate the behavioural composition. In this paper, we exploit this combination further and present an efficient approach that generates all valid composed traces giving us an equivalent representation of the conflict-free valid composed model. In addition, we show a novel way to prove the correctness of the computed results, and compare this method with the implementation and verification done within Isabelle alone. To reduce the complexity of our technique, we consider priority constraints and a notion of dephased models, i.e., models which start execution at different times. This work has been inspired by a problem from a medical domain where different clinical guidelines for chronic conditions may be applied to the same patient at different points in time. We illustrate the approach with a realistic example from this domain.

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

[2]  Toby Walsh,et al.  Handbook of Constraint Programming , 2006, Handbook of Constraint Programming.

[3]  Manuel Wimmer,et al.  The Past, Present, and Future of Model Versioning , 2012 .

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

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

[6]  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).

[7]  Juliana Küster Filipe Bowles,et al.  Mind the Gap: Addressing Behavioural Inconsistencies with Formal Methods , 2016, 2016 23rd Asia-Pacific Software Engineering Conference (APSEC).

[8]  Dave Clarke,et al.  Data Abstraction in Coordination Constraints , 2013, ESOCC Workshops.

[9]  Raymond Hemmecke,et al.  Nonlinear Integer Programming , 2009, 50 Years of Integer Programming.

[10]  Patricia Bouyer,et al.  Weighted Timed Automata: Model-Checking and Games , 2006, MFPS.

[11]  Lawrence C. Paulson,et al.  Extending Sledgehammer with SMT Solvers , 2011, Journal of Automated Reasoning.

[12]  Adam N. Letchford,et al.  Non-convex mixed-integer nonlinear programming: A survey , 2012 .

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

[14]  Kristina Lundqvist,et al.  Formal Software Verification: Model Checking and Theorem Proving , 2007 .

[15]  Juliana Küster-Filipe,et al.  Modelling concurrent interactions , 2006 .

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

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

[18]  Colin Rowat,et al.  Sound Auction Specification and Implementation , 2015, EC.

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

[20]  Mislav Balunovic,et al.  Learning to Solve SMT Formulas , 2018, NeurIPS.

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

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

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

[24]  David Harel,et al.  Come, let's play - scenario-based programming using LSCs and the play-engine , 2003 .

[25]  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).

[26]  Szymon Wilk,et al.  Comprehensive mitigation framework for concurrent application of multiple clinical practice guidelines , 2017, J. Biomed. Informatics.

[27]  Nikolaj Bjørner,et al.  νZ - An Optimizing SMT Solver , 2015, TACAS.

[28]  Christel Baier,et al.  Modeling component connectors in Reo by constraint automata , 2004, Sci. Comput. Program..

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

[30]  Juliana Küster Filipe Bowles,et al.  A Verified Algorithm Enumerating Event Structures , 2017, CICM.

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

[32]  Marco B. Caminati,et al.  A framework for automated conflict detection and resolution in medical guidelines , 2019, Sci. Comput. Program..

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

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

[35]  Glynn Winskel,et al.  Event Structure Semantics for CCS and Related Languages , 1982, ICALP.

[36]  Sascha Böhme,et al.  Fast LCF-Style Proof Reconstruction for Z3 , 2010, ITP.

[37]  Marcelo F. Frias,et al.  Alloy+HotCore: A Fast Approximation to Unsat Core , 2010, ASM.

[38]  Andrei Popescu,et al.  Encoding Monomorphic and Polymorphic Types , 2013, TACAS.

[39]  Juliana Küster Filipe Bowles,et al.  Correct Composition of Dephased Behavioural Models , 2017, FACS.

[40]  Farhad Arbab,et al.  Reo: A Channel-based Coordination Model for Component Composition , 2005 .

[41]  Petra Kaufmann,et al.  A SAT-Based Debugging Tool for State Machines and Sequence Diagrams , 2014, SLE.

[42]  Clark W. Barrett,et al.  The SMT-LIB Standard Version 2.0 , 2010 .

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

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

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