摘要

Checking the design specification for contradictions at the early phase of the software development process is crucial to ensure that the design is implementable. However, the high expressivity of OCL makes manual inconsistency checking a difficult task. In addition, the developers cannot detect these problems by OCL itself due to its lack of automated reasoning support. We investigate an approach to translating OCL invariants into OWL 2 DL axioms. We do this where the OCL expression contained in an invariant is converted to the corresponding OWL 2 DL class expression in a compositional way. Our approach covers the OCL expressions including four: PrimaryExp, RelationalExp, LogicalExp and IfExp types. Considering the distinction between the CWA and OWA, we achieve correct translation from RelationalExp using closure axiom. Also, we employ an ontology design pattern to overcome the limitations of OWL 2 DL expressivity when translating IfExp. Then inconsistency checking is done through description logic reasoning by the OWL 2 DL high-performance reasoner. We construct an inductive proof to establish the correctness of our translation approach. Moreover, we evaluate our approach using the implemented TUCO tool prototype.