Using BRs Filtering Method for Transform Pre-CIM to CIM in MDA Approach
Najiba Addamssiri, Azzeddine Dahbi, Mohammed Mouhir, Abdelouahed Kriouile, Taoufiq Gadi
Lavete Laboratory, Hassan 1 University, Settat, Morocco
To cite this article:
Najiba Addamssiri, Azzeddine Dahbi, Mohammed Mouhir, Abdelouahed Kriouile, Taoufiq Gadi. Using BRs Filtering Method for Transform Pre-CIM to CIM in MDA Approach.American Journal of Software Engineering and Applications.Vol.4, No. 6, 2015, pp. 121-127. doi: 10.11648/j.ajsea.20150406.14
Abstract: In order to facilitate communication between business experts and analysts, we adopt the pre-CIM as the most abstract level in the MDA process, integrating the SBVR (Semantics of Business Vocabulary and Rules) to express the rules in this level. Incomplete communication among these stakeholders will produce anomalies in the BRs (redundancy, conflict, circularity). This will lead to serious errors in the system and will heavily increase the final cost. We propose to incorporate a crucial step to filter and correct these BRs. Going through this step will verify their consistency and coherence before turning them into BPMN located in the CIM level. This is a great advantage in terms of saving time and reducing maintenance costs.
Keywords: MDA, CIM, PIM, Model Transformation, BPMN, Business Rules
The MDA (Model-Driven Architecture)  is an initiative of the OMG released in 2000. It is a proposal to both an architecture and a development approach. The basic idea of MDA is to separate functional specifications of a system from its implementation details on a given platform. For this, the MDA classify the models in the development process into three levels. The first level CIM defines the business process model and aims to get the key activities of the company. It is designed to enable the link between the business analyst who works on the requirements and the IT architect who offers technical solutions . The second level PIM (Platform Independent Model) shows a view of the system independently of the details of the technology. In addition, the third level (PSM Platform Specific Model) contains information for the realization of a technology on a specific platform. The MDA approach allows applications to interoperate by linking their models and promotes adaptability to changing platforms and techniques. The MDA implementation is entirely based on models and their transformations.
John K  has proposed to add pre-CIM as the first level of analysis of the problem to simplify the production of domain models during the development of MDA. Thus avoids the complexity of the immediate study of CIM formalization and PIM notations modeling. In this article, we adopt the idea of John K by adopting the pre-CIM as the most abstract level in the MDA, the fact which helps to express and filter anomalies of business rules to avoid any unexpected assignment at CIM that will spread to PIM and PSM levels.
The anomalies identification of the business rules is increasingly a matter of great concern for the development of the information systems (IS) because it affects their final costs, particularly where this identification occurs at a later stage. In order to test the coherence and consistency of the business rules we propose to move the SBVR  (vocabulary and semantics of business rules) to the pre-CIM level and add to it a crucial step for filtering and correcting the found structural anomalies.
The rest of this article is organized as follows: section 2 introduces relevant literature review. The Section 3 presents the proposed approach. In section 4, an example given to illustrate the applicability of our approach. Finally, section 5, concludes the paper and informs the reader about the future prospects of our ongoing research.
2. Background and Related Work
2.1. The Architecture of Pre-CIM
The architecture of the pre-CIM should be simple and understandable by both business experts and analysts. The latter have various languages which allow the establishment of complex constructions. Among these languages we mention, first and foremost, flowcharts that have 6 basic structures and 4 extended ones whereas BPMN  had 11 basic structures and 39 extended ones.
Wahl and Sindre  analyzed BPMN based on the Semiotic Quality Framework and concluded that the former is far from being understood by both non-technical domain experts and IT professionals. In fact, there are 23 different pre-defined elements in the BPMN to represent different types of events. Most of them have their origin in the IT domain and not the business domain and they are therefore not intuitive for the business user.
Dima  tried to model the pre-CIM by presenting a notation based on the notions of rules, activities, objects, data, and bloop for expressing the unidentified concepts. These concepts are hard to understand by business experts with no IT knowledge. In addition, these concepts are very limited and they do not allow creating a complete CIM level.
2.2. Architecture of CIM
In our previous work , we have constructed the architecture of the CIM level that introduces their static, dynamic, and functional perspectives. We have represented the models of business process by BPMN, and we have proposed to transform them horizontally to detailed use case models with the textual description formalized by SBVR. In  we have presented the refinement of the CIM level using a horizontal transformation from use case diagram to BPMN.
Olfa and Jack  and Steen Bas and al  present an automatic transformation from SBVR to BPMN without supporting the automatic filtering and correction of the business rules. Knowing that any automation based on incoherent business rules leads to serious errors in the system and generates at the end a different product that differs from the customer expectations, which affects the development time and the final cost.
Taking advantage of the utility of pre-CIM we can overcome these problems through the displacement of the SBVR at this level and the addition of a step for filtering the business rules before transforming them to BPMN located in the CIM level.
3. Overview of Our Proposed Approach
We are introducing our approach in three fundamental steps, as illustrated in the figure 1. First, we present the architecture of pre-CIM level represented by SBVR that describes the business rules based on natural language. Secondly, we expose the SBVR filtering step by detecting and resolving its structural anomalies as well as redundancy and conflict. Finally, we automatically transform the SBVR to BPMN located in the CIM level.
3.1. Model Representing the Pre-CIM of our Method: SBVR
We have chosen the SBVR for modeling the architecture of pre-CIM. This choice of displacement of SBVR in pre-CIM level responds to two fundamental aspects. Primo, the chosen model in this level is able to describe the contextual problem using natural sentences understood by business experts and analysts. In addition, it is usable and implementable by the system respecting CIM specifications. Secondo, before transforming the BRs into CIM level, the chosen model permits the integration of the step of filtering and correction of BR’s structural anomalies.
3.2. Filtering and Correction of Business Rules
We have made a comparative study of a set of methods used for the treatment of structural anomalies of business rules. Among these methods; Zhang  presents a novel rule model known as SOECAP (Subject, Object, Event, Condition, Action, Post-condition) treating dynamically the BR’s conflict resolution using Vague set Theory . Denilson  presents a method for verifying the consistency of business rules using alloy model. It identifies and specifies the BRs to build up a conceptual model, describing the business concepts and their relations. Then it transforms the rules into an Alloy Model that verifies their consistency and coherence.
Richard  describes a conflict resolution theory using propositional logic in order to exclude the inference engine for systems during the development process. It uses verification criteria and solution strategies and finally derives four classes of rules and their rule ordering strategies. Rule based systems using FRS (First Rule Satisfied) rules contain four classes of rules.
Method URCKTA  uses a decision group, with an algorithm that has a confidence factor. In the algorithm, a "reliability factor" refers to the reliability level of the conflicting or redundant rules. The rule with a higher reliability factor will be chosen.
From a comparative study we have deduced that URKCTA method is the only one studied method. It automatically resolves redundancy and conflicts among Business Rules. Unfortunately, this method doesn’t propose a step of anomalies detection. Therefore, in this work we propose firstly, an algorithm that detects redundancy and conflict of the business rules as shown in figure 2, then we call for URKCTA method to resolve these anomalies as shown in figure 3.
After the detection and resolution of the structural anomalies in business rules, we present in the next section the transformation rules between the SBVR and the BPMN.
|Rule||Source element||Target element||Example|
|1||action in Fact type with transitive verb||Activity||the activity ‘inserts card’ from the fact type ‘client inserts card’|
|2||Subject of sentence having a transitive active verb||Swimlane||the swimlane ‘client’ from the fact type ‘client inserts card’|
|3||the subject with transitive active verb in the same sentence||Activity within a swimlane||the activity ‘inserts card’ in the swimlane ‘client’|
|4||two successive actions with one subject||sequence Flow||‘the machine displays main-screen’ and ‘the machine requests password’|
|5||Two Successive actions with two subjects.||message Flow||‘the machine requests PIN’ and ‘user enters PIN’|
|6||action in Fact type with condition||exclusive Gateway||It is obligatory that the client renters PIN If the bank determines invalid PIN|
|7||action in Fact type with condition and parallel transitions||Parallel Gateway||It is obligatory that the machine retains the card, and the client contacts the bank, if the client enters the PIN after three tries|
|8||multiple transactions followed by one action||Multiple Gateway||it is obligatory that the user inserts the card and inters the PIN in order to the machine opens her account|
3.3. SBVR and BPMN Mapping Rules
In order to establish the transformation rules between the SBVR and the BPMN we need a SBVR meta-model and BPMN meta-model. These meta-models are briefly discussed later.
3.3.1. BPMN Meta-Model
Figure 4 present the BPMN meta-model provided by the Eclipse BPMN modeler .
3.3.2. SBVR Meta-Model
The figure 5 presents an excerpt of simplified meta-model of SBVR  that has been used for the representation of rules.
3.3.3. Transformation Rules
Table 1 present the transformation rules between SBVR and BPMN. SBVR elements present the source meta-model elements and BPMN elements presents target meta-model elements.
The transformation will be constructed with QVT language  on EMF eclipse framework that will be able to extract the swimlanes, activities, getways, sequences flow and messages flow from the corrected SBVR.
The obtained result is an improved BPMN model avoiding any errors that may occur due to conflicted or redundant rules.
To show the interest of the filtering step which we propose, we present, in the next section, a case study containing a number of conflicting and redundant rules.
4. Case Study
To evaluate our approach, we propose to use this ATM system case study which enjoys a significant data flow.
• The first step is the modeling of SBVR:
Figures 6 and 7 illustrate the business vocabulary and business rules extracted from the customer specifications that are generated for an ATM machine showing the interaction with the customer.
• The second step concerns filtering and correction of business rules:
After the Classification of antecedents and consequents of all rules presented in Table 2, we generate both AM and CM matrices and we compare them to generate redundant and conflicted rules. Table 3 present redundant and conflicted rules selected.
|Number of rule||Antecedent||Consequent|
|R1||Client enters PIN||Machine verifies PIN|
|R2||Bank verifythat the PIN is invalid||client enters PIN|
|R3||PIN is invalid||Machine ejects the card|
|R4||Machine ejects at least one card||Client receives exactly one card|
|R5||Machine prompts for amount||Client enters a correct PIN|
|R6||Bank checks balance||Client enters withdrawal|
|R7||400 >requested amount> 20 dollars.||machine ejects card and prints receipt|
|R8||500 dollars >requested amount> 10 dollars.||machine ejects card and prints receipt|
|R9||200 dollars >=requested amount> 10 dollars||machine ejects card and prints receipt|
|R10||requested amount less or equal to account balance.||Bank debits account|
|R11||requested amount less or equal to account balance.||Bank debits account|
|R12||bank debits account||Machine renders notes, ejects card and prints receipt|
|R13||Machine renders notes||Client accepts notes|
|R14||Machine ejects card||Client accepts card|
|R15||Machine ejects card||Client accepts card|
|Redundant rules||R10, R11|
|Conflictual rules||R7, R8 et R9|
We remove repetitive rules from the discovered redundant ones, then we go to competition of the reliability factor of each conflict rule detected as presented in Table 4, at last we choose the rule having the highest reliability factor:
|Number of rule||reliability factor|
• The third step is to implement the mapping between BPMN and SBVR:
After running mapping rules proposed in Table 2 to generate automatically the new BPMN model, we have obtained the Swimlane client (with the activities: inserts card, enters PIN, enters withdraw, contacts bank, accepts notes, and accepts card), and the swimlane machine (with their activities: the swimlane bank (with the activities: verifies PIN, checks balance, and debits/deposit account). The figure 9 illustrate the generated BPMN model.
This article proposes an approach in the context of the architecture model driven by modeling a pre-CIM level and transforms it to CIM level. We have presented an architecture for pre-CIM using SBVR and adding an important step for filtering business rules before transforming them into BPMN located at CIM. This step leads us to achieve a very important result by generating a correct CIM without any human intervention.
Future improvements are strongly suggested such as the generation of a method that detects and resolves other anomalies of business rules like overlapping, circularity and the incompleteness.