NL2OCL Project

Simplifying the process of software modelling with improved accuracy to generate robust models

NL2OCL
NL2SBVR (A Natural Language to SBVR Business Rules Transformation)


NL2SBVR is a sub-component of the NL2OCL project. NL2SBVR is a tool that generates SBVR (Semantic Business Vocabulary and Rules) constraints from English text by performing a series of transformations i.e. from UML (Unified Modelling Language) class model to SBVR vocabulary and then Natural Language (English) to SBVR business Rule with respect to generated SBVR business vocabulary..

Start date:
12-Oct-2009


Abstract:

NL2SBVR project is based on a rule based approach to automate the process of English specification of business rules to SBVR rules. In business modelling, the most important phase is to write a set of business rule for business processes. Typically, a business rule  The aim of the method is to produce a framework so that the user of UML (Unified Modelling Language) tools can write constraints and pre/post conditions in English and the framework converts such English expressions to the equivalent OCL statements. The proposed approach is implemented in a software tool OCL-Builder that generates OCL constraints from English text via SBVR. Our tool allows software modellers and developers to generate well-formed OCL expressions that results in valid and precise models.


Used Approach:

The NL2SBVR is a modular NL-based software tool that generates OCL constraints with respect to a target UML model. It takes two inputs: a single English statement and a UML model. To process the input English text first it is linguistically analyzed. In linguistic analysis of the English text, the English text is Parts-Of-Speech (POS) tagged. Then a rule-based parser is used to further process the POS tagged information to extract basic SBVR (Semantic Business Vocabulary and Rules) elements e.g. noun concept, fact type, etc. Here, the SBVR vocabulary is mapped to a SBVR rule. Finally, to generate an OCL expression, the SBVR vocabulary is mapped to OCL syntax using the model transformation approach.

1.    Obtain a text document that is Natural Language (English) description of a constraint and a target UML model.

2.    Use a NLP module to syntactically and semantically analyse the informal constraint text and keep all the intermediate analyses result for further analysis.

3.    Use the UML (.ecore or .xmi) model to extract the SBVR (Semantic Business Vocabulary and Rules) vocabulary. Use the results produced by NLP module to extract SBVR elements e.g. noun concept, object type, Individual concept, verb concept, etc.

4.     Map the SBVR elements and SBVR vocabulary to ensure that the target SBVR business rule will be from the defined business model (UML Model).

5.     Use the SBVR vocabulary and SBVR  elements to generate SBVR (Semantic Business Vocabulary and Rules) business rule.

The following Figure illustrates the main steps of the OCL-Builder approach. These steps can be summarized as follows:

Screen-shots:

The screen shots of output windows for SBVR vocabulary and SBVR rules have been shown in the following figures:

Figure 1-  NL to Alloy Generator via OCL

 

Figure 2-  Input UML model parsed by NL2SBVR

 

Figure 3-  Input natural language (English) text

 

Figure 4-  SBVR business vocabulary generated by NL2SBVR

 

Figure 5-  SBVR business rule generated by NL2SBVR