Where academic tradition
meets the exciting future

Consistency of UML Class and Statechart Diagrams with State Invariants

Ali Hanzala Khan, Irum Rauf, Ivan Porres, Consistency of UML Class and Statechart Diagrams with State Invariants. In: Joaquim Filipe, Rui César das Neves (Eds.), First International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2013, 1, 1–11, SciTePress Digital Library, 2013.

Abstract:

We present an approach and a tool to analyze the consistency of UML class and statechart diagrams containing state invariants automatically. UML class diagrams describe the structure of a system as a collection of classes while UML statechart diagrams describe its behavior. State invariants relate the active state configuration of a statechart with object instances described in a class diagram. We consider a UML statechart inconsistent if it contains unsatisfiable state invariants, that is, there are no object instances that can make a given invariant evaluate to true. To detect such inconsistencies, we translate a UML model containing class and statechart diagrams into the Web Ontology Language (OWL 2), and then use OWL 2 reasoning tools to infer the consistency and satisfiability of the translated diagrams. The approach is supported by an automatic translation tool and existing OWL 2 reasoners. We demonstrate our approach with an example design and evaluate its performance using large UML models.

Files:

Full publication in PDF-format

BibTeX entry:

@INPROCEEDINGS{inpKhRaPo13a,
  title = {Consistency of UML Class and Statechart Diagrams with State Invariants},
  booktitle = {First International Conference on Model-Driven Engineering and Software Development, MODELSWARD 2013},
  author = {Khan, Ali Hanzala and Rauf, Irum and Porres, Ivan},
  volume = {1},
  editor = {Filipe, Joaquim and Neves, Rui César das},
  publisher = {SciTePress Digital Library},
  pages = {1–11},
  year = {2013},
  keywords = {Model Consistency, Class Diagram, Statechart Diagram, State Invariants, OCL, Reasoning, OWL 2},
}

Belongs to TUCS Research Unit(s): Software Engineering Laboratory (SE Lab)

Edit publication