<!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>
      <title-group>
        <article-title>Semantics in Model-Driven Business Design</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Mark H. Linehan</string-name>
          <email>mlinehan@us.ibm.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>IBM T. J. Watson Research Center Yorktown Heights</institution>
          ,
          <addr-line>NY 10598</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>This position paper describes ongoing work in applying the new OMG standard called Semantics in Business Vocabulary and Rules (SBVR) to a model-based approach to business design and implementation. The work explores methods of specifying semantics and rules in SBVR's “Structured English” as extensions of business models that are automatically translated to executable solutions.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        The Object Modeling Group’s (OMG’s) Model-Driven Architecture [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] concept
defines a multi-layered approach to defining business solutions, as shown in figure 1.
Platform Independent Model (PIM)
      </p>
      <p>Business</p>
      <p>model
Technology
independent</p>
      <p>model</p>
      <p>
        Technology
specific model
e.g. business processes, organization
structure, business metrics – expressed
without implementation details
e.g. BPDM (Business Process Definition
Metamodel from OMG)
e.g. BPEL (Business Process
Execution Language) flows
e.g. models tied to J2EE, .Net
tion Independent Model layer. The Production Rules Representation [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] aims to
specify a standard Unified Modeling Language (UML) model for rule structures.
Business Model
      </p>
      <p>Semantics of Business</p>
      <p>Vocabulary &amp; Rules</p>
      <p>(SBVR)
Business Business</p>
      <p>Vocabulary Rules
Platform Independent Model (PIM)</p>
      <p>Production Rules</p>
      <p>Representation (PRR)
• Forward chaining
• Sequential Rules
Platform Specific Model (PSM)</p>
      <p>Vendor-Specific Rule or</p>
      <p>
        Other Language
This paper summarizes an ongoing effort to implement a subset of SBVR in the
context of an existing Model Driven Business Transformation project [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] at IBM
Research.
      </p>
    </sec>
    <sec id="sec-2">
      <title>MDBT – Model-Driven Business Transformation</title>
      <p>
        MDBT is a methodology and matching toolkit for defining a business solution at the
business modeling layer, and then semi-automatically transforming the solution into a
PIM-layer and then a PSM-layer implementation. A business analyst applies the
methodology by defining a business model using the IBM WebSphere Business
Modeler [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] tool and the MDBT semantics. The analyst then converts the business model
to a PIM-layer model using the IBM Rational Software Architect [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] product, and
further transforms the PIM-layer model to an executable implementation using the IBM
WebSphere Integration Developer [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] tool and IBM WebSphere Process Server [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]
runtime. The generated implementation includes Data Definition Language (DDL)
statements to generate relational database tables, state machine definitions for
executing the solution, skeleton user interface Java Server Pages (JSPs), and service
definitions in the form of Web Services Definition Language (WSDL) files. The
implementation incorporates business performance monitoring functions and dashboards, as
described in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>The transformation process from business layer to implementation can be fully
automated in a “rapid prototyping” mode. Manual intervention at the PIM and PSM
layers are needed to produce production-quality user interfaces and adapters for invoking
legacy systems as services.</p>
      <p>user role
verbs: reject,
validate
business
artifact
Figure 3 shows a simple solution example at the business layer. This shows the
processing flow of a Driver’s License Bureau which handles License Applications. The
flow starts at the dot on the left, and proceeds through the illustrated stages. The
rounded squares show processing tasks, while the database icons show repositories
for holding in-process work. The rectangular callouts indicate the three primary
concepts captured in this model: user roles, verbs associated with the output sides of
tasks, and the business artifacts processed by the solution.
At the business layer, artifacts are detailed in terms of their attributes. Figure 4 shows
that a License Application contains various fields, similar to properties in UML
classes.</p>
      <p>What’s missing from the business-layer model is any concept of business rules. For
example, perhaps the applicant must be at least 18 years old to get a driver’s license.
In the current MDBT approach, such rules must be implemented manually at the PSM
layer. A method of specifying such rules at the business layer and then transforming
them to the implementation would improve the MDBT methodology. The objective
of this project is to examine the suitability of SBVR for this purpose.</p>
    </sec>
    <sec id="sec-3">
      <title>SBVR</title>
      <p>SBVR provides a framework for defining business vocabulary and rules at the
business modeling layer using “Structured English” and applying stylized text to four key
concepts:
− The ‘term’ style applies to noun concepts, such as ‘License Application’.
− The ‘Name’ style designates individual concepts, such as a clerk named ‘Bill’.
− The ‘verb’ style identifies fact types, which define relationships between concepts.</p>
      <p>For example, ‘clerk validates application’.
− The ‘keyword’ style distinguishes various words used to construct vocabulary
definitions and rule statements. The keywords designate built-in SBVR concepts such
as ‘it is permitted that’ and ‘exactly one’.</p>
      <p>SBVR supports standard logical operations (‘and’, ‘or’, and so forth) and first order
predicate logic (e.g. ‘each’, ‘some’). SBVR also supports certain modal logic
concepts such as necessity, possibility, obligation, and permission. Some example rules
given in “Structured English” are:</p>
      <p>It is permitted that each clerk validates each license application only if the current
age of the license application is greater than 18.</p>
      <p>It is obligatory that each applicant pass the written test.</p>
      <p>Note the influence of the vocabulary design on the expression of the rules. The first
example references the “the current age of the license application,” rather than “…of
the applicant,” because “current age” is a field of the “license application” artifact.
The vocabulary – and perhaps the underlying application – would have to be
restructured to enable a more natural rule statement.</p>
      <p>The project described here is creating a prototype tool to evaluate the technical issues
involved in writing SBVR rules, and then transforming them to executable
implementations.</p>
    </sec>
    <sec id="sec-4">
      <title>Prototype Design</title>
      <p>Business Model
with restricted permission
rules expressed in SBVR,</p>
      <p>using an extension of
IBM WebSphere Business</p>
      <p>Modeler
The SBVR prototype is designed as an extension of the MDBT project, in order to
build upon the existing MDBT modeling and transformation technology. As shown
in figure 5, the rules are entered in a new tool added onto the WebSphere Business
Modeler, and then transformed into a PIM-layer solution, and then further
transformed into a PSM-level implementation.</p>
    </sec>
    <sec id="sec-5">
      <title>Specifying Rules in the Business Model</title>
      <p>The SBVR specification is large and fairly complex. Rather than attempt to support
the entire specification, this prototype focuses on a limited subset called “restricted
permission rules”. These are rules expressed as permissions (someone or something
may do something) associated with conditions. The first example rule given above is a
restricted permission rule. In the prototype, all such rules are associated with an
MDBT business model such as the one shown above. Each rule references a user
role, an action, and a business artifact in the model.</p>
      <p>start</p>
      <p>select
role/verb/artifact
used in rule
select “not”
if desired
enter first
operand
enter
second
operand
Fig. 6. Rule Wizard Navigation Path
if unary
another
clause?</p>
      <p>yes
done
select fact</p>
      <p>type
appropriate
to operand
no</p>
      <p>select
“and”, “or”,
“xor”, etc.</p>
      <p>
        Two methods of entering rules could be imagined. One involves a tool that parses
“Structured English” text and attempts to discover the underling meaning. The
problem with that approach is that all text – even “Structured English” – has ambiguities.
Manual user involvement would be required to resolve those ambiguities.
This prototype employs an alternate approach in which rules are entered through a
tool “wizard” that guides users, step-by-step, through the process of creating a
complete rule. Figure 6 summarizes the wizard steps. Advantages of this approach are
two-fold: (a) users can only enter valid rules; (b) the meaning of the rules is explicit.
Transforming from Business Model to Platform Independent (PIM) Model
Following the MDBT technology, the rules entered through the wizard are converted
to a PIM-layer solution as part of the overall MDBT transformation. MDBT models
the PIM layer using UML class, state, and use case diagrams. This prototype extends
the class diagrams by converting the rules to pre-conditions on the class operations.
These pre-conditions are expressed using the Object Constraint Language [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ].
Advantages of OCL for this purpose include the fact that it is an established standard,
the potential to convert to any appropriate PIM-layer implementation, and OCL’s
built-in collection operators. The latter facilitate SBVR’s use of universal and
existential logic. For example, a rule fragment such as “each line item of the order is
complete” may be converted to an OCL fragment such as
“lineItemsÆ select(isComplete)”.
      </p>
      <p>
        Transforming from Platform Independent Model to Platform Specific (PSM)
Model
The transformation from PIM-layer to PSM-layer potentially converts the
preconditions to equivalent tests in various aspects of the implementation. These include
code that enables or disables buttons in the user interface, guards on state machine
transitions, and potentially access control statements in a language such as the
eXtensible Access Control Markup Language (XACML) [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. The first example rule given
above might map to all of these. This illustrates the power of SBVR and the MDBT
approach: a single rule given at the business layer potentially drives multiple aspects
of the ultimate solution.
      </p>
      <p>For simplicity, this prototype converts the OCL preconditions only to Java. The
transformation is simple, except that collection operators must be generated as
corresponding “for” loops. Mappings to implementations such as rule languages,
XACML, script languages, and others are possible and relatively easy with the
MDBT approach.</p>
      <sec id="sec-5-1">
        <title>Related Work</title>
        <p>
          Since SBVR is quite new, relatively little work has been published about it. One
announced commercial implementation and a research prototype of SBVR exist:
• RuleExpress is a commercial SBVR tool produced by a collaboration of Business
Rule Solutions, LLC [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] and LibRt [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. The website [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] says RuleExpress
provides “Business-people capabilities for business rules … capture, expression,
validation, verification, visualization, management, publication, audit.”
• SBeaVer [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] is an open-source SBVR tool created by Maurizio De Tommasi and
Pierpaolo Cira at the University of Lecce in Italy, in a project funded by the
European Digital Business Ecosystem [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] project. This tool runs as a plugin for the
Eclipse [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] tools platform, and provides for creation, editing, validation,
verification, and export of both vocabulary and rules.
        </p>
        <p>These tools enable entry and modification of rules and vocabulary using “Structured
English”. In contrast, the work described here focuses upon transformation of the
rules to executable code.</p>
      </sec>
      <sec id="sec-5-2">
        <title>Summary and Outlook</title>
        <p>The project experience so far is that entering rules in SBVR “Structured English”
seems to be a useful adjunct of the existing Model-Driven Business Transformation
(MDBT) technology. Conversion of the limited subset of SBVR supported by this
prototype into OCL and Java is straightforward.</p>
        <p>This prototype addresses a small portion of the concepts defined by SBVR. Features
of particular interest for future work include:
• Synonyms to permit alternative terms and part of speech in rules. For example, a
‘License Application’ might also be named an ‘Application’.
• Noun and fact type definitions to simplify the expression of certain rules. For
example, rather than specifying rules for when a clerk may validate an application,
one might define a ‘valid application’ according to a set of conditions.
• Additional modalities, such as necessities and obligations. The second example
above gives an example of an obligation rule.</p>
        <p>These three require very different kinds of technology. Synonyms are entirely a
matter of tools function. Definitions and other modalities require either new
transformations among modeling levels or new execution mechanisms such as inferencing.
SBVR brings together concepts from several distinct traditional academic subjects:
philosophy (modal logics, taxonomies), linguistics (semantics, pragmatics), and
mathematics (first order logic). The application of these concepts to computer science
topics such as modeling, model transformation, Description Logics, and rules, offers
rich opportunities for scientific and technical progress. The expression of these
concepts in “Structured English” promises to make rules practical and useful for
everyday business solutions.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Business</given-names>
            <surname>Rule</surname>
          </string-name>
          <string-name>
            <surname>Solutions</surname>
          </string-name>
          , LLC. See http://www.brsolutions.com/.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Chowdhary</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bhaskaran</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Caswell</surname>
            ,
            <given-names>N. S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chang</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chao</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chen</surname>
          </string-name>
          , S.
          <article-title>-</article-title>
          K.,
          <string-name>
            <surname>Dikun</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lei</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jeng</surname>
          </string-name>
          , J.-J.,
          <string-name>
            <surname>Kapoor</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lang</surname>
            ,
            <given-names>C. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mihaila</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stanoi</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zeng</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          “
          <article-title>Model Driven Development for Business Performance Management.” IBM Systems Journal</article-title>
          , Volume
          <volume>45</volume>
          ,
          <string-name>
            <surname>Number</surname>
            <given-names>3</given-names>
          </string-name>
          ,
          <source>Page</source>
          <volume>587</volume>
          (
          <year>2006</year>
          ). Available at http://www.research.ibm.com/journal/sj45-
          <fpage>3</fpage>
          .html
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>De</surname>
            <given-names>Tommasi</given-names>
          </string-name>
          , Maurizio, Cira, Pierpaolo. SbeaVer Business Modeler Editor. Available at http://sbeaver.sourceforge.net.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Digital</given-names>
            <surname>Business</surname>
          </string-name>
          <article-title>Ecosystem project, “an Internet-based software environment in which business applications can be developed and used”</article-title>
          . Available at http://www.digitalecosystem.org/.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. “
          <article-title>Eclipse is an open source community whose projects are focused on providing an extensible development platform and application frameworks for building software</article-title>
          .” Available at http://www.eclipse.org/.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>IBM</given-names>
            <surname>Rational Software Architect</surname>
          </string-name>
          . See http://www306.ibm.com/software/awdtools/architect/swarchitect/index.html.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>IBM WebSphere Business</surname>
          </string-name>
          <article-title>Modeler</article-title>
          . See http://www-306.ibm.com/software/integration/wbimodeler/.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>IBM WebSphere Integration</surname>
          </string-name>
          <article-title>Developer</article-title>
          . See http://www-306.ibm.com/software/integration/wid/.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>IBM WebSphere Process</surname>
          </string-name>
          <article-title>Server</article-title>
          . See http://www-306.ibm.com/software/integration/wps/.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Koehler</surname>
          </string-name>
          , Jana; Hauser, Rainer; Kapoor, Shubir; Wu, Fred Y.;
          <article-title>and Kumaran, Santhosh. A Model-Driven Transformation Method</article-title>
          .
          <source>In Proceedings of the Seventh International Conference on Enterprise Distributed Object Computing</source>
          , pages
          <fpage>186</fpage>
          --
          <lpage>197</lpage>
          . IEEE,
          <year>September 2003</year>
          . Available at http://doi.ieeecomputersociety.
          <source>org/10</source>
          .1109/EDOC.
          <year>2003</year>
          .
          <volume>1233848</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>11. LibRT. See http://www.librt.com/.</mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <article-title>Organization for the Advancement of Structured Information Standards (OASIS). eXtensible Access Control Markup Language (XACML)</article-title>
          . See http://www.oasisopen.org/committees/tc_home.php?wg_abbrev=xacml.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. Object Modeling Group (OMG).
          <source>MDA Guide, version 1</source>
          .01,
          <year>2003</year>
          . Available at http://www.omg.org/docs/omg/03-06-01.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14. Object Modeling Group (OMG).
          <source>Production Rules Representation Revised Submission, June</source>
          <volume>5</volume>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15. Object Modeling Group (OMG).
          <source>Semantics of Business Vocabulary and Rules Specification Drafted Adopted Specfication, March</source>
          <volume>2</volume>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16. RuleExpress, “
          <article-title>The business tool for expressing and communicating business rules</article-title>
          .” Available at http://www.rulexpress.com/index.php.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Warmer</surname>
            , Jos, Kleppe,
            <given-names>Anneke.</given-names>
          </string-name>
          <article-title>The Object Constraint Language: Getting Your Models Ready for MDA. second edition</article-title>
          ,
          <source>Addison-Wesley Professional; 2003; ISBN 0321179366.</source>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>