<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Business Rule Modality</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author role="corresp">
							<persName><forename type="first">Terry</forename><surname>Halpin</surname></persName>
							<email>terry@neumont.edu</email>
							<affiliation key="aff0">
								<orgName type="institution">Neumont University Salt</orgName>
								<address>
									<settlement>Lake City</settlement>
									<country key="US">USA</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Business Rule Modality</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">32FB24067582D1D05E09AC3899984D44</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T02:50+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><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. * -CarRental is forbidden if CarRental was issued at Time and CarRental was issued to Person and Person is a barred driver at Time was barred at was unbarred at * Person is a barred driver at Time 1 iff Person was barred at a Time 2 &lt;= Time 1 and Person was not unbarred at a Time 3 between Time 2 and Time 1</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><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) <ref type="bibr" target="#b0">[1]</ref>, the Unified Modeling Language (UML) <ref type="bibr" target="#b13">[14,</ref><ref type="bibr" target="#b14">15,</ref><ref type="bibr" target="#b16">17]</ref>, and Object-Role Modeling (ORM) <ref type="bibr" target="#b10">[11,</ref><ref type="bibr" target="#b3">4]</ref>. 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 <ref type="bibr" target="#b15">[16]</ref>.</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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Modal Operators and Constraint Verbalization</head><p>Business constraint formulations may use any of the basic alethic or deontic modal operators from modal logic<ref type="foot" target="#foot_0">1</ref> , as shown in Table <ref type="table" target="#tab_0">1</ref>. 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). 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 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 <ref type="bibr" target="#b1">[2,</ref><ref type="bibr" target="#b4">5,</ref><ref type="bibr" target="#b5">6,</ref><ref type="bibr" target="#b11">12]</ref>. ORM also has a rich graphic notation for capturing constraints, which ORM tools can transform into implementation code for enforcement. In ORM 2 <ref type="bibr" target="#b9">[10]</ref>, 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 <ref type="bibr" target="#b6">[7]</ref>. 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 C1 Each Person was born in at most one Country. may be explicitly verbalized with an alethic modality thus: C1' It is necessary that each Person was born in at most one Country.</p><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" It is impossible that the same Person was born in more than one Country</p><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></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>C2</head><p>It is obligatory that each Person is a husband of at most one Person.</p><p>If this rule were instead expressed simply as "Each Person is a husband of at most one  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). 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. 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><p>For each Person, it is necessary that that Person was born in at most one Country.</p><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><p>It is necessary that each Person was born in at most one Country.</p><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 <ref type="bibr" target="#b2">[3]</ref>). As a deontic example, suppose the user formulates rule C2 instead as:</p><p>For each Person, it is obligatory that that Person is a husband of at most one Person.</p><p>Using a deontic variant of the Barcan equivalences, we commute the ∀ and O operators, thus transforming the rule to the deontic obligation:</p><p>It is obligatory that each Person is a husband of at most one Person.</p><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></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Static, Alethic Constraints</head><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..1 y: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..1 y:Country x was born in y. For compliance with Common Logic <ref type="bibr" target="#b12">[13]</ref>, 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..1 y: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..1 y: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 <ref type="bibr">[3, p. 35]</ref>.</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 <ref type="bibr" target="#b2">[3]</ref> (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><p>Person is a husband of / is a wife of</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4">Static, Deontic Constraints</head><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". 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. <ref type="figure" target="#fig_4">3</ref>). 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..1 y: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). 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" <ref type="bibr">[3, p. 173</ref>]. 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)<ref type="foot" target="#foot_2">2</ref> or deontic counterparts to the Barcan formulae.</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></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>CarRental is forbidden if</head><p>CarRental was issued at Time and CarRental was issued to Person and Person is a barred driver at Time</p><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><p>Person is a barred driver at Time1 iff Person was barred at a Time2 &lt;= Time1 and Person was not unbarred at a Time3 between Time2 and Time1</p><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. <ref type="figure" target="#fig_5">4</ref>) 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 <ref type="bibr" target="#b15">[16]</ref>. 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 <ref type="bibr" target="#b8">[9]</ref>), 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. 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 Fig. <ref type="figure" target="#fig_6">5</ref> uses the special predicates "obligates the actualization of" and "is actual", as well as an object type "PossibleAllMaleState" which includes all conceivable all-male-states of departments, whether actual or not. The derived fact type PossibleAllMaleState is actual may be defined using the derivation rule: </p><formula xml:id="formula_0">&amp; x is of z &amp; z obligates the actualization of w &amp; w is of y) ⊃ x is forbidden]</formula><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  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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Dynamic Constraints</head><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><p>For each Invoice, if that Invoice was issued on Date1 then it is obligatory that 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 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 <ref type="bibr" target="#b7">[8]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Conclusion</head><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. 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></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Fig. 1 .</head><label>1</label><figDesc>Fig. 1. Screenshot from NORMA, showing positive verbalization of some constraints</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Fig. 1</head><label>1</label><figDesc>Fig.1shows 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.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). 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: Room at HourSlot was booked for Course. The constraint verbalization (It is forbidden that the 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.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.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Fig. 2</head><label>2</label><figDesc>Fig.1shows 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.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). 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: Room at HourSlot was booked for Course. The constraint verbalization (It is forbidden that the 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.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.</figDesc><graphic coords="4,165.24,138.96,281.66,191.94" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Fig. 2 .</head><label>2</label><figDesc>Fig. 2. NORMA screen shot illustrating negative verbalization of a deontic constraint</figDesc><graphic coords="5,164.76,138.96,282.42,115.56" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>Fig. 3 .</head><label>3</label><figDesc>Fig. 3. Deontic constraints obligate the marriage relationship to be 1:1</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_5"><head>Fig. 4 .</head><label>4</label><figDesc>Fig. 4. Forbidding rentals to barred drivers using a domain level predicate</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_6"><head>Fig. 5 .</head><label>5</label><figDesc>Fig. 5. A complex case involving embedded mention of propositions</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head>Table 1 .</head><label>1</label><figDesc>Alethic and deontic modal operators</figDesc><table><row><cell>Alethic</cell><cell></cell><cell>Deontic</cell><cell></cell></row><row><cell>Reading</cell><cell>Symbol</cell><cell>Reading</cell><cell>Symbol</cell></row><row><cell>It is necessary that</cell><cell></cell><cell>It is obligatory that</cell><cell>O</cell></row><row><cell>It is possible that</cell><cell>◊</cell><cell>It is permitted that</cell><cell>P</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head></head><label></label><figDesc>PossibleAllMaleState is actual iff PossibleAllMaleState is of a Department and each Person who works for that Department is male 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: Rule that obligates the actualization of a PossibleAllMaleState that is of the same Department i.e. ∀x:RuleAdoption ∀y:Department ∀z:Rule ∀w:PossibleAllMaleState [(x is by y</figDesc><table><row><cell>RuleAdoption is forbidden if</cell></row><row><cell>RuleAdoption is by a Department</cell></row><row><cell>and is of a</cell></row></table></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_2"><head></head><label></label><figDesc>informal, the derivation rule for PossibelAllMaleState is actual provides enough semantics to enable human readers to understand the intent.</figDesc><table><row><cell>is male</cell><cell></cell><cell>&lt;&lt; is by</cell><cell cols="2">is forbidden * -</cell></row><row><cell></cell><cell>works for</cell><cell></cell><cell>is of</cell><cell></cell></row><row><cell>Person</cell><cell cols="2">Department</cell><cell cols="2">Rule</cell></row><row><cell>(Id)</cell><cell>&lt;&lt; employs</cell><cell>(Id)</cell><cell>adopts</cell><cell>(Nr)</cell></row><row><cell></cell><cell></cell><cell cols="2">"RuleAdoption"</cell><cell>obligates the</cell></row><row><cell></cell><cell cols="2">&lt;&lt; is of</cell><cell></cell><cell>actualization of</cell></row><row><cell></cell><cell></cell><cell></cell><cell cols="2">Possible</cell></row><row><cell cols="3">* PossibleAllMaleState is actual iff</cell><cell cols="2">AllMaleState is actual*</cell></row><row><cell cols="4">PossibleAllMaleState is of a Department and</cell><cell></cell></row><row><cell cols="4">each Person who works for that Department is male</cell><cell></cell></row><row><cell cols="3">* -RuleAdoption is forbidden if</cell><cell></cell><cell></cell></row><row><cell cols="3">RuleAdoption is by a Department</cell><cell></cell><cell></cell></row><row><cell></cell><cell>and is of a Rule</cell><cell></cell><cell></cell><cell></cell></row><row><cell></cell><cell cols="4">that obligates the actualization of a PossibleAllMaleState</cell></row><row><cell></cell><cell></cell><cell></cell><cell cols="2">that is of the same Department</cell></row></table></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">http://en.wikipedia.org/wiki/Modal_logic</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" xml:id="foot_1">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:</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="2" xml:id="foot_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.</note>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Acknowledgement: Some aspects of the logical formalization presented in this paper have benefited from discussions with Pat Hayes (IHMC, Florida).</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">The entity-relationship model-towards a unified view of data</title>
		<author>
			<persName><forename type="first">P</forename><forename type="middle">P</forename><surname>Chen</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM Transactions on Database Systems</title>
		<imprint>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="issue">1</biblScope>
			<biblScope unit="page" from="9" to="36" />
			<date type="published" when="1976">1976</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">A Logic Framework for a Semantics of Object Oriented Data Modeling</title>
		<author>
			<persName><forename type="first">O</forename><surname>De Troyer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Meersman</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. 14 th International ER Conference</title>
				<meeting>14 th International ER Conference<address><addrLine>Gold Coast, Australia</addrLine></address></meeting>
		<imprint>
			<publisher>Springer LNCS</publisher>
			<date type="published" when="1021">1995. 1021</date>
			<biblScope unit="page" from="238" to="249" />
		</imprint>
	</monogr>
	<note>OOER&apos;95</note>
</biblStruct>

<biblStruct xml:id="b2">
	<monogr>
		<title level="m" type="main">Modal Logics and Philosophy</title>
		<author>
			<persName><forename type="first">R</forename><surname>Girle</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2000">2000</date>
			<publisher>McGill-Queen&apos;s University Press</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<monogr>
		<title level="m" type="main">A Logical Analysis of Information Systems: static aspects of the data-oriented perspective</title>
		<author>
			<persName><forename type="first">T</forename><surname>Halpin</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1989">1989</date>
		</imprint>
		<respStmt>
			<orgName>University of Queensland</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">doctoral dissertation</note>
</biblStruct>

<biblStruct xml:id="b4">
	<monogr>
		<title level="m" type="main">Information Modeling and Relational Databases</title>
		<author>
			<persName><forename type="first">T</forename><surname>Halpin</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2001">2001</date>
			<publisher>Morgan Kaufmann</publisher>
			<pubPlace>San Francisco</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Comparing Metamodels for ER, ORM and UML Data Models</title>
		<author>
			<persName><forename type="first">T</forename><surname>Halpin</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Advanced Topics in Database Research</title>
		<editor>K. Siau</editor>
		<imprint>
			<biblScope unit="volume">3</biblScope>
			<biblScope unit="page" from="23" to="44" />
			<date type="published" when="2004">2004</date>
			<publisher>Idea Publishing Group</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<analytic>
		<title level="a" type="main">Business Rule Verbalization&apos;, Information Systems Technology and its Applications</title>
		<author>
			<persName><forename type="first">T</forename><surname>Halpin</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. ISTA-2004</title>
		<title level="s">Lec. Notes in Informatics</title>
		<editor>
			<persName><forename type="first">A</forename><surname>Doroshenko</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">T</forename><surname>Halpin</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">S</forename><surname>Liddle</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">H</forename><surname>Mayr</surname></persName>
		</editor>
		<meeting>ISTA-2004<address><addrLine>Salt Lake City</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2004">2004</date>
			<biblScope unit="volume">48</biblScope>
			<biblScope unit="page" from="39" to="52" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Higher-Order Types and Information Modeling</title>
		<author>
			<persName><forename type="first">T</forename><surname>Halpin</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="s">Advanced Topics in Database Research</title>
		<editor>K. Siau</editor>
		<imprint>
			<biblScope unit="volume">4</biblScope>
			<biblScope unit="page" from="218" to="237" />
			<date type="published" when="2005">2005</date>
			<publisher>Idea Publishing Group</publisher>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Objectification&apos;</title>
		<author>
			<persName><forename type="first">T</forename><surname>Halpin</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. CAiSE&apos;05 Workshops</title>
				<editor>
			<persName><forename type="first">J</forename><surname>Castro</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">E</forename><surname>Teniente</surname></persName>
		</editor>
		<meeting>CAiSE&apos;05 Workshops</meeting>
		<imprint>
			<publisher>FEUP</publisher>
			<date type="published" when="2005">2005</date>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="page" from="519" to="532" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">ORM 2&apos;, On the Move to Meaningful Internet Systems</title>
		<author>
			<persName><forename type="first">T</forename><surname>Halpin</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Cyprus. Springer LNCS</title>
				<editor>
			<persName><forename type="first">R</forename><surname>Meersman</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">Z</forename><surname>Tari</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">P</forename><surname>Herrero</surname></persName>
		</editor>
		<imprint>
			<date type="published" when="2005">2005. 2005</date>
			<biblScope unit="volume">3762</biblScope>
			<biblScope unit="page" from="676" to="687" />
		</imprint>
	</monogr>
	<note>OTM 2005 Workshops</note>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Object-Role Modeling (ORM/NIAM)</title>
		<author>
			<persName><forename type="first">T</forename><surname>Halpin</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Handbook on Architectures of Information Systems</title>
				<meeting><address><addrLine>Heidelberg</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2006">2006</date>
			<biblScope unit="page" from="81" to="103" />
		</imprint>
	</monogr>
	<note>2 nd edition</note>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Formal definition of a conceptual language for the description and manipulation of information models</title>
		<author>
			<persName><forename type="first">A</forename><forename type="middle">H M</forename><surname>Ter Hofstede</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">A</forename><surname>Proper</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Th</forename><forename type="middle">P</forename><surname>Weide</surname></persName>
		</author>
		<author>
			<persName><surname>Van Der</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">formation Systems</title>
		<imprint>
			<biblScope unit="volume">18</biblScope>
			<biblScope unit="issue">7</biblScope>
			<biblScope unit="page" from="489" to="523" />
			<date type="published" when="1993">1993</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<monogr>
		<author>
			<persName><surname>Iso</surname></persName>
		</author>
		<ptr target="http://cl.tamu.edu/docs/cl/32N1377T-FCD24707.pdf" />
		<title level="m">ISO Common Logic Standard</title>
				<imprint>
			<date type="published" when="2005-04">2005. April 2006</date>
		</imprint>
	</monogr>
	<note>Adoption expected</note>
</biblStruct>

<biblStruct xml:id="b13">
	<monogr>
		<ptr target="www.omg.org/uml" />
		<title level="m">UML 2.0 Infrastructure Specification</title>
				<imprint>
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
	<note>Object Management Group</note>
</biblStruct>

<biblStruct xml:id="b14">
	<monogr>
		<ptr target="www.omg.org/uml" />
		<title level="m">UML 2.0 Superstructure Specification</title>
				<imprint>
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
	<note>Object Management Group</note>
</biblStruct>

<biblStruct xml:id="b15">
	<monogr>
		<ptr target="www.omg.org/cgi-bin/doc?dtc/06-03-02" />
		<title level="m">Semantics of Business Vocabulary and Rules Interim Specification</title>
				<imprint>
			<date type="published" when="2006">2006</date>
		</imprint>
		<respStmt>
			<orgName>Object Management Group</orgName>
		</respStmt>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<monogr>
		<title level="m" type="main">The Unified Language Reference Manual</title>
		<author>
			<persName><forename type="first">J</forename><surname>Rumbaugh</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Jacobson</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Booch</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1999">1999</date>
			<publisher>Addison-Wesley</publisher>
			<pubPlace>Reading, MA</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
