Abstract
Object-Role Modelling (ORM) is a framework for modelling a domain using a rich set of constraints with an intuitive diagrammatic representation, not dissimilar to UML class diagrams. ORM is backed by Microsoft with Visual Studio, and it is used to support the design of large database schemas and/or complex software, easing the workflow for all stakeholders and bridging the gap among them, since every constraint of the diagram is encoded in a language which is understandable even by non-IT users. Besides the standard constraints, ORM also supports Derivation Rules that, in a way similar to UML/OCL constraints and SQL triggers, are able to express knowledge which is beyond standard graphic-based ORM capabilities. Despite ORM has its own formalisation in literature, Derivation Rules in ORM lack of this feature. The purpose of this paper is to provide a formalisation for ORM Derivation Rules in order to extend the automated reasoning on diagrams equipped with Derivation Rules. Automated reasoning is useful to check the consistency of diagrams, new inferred knowledge to validate the diagram or to avoid mistakes which could degrade the quality of the system. We provide the formalisation of Derivation Rules with a precise syntax and a semantics grounded on a precise and non-ambiguous encoding in first-order logic. Finally, we also detect an expressive decidable fragment of Derivation Rules by means of an encoding in an expressive Description Logic. A reasoner for this fragment has been implemented in a plugin for Microsoft Visual Studio.