| <?xml version="1.0" encoding="UTF-8"?> |
| <org.eclipse.epf.uma:ContentDescription xmi:version="2.0" |
| xmlns:xmi="http://www.omg.org/XMI" xmlns:org.eclipse.epf.uma="http://www.eclipse.org/epf/uma/1.0.5/uma.ecore" |
| xmlns:epf="http://www.eclipse.org/epf" epf:version="1.5.0" xmi:id="-X5ZeFd3vVHLrkhW_5RhKlQ" |
| name="new_guideline,_Fpgz4HqsEd2o_5d3MWaNxQ" guid="-X5ZeFd3vVHLrkhW_5RhKlQ" authors="Jerome Boyer" |
| changeDate="2008-09-04T11:07:22.104-0700" version="1.0"> |
| <mainDescription><p>
 |
| The following diagram illustrates a conceptual breakdown of the different types of rules that are of interest to the
 |
| business.
 |
| </p>
 |
| <p>
 |
| <img height="320" alt="" src="./resources/RuleSchema.bmp" width="443" />
 |
| </p>
 |
| <p>
 |
| Structural rules define the terms used by the business in expressing their business rules and the relationships (facts)
 |
| among those terms. These comprise the vocabulary used in rule authoring. As an example a statement like: A Insurance
 |
| Policy includes a set of coverage, is effective at a given date and new to be renewed every six months, structures the
 |
| domain knowledge so that a InsurancePolicy entity will have a effectiveDate, expirationDate and a list of Coverage.
 |
| </p>
 |
| <p>
 |
| Decision logic is the core of what is typically referred to as 'business rules.' When a business decision needs to be
 |
| made (e.g. whether to sell a given insurance policy, whether to accept or reject a claim), the business rules are the
 |
| individual statements of business logic that determine the result of the decision.
 |
| </p>
 |
| <p class="MsoNormal" style="MARGIN: 3pt 0in">
 |
| Process flow rules are rules that purely direct the movement through a process flow (or workflow, etc.). It may be
 |
| helpful to distinguish process flow rules from the business logic rules that determine the values of the parameters on
 |
| which the process flow is directed.
 |
| </p>
 |
| <p>
 |
| Barbara Von Halle in her book "Business Rule Applied" is proposing to following description for each sub class of the
 |
| decision logic:<br />
 |
| <br />
 |
| </p>
 |
| <div align="center">
 |
| <table class="MsoNormalTable"
 |
| style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; MARGIN: auto auto auto 0.45in; BORDER-LEFT: medium none; BORDER-BOTTOM: medium none; BORDER-COLLAPSE: collapse; mso-border-alt: solid silver 1.0pt; mso-yfti-tbllook: 480; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-border-insideh: 1.0pt solid silver; mso-border-insidev: 1.0pt solid silver"
 |
| cellspacing="0" cellpadding="0" border="1">
 |
| <thead>
 |
| <tr style="mso-yfti-irow: 0; mso-yfti-firstrow: yes">
 |
| <td
 |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0in; BORDER-LEFT: gray 1pt solid; WIDTH: 99.8pt; PADDING-TOP: 0in; BORDER-BOTTOM: gray 1pt solid"
 |
| valign="top" width="133">
 |
| <p class="table" style="MARGIN: 3pt 0in 0pt">
 |
| <b><font face="Times">Rule Classification</font></b>
 |
| </p>
 |
| </td>
 |
| <td
 |
| style="BORDER-RIGHT: gray 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: gray 1pt solid; PADDING-LEFT: 5.4pt; BACKGROUND: #f3f3f3; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 310.6pt; PADDING-TOP: 0in; BORDER-BOTTOM: gray 1pt solid; mso-border-left-alt: solid gray 1.0pt"
 |
| valign="top" width="414">
 |
| <p class="table" style="MARGIN: 3pt 0in 0pt">
 |
| <b style="mso-bidi-font-weight: normal"><font face="Times">Explanation</font></b>
 |
| </p>
 |
| </td>
 |
| </tr>
 |
| </thead>
 |
| <tbody>
 |
| <tr style="HEIGHT: 6.65pt; mso-yfti-irow: 1">
 |
| <td
 |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: silver 1pt solid; WIDTH: 99.8pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; HEIGHT: 6.65pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt"
 |
| valign="top" width="133" rowspan="2">
 |
| <p class="table" style="MARGIN: 3pt 0in 0pt">
 |
| <font size="3"><span style="FONT-SIZE: 8pt">Mandatory constraints</span></font>
 |
| </p>
 |
| </td>
 |
| <td
 |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 310.6pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; HEIGHT: 6.65pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt"
 |
| valign="top" width="414">
 |
| <p class="table" style="MARGIN: 3pt 0in 0pt">
 |
| <font size="3"><span style="FONT-SIZE: 8pt">Rules that reject the attempted business
 |
| transaction</span></font>
 |
| </p>
 |
| </td>
 |
| </tr>
 |
| <tr style="HEIGHT: 6.6pt; mso-yfti-irow: 2">
 |
| <td
 |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 310.6pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; HEIGHT: 6.6pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt"
 |
| valign="top" width="414">
 |
| <p class="table" style="MARGIN: 3pt 0in 0pt">
 |
| <font size="3"><span style="FONT-SIZE: 8pt">Grammar to use during rule documentation not
 |
| implementation.</span></font>
 |
| </p>
 |
| <p class="table" style="MARGIN: 3pt 0in 0pt">
 |
| <font size="3"><span style="FONT-SIZE: 8pt">&lt;term&gt; MUST HAVE &lt;at least, at most, exactly n
 |
| of&gt; &lt;term&gt;;</span></font>
 |
| </p>
 |
| <p class="table" style="MARGIN: 3pt 0in 0pt">
 |
| <font size="3"><span style="FONT-SIZE: 8pt">&lt;term&gt; MUST BE IN LIST
 |
| &lt;a,b,c&gt;;</span></font>
 |
| </p>
 |
| </td>
 |
| </tr>
 |
| <tr style="HEIGHT: 11.05pt; mso-yfti-irow: 3">
 |
| <td
 |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: silver 1pt solid; WIDTH: 99.8pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; HEIGHT: 11.05pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt"
 |
| valign="top" width="133" rowspan="2">
 |
| <p class="table" style="MARGIN: 3pt 0in 0pt">
 |
| <font size="3"><span style="FONT-SIZE: 8pt">Guidelines</span></font>
 |
| </p>
 |
| </td>
 |
| <td
 |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 310.6pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; HEIGHT: 11.05pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt"
 |
| valign="top" width="414">
 |
| <p class="table" style="MARGIN: 3pt 0in 0pt">
 |
| <font size="3"><span style="FONT-SIZE: 8pt">Rules that does not reject the transaction; they merely
 |
| warn about an undesirable circumstance. Usually translates to warning messages.</span></font>
 |
| </p>
 |
| </td>
 |
| </tr>
 |
| <tr style="HEIGHT: 11.05pt; mso-yfti-irow: 4">
 |
| <td
 |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 310.6pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; HEIGHT: 11.05pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt"
 |
| valign="top" width="414">
 |
| <p class="table" style="MARGIN: 3pt 0in 0pt">
 |
| <font size="3"><span style="FONT-SIZE: 8pt">&lt;term&gt; SHOULD HAVE &lt;at least, at most, exactly
 |
| n of&gt; &lt;term&gt;;</span></font>
 |
| </p>
 |
| <p class="table" style="MARGIN: 3pt 0in 0pt">
 |
| <font size="3"><span style="FONT-SIZE: 8pt">&lt;term&gt; SHOULD BE IN LIST
 |
| &lt;a,b,c&gt;</span></font>
 |
| </p>
 |
| </td>
 |
| </tr>
 |
| <tr style="HEIGHT: 11.05pt; mso-yfti-irow: 5">
 |
| <td
 |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: silver 1pt solid; WIDTH: 99.8pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; HEIGHT: 11.05pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt"
 |
| valign="top" width="133" rowspan="2">
 |
| <p class="table" style="MARGIN: 3pt 0in 0pt">
 |
| <font size="3"><span style="FONT-SIZE: 8pt">Action-enablers</span></font>
 |
| </p>
 |
| </td>
 |
| <td
 |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 310.6pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; HEIGHT: 11.05pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt"
 |
| valign="top" width="414">
 |
| <p class="table" style="MARGIN: 3pt 0in 0pt">
 |
| <font size="3"><span style="FONT-SIZE: 8pt">Rules that tests conditions and upon finding them true,
 |
| initiate another business event, message or other activity</span></font>
 |
| </p>
 |
| </td>
 |
| </tr>
 |
| <tr style="HEIGHT: 11.05pt; mso-yfti-irow: 6">
 |
| <td
 |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 310.6pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; HEIGHT: 11.05pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt"
 |
| valign="top" width="414">
 |
| <p class="table" style="MARGIN: 3pt 0in 0pt">
 |
| <font size="3"><span style="FONT-SIZE: 8pt">IF &lt;condition&gt; THEN action</span></font>
 |
| </p>
 |
| </td>
 |
| </tr>
 |
| <tr style="HEIGHT: 11.05pt; mso-yfti-irow: 7">
 |
| <td
 |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: silver 1pt solid; WIDTH: 99.8pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; HEIGHT: 11.05pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt"
 |
| valign="top" width="133" rowspan="2">
 |
| <p class="table" style="MARGIN: 3pt 0in 0pt">
 |
| <font size="3"><span style="FONT-SIZE: 8pt">Computations</span></font>
 |
| </p>
 |
| </td>
 |
| <td
 |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 310.6pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; HEIGHT: 11.05pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt"
 |
| valign="top" width="414">
 |
| <p class="table" style="MARGIN: 3pt 0in 0pt">
 |
| <font size="3"><span style="FONT-SIZE: 8pt">Rule that creates new information from existing
 |
| information based on mathematical computation. Result is a piece of knowledge because it cannot
 |
| simply be known.</span></font>
 |
| </p>
 |
| </td>
 |
| </tr>
 |
| <tr style="HEIGHT: 11.05pt; mso-yfti-irow: 8">
 |
| <td
 |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 310.6pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; HEIGHT: 11.05pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt"
 |
| valign="top" width="414">
 |
| <p class="table" style="MARGIN: 3pt 0in 0pt">
 |
| <font size="3"><span style="FONT-SIZE: 8pt">&lt;term&gt; IS COMPUTED AS
 |
| &lt;formula&gt;</span></font>
 |
| </p>
 |
| </td>
 |
| </tr>
 |
| <tr style="HEIGHT: 11.05pt; mso-yfti-irow: 9">
 |
| <td
 |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: silver 1pt solid; WIDTH: 99.8pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; HEIGHT: 11.05pt; BACKGROUND-COLOR: transparent; mso-border-top-alt: solid silver 1.0pt"
 |
| valign="top" width="133" rowspan="2">
 |
| <p class="table" style="MARGIN: 3pt 0in 0pt">
 |
| <font size="3"><span style="FONT-SIZE: 8pt">Inferences</span></font>
 |
| </p>
 |
| </td>
 |
| <td
 |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 310.6pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; HEIGHT: 11.05pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt"
 |
| valign="top" width="414">
 |
| <p class="table" style="MARGIN: 3pt 0in 0pt">
 |
| <font size="3"><span style="FONT-SIZE: 8pt">Rules that create new information from existing
 |
| information. Result is a piece of knowledge used as a new fact for the rule engine to
 |
| consider.</span></font>
 |
| </p>
 |
| </td>
 |
| </tr>
 |
| <tr style="HEIGHT: 11.05pt; mso-yfti-irow: 10; mso-yfti-lastrow: yes">
 |
| <td
 |
| style="BORDER-RIGHT: silver 1pt solid; PADDING-RIGHT: 5.4pt; BORDER-TOP: #ece9d8; PADDING-LEFT: 5.4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: #ece9d8; WIDTH: 310.6pt; PADDING-TOP: 0in; BORDER-BOTTOM: silver 1pt solid; HEIGHT: 11.05pt; BACKGROUND-COLOR: transparent; mso-border-left-alt: solid silver 1.0pt; mso-border-top-alt: solid silver 1.0pt"
 |
| valign="top" width="414" halign="left">
 |
| <p class="table" style="MARGIN: 3pt 0in 0pt">
 |
| <font size="3"><span style="FONT-SIZE: 8pt">IF &lt;term&gt; &lt;operator&gt; &lt;term&gt; THEN
 |
| &lt;term&gt; &lt;operator&gt; &lt;term&gt;</span></font>
 |
| </p>
 |
| </td>
 |
| </tr>
 |
| </tbody>
 |
| </table>
 |
| </div><br />
 |
| <p class="MsoNormal" style="MARGIN: 3pt 0in">
 |
| &nbsp;
 |
| </p>
 |
| <p class="MsoNormal" style="MARGIN: 3pt 0in">
 |
| Classifying the rules will help to decide for the best implementation. Inference and action enabler type of rules are
 |
| good candidates for a rule engine. Pure computation will most likely been done in code unless computation rules are
 |
| subject to frequent changes. It is also helping to evaluate the complexity of the rule and so to evaluate the workload
 |
| to implement it.
 |
| </p><br /></mainDescription> |
| </org.eclipse.epf.uma:ContentDescription> |