Modélisation et exécution flexible de processus collaboratifs
- Cisse, Mamadou Lakhassane (2020)
Thèse
Accès libre
-
- 2020TOU20038
-
- Modélisation et exécution flexible de processus collaboratifs
-
- Collaborative processes modeling and flexible execution
-
- 30 octobre 2020
-
- Collaboration
- Processus
- Flexibilité
- Exécution
- Modélisation
-
- Collaboration
- Process
- Flexibility
- Execution
- Modelling
-
-
De nos jours, la collaboration et le travail d'équipe deviennent une nécessité dans la plupart des processus, en particulier en génie logiciel pour développer des produits logiciels complexes. La collaboration peut consister en une coordination entre diverses tâches pour synchroniser leur progression (collaboration faible). Elle peut également se produire sous la forme d'une coopération d’acteurs au sein d'une tâche donnée, appelée tâche collaborative, pour atteindre un objectif commun (collaboration forte). Le défi est alors d’organiser cette collaboration forte pour optimiser la qualité et le temps de développement.
Depuis plusieurs années, de nombreuses recherches ont été menées dans différentes communautés sur divers aspects du travail collaboratif. Certaines approches fournissent des constructions pour modéliser les activités qui doivent être coordonnées pendant l'exécution du processus, mais elles ne permettent pas de contrôler finement et dynamiquement cette exécution en fonction de l’évolution du contexte du projet. Ce dernier représente l’ensemble des éléments qui peuvent affecter la façon de collaborer au sein d’une tâche. Il peut s'agir du nombre d'acteurs disponibles, de l'importance accordée à la tâche, de la structuration des artéfacts (composite ou non) en entrée/sortie, des dépendances entre les composants d’un artéfact composite, etc.
L'objectif de cette thèse est de proposer une approche permettant l'exécution flexible d'un processus collaboratif. L'idée est de laisser les acteurs du processus définir dynamiquement la stratégie de collaboration qui répond à leurs besoins lors de l'exécution.
Pour cela, nous proposons tout d’abord un langage permettant de modéliser un processus collaboratif et notamment la notion de tâche collaborative puis de la représenter à l’exécution comme une tâche multi-instances. Chaque instance est exécutée par un acteur séparé jouant le rôle réalisant la tâche. L’ordonnancement des instances doit répondre à la stratégie de collaboration la plus appropriée en fonction du contexte du projet.
Pour guider le chef de projet dans le choix d’une stratégie pour l’exécution d’une tâche collaborative, nous avons défini un ensemble de patrons de collaboration qui correspondent aux stratégies les plus usuelles en fonction du contexte (par exemple : enchainement séquentiel des instances de tâche pour faire du raffinement, exécution en parallèle des instances de tâches pour faire du co-travail).
La sémantique d
-
De nos jours, la collaboration et le travail d'équipe deviennent une nécessité dans la plupart des processus, en particulier en génie logiciel pour développer des produits logiciels complexes. La collaboration peut consister en une coordination entre diverses tâches pour synchroniser leur progression (collaboration faible). Elle peut également se produire sous la forme d'une coopération d’acteurs au sein d'une tâche donnée, appelée tâche collaborative, pour atteindre un objectif commun (collaboration forte). Le défi est alors d’organiser cette collaboration forte pour optimiser la qualité et le temps de développement.
-
-
Nowadays, collaboration and teamwork are becoming a necessity in most processes, especially in software engineering to develop complex software products. Collaboration can consist of coordination between various tasks to synchronize their progress (weak collaboration). It can also occur in the form of a cooperation of actors within a given task, called a collaborative task, to achieve a common goal (strong collaboration). The challenge is then to organize this strong collaboration to optimize quality and development time.
For several years, a lot of research has been carried out in different communities on various aspects of collaborative work. Some approaches provide constructs to model the activities that must be coordinated during the execution of the process, but they do not allow to finely and dynamically control this execution according to the evolution of the context of the project. The latter represents the set of elements that can affect how to collaborate within a task. It can be the number of actors available, the importance given to the task, the structure of the inputs / outputs (composite or not), dependencies between the components of a composite artefact, etc.
The objective of this thesis is to propose an approach allowing the flexible execution of a collaborative process. The idea is to let the process actors dynamically define the collaboration strategy that meets their needs during execution.
For this, we first propose a language allowing to model a collaborative process and in particular the notion of collaborative task then to represent it at execution as a multi-instance task. Each instance is executed by a separate actor playing the role carrying out the task. The scheduling of instances must respond to the most appropriate collaboration strategy depending on the context of the project.
To guide the project manager in choosing a strategy for the execution of a collaborative task, we have defined a set of collaboration patterns which correspond to the most usual strategies depending on the context (for example: sequential execution of task instances to do refinement, parallel execution of task instances to do co-work).
The semantic of execution of collaborative tasks is formalized by means of UML state machines describing the life cycle of the elements of the process: tasks, products, actors. The transitions between the states are carried out by actions which are configured by the collaboration pattern to be applied.
-
Nowadays, collaboration and teamwork are becoming a necessity in most processes, especially in software engineering to develop complex software products. Collaboration can consist of coordination between various tasks to synchronize their progress (weak collaboration). It can also occur in the form of a cooperation of actors within a given task, called a collaborative task, to achieve a common goal (strong collaboration). The challenge is then to organize this strong collaboration to optimize quality and development time.
Citation bibliographique
Cisse, Mamadou Lakhassane (2020), Modélisation et exécution flexible de processus collaboratifs [Thèse]