This chapter describes various graphical notations for rule modeling. Rule modeling methodologies, empowered with graphical notations, play an important role in helping business experts and rule engineers to represent business rules formally for further deployment into a rule execution system. Rules, represented graphically, can be easier understood by business people and by technicians without intensive technical learning. In this chapter we mainly focus on three graphical notations for rules: UML/OCL, URML and ORM. UML/OCL is a mainstream modeling technology in software development, which is also accommodated by some business experts when modeling a system at the semi-formal, platform independent level. URML extends UML with additional graphical symbols and the concept of a rule, which allows visualization of different rule types on top of UML class diagrams. ORM is an alternative methodology with a rich graphical notation for modeling a domain at the conceptual level. The methodological power, graphical expressivity, and verbalization capabilities of ORM have made it the most popular language within the business rules community. This chapter introduces each of these graphical notations, explain how it can be used, and compare them against each other.
The idea of the graphical representation of knowledge is known for a long time and there are several methodologies for rule modeling. The mainstream technologies are the Unified Modeling Language (UML) (OMG, 1999) and the Object Role Modeling (ORM). Speaking about graphical representation of rules by means of UML, it is usually considered in conjunction with the Object Constraints Language (OCL) (OMG, 2003). There is a new upcoming methodology for rule modeling called UML-based Rule Modeling Language (URML) (URML, 2008), which is based on UML and can be used by rule modelers and business experts for graphical modeling of rules.
Before introducing these graphical notations in details, we classify rule types and then give an overview about the major rule modeling approaches, namely UML-based methodologies and the ORM methodology.
Key Terms in this Chapter
Integrity Constraint: “An assertion that must be satisfied in all evolving states and state transition histories of an enterprise viewed as a discrete dynamic system” (Taveter et al., 2001b).
Graphical Notation for Rule Modeling: A set of symbols for representing rule vocabularies and rules in concise and unambiguous manner.
Business Rule: “A statement that expresses (certain parts of) a business policy, defining business terms and defining or constraining the operations of an enterprise, in a declarative manner” (Taveter et al., 2001b).
Rule Vocabulary: “A structured set of terms and other symbols together with their meanings and relationships among them” (SBVR, 2008), used in a business domain.
Derivation Rule: “A statement of knowledge that is derived from other knowledge by an inference or a mathematical calculation” (Taveter et al., 2001b).
Reaction Rule: Concerned with the invocation of actions in response to events. “It states the conditions under which actions must be taken; this includes triggering event conditions, preconditions, and post-conditions (effects)” (Taveter et al., 2001b).
Production Rule: “A statement of programming logic that specifies the execution of one or more actions in the case that its conditions are satisfied” OMG PRR (2007).
Rule Verbalization: A rule representation in pseudo-natural human sentences.