A model driven approach for the development and verification of service-oriented applications

Abstract : As software systems are pervasive and play an important role in everyday life, the users are becoming more and more demanding. They mainly require more reliable systems that automatically adapt to different use cases. To satisfy these requirements, technical frameworks and design methods, upon which the systems development is based, must meet specific objectives mainly modularity, flexibility, and consistency. Service-Oriented Architecture (SOA) is a paradigm that offers mechanisms to increase the software flexibility and reduce development costs by enabling service orchestration and choreography. SOA promises also reliability through the use of services contracts as an agreement between the service provider and consumer. Model-driven SOA is a novel and promising approach that strengthens SOA with Model-Driven Engineering (MDE) technics that ease the specification, development, and verification of Service-Oriented Applications by applying abstraction and automation principles. Despite the progress to integrate MDE to SOA, there are still some challenging problems to be solved: (1) Rigorous verification of SOA system specifications. This is a challenging problem because to model SOA systems designers need more than one viewpoint, each of which captures a specific concern of the system. These viewpoints are meant to be semantically consistent with each other. This problem is called horizontal consistency checking and it is an important step to reduce inconsistencies in SOA models before transforming them into other forms (code generation, test cases derivation, etc.). (2) Transformation of systems specifications into executable artifacts. Despite the maturity of SOA, the transformation of system specifications into executable artifacts is usually manual, fastidious and error-prone. The transformation of services choreographies into executable orchestrations particularly remains a problem because of the necessity to take into account critical aspects of distributed systems such as asynchrony and concurrency when executing centralized orchestrations. (3) Runtime verification. Even after verifying Horizontal consistency at design time, there could be unexpected and unspecified data interactions that are unknown during design-time. For this reason, we still need consistency verification at runtime to handle such unforeseen events. This problem is called Vertical consistency checking. This thesis work proposes a Model-driven SOA approach to address the above-mentioned challenges. This approach includes a two-step model-driven methodology to horizontally and vertically verify the consistency of SOA systems specifications described using the SoaML standard from the Object Management Group (OMG). The horizontal consistency checking problem, which is the first challenge, is solved by means of static analysis of the system specification at the design level. The second challenge is solved by specifying the transformation from a choreography specification model to an executable orchestration implementing the choreography logic. Our transformation takes into consideration the asynchronous nature of the communications between distributed services. The vertical consistency checking problem, which is the third challenge, is solved by our approach thanks to offline analysis that allows consistency verification between both design and runtime levels. The entire methodological proposal was implemented as an extension to the open source UML modeling tool Papyrus.
Complete list of metadatas

Cited literature [103 references]  Display  Hide  Download

https://tel.archives-ouvertes.fr/tel-01827238
Contributor : Abes Star <>
Submitted on : Monday, July 2, 2018 - 1:04:20 AM
Last modification on : Tuesday, April 16, 2019 - 9:20:37 AM
Long-term archiving on: Monday, October 1, 2018 - 4:30:37 AM

File

76331_REKIK_2017_archivage.pdf
Version validated by the jury (STAR)

Identifiers

  • HAL Id : tel-01827238, version 1

Collections

Citation

Fadwa Rekik. A model driven approach for the development and verification of service-oriented applications. Computational Complexity [cs.CC]. Université Paris-Saclay, 2017. English. ⟨NNT : 2017SACLS088⟩. ⟨tel-01827238⟩

Share

Metrics

Record views

163

Files downloads

415