Les travaux présentés dans cette thèse concernent des problématiques d'architecture logicielle multi-domaines pour le développement d’applications distribuées. Ces applications sont caractérisées aujourd’hui comme des systèmes ouverts, complexes, hétérogènes et à large échelle. Les approches traditionnelles, telles que l’approche orienté objet, n’offrent plus un paradigme de conception suffisant pour appréhender la complexité de tels systèmes. Ces nouvelles tendances ont conduit à l’émergence d’approches de plus haut niveau telles que les approches orientées services, composants ou agents. Chacune de ces approches offrent des intérêts et des caractéristiques propres dans le développement d’applications distribuées. Les services offrent une abstraction et une interopérabilité à large échelle. Abstraction dans le sens où un service permet de spécifier un élément fonctionnel sans préciser comment cet élément est implémenté. Les composants sont une approche robuste basée sur la composition et la réutilisation d’éléments clairement définis par leurs interfaces. Les agents sont eux des éléments présentant un comportement dynamique dirigé par un but et des interactions de haut niveau avec les autres agents formant l’application, vue comme une organisation de services collaboratifs. D’un point de vue conceptuel, le service peut donc être perçu comme le modèle « métier » de l’application, alors que les composants et les agents constituent un modèle d’implémentation. L’étude de ces différents domaines et des modèles associés, a montré que les approches composants et agents sont complémentaires, les points forts d’une approche représentant les faiblesses de l’autre. Face à ce constat, il nous est paru intéressant d’intégrer ces deux approches, au sein d’une même démarche de conception. Cela permet, d’une part, qu’une approche puisse bénéficier des intérêts de l’autre et d’autre part, d’utiliser conjointement des agents et des composants dans la conception d'une même application. La démarche que nous avons adoptée consiste à considérer les services comme pivot d’interaction afin de rendre possible l’interopérabilité des agents et des composants. Pour supporter cette démarche, nous avons défini un processus de conception basé sur l’Ingénierie Des Modèles qui contient quatre modèles conceptuels (Domain Specific language) dont l’intérêt est de mettre l’accent sur les concepts de services et d’interaction. Nous avons ainsi défini un modèle de services, un modèle de composants et un modèle d’agents. Enfin, un modèle mixte appelé CASOM, Component Agent Service Oriented Model, permet de spécifier une application via une combinaison des trois domaines précédents. Ensuite, des règles de correspondances ont été définies entre les quatre modèles pour pouvoir par exemple transformer une spécification agents en une spécification composants ou mixte. L'implémentation de ces transformations a été réalisée en langage ATL (ATLAS Transformation Language). / The presented work considers problems related to multi-domain software architecture for the development of distributed applications. These applications are large-scaled, heterogeneous, open and complex software systems. Traditional approaches such as object-oriented are no longer sufficient to represent such complex systems. These trends lead to the emergence of higher-level approaches such as service-oriented, components or agents. Each one of these approaches offers interests and characteristics in the development of distributed applications. Services provide an abstraction and interoperability in a large scale. Abstraction is in the sense that a service can specify a functional element without specifying how this element is implemented. The components are a robust approach based on composition and reusability through their clearly defined interfaces. Agents are elements which are characterized by dynamic goal directed behaviours and high-level interactions with other agents forming the application, seen as an organization for collaborative services. From a conceptual point of view, the service can be seen as the “business” model of an application, while components and agents are the implementation models. The study of these different domains, with their related models, showed that the components and agents approaches are complementary; the strengths of one approach overcome the weaknesses of the other. Therefore, we are interested in the integration of these two approaches in a single design approach. This allows an approach to benefit from the interests of the other, on one hand and the use of agents and components jointly in the design of an application on the other hand. To reach our objective, we consider services as pivot of interaction between agents and components. The result of our analysis leads us to develop a design process based on Model-Driven Engineering which contains four conceptual models (Domain Specific Languages) with the main interest of focusing on the concepts of services and interaction. We then defined a service, component and agent models. Finally, a hybrid model called CASOM, Component Agent Service Oriented Model, was proposed that allows application specification via a combination of the three domains. Then, mapping rules have been defined between the four models in order to transform agents specification into components specification or mixed. The implementation of these transformations was done in ATL language (ATLAS Transformation Language).
Identifer | oai:union.ndltd.org:theses.fr/2012PAUU3019 |
Date | 04 December 2012 |
Creators | Aboud, Nour |
Contributors | Pau, Aniorté, Philippe |
Source Sets | Dépôt national des thèses électroniques françaises |
Language | English |
Detected Language | French |
Type | Electronic Thesis or Dissertation, Text |
Page generated in 0.0033 seconds