Since the antecedent reportableTransaction of the
inclusion rule is a disjunction of acquisition and dis-
posal, the implications or simple DR-Prolog rules
specifying this relation follow.
fact (reportableTransaction(TransRef)) :- fact (acqui-
sition(TransRef)).
fact (reportableTransaction(TransRef)) :- fact (dis-
posal(TransRef)).
Definitional rules get translated as simple DR-
Prolog rules, as
fact (acquisition(TransRef)) :- fact (pur-
chase(TransRef)).
fact (acquisition(TransRef)) :- fact (enteringDeriva-
tiveContractInFI(TransRef)).
The generic SBVR-to-DR-Prolog meta-model
mapping and translator can thus be used to translate
any SBVR model of rules to a rule base in DR-Prolog
in an automated manner.
In the next section, we discuss insights and lessons
learnt in applying our approach.
5.5 Discussion and Lessons Learnt
In the course of development of this architecture and
during its application, we came across several impor-
tant considerations that are discussed here.
In theory, writing SE rules is not hard for do-
main experts, with a little training, given that SE is
a restricted subset of English with well-defined key-
words. However, there are several ways in which
rules can be expressed in SE, with the same meaning,
compounding the risk of making syntactic errors. We
created an SE editor that checks syntax, to get around
this problem. Even so, manual encoding of SE rules,
as well as identifying rule statements to be encoded
from the voluminous NL text of regulations are effort-
intensive tasks. Intelligent assistance in these tasks
to significantly reduce experts’ burden is needed, so
that their time is utilized efficiently. Towards this
end, we are working on automated rule extraction us-
ing natural-language processing and machine learning
techniques. These techniques are semi-automated,
and extract SE rules from NL text of regulations, so
that domain experts can validate them. Availability
of bilingual corpora is important for the accuracy and
success of these techniques. Initially some effort may
need to be expended, to create such corpora.
Manually translating SE rules to SBVR as we
did for the case study is even more cumbersome and
error-prone than coding SE rules, since SBVR syn-
tax is complex. Similar to SE, SBVR also provides
several ways of encoding a rule. We are therefore
working on automating this step. This makes correct-
ness of SE rules all the more important. To avoid er-
rors, the SE-SBVR mapping and translation must be
validated, again using a bilingual corpus. Since the
SBVR model can be built in several ways, we found
that deciding on modeling standards and guidelines
upfront was essential to maintain consistency in the
model. This is necessary even when translation from
SE is automated.
Although automation speeds up the process, do-
main experts’ review can become a bottleneck when
applying the approach in the real world. Other practi-
cal considerations are managing multiple users work-
ing on creating various parts of the model at the same
time, allowing sharing of models, and preventing du-
plication.
OMG’s provision of SE as a controlled natural-
language interface to SBVR is an invaluable feature
that makes it possible for domain experts to interact
with and review the generated model, that would be
hard to do directly with SBVR. Since SE is usable by
domain experts, it provides a way to create the CIM
in OMG’s MDA process. SE is the key link that helps
create a model from natural-language specifications.
OMG’s MDA process gives a method for using
models and model-based techniques effectively for
generating code. The most important consideration in
choice of modeling languages is their expressiveness
with respect to the requirements of the problem con-
text. However, all features needed in the problem con-
text may not be available in each modeling language
chosen for our architecture. Workarounds need to be
implemented by specifying construct-specific trans-
formation rules in the CIM-PIM and PIM-PSM model
mapping to take care of such cases, so that there is
no loss of information. For instance, real-world ap-
plications make use of temporal constructs that can
be modeled in SE. However, temporal constructs are
not directly supported by SBVR and DR-Prolog, but
are encoded using available arithmetic functions and
variables to denote time. On the other hand, Drools
supports temporal constructs, which makes it better
suited as a PSM for real-world business applications.
An important consideration in using model-based
techniques is model validation. In our approach, we
validated the models and transformations manually,
as well as by testing the generated rules using the rule
engine and test bed data. Any discrepancies with ex-
pected results were manually traced back through the
model chain to arrive at the source of the error.
Domain experts validated the SE rules written by
us for our case study application. They validated the
generated rules by examining the results of rule ex-
ecution on their test data comprising a set of actual
transactions from one of their systems. They exam-
ined the rules executed, their success/ failure status,
Towards Automated Generation of Regulation Rule Bases using MDA
625