<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Neumont University Salt Lake City</institution>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>A business domain is typically constrained by business rules. In practice, these rules often include constraints of different modalities (e.g. alethic and deontic). Alethic rules impose necessities, which cannot, even in principle, be violated by the business. Deontic rules impose obligations, which may be violated, even though they ought not. Conceptual modeling approaches typically confine their specification of rules to alethic rules. This paper discusses one way to model deontic rules, especially those of a static nature. A formalization based on modal operators is provided, and some challenging semantic issues are examined from both logical and pragmatic perspectives. Because of its richer semantics, the main graphic notation used is that of Object-Role Modeling (ORM). However, the main ideas could be adapted for UML and ER as well. A basic implementation of the proposed approach has been prototyped in a tool that supports automated verbalization of both alethic and deontic rules.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>An information system in the wider sense corresponds to a business domain or
universe of discourse rather than an automated system. Business domains are constrained
by various business rules, which specify required or desirable states of affairs or
behavior. Business rules may be of different modalities (e.g. alethic and deontic).
Alethic rules impose necessities, which cannot, even in principle, be violated by the
business, typically because of some physical or logical law. For example: each employee
was born on at most one date; no product is a component of itself. Deontic rules
impose obligations, which may be violated, even though they ought not. For example: it
is obligatory that each employee is married to at most one person; no smoking is
permitted in any office. Using “constraint” in a liberal sense to include soft as well as
hard constraints, deontic rules may also be called deontic constraints.</p>
      <p>
        Various information modeling approaches exist for modeling business domains
at a high level, for example Entity-Relationship Modeling (ER) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], the Unified
Modeling Language (UML) [
        <xref ref-type="bibr" rid="ref14 ref15 ref17">14, 15, 17</xref>
        ], and Object-Role Modeling (ORM) [
        <xref ref-type="bibr" rid="ref11 ref4">11, 4</xref>
        ].
However, these modeling approaches typically confine their specification of constraints to
alethic rules. It is important for a business to have a clear understanding of all its
rules, including deontic constraints, whether or not the business chooses to enforce
these rules, or monitor violations of them, by means of an automated system. In
recognition of this need, as well as to facilitate exchange of semantics between
businesses, the Object Management Group (OMG) is currently finalizing a proposal to
specify a business semantics layer on top of its software-specific layers [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ].
      </p>
      <p>The proposal that was accepted by the OMG for finalization is the Semantics of
Business Vocabulary and Rules (SBVR) submission. As a contributor to this
submission, the author focused on the formal logic underpinnings of SBVR. This paper
relates in part to that fragment of his contribution that is concerned with modeling of
deontic constraints, especially those of a static nature. Because of its richer semantics,
the main graphic notation used is that of ORM 2 (the next generation of Object-Role
Modeling). However, the main ideas could be adapted for UML and ER as well.</p>
      <p>Section 2 provides a simple overview of the use of modal operators in expressing
business constraints of alethic and deontic modalities, and illustrates the automated
verbalization of these constraints as implemented in NORMA, an open source ORM 2
tool. Section 3 discuses the formal underpinnings of static, alethic constraints. Section
4 does likewise for static, deontic constraints, and examines some challenging
semantic issues from both logical and pragmatic perspectives. Section 5 briefly raises some
issues relating to dynamic constraints. Section 6 summarizes the main results,
suggests topics for future research, and lists references.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Modal Operators and Constraint Verbalization</title>
      <p>Business constraint formulations may use any of the basic alethic or deontic modal
operators from modal logic1, as shown in Table 1. These modal operators are treated
as proposition-forming operators on propositions (rather than actions). Other
equivalent readings may be used in whatever concrete syntax is used to originally declare
the rule (e.g. “necessary” might be replaced by “required”, and “obligatory” might be
replaced by “ought to be the case”). Derived modal operators may also be used in the
surface syntax, but are translated into the basic modal operators plus negation (~). For
example, “It is impossible that p” is defined as “It is not possible that p” (~◊p), and “It
is forbidden that p” is defined as “It is not permitted that p” (Fp =df ~Pp).</p>
      <p>The following modal negation rules apply: it is not necessary that ≡ it is possible
that not (~ p ≡ ◊~p); it is not possible that ≡ it is necessary that not (~◊p ≡ ~p); it is
not obligatory that ≡ it is permitted that it is not the case that (~Op ≡ P~p); it is not
permitted that ≡ it is obligatory that it is not the case that (~Pp ≡ O~p). In principle,
these rules could be used with double negation to get by with just one alethic modal
operator (e.g. ◊p could be defined as ~ ~p, and Pp could be defined as ~O~p).</p>
      <p>
        ORM is a conceptual modeling approach that models any business domain in
terms of objects (entities or values) that play roles in relationships (unary, binary, or
1 http://en.wikipedia.org/wiki/Modal_logic
longer), also known as facts, relegating the attribute construct merely to derived
views, and hence offering greater semantic stability than attribute-based approaches
like ER and UML [
        <xref ref-type="bibr" rid="ref12 ref2 ref5 ref6">2, 5, 6, 12</xref>
        ]. ORM also has a rich graphic notation for capturing
constraints, which ORM tools can transform into implementation code for
enforcement. In ORM 2 [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], the latest version of ORM, each constraint has an associated
modality, determined by the logical modal operator that functions explicitly or
implicitly as its main operator. ORM 2 distinguishes between positive, negative, and default
verbalizations of constraints [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. In positive verbalizations, an alethic modality of
necessity is often assumed (if no modality is explicitly specified), but may be explicitly
prepended. For example, the following static constraint
      </p>
      <p>C1</p>
      <sec id="sec-2-1">
        <title>Each Person was born in at most one Country.</title>
        <p>may be explicitly verbalized with an alethic modality thus:
C1’</p>
        <sec id="sec-2-1-1">
          <title>It is necessary that each Person was born in at most one Country.</title>
          <p>We interpret this in terms of possible world semantics, as introduced by Saul
Kripke and other logicians in the 1950s. A proposition is necessarily true if and only
if it is true in all possible worlds. With respect to a static constraint declared for a
given business domain, a possible world corresponds to a state of the fact model that
might exist at some point in time. The constraint C1 means that for each state of the
fact model, each instance in the population of Person is born in at most one country.</p>
          <p>A proposition is possible if and only if it is true in at least one possible world.
Impossible propositions are true in no possible world (i.e. false in all possible worlds).
In ORM, constraint C1 may be reformulated as the following negative verbalization:
C1”</p>
        </sec>
        <sec id="sec-2-1-2">
          <title>It is impossible that the same Person was born in more than one Country</title>
          <p>In practice, both positive and negative verbalizations are useful for validating
constraints with domain experts, especially when illustrated with sample populations that
provide satisfying examples or counter-examples respectively.</p>
          <p>Many business constraints are deontic rather than alethic in nature. To avoid
confusion, when declaring a deontic constraint, the deontic modality should always be
explicitly included. Consider the following static, deontic constraint.</p>
          <p>C2</p>
        </sec>
        <sec id="sec-2-1-3">
          <title>It is obligatory that each Person is a husband of at most one Person.</title>
          <p>If this rule were instead expressed simply as “Each Person is a husband of at most one
Person”, it would not be obvious that a deontic interpretation was intended. The
deontic version indicates a condition that ought to be satisfied, while recognizing that the
condition might not be satisfied. Including the obligation operator makes the rule
much weaker than a necessity claim, since it allows that there could be some states of
the fact model where a person is a husband of more than one wife (excluding
samesex unions from instances of the husband relationship). For such cases of polygamy, it
is important to know the facts indicating that the person has multiple wives. Rather
than reject this possibility, we allow it and then typically perform an action that is
designed to minimize the chance of such a situation arising again (e.g. send a message to
inform legal authorities about the situation). In ORM, constraint C2 may be
reformulated as the following negative verbalization:</p>
          <p>C2’</p>
        </sec>
        <sec id="sec-2-1-4">
          <title>It is forbidden that the same Person is a husband of more than one Person.</title>
          <p>Fig. 1 shows a screenshot from NORMA (Neumont ORM Architect), illustrating
positive verbalization of some alethic and deontic constraints in ORM 2. Object types
(e.g. Person, Country) are depicted as named, soft rectangles (ORM 1 used ellipses).
A logical predicate is depicted as a named sequence of role boxes, each connected by
a line segment to the object type whose instances may play that role. The combination
of a predicate and its object types is a fact type—the only data structure in ORM.</p>
          <p>A bar spanning one or more roles depicts a uniqueness constraint over those roles
(e.g. Each Person was born in at most one Country). A constraint over multiple roles applies
to the combination of those roles (e.g. the citizenship fact type is many:many). A
small “o” (for “obligatory) at the end of a uniqueness bar indicates the constraint is
deontic (e.g. It is obligatory that each Person1 is husband of at most one Person2). Subscripts
distinguish object variables of the same type. A solid dot on a role indicates a
mandatory constraint (e.g. Each Person was born in some Country). If the dot is open, the
constraint is deontic (e.g. It is obligatory that each Person is a citizen of some Country).</p>
          <p>Fig. 2 displays a screenshot from NORMA, illustrating negative verbalization of
a deontic uniqueness constraint spanning the first two roles of the ternary fact type:</p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>Room at HourSlot was booked for Course. The constraint verbalization (It is forbidden that the</title>
        <p>same Room at the same HourSlot is booked for more than one Course) uses the deontic F (~P)
operator. All verbalizations in NORMA are performed automatically via XSLT
transforms, and hence may be readily adapted for different native languages. NORMA
itself is an open source plug-in to Visual Studio .NET 2005.</p>
        <p>In practice, most business rules include only one modal operator, where this is
the main operator of the whole rule expression. For these cases, we simply tag the
constraint as being of the modality corresponding to its main operator, without
committing to any particular modal logic. Apart from this modality tag, some basic modal
properties may be used to transform the original high level expression of the rule into
a standard logical formulation. These properties include the modal negation rules.</p>
        <p>We also make use of equivalences that allow one to move the modal operator to
the front of the formula. For example, suppose the user formulates rule C1 instead as:</p>
        <sec id="sec-2-2-1">
          <title>For each Person, it is necessary that that Person was born in at most one Country.</title>
          <p>The modal operator is now embedded in the scope of a universal quantifier. To
transform this rule to a standard logical formulation that classifies the rule as an
alethic necessity, we move the modal operator before the universal quantifier, to give:</p>
        </sec>
        <sec id="sec-2-2-2">
          <title>It is necessary that each Person was born in at most one Country.</title>
          <p>
            For such tasks, we assume that the Barcan formulae and their converses apply, so
that and ∀ are commutative, as are ◊ and ∃. In other words: ∀x Fx ≡ ∀ xFx and
∃x◊Fx ≡ ◊∃xFx. While these commutativity results are valid for all normal, alethic
modal logics, some philosophical concerns have been raised about these equivalences
(e.g. see sections 4.6-4.8 of [
            <xref ref-type="bibr" rid="ref3">3</xref>
            ]). As a deontic example, suppose the user formulates
rule C2 instead as:
          </p>
        </sec>
        <sec id="sec-2-2-3">
          <title>For each Person, it is obligatory that that Person is a husband of at most one Person.</title>
          <p>Using a deontic variant of the Barcan equivalences, we commute the ∀ and O
operators, thus transforming the rule to the deontic obligation:</p>
        </sec>
        <sec id="sec-2-2-4">
          <title>It is obligatory that each Person is a husband of at most one Person.</title>
          <p>So far, our rule examples have included just one modal operator, which (perhaps
after transformation) is the main operator. Ignoring dynamic aspects, we may handle
such cases without committing to the formal semantics of any specific modal logic.
The only impact of tagging a rule as a necessity or obligation is on rule enforcement.
Enforcement of a necessity rule should never allow the rule to be violated.
Enforcement of an obligation rule should allow states that do not satisfy the rule condition,
and take some remedial action (the tool’s default action is to generate a message when
an update violates the rule). A business person ought to be able to specify a deontic
rule first at a high level, without committing at that time to the precise action to be
taken if the condition is not satisfied; the action still needs to be specified later in
refining the rule to make it fully operational.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Static, Alethic Constraints</title>
      <p>
        Rule formulations may use two alethic modal operators: = it is necessary that; ◊ = it
is possible that. Static constraints are treated as necessities by default, where each
state of the fact model corresponds to a possible world. On the fact type Person was born
in Country, the constraint “Each Person was born in at most one Country” is equivalent to the
logical formula ∀x:Person ∃0..1y:Country x was born in y. This formula is understood
to be true for each state of the knowledgebase. Pragmatically, the rule is understood to
apply to all future states of the fact model, until the rule is revoked or changed. This
understanding may be made explicit by prepending the formula with to yield
∀ x:Person ∃0..1y:Country x was born in y. For compliance with Common Logic [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ],
such formulae could then be treated as irregular expressions, with the modal operator
treated as an uninterpreted symbol (e.g. using “[N]” for ). However we leave this
understanding as implicit, and do not commit to any particular modal logic.
      </p>
      <p>For the model theory, we omit the necessity operator from the formula. Instead,
we merely tag the rule as a necessity. The implementation impact of the necessity tag
is that any attempted change that would cause the model of the business domain to
violate the constraint must be dealt with in a way that ensures the constraint is still
satisfied (e.g. reject the change, or take some compensatory action).</p>
      <p>Typically, the only alethic modal operator in an explicit rule formulation is , at
the front of the rule. This common case was covered earlier. If an alethic modal
operator is placed later in the rule, we first try to “normalize” it by moving the modal
operator to the front, using transformation rules such as the modal negation rules (~ p
≡ ◊~p; ~◊p ≡ ~p) and/or the Barcan formulae and their converses (∀xΦ x ≡ ∀ xΦx
and ∃x◊Φx ≡ ◊∃xΦx, i.e and ∀ are commutative, as are ◊ and ∃). For example, the
formula “∀x:Person ∃0..1y:Country x was born in y” (For each Person, it is necessary
that that Person was born in at most one Country.) transforms to “∀ x:Person ∃0..1y:Country x
was born in y” (It is necessary that each Person was born in at most one Country.). We also
allow use of the following equivalences: p ≡ p; ◊◊p ≡ ◊p; ◊◊ p ≡ ◊ p; ◊◊ p ≡
◊ p. These hold in S4, but not in some modal logics, e.g. K or T [3, p. 35].</p>
      <p>Though not supported by NORMA, the SBVR proposal allows a single rule with
multiple occurrences of modal operators, including nesting of a modal operator in the
scope of another modal operator. While this expressibility may be needed to capture
some rare but real business rules, it significantly complicates the formal semantics.</p>
      <p>
        In very rare cases, a static rule formula might embed an alethic modality that
cannot be eliminated by transformation. For such cases, we could retain the modal
operator in the rule formulation and adopt the semantics of a specific modal logic.
There are many normal modal logics to choose from (e.g. K, K4, KB, K5, DT, DB,
D4, D5, T, Br, S4, S5) as well as non-normal modal logics (e.g. C2, ED2, E2, S0.5,
S2, S3). For details on these logics, see [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] (esp. pp. 48, 82). For SBVR, if we retain
the embedded alethic operator for such cases, we choose S4 for the formal semantics.
Schema evolution and changes to necessity constraints may seem to violate S4, where
the accessibility relationship between possible worlds is transitive, but we resolve this
by treating such evolution as a metametalevel concern. Alternatively, we may handle
such very rare cases by moving the embedded alethic operators down to domain-level
predicates (e.g. is necessary), similar to our handling of embedded deontics (see later).
      </p>
    </sec>
    <sec id="sec-4">
      <title>Static, Deontic Constraints</title>
      <p>Constraint formulations may use the standard deontic modal operators (O = it is
obligatory that; P = it is permitted that) as well as F = it is forbidden that (defined as
~P, i.e. “It is not permitted that”). If the rule includes exactly one deontic operator, O,
and this is at the front, then the rule may be formalized as Op, where p is a first-order
formula tagged as obligatory (rather than necessary). NORMA assigns this tag the
following informal semantics: it ought to be the case that p (for all future states of the
fact model, until the constraint is revoked or changed). The implementation impact is
that it is possible to have a state where the rule’s condition is violated (i.e.
unsatisfied), in which case some appropriate action (e.g. messaging) ought to be taken to
reduce the chance of future violations. Later work will address rule enforcement,
including specification of appropriate actions in response to deontic rule “violations”.</p>
      <p>From a model-theoretic perspective, a model is an interpretation where each
nondeontic formula evaluates to true, and the model is classified as a permitted model if
the p in each deontic formula (of the form Op) evaluates to true, otherwise the model
is a forbidden model (though it is still a model). Note that this approach removes any
need to assign a truth value to expressions of the form Op.</p>
      <p>For example, suppose the fact type Person is a husband of Person is declared many to
many, but that each role has a deontic uniqueness constraint to indicate that the fact
type ought to be 1:1 (see Fig. 3). The deontic constraint on the husband role
verbalizes as: It is obligatory that each Person is a husband of at most one Person. This formalizes as
O∀x:Person ∃0..1y:Person x is a husband of y, which may be captured by entering the
rule without the O, then tagging the rule as deontic. The other deontic constraint (each
wife should have at most one husband) may be handled similarly. In this example, the
combination of alethic and deontic constraints is consistent, but this is not always the
case. For example, the argument (role set) of a deontic uniqueness constraint must be
a proper subset of the argument of an alethic uniqueness constraint. For instance, if
the marriage predicate is alethically 1:1, then no deontic uniqueness constraint may be
added (if something is already necessary, it makes no sense to declare it obligatory).</p>
      <p>Person
is a husband of / is a wife of</p>
      <p>Some SBVR formulae are illegal in some deontic logics (e.g. iterating modal
operators such as OPp is forbidden in von Wright’s deontic logic), and deontic logic
itself is “rife with disagreements about what should be the case” [3, p. 173]. If a deontic
modal operator is embedded later in the rule formulation, we first try to “normalize”
the formula by moving the modal operator to the front, using transformation rules
such as p ⊃ Oq .≡. O(p ⊃ q)2 or deontic counterparts to the Barcan formulae.
2 In contrast to our approach, some versions of deontic logic reject this equivalence on the basis
that agent control is restricted to the scope of modal operators.</p>
      <p>In some cases, a formula for a static business rule might contain an embedded
deontic modality that cannot be eliminated by transformation. In this case, we still
allow the business user to express the rule at a high level using such embedded deontic
operators, but where possible we transform the formula to a first-order formula
without modalities by replacing the modal operators by predicates at the business domain
level. These predicates (e.g. is forbidden) are treated like any other predicate in the
domain, except that their names are reserved, and they are given some basic additional
formal semantics to capture the deontic modal negation rules: it is not obligatory that
≡ it is permitted that it is not the case that (~Op ≡ P~p); it is not permitted that ≡ it is
obligatory that it is not the case that (~Pp ≡ O~p). For example, these rules entail an
exclusion constraint between the predicates is forbidden and is permitted.</p>
      <p>This latter approach may also be used as an alternative to tagging a rule as
deontic, thereby (where possible) moving deontic aspects out of the metamodel and into
the business domain model. For example, consider the following rule: Car rentals
ought not be issued to people who are barred drivers at the time the rental was
issued. This deontic rule may be captured by the following ORM derivation rule for the
partly derived domain fact type CarRental is forbidden:</p>
      <sec id="sec-4-1">
        <title>CarRental is forbidden if</title>
      </sec>
      <sec id="sec-4-2">
        <title>CarRental was issued at Time and</title>
      </sec>
      <sec id="sec-4-3">
        <title>CarRental was issued to Person and</title>
      </sec>
      <sec id="sec-4-4">
        <title>Person is a barred driver at Time</title>
        <p>The fact type Person is a barred driver at Time is derived from other base fact types
(Person was barred at Time, Person was unbarred at Time) using the ORM derivation rule:</p>
      </sec>
      <sec id="sec-4-5">
        <title>Person is a barred driver at Time1 iff</title>
        <p>Person was barred at a Time2 &lt;= Time1 and</p>
      </sec>
      <sec id="sec-4-6">
        <title>Person was not unbarred at a Time3 between Time2 and Time1</title>
        <p>The deontic rule may be formalized by the first-order formula: ∀x:CarRental
∀y:Person ∀t:Time [(x was issued at t &amp; x was issued to y &amp; y is a barred driver at t)
⊃ x is forbidden]. This schema (see Fig. 4) allows for the possible existence of
forbidden car rentals; if desired, some fact types could be added to describe actions (e.g.
sending messages) to be taken in reaction to such an event. Full and partial derivation
is denoted by “*” and “*-” respectively. Note also the exclusion (circled “X”)
constraint (nobody can be simultaneously barred and unbarred) and subset constraint. We
allow a person to be barred many times before being unbarred.</p>
        <p>
          For other examples illustrating this approach, including use of derivation rules and
objectification, see the SBVR submission to the OMG [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]. Our approach to
objectification works for those cases where a fact (proposition taken to be true) is being
objectified (which covers the usual cases of nominalization [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]), but it does not handle
cases where no factual claim is being made of the proposition.
        </p>
        <p>SBVR is intended to cater for rules that embed possibly non-factual propositions.
However, there does not appear to be any simple solution to providing explicit, formal
semantics for such rules. As a nasty example, consider the following business rule:</p>
        <p>It is not permitted that some department adopts a rule that says it is obligatory that
each employee of that department is male.</p>
        <p>is
forbidden*</p>
        <p>CarRental
was
unbarred
at
was issued to</p>
        <p>is a
barred
driver</p>
        <p>at*
was issued at</p>
        <p>This example includes the mention (rather than use) of an open proposition in the
scope of an embedded deontic operator. One possible, though weak, solution is to rely
on reserved domain predicates to carry much of the semantics implicitly. For
example, the ORM schema in
i.e. ∀x:PossibleAllMaleState [x is actual ≡ ∃y:Department (x is of y &amp; ∀z:Person (z
works for y ⊃ z is male))]. The deontic rule may now be captured by the following
derivation rule for the partly derived fact type RuleAdoption is forbidden:</p>
      </sec>
      <sec id="sec-4-7">
        <title>RuleAdoption is forbidden if</title>
      </sec>
      <sec id="sec-4-8">
        <title>RuleAdoption is by a Department and is of a Rule that obligates the actualization of a PossibleAllMaleState that is of the same Department</title>
        <p>i.e. ∀x:RuleAdoption ∀y:Department ∀z:Rule ∀w:PossibleAllMaleState [(x is by y &amp;
x is of z &amp; z obligates the actualization of w &amp; w is of y) ⊃ x is forbidden]</p>
        <p>The formalization of the deontic rule works, because the relevant instance of
PossibleAllMaleState exists, regardless of whether or not the relevant depart actually
is all male. The “obligates the actualization of” and “is actual” predicates embed a lot of
semantics, which is left implicit. While the connection between these predicates is left
informal, the derivation rule for PossibelAllMaleState is actual provides enough semantics
to enable human readers to understand the intent.</p>
        <p>is male
Person
(Id)
works for
&lt;&lt; employs</p>
        <p>&lt;&lt; is by
Department</p>
        <p>(Id)
&lt;&lt; is of</p>
        <p>adopts
“RuleAdoption”
is forbidden
*is of</p>
        <p>Rule
(Nr)
* PossibleAllMaleState is actual iff</p>
        <p>PossibleAllMaleState is of a Department and
each Person who works for that Department is male
*- RuleAdoption is forbidden if</p>
        <p>RuleAdoption is by a Department
and is of a Rule
that obligates the actualization of a PossibleAllMaleState
that is of the same Department
obligates the
actualization of</p>
        <p>Possible
AllMaleState
is actual*</p>
        <p>Alternatively, we could adopt one of two extremes: (1) treat the rule overall as an
uninterpreted sentence, or informal comment, for which humans provide the
semantics; (2) translate the semantic formulation directly into higher-order logic, permitting
logical formulations (which connote propositions) to be predicated over. The
complexity and implementation overhead of option (2) would seem to be very substantial.</p>
        <p>We could try to push such cases down to first-order logic by providing the
necessary semantic formulation machinery as a predefined package that may be imported
into a domain model, and then identifying propositions by means of a structured
logical formulation. But that seems unclean, because in order to assign formal semantics
to such expressions, we must effectively adopt the higher-order logic proposal
mentioned in the previous paragraph.</p>
        <p>Support for reification is currently being added by Pat Hayes and Chris Menzel
to the IKL language. This support is intended to cater for objectification of
propositions that are already being asserted as facts (i.e. propositions being used), as well as
propositions for which no factual claim is made (i.e. propositions being mentioned),
while still retaining a first-order approach. When available, this may offer a better
solution for the problem under consideration.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Dynamic Constraints</title>
      <p>Dynamic constraints apply restrictions on possible transitions between business states.
The constraint may simply compare one state to the next (e.g. salaries should never
decrease); or the constraint may compare states separated by a given period (e.g.
invoices ought to be paid within 30 days of being issued). The invoice rule might be
formally expressed in a high level rules language thus, assuming the fact types Invoice
was issued on Date and Invoice is paid on Date are included in the conceptual schema:</p>
      <sec id="sec-5-1">
        <title>For each Invoice, if that Invoice was issued on Date1 then it is obligatory that</title>
        <p>that Invoice is paid on Date2 where Date2 &lt;= Date1 + 30 days</p>
        <p>This might now be normalized to the following formulation, moving the deontic
operator to the front:</p>
        <p>It is obligatory that each Invoice that was issued on Date1 is paid on Date2 where Date2 &lt;= Date1
+ 30 days</p>
        <p>There are two issues here. First, what rules did we rely on to license the
transformation of the rule? It would seem that we require an equivalence rule such as p ⊃ Oq
.≡. O(p ⊃ q). While this formula is actually illegal in some deontic logics, it does
seem intuitively acceptable. At any rate, the preliminary transformation work in
normalizing a business rule formulation might involve more than just the Barcan
equivalences or their deontic counterparts. In principle, this issue might be ignored for
interoperability purposes, so long as the business domain expert is able to confirm that the
final normalized formulation (perhaps produced manually by the business rules
modeler) agrees with their intended semantics; it is only the final, normalized formulation
that is used for exchange with other software tools.</p>
        <p>
          The second issue concerns the dynamic nature of the rule. While it is obvious
how to implement this rule in a database system, capturing the formal semantics in an
appropriate logic (e.g. a temporal or dynamic logic) is a harder task. One possibility is
to provide a temporal package that may be imported into a domain model, in order to
provide a first-order logic solution. Another possibility is to adopt a temporal modal
logic (e.g. treat a possible world as a sequence of accessible states of the fact model).
For a discussion of why we prefer a first-order solution where possible, see [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ].
6
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Conclusion</title>
      <p>In practice, many business rules are of a deontic rather than alethic nature. This paper
discussed an approach for adding formal support for deontic constraints within
information models, using ORM 2 to illustrate various examples. NORMA, an open source
ORM 2 tool, is being used as a vehicle to implement the suggested approach.
Although still at the prototype stage, this tool already provides automated verbalization
of alethic and deontic constraints. While the ORM 2 modeling notation was used to
illustrate the ideas, the notion of adding support for deontic constraints is just as
relevant for other modeling approaches such as ER and UML, and much of the formal
discussion in the paper applies equally well to these approaches.</p>
      <p>The formalization of static constraints of both alethic and deontic modalities was
discussed in some depth. NORMA’s modality support is restricted to those modal
formulae that include just one modal operator (it is necessary that, it is obligatory
that), where that operator is the main operator. Such formulae appear to offer no
major implementation difficulties. However, more complex formulae involving either
embedded deontic operators or embedded mention of propositions are far harder to
support. While the paper identified some possible approaches to address these
complex cases, further research is needed to determine the best solution. The topic of
modalities in dynamic constraints also needs further research.</p>
      <p>Acknowledgement: Some aspects of the logical formalization presented in this
paper have benefited from discussions with Pat Hayes (IHMC, Florida).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>P. P.</given-names>
          </string-name>
          <year>1976</year>
          , '
          <article-title>The entity-relationship model-towards a unified view of data'</article-title>
          .
          <source>ACM Transactions on Database Systems</source>
          ,
          <volume>1</volume>
          (
          <issue>1</issue>
          ), pp.
          <fpage>9</fpage>
          −
          <lpage>36</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>De Troyer</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          &amp;
          <string-name>
            <surname>Meersman</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <year>1995</year>
          ,
          <article-title>'A Logic Framework for a Semantics of Object Oriented Data Modeling'</article-title>
          ,
          <source>OOER'95, Proc. 14th International ER Conference</source>
          , Gold Coast, Australia, Springer LNCS 1021, pp.
          <fpage>238</fpage>
          -
          <lpage>249</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Girle</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <year>2000</year>
          ,
          <string-name>
            <given-names>Modal</given-names>
            <surname>Logics</surname>
          </string-name>
          and Philosophy,
          <string-name>
            <surname>McGill-Queen'</surname>
          </string-name>
          s University Press.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Halpin</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <year>1989</year>
          ,
          <article-title>'A Logical Analysis of Information Systems: static aspects of the data-oriented perspective', doctoral dissertation</article-title>
          , University of Queensland.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Halpin</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <year>2001</year>
          ,
          <string-name>
            <given-names>Information</given-names>
            <surname>Modeling</surname>
          </string-name>
          and Relational Databases, Morgan Kaufmann, San Francisco.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Halpin</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <year>2004</year>
          , '
          <article-title>Comparing Metamodels for ER, ORM and UML Data Models'</article-title>
          ,
          <source>Advanced Topics in Database Research</source>
          , vol.
          <volume>3</volume>
          , ed. K. Siau, Idea Publishing Group,
          <string-name>
            <surname>Hershey</surname>
            <given-names>PA</given-names>
          </string-name>
          , USA, Ch. II (pp.
          <fpage>23</fpage>
          -
          <lpage>44</lpage>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Halpin</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <year>2004</year>
          , 'Business Rule Verbalization',
          <source>Information Systems Technology and its Applications</source>
          ,
          <source>Proc. ISTA-2004</source>
          , (eds Doroshenko,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Halpin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            ,
            <surname>Liddle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            &amp;
            <surname>Mayr</surname>
          </string-name>
          , H.), Salt Lake City, Lec. Notes in Informatics, vol. P-
          <volume>48</volume>
          , pp.
          <fpage>39</fpage>
          -
          <lpage>52</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Halpin</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <year>2005</year>
          , '
          <article-title>Higher-Order Types</article-title>
          and Information Modeling',
          <source>Advanced Topics in Database Research</source>
          , vol.
          <volume>4</volume>
          , ed. K. Siau, Idea Publishing Group,
          <string-name>
            <surname>Hershey</surname>
            <given-names>PA</given-names>
          </string-name>
          , USA, Ch. X (pp.
          <fpage>218</fpage>
          -
          <lpage>237</lpage>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Halpin</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <year>2005</year>
          . 'Objectification',
          <source>Proc. CAiSE'05 Workshops</source>
          , vol.
          <volume>1</volume>
          ,
          <string-name>
            <surname>eds</surname>
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Castro</surname>
          </string-name>
          &amp; E. Teniente, FEUP, pp.
          <fpage>519</fpage>
          -
          <lpage>32</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Halpin</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <year>2005</year>
          , '
          <article-title>ORM 2', On the Move to Meaningful Internet Systems 2005</article-title>
          : OTM 2005 Workshops, eds. R.
          <string-name>
            <surname>Meersman</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          <string-name>
            <surname>Tari</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Herrero</surname>
          </string-name>
          et al.,
          <source>Cyprus</source>
          . Springer LNCS 3762, pp
          <fpage>676</fpage>
          -
          <lpage>87</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Halpin</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          <year>2006</year>
          , '
          <article-title>Object-Role Modeling (ORM/NIAM)'</article-title>
          ,
          <source>Handbook on Architectures of Information Systems, 2nd edition</source>
          , Springer, Heidelberg, pp.
          <fpage>81</fpage>
          -
          <lpage>103</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>ter Hofstede</surname>
            ,
            <given-names>A. H. M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Proper</surname>
            ,
            <given-names>H. A.</given-names>
          </string-name>
          &amp;
          <string-name>
            <surname>Weide</surname>
          </string-name>
          , th. P. van der
          <year>1993</year>
          , '
          <article-title>Formal definition of a conceptual language for the description and manipulation of information models'</article-title>
          ,
          <source>Information Systems</source>
          , vol.
          <volume>18</volume>
          , no.
          <issue>7</issue>
          , pp.
          <fpage>489</fpage>
          -
          <lpage>523</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <source>ISO</source>
          <year>2005</year>
          ,
          <article-title>ISO Common Logic Standard</article-title>
          .
          <source>(Adoption expected April</source>
          <year>2006</year>
          ). Draft online at http://cl.tamu.edu/docs/cl/32N1377T-
          <fpage>FCD24707</fpage>
          .pdf.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14. Object Management Group 2003,
          <article-title>UML 2.0 Infrastructure Specification</article-title>
          . Online: www.omg.org/uml.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15. Object Management Group 2003,
          <article-title>UML 2.0 Superstructure Specification</article-title>
          . Online: www.omg.org/uml.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16. Object Management Group 2006,
          <article-title>Semantics of Business Vocabulary and Rules Interim Specification</article-title>
          . Online at: www.omg.org/cgi-bin/doc?dtc/06-03-02.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Rumbaugh</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jacobson</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          &amp;
          <string-name>
            <surname>Booch</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          <year>1999</year>
          ,
          <article-title>The Unified Language Reference Manual</article-title>
          , Addison-Wesley, Reading, MA.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>