Writing Natural Language Rule Statements — a Systematic Approach Part 25: The Syntax of Party Rule Statements
About this series of articlesWhile my first series of articles on writing natural language rule statements[1] explored a wide variety of issues in a rather organic and hence random manner, this series takes a more holistic and systematic approach and draws on insights gained while writing my recently-published book on the same topic.[2] Rule statements recommended in these articles are intended to comply with the Object Management Group's Semantics of Business Vocabulary and Business Rules (SBVR) version 1.0.[3]
The story so far
In earlier articles in this series (see the "Language Archives" sidebar) we have looked at standardised rule statements for various types of operative rules[4] (data rules,[5] activity rules,[6] and party rules[7]) and definitional rules.[8] Each specific type of rule statement has a common formulation which we have discussed in both a relatively informal way and by way of rule statement patterns.
In the last few articles[9] we looked at the syntax of data cardinality rule statements,[10] data content rule statements[11] (including spatial data constraint statements[12] and temporal data constraint statements[13]), data update rule statements,[14] and activity rule statements[15] in general. In this article we will look at the general syntax of party rule statements.[16]
Review of party rule statements
In this series we have encountered various types of party rule statements:
- party restriction rules, which place restrictions on who can perform some processes or activities or play some roles, based on age, some other physical characteristic or capability, or training, testing, and certification in the appropriate skills, e.g.,
RS209. | A passenger may be allocated to a seat in an exit row only if that passenger is able to open an aircraft door. |
RS210. | A person may be employed as a cabin crew member only if the height of that person is at least 160cm. |
RS211. | A person may be rostered on a flight crew only if that person holds an airline transport pilot license that is current and a type endorsement that is current for each aircraft type to be flown by that flight crew. |
- role separation rules, which prohibit the same party from performing two activities, for example:
RS214. | The cabin crew member who checks that an aircraft door is disarmed must not be the same cabin crew member who disarmed that aircraft door. |
- role binding rules, which require that the party performing the second of two activities must be the same as the party who performed the first of those activities, for example:
RS216. | The flight crew member who signs the pre-flight check report must be the same flight crew member who performed the pre-flight check documented in that pre-flight check report. |
- information access rules, which define who can view, create, or update particular information, for example:
RS218. | The leave records of an employee may be viewed by only that employee, the supervisor of that employee, or a human resources officer. |
- responsibility rules, which define who is responsible for performing a particular process or liable for a particular fee, duty, or tax, for example:
RS219. | Stamp duty[17] on a real property transfer must be paid by the parties receiving. |
RS220. | The final quality review of each project deliverable must be performed by the quality assurance officer. |
The anatomy of a party rule statement
Party rule statements — like other data rule statements — are operative rule statements,[18] each taking one of the following forms:
- A party restriction rule statement takes the form of a restricted permission statement, consisting of:
- an optional determiner (Each, The, A, or An)
- a subject
- the keyword may
- a predicate
- the keywords only if
- a mandatory conditional clause.
- A role separation rule statement takes the form of a prohibition statement, consisting of:
- an optional determiner (Each, The, A, or An)
- a subject
- the keywords must not
- a predicate
- an optional conditional clause.
- A role binding rule statement takes the form of an obligation statement, consisting of:
- an optional determiner (Each, The, A, or An)
- a subject
- the keyword must
- a predicate
- an optional conditional clause.
- An information access rule statement takes the form of a restricted permission statement, consisting of:
- an optional determiner (Each, The, A, or An)
- a subject
- the keyword may
- a predicate
- the keyword only
- a list of the roles that can access the information signified by the subject.
- A responsibility rule statement takes the form of an obligation statement, consisting of:
- an optional determiner (Each, The, A, or An)
- a subject
- the keyword must
- a predicate
- a list of the roles that have the nominated responsibility.
The subject of a party rule statement
The subject of any party rule statement consists of:
- a subject noun phrase, the form of which depends on the specific type of the rule statement:
- for a party restriction rule statement, role binding rule statement, or role separation rule statement, a term signifying the role that is subject to the constraint, either person (if the rule applies to all) or a specific role name, e.g., passenger, cabin crew member, flight crew member (if the rule applies only to specific roles)
- for an information access rule statement, a term signifying the information which is subject to access restriction, e.g., leave records in RS218
- for a responsibility rule statement, a term signifying the type of fee, duty, or tax or the type of process for which some party is responsible, e.g., stamp duty in RS219, final quality review in RS220
- zero or more (or, if you prefer, optionally one or more) prepositional phrases, such as
- of an employee
- on a real property transfer
- of each project deliverable
- zero or more qualifying clauses, such as
- who checks that an aircraft door is disarmed
- who signs the pre-flight check report.
The predicate of a party rule statement
The form taken by the predicate of a party rule statement depends on the specific type of the rule statement:
- for a party restriction rule statement, the predicate consists of:
- a verb phrase, such as be allocated to, be employed as, or be rostered on
- a determiner and term signifying the object of the verb phrase, such as a seat, a cabin crew member, or a flight crew
- an optional qualifying clause, such as in an exit row.
- For a role binding rule statement or role separation rule statement, the predicate consists of:
- be the same
- the subject noun phrase repeated
- a qualifying clause, e.g., who disarmed that aircraft door, who performed the pre-flight check.
- For an information access rule statement, the predicate is simply one of the verb phrases be viewed by or be updated by.
- For a responsibility rule statement, the predicate is simply a verb phrase such as be paid by, be performed by, or be executed by.
The role list in an information access rule statement or responsibility rule statement
The form of the list of roles in one of these rule statement types depends on whether there is only one role or more than one role that can access the information or has the responsibility.
If there is only one role, that role is signified by a determiner and term, such as the parties receiving or the quality assurance officer.
If there is more than one role, those roles are signified by a list of roles, for example:
- that employee, the supervisor of that employee, or a human resources officer.
Note that each item in the list may be either:
- a simple determiner and term (such as that employee)
or:
- a determiner and term qualified by a qualifying clause (such as the supervisor of that employee).
To be continued...
In the next article in this series I will look in detail at the various syntactic elements that can be used to build a rule statement, such as determiners, qualifying and conditional clauses, and prepositional phrases.
References
[1] The first of which is: Graham Witt, "A Practical Method of Developing Natural Language Rule Statements (Part 1)," Business Rules Journal, Vol. 10, No. 2 (Feb. 2009), URL: http://www.BRCommunity.com/a2009/b461.html
[2] Graham Witt, Writing Effective Business Rules. Morgan Kaufmann (2012).
[3] Semantics of Business Vocabulary and Business Rules (SBVR), v1.0. Object Management Group (Jan. 2008). Available at http://www.omg.org/spec/SBVR/1.0/
The font and colour conventions used in these rule statements reflect those in the SBVR, namely underlined teal for terms, italic blue for verb phrases, orange for keywords, and double-underlined green for names and other literals. Note that, for clarity, these conventions are not used for rule statements that exhibit one or more non-recommended characteristics.
[4] A rule that states what must or must not happen in particular circumstances, and which can therefore be contravened, by contrast with a definitional rule.
[5] A rule that constrains the data included in a transaction (a form or message) or a persistent data set (e.g., a database record).
[6] A rule that constrains the operation of one or more business processes or other activities.
[7] A rule that makes a distinction between different parties or the roles they play.
[8] A rule that defines a construct created or used by an organisation (or the industry within which it operates), or defines a property of such a construct, and which cannot therefore be contravened, by contrast with an operative rule.
[9] Graham Witt, "Writing Natural Language Rule Statements — a Systematic Approach — Part 21: The Syntax of Data Cardinality Rule Statements," Business Rules Journal, Vol. 15, No. 4 (Apr. 2014). URL: http://www.brcommunity.com/a2014/b757.html,
Graham Witt, "Writing Natural Language Rule Statements — a Systematic Approach — Part 22: The Syntax of Some Data Content Rule Statements," Business Rules Journal, Vol. 15, No. 5 (May 2014). URL: http://www.brcommunity.com/a2014/b762.html,
Graham Witt, "Writing Natural Language Rule Statements — a Systematic Approach — Part 23: The Syntax of Other Data Rule Statements," Business Rules Journal, Vol. 15, No. 6 (Jun. 2014). URL: http://www.brcommunity.com/a2014/b766.html,
Graham Witt, "Writing Natural Language Rule Statements — a Systematic Approach — Part 24: The Syntax of Activity Rule Statements," Business Rules Journal, Vol. 15, No. 7 (July 2014), URL: http://www.BRCommunity.com/a2014/b769.html
[10] Statements of rules that require the presence or absence of a data item and/or place restrictions on the maximum or minimum number of occurrences of a data item.
[11] Statements of rules that place a restriction on the values contained in a data item or set of data items (rather than whether or not they must be present and how many there may or must be).
[12] Statements of rules that prescribe or prohibit the content of data items representing spatial objects (points, line segments, polygons, other plane figures such as circles, or solid figures in 3-dimensional space), generally by reference to required relationships between those spatial objects and other spatial objects.
[13] A statement of a rule that constrains one or more temporal data items (dates or times).
[14] A statement of a rule that specifies the required format of a data item.
[15] A rule that constrains the operation of one or more business processes or other activities.
[16] A rule that makes a distinction between different parties or the roles they play.
[17] A tax levied by Australian states on parties undertaking real property (real estate) transactions.
[18] A statement of a rule that specifies what must or must not happen in particular circumstances, and which can therefore be contravened, by contrast with a definitional rule.
# # #
About our Contributor:
Online Interactive Training Series
In response to a great many requests, Business Rule Solutions now offers at-a-distance learning options. No travel, no backlogs, no hassles. Same great instructors, but with schedules, content and pricing designed to meet the special needs of busy professionals.