Reasoning about UML/OCL class diagrams using constraint logic programming and formula

Model Driven Engineering promotes the use of models as the main artifacts in software and system development. Verification and validation of models are key activities to ensure the quality of the system under development. This paper presents a framework to reason about the satisfiability of class mo...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:Information systems (Oxford) Ročník 81; s. 152 - 177
Hlavní autoři: Pérez, Beatriz, Porres, Ivan
Médium: Journal Article
Jazyk:angličtina
Vydáno: Oxford Elsevier Ltd 01.03.2019
Elsevier Science Ltd
Témata:
ISSN:0306-4379, 1873-6076
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
Popis
Shrnutí:Model Driven Engineering promotes the use of models as the main artifacts in software and system development. Verification and validation of models are key activities to ensure the quality of the system under development. This paper presents a framework to reason about the satisfiability of class models described using the Unified Modeling Language (UML). The proposed framework allows us to identify possible design flaws as early as possible in the software development cycle. More specifically, we focus on UML Class Diagrams annotated with Object Constraint Language (OCL) invariants, which are considered to be the main artifacts in Object-Oriented analysis and design for representing the static structure of a system. We use the Constraint Logic programming (CLP) paradigm to reason about UML Class Diagrams modeling foundations. In particular, we use Formula as a model-finding and design space exploration tool. We also present an experimental Eclipse plug-in, which implements our UML model to Formula translation proposal following a Model Driven Architecture (MDA) approach. The proposed framework can be used to reason, validate, and verify UML Class Diagram software designs by checking correctness properties and generating model instances using the model exploration tool Formula. •Reasoning about CD/OCL models based on CLP using the tool Formula as model-finder.•Translation of CD to Formula following a MOF-like proposal.•Identified an expressive fragment of OCL and provided its translation to Formula.•Provided an experimental MDA-based implementation of our CD-to-Formula proposal.•Model design reasoning by checking correctness properties and generating model instances automatically.
Bibliografie:ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
ISSN:0306-4379
1873-6076
DOI:10.1016/j.is.2018.08.005