Asl : un langage et des outils pour les styles architecturaux : contribution à la description d'architectures dynamiques
Institution:
ChambéryDisciplines:
Directors:
Abstract EN:
Ln the last decade, software architecture emerged as central concept in the development of the complex software systems. Architectural models were codified and re-used in an abstract way through architectural styles. The latter capture the experience and the knowledge gained in a specific application domain. Formalization effort was undertaken by researchers in order to propose precise definitions of what software architectures and architectural styles are, as weIl as support for using an architecture centric software development. Among existing software systems, one can identify two categories: those whose architecture never changes in the course of execution ("static" architectures) and those whose architecture changes in order to meet specific needs ("dynamic" architectures). Languages are necessary to allow the description of these two categories of architectures. If several research studies dealt with the problem of the definition of architectural styles for systems whose architecture is static, the problem of the definition of architectural styles for dynamic systems remains an open issue. Our thesis aimed to fill this lack of formalization for the definition and the use of the architectural styles for dynamic (and static) systems. We have defined a language, ASL, for the formalization of the architectural styles describing system architecture families but also specific architectures. Whereas other architecture description languages integrate a solidified component-connector vision, ASL is based on the generic concept of abstraction. The component-connector vision is introduced as a specialization of ASL in the form of a style called Component-Connector. ASL and the associated tools (for the management of architectural styles) were developed and validated within the framework of the European research project ArchWare
Abstract FR:
Dans la dernière décennie, l'architecture logicielle a émergé comme une notion centrale dans le développement logiciel des systèmes complexes. Des modèles architecturaux ont été codifiés et réutilisés de manière informelle à travers des styles architecturaux. Ils capturent l'expérience et les connaissances acquises dans un domaine d'application donné. Des travaux de formalisation ont été entrepris afin de pouvoir donner des définitions précises des styles architecturaux pour transmettre ces concepts sans ambiguïté, et afin de pouvoir étudier et garantir les propriétés architecturales d'une architecture ou d'une famille d'architectures. On peut identifier deux catégories de systèmes logiciels : ceux dont l'architecture ne change jamais en cours d'exécution (architectures "statiques") et ceux dont l'architecture change afin de répondre à des besoins précis (architectures "dynamiques"). Des langages sont nécessaires pour permettre la description de ces deux catégories d'architectures. Si plusieurs travaux ont traité le problème de la définition de styles architecturaux de systèmes statiques, le problème de la définition de styles architecturaux de systèmes dynamiques reste un problème ouvert. Notre thèse a eu pour objectif de combler ce manque de formalisation pour la définition et l'utilisation des styles architecturaux des systèmes dynamiques. Nous définissons un langage, ASL, pour la description de styles architecturaux décrivant des familles de systèmes mais également des architectures spécifiques. Alors que d'autres langages de description d'architectures intègrent une vision composant-connecteur figée, le langage ASL est lui basé sur le concept plus générique d'abstraction. La vision composant- connecteur, elle, est introduite comme une spécialisation d'ASL sous la forme d'un style appelé Composant-Connecteur. Le langage ASL et ces outils pour la gestion des styles architecturaux ont été développés et validés dans le cadre du projet européen de recherche ArchWare.