Verifying the structure and behavior in UML/OCL models using satisfiability solvers

  title={Verifying the structure and behavior in UML/OCL models using satisfiability solvers},
  author={Nils Przigoda and Mathias Soeken and Robert Wille and Rolf Drechsler},
  journal={IET Cyper-Phys. Syst.: Theory \& Appl.},
Due to the ever increasing complexity of embedded and cyber-physical systems, corresponding design solutions relying on modelling languages such as Unified Modelling Language (UML)/Object Constraint Language (OCL) find increasing attention. Due to the recent success of formal verification techniques, UML/OCL models also allow to verify and/or check certain properties of a given model in early stages of the design phase. To this end, different approaches for verification and validation have been… 

Figures and Tables from this paper

Re-utilizing Verification Results of UML/OCL Models

This chapter provides a case study sketching the possibilities of using verification results obtained at the UML/OCL level to lower abstraction levels and provides a formal approach that enables designers to re-utilize their verification results.

Analyzing Frame Conditions in UML/OCL Models - Consistency Equivalence and Independence

This work proposes a set of primary analysis objectives (namely consistency, equivalence, and independence) that provide substantial information about the correctness and adequateness of given frame conditions and formalizes these objectives as to be able to conduct the corresponding analyses in an automatic fashion using the deductive power of established approaches for model validation and verification.

Verifying OCL Operational Contracts via SMT-based Synthesising

This paper presents a new technique for synthesising property-based call sequences from a set of operational contracts by reducing a synthesis problem to a satisfiability modulo theories (SMT) problem and introduces a novel encoding that supports high levels of expressiveness, expressiveness and performance.

A Technique for Detection of Violating Property among UML/OCL Class Diagram

This paper uses slicing technique to break the model into several submodels, so it can be verified independently, and presents a feedback technique in this paper that detects and traces a violating property.

Generation and Validation of Frame Conditions in Formal Models

This work provides a comprehensive overview of recently proposed approaches that close the gap in corresponding methods for frame conditions and support the designer in generating and validating frame conditions.

More than true or false: native support of irregular values in the automatic validation & verification of UML/OCL models

A generic formal representation of UML/OCL is proposed which can be used for the validation and verification of corresponding models and, at the same time, addresses shortcomings of these methods.

A Symbolic Formulation for Models

In this chapter, we present a symbolic formulation representing all system states of a given UML/OCL model. We thereby do not only consider the usually assumed 2-valued logic, but also a 4-valued

Four-Valued Logic in UML/OCL Models: A “Playground” for the MVL Community

This tutorial provides an overview on the consideration of irregular variables assignments such as null and invalid-yielding a four-valued logic in the current UML/OCL version and existing methods that allow for a validation and verification of the corresponding models.

Practical Model-driven Data Generation for System Testing

This work presents a novel approach, whereby it employs a combination of metaheuristic search and Satisfiability Modulo Theories (SMT) for constraint solving, and indicates that this approach presents substantial benefits over the state of the art in terms of applicability and scalability.



Verifying UML/OCL models using Boolean satisfiability

This paper describes how the respective components of a verification problem, namely system states of a UML model, OCL constraints, and the actual verification task, can be encoded and afterwards automatically solved using an off-the-shelf SAT solver.

Frame conditions in symbolic representations of UML/OCL models

This paper describes how to integrate frame conditions to symbolic representations, which enables designers to verify the behavior of UML/OCL models while, at the same time, respecting the given frame conditions.

Verifying dynamic aspects of UML models

An automatic approach is presented which checks verification tasks for dynamic aspects of a UML model as well as an initial system state to prove whether a sequence of operation calls exists so that a desired behavior is invoked.

Debugging of inconsistent UML/OCL models

This work presents an automatic debugging approach which determines contradiction candidates, i.e. a small subset of the original model explaining the conflict, to aid the designer in finding the error faster and therefore accelerate the whole design process.

Filmstripping and Unrolling: A Comparison of Verification Approaches for UML and OCL Behavioral Models

Two verification approaches for UML and OCL behavioral models are considered and their methods and the respective workflows are compared with each other to achieve a better understanding of the advantages and disadvantages of these verification methods.

Checking concurrent behavior in UML/OCL models

A methodology is proposed which exploits solvers for SAT Modulo Theories (i. e., SMT solvers) in order to check the concurrent behavior of UML/OCL models and how to address the resulting problems is described and illustrated by means of a running example.

Encoding OCL Data Types for SAT-Based Verification of UML/OCL Models

A bit-vector encoding for more complex OCL data types, i.e. sets, bags, and their ordered counterparts is presented and SAT-based UML/OCL verification becomes applicable for models containing these collections types.

Finite Satisfiability of UML Class Diagrams by Constraint Programming

It is shown how CP can be used to actually return a finite model of a class diagram, and the main result of this paper is that it is possible to use off-the-shelf tools for constraint modeling and programming for obtaining a finitemodel reasoner.

Contradiction Analysis for Inconsistent Formal Models

This work proposes an automatic method which efficiently determines reasons explaining the contradiction in an inconsistent UML/OCL model, and all constraints causing the contradiction are comprehensibly analyzed.

Analyzing Inconsistencies in UML/OCL Models

This work proposes an automatic method which efficiently determines reasons explaining the contradiction in an inconsistent UML/OCL model, and all constraints causing the contradiction are comprehensibly analyzed.