Concepedia

TLDR

The Object Constraint Language (OCL) is the established language for specifying properties of objects and object structures in UML models, yet its adoption is limited by a lack of integrated tool support. We present a prototype tool that analyzes the syntax and semantics of OCL constraints together with a UML model and translates them into the language of the theorem prover PVS. The tool handles the mismatch between OCL’s three‑valued logic and PVS’s two‑valued logic while performing the translation of constraints and models. This approach defines a formal semantics for both UML and OCL and enables the formal verification of systems modeled in UML.

Abstract

The Object Constraint Language (OCL) is the established language for the specification of properties of objects and object structures in UML models. One reason that it is not yet widely adopted in industry is the lack of proper and integrated tool support for OCL. Therefore, we present a prototype tool, which analyzes the syntax and semantics of OCL constraints together with a UML model and translates them into the language of the theorem prover PVS. This defines a formal semantics for both UML and OCL, and enables the formal verification of systems modeled in UML. We handle the problematic fact that OCL is based on a three-valued logic, whereas PVS is only based on a two valued one.

References

YearCitations

Page 1