Une Approche de Composition de Services Dynamiques : application aux Systèmes Collaboratifs
Willy Kengne Kungne · HAL (Le Centre pour la Communication Scientifique Directe) · 2021
The composition of services is a process of grouping several services into a single service to perform important functions. In recent decades, many languages have been proposed for their modeling. Most of them are based on process-oriented approaches. The latter produce imperative languages, which are rigid to change because they focus on how processes should be constructed. Despite the fact that semantics are introduced in languages to increase their flexibility, dynamism is limited to finding services that have disappeared or have become defective. They do not offer the possibility of adapting the composite service to the execution. Although rule-based languages have been introduced, they describe constraints to guide the construction of composite services, they remain very dependent on BPML which is the underlying technology and are centralized. This thesis proposes the specification of a purely declarative language based on rules for the composition of services in a peer-to-peer environment. A declarative approach has properties of flexibility, adaptability, reusability and even formal semantics. First, we propose a declarative language named GSLang for the composition of services. We define a composite service as a rule of production of a grammar with a left-hand side (LHS) which is the service to define and a right-hand side (RHS) being the services required to realize the LHS service. The syntactic categories presenting the concepts of GSLang and a formal description of the operational semantics which highlights dynamism, flexibility and adaptability are defined. Next, a verification framework is designed. Using the Model Driven Engineer, we define a meta-model for the GSLang language. The verification framework translates the GSLang service specifications into the Promela language for the verification. The latter makes it possible to verify in particular that a service specification GSLang is resolved. Finally, a set of tools is proposed consisting of an editor for the GSLang specifications, a transformation engine and an execution engine. Finally, a case study of a simplified mission management system is presented in order to show how to specify a system completely using our approach and highlighting its properties.