American Journal of Software Engineering and Applications
Volume 4, Issue 6, December 2015, Pages: 121-127

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

Email address:

(N. Addamssiri)
(A. Dahbi)
(M. Mouhir)
(A. Kriouile)
(T. Gadi)

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

1. Introduction

The MDA (Model-Driven Architecture) [1] 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 [2]. 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 [3] 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 [4] (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 [6] had 11 basic structures and 39 extended ones.

Wahl and Sindre [8] 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 [5] 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.

Figure 1. Our proposed architecture.

2.2. Architecture of CIM

In our previous work [8], 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 [9] we have presented the refinement of the CIM level using a horizontal transformation from use case diagram to BPMN.

Olfa and Jack [10] and Steen Bas and al [9] 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.

Figure 2. BRs Redundancy and conflict detection algorithm.

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 [12] 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 [13]. Denilson [14] 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.

Figure 3. URKCTA algorithm for resolving conflicted rules.

Richard [15] 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 [16] 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.

Figure 4. Main fragment of the meta-model BPMN.

Figure 5. Main fragment of the meta-model SBVR.

Table 1. BPMN2UC Transformation Rules.

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 [17].

3.3.2. SBVR Meta-Model

The figure 5 presents an excerpt of simplified meta-model of SBVR [11] 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 [18] 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.

Figure 6. A sample SBVR business vocabulary.

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.

Figure 7. Sample SBVR business rules.

Table 2. antecedents and consequent rules.

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

Table 3. redundant rules and conflicting rules.

Redundant rules R10, R11
  R14, R15
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:

Table 4. conflicting rules reliability factors.

Number of rule reliability factor
R7 0.63
R8 0.66
R9  0.34

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.

5. Conclusion

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.

This proposal completes our previous work [8], [19], [20] and [9] that subscribe under the global approach that aims to automate the whole development process.

 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.

Figure 8. BPMN diagram from above SBVR vocabulary and rules.


  1. M. J et M. J, MDA Guide Version 1.0.1, , Object Management Group (OMG), 2003.
  2. B. A W, I. S et J. S, A rational approach to modeldriven, IBM SYSTEMS JOURNAL, 2006.
  3. D. Harel, «Statecharts: A Visual Formalism for Complex Systems,» Science of Computer Programming, vol. 8, n° %13, pp. 231 - 274, 1987.
  4. S. Imran, M. G. Bajwa et B. B. Lee, «SBVR Business Rules Generation from Natural Language Specification,» Artificial Intelligence for Business Agility, pp. 541-545, 2011.
  5. OMG, "BPMN 2.0 by Example Version 1.0 (non-normative),", June 2010.
  6. T. Wahl et G. Sindre, «An analytical evaluation of BPMN using a semiotic quality framework.,» the 10th International Workshop Exploring Modelliong Methods in Systems Analysis and Design (EMMSAD ‘05).
  7. P. Dima, S. Christian, P. Keith et J. Sheridan, Enriching the Model-Driven Architecture with Weakly Structured Information, 2012.
  8. K. Abdel ouhed, A. Najiba, B. Younes et G. Taoufiq, «Obtaining Behavioral Model of PIM from the CIM,» chez Multimedia Computing and Systems (ICMCS), 2014 International Conference , Marrakech, 2015.
  9. A. Najiba, K. Abdelouhaed, B. Youssef et T. Gadi, «Generating the PIM Behavioral Model from the CIM using QVT,» Journal of Computer Science and Information Technology, 2015.
  10. C. Olfa et A. Jacky, «Automated transformation of business rules specification to business process model,» SEKE2014, pp. 684-687, 2014.
  11. S. Bas, P. Luís Ferreira et I. Maria-Eugenia, «Automatic generation of optimal business processes from business rules,» chez Enterprise Distributed Object Computing Conference Workshops (EDOCW), Vitoria, 2010.
  12. Z. Qingchuan, Z. Guangping, X. Chaoen et Y. Yang, «A rule conflict resolution method based on Vague set,» Soft Computing , vol. 18, pp. 549-555, 2013.
  13. L. An et N. Wilfred, «Vague Sets or Intuitionistic Fuzzy Sets for Handling Vague Data: Which One Is Better?,» Lecture Notes in Computer Science, vol. 3716 , pp. 401-416, 2005.
  14. G. Denilson dos Santos, S. Eber Assis et J. A. Antônio, «A Method for Verifying the Consistency of Business Rules Using Alloy,» chez International Conference on Software Engineering & Knowledge Engineering, Vancouver, Canada, 2014.
  15. H. Richard C, «The no inference engine theory — Performing conflict resolution during development,» Decision Support Systems, p. 435–444, 2006.
  16. C. MIN-YUAN et H. CHIN-JUNG, «A Novel Approach for Treating Uncertain Rule-based Knowledge Conflicts,» JOURNAL OF INFORMATION SCIENCE AND ENGINEERING, vol. 25, pp. 649-663, 2008.
  17. Eclipse, BPMN Modeler, 2009.
  18. O. M. Group, Meta Object Facility (MOF) 2.0 Query/View/Transformation, V1.1, 2011.
  19. A. A. N. G. T. &. B. Y. Kriouile, «Getting the Static Model of PIM from the CIM,» chez 3rd Colloquium IEEE on Information Science and Technology (CiSt'14), Tetuan, 2014.
  20. A. K. S. B. T. G. Najiba Addamssiri1, «MDA Approach: Refinement and Validation of CIM Level Using SBVR,» Mediterranean Conference on Information & Communication Technologies'2015, 2015.

Article Tools
Follow on us
Science Publishing Group
NEW YORK, NY 10018
Tel: (001)347-688-8931