Article Preview
Top1. Introduction
Object-Role Modeling (ORM) is a fact-oriented approach for modeling, transforming, and querying information in terms of the underlying facts of interest, where facts and rules are verbalized in language understandable by nontechnical users of the business domain. In contrast to attribute-based modeling approaches such as Entity Relationship (ER) modeling (Chen, 1976) and class diagramming in the Unified Modeling Language (UML) (Object Management Group, 2013), ORM models are attribute-free, treating all facts as relationships (unary, binary, ternary etc.). For example, instead of the attributes Person.isSmoker and Person.birthdate, ORM uses the fact types “Person smokes” and “Person was born on Date”.
Other fact-oriented approaches closely related to ORM include CogNIAM (www.pna-group.com), Fully-Communication Oriented Information Modeling (FCO-IM) (Bakema et al., 2000), and the Semantics of Business Vocabulary and Business Rules (SBVR) specification (Object Management Group, 2013b). Introductions to ORM may be found in (Halpin, 2006b; Halpin, 2010; Halpin, 2011). For detailed coverage of ORM, see (Halpin & Morgan, 2008; Halpin, 2015; Halpin, 2016). The version of ORM discussed in this paper is ORM 2 (Halpin, 2005), as supported by the NORMA tool (Curland & Halpin, 2010).
Business rules include constraints and derivation rules. Static rules (also known as state rules) apply to each state of the information system that models the business domain, and may be checked by examining each state individually (e.g. each moon orbits at most one planet). Dynamic rules reference at least two states, which may be either successive (e.g. no employee may be demoted in rank—this kind of dynamic rule is known as a transition constraint) or separated by some period (e.g. invoices ought to be paid within 30 days of being issued). ORM is richer than ER or UML in its ability to depict static constraints graphically, but unlike UML it currently has no graphic notation (e.g. activity diagrams) to specify business processes. To capture dynamic rules, UML supplements its graphical notations with formulae in the Object Constraint Language (OCL) (Object Management Group, 2014; Warmer & Kleppe, 2003), but the OCL syntax is often too difficult for validation by nontechnical users.
Since the 1980s, many extensions to fact-oriented approaches have been proposed to model temporal aspects and processes, for example (Bruza & van der Weide, 1989; Falkenberg & van der Weide, 1988; Halpin, 2008; Halpin & Morgan, 2008; Halpin & Wagner, 2003). For a brief review of such work see (Balsters et al. 2006; Balsters & Halpin, 2008), which introduced to ORM a purely declarative means to formulate dynamic constraints on single-step transactions, with an old state (the input of the transaction) and a new state (resulting from that transaction). Such dynamic rules specify an elementary transaction type indicating which kind of object or fact is being added, deleted or updated, and (optionally) pre-conditions and post-conditions. These dynamic rules are formulated in a syntax designed to be easily validated by nontechnical domain experts. In this paper, we focus on providing a formal semantics for the basic rule patterns for dynamic rules found in (Balsters et al., 2006). Such formalization supports further understanding of dynamic rules, and also provides a step to further tool support. Substantial research has been carried out to provide logical formalizations of dynamic rules, typically using temporal logics, e.g. (Girle, 2003, ch. 8; Pesic et al., 2010), or Event-Condition-Action (ECA) formalisms, e.g. (de Brock, 2000; (Lipeck, 1990); Chomicki, 1992; Paton & Díaz, 1999; Snodgrass, 1994).