ReMo-SDP

ReMo-SDP is a Refinement-based Approach for Modeling SOA Design Patterns. ReMo-SDP tool is a graphical modeling tool that implements our approach, it ensures an easy and efficient modeling way for users. ReMo-SDP is based principally on three steps:

  • In the first step, the architect models SOA design patterns using an Eclipse plug-in that we propose. First, he/she defines the solution of the pattern (i.e. by defining the set of diagrams proposed by the SoaML language). Second, the plug-in automatically maps SoaML models towards XML lan- guage. It ensures that each generated XML description is valid w.r.t. the metamodel (ecore).
  • In the second step, the system automatically translates the graphic SoaML models to Event-B specifications, through transformation rules, in order to attribute formal semantics to SOA design pattern models.
  • In the third step, the designer should interact with an Event-B tool (Rodin) that supports the generation of Proof Obligations belonging to Event-B models. The Rodin tool is also used in order to check the syntax of SOA design pattern specifications as well as their correctness.



Tool Support

Our approach is enhanced by an Eclipse plug-in. It is a graphical modeling tool that makes the modeling of SOA design patterns easier. It ensures an easy and efficient modeling way of SOA design patterns.

Several diagrams are available in the plug-in; we can model Participant diagram, Service Interface diagram, Message Type diagram and UML2.0 Sequence diagram. The SOA design patterns diagram editor is a tool where diagrams can be created to model patterns. Graphical elements can be picked up from a tool palette and created in the Diagram editor pane in a "drag-and-drop" way. Elements of the palette are listed under Nodes and Links elements.

The following Figure shows the diagram editor of the SOA design patterns with an illustration of the "Asynchronous Queueing" pattern example.

The plug-in transforms the generated XML files, according to transformation rules expressed with the XSLT language, into Event-B specifications. These specifications can be imported under the Rodin platform to verify their correctness.

By applying transformations rules on the generated XML specifications, we obtain Event-B specifications.



Case Studies

We applied ReMo-SDP on many case studies. As an example, we present the Asynchronous Queuing Pattern (AQ):

  • Modelling phase: The Screenshot of the SoaML pattern models [link]
  • Transformation phase: The generated XML files [link]
  • Verification phase: The generated Event-B pattern specifications [link]



Demonstration

In this demonstration, we show the modeling and the transformation of “Reliable Messaging” design pattern with the tool. The design of the pattern consists of the four following diagrams: Participant diagram, Message type diagram, Service Interface diagram and Sequence diagram. This design is done on three refinement levels. So, the demonstration is showing these levels with three video sequences.

Sequence 1:

  1. Modeling the four diagrams in the first level (Level 0).
  2. Transforming pattern models to XML files.
  3. Transforming the generated XML files to Event-B specification (Level 0).
  4. Importing the resulting specifications under the Rodin Platform.

Sequence 2:

  1. Refining the four diagrams modeled in the first level to obtain diagrams of the second level (Level 1).
  2. Transforming pattern models to XML files.
  3. Transforming the generated XML files to Event-B specification (Level 1).
  4. Importing the resulting specifications under the Rodin Platform.

Sequence 3:

  1. Refining the four diagrams modeled in the second level to obtain diagrams of the third level (Level 2).
  2. Transforming pattern models to XML files.
  3. Transforming the generated XML files to Event-B specification (Level 2).
  4. Importing the resulting specifications under the Rodin Platform.


Download

Setup : ReMo-SDP Tool should be added under the plugins directory of the Eclipse framework.



Contributors



Research Groups

ReDCAD Research Laboratory (Tunisia)

    National School of Engineers of Sfax
    Route de la Soukra km 3.5 B.P., 1173, 3038 Sfax - Tunisia

LAAS Laboratory (France)

    LAAS - CNRS (France)
    Université Paul Sabatier, Toulouse
    7 avenue du Colonel Roche, 31077 Toulouse Cedex 4 - France


Related papers

  • Tounsi, I., Hadj Kacem, M. , Hadj Kacem, A., Drira, K.: A Refinement-Based Approach for Building Valid SOA Design Patterns. In: International Journal of Cloud Computing, IJCC, (To Appear)

  • Tounsi, I., Hadj Kacem, M., Hrichi, Z., Hadj Kacem, A., Drira, K.: ReMo-SDP Tool cookbook, The 2nd International Collaborative Tutorial of Multimedia Ontology-driven Learning Collaborative Architecture (MOLCA’2014), Toulouse, France (2014) (To Appear).

  • Tounsi, I., Hadj Kacem, M., Hadj Kacem, A.: Building Correct by Construction SOA Design Patterns: Modeling and Refinement. In: Software Architecture: Proceedings of the 7th European Conference, ECSA, Lecture Notes in Computer Science, vol. 7957, pp. 33-44. Springer Berlin Heidelberg, Monpellier, France (2013).

  • Tounsi, I., Hrichi, Z., Hadj Kacem, M., Hadj Kacem, A., Drira, K.: Using SoaML Models and Event-B Specifications for Modeling SOA Design Patterns. In: Proceedings of the 15th International Conference on Enterprise Information Systems (ICEIS 2013), pp. 294-301. Angers, France (2013).

  • Tounsi, I., Hadj Kacem, M., Hadj Kacem, A.: An Approach for Modeling and Formalizing SOA Design Patterns. In: Proceedings of the IEEE 22nd International WETICE Conference (WETICE 2013), pp. 330-335. IEEE Computer Society, Hammamet, Tunisia (2013).

  • Tounsi, I., Hadj Kacem, M., Hadj Kacem, A., Drira, K., Mezghani, E.: Towards an Approach for Modeling and Formalizing SOA Design Patterns with Event-B. In: Proceedings of the 28th Annual ACM Symposium on Applied Computing, SAC 2013, pp. 1937-1938. ACM, Coimbra, Portugal (2013).

  • Tounsi, I., Hadj Kacem, M., Hadj Kacem, A., Drira, K.: The Sender Released Pattern: An SOA design pattern for inter-service message exchange. In: Proceedings of the IEEE 21st International WETICE Conference (WETICE 2012), pp. 405-410. Toulouse, France (2012).