Overview of Slicing and Feedback Techniques for Efficient Verification of UML/OCL Class Diagrams

Model-driven engineering is a methodology for software development that focuses on the use of models in the software development process. These models can be transformed into code, saving developers both time and effort. One of the most widely used models for transformation is the unified modeling l...

Full description

Bibliographic Details
Main Authors: Asadullah Shaikh, Uffe Kock Wiil
Format: Article
Language:English
Published: IEEE 2018-01-01
Series:IEEE Access
Subjects:
Online Access:https://ieeexplore.ieee.org/document/8268094/
Description
Summary:Model-driven engineering is a methodology for software development that focuses on the use of models in the software development process. These models can be transformed into code, saving developers both time and effort. One of the most widely used models for transformation is the unified modeling language (UML) class diagram, along with its object constraint language (OCL) constraints. Before transforming UML/OCL models into code, it is essential to find defects in the model, as model transformations and code generation may spread errors to other notations where they are more difficult and time-consuming to trace and detect. Formal verification of models is a time-consuming process and there are several formal verification tools that can check the accuracy of UML/OCL models, but their high computational complexity limits their scalability. In this paper, we present an overview of disjoint and non-disjoint slicing techniques that can break UML/OCL class diagrams into independent submodels in order to reduce the complexity. These submodels can then be verified separately through any verification tool or engine. Furthermore, an overview of a novel feedback technique is also proposed, which highlights any unsatisfiable submodels with their integrity constraints from the complex hierarchy of a UML/OCL class diagram.
ISSN:2169-3536