Return to search

Integrating protocol modelling into an aspect-oriented multi -view modelling approach

The complexity of modern software makes its development, evolution and maintenance difficult. Object-Oriented software development provides means for reducing the complexity by decomposing software into modules with well-defined responsibilities. Unfortunately, the Object-Oriented paradigm reaches its limitations when it comes to modularizing crosscutting concerns. Aspect-Oriented Programming (AOP) addresses the separation of crosscutting concerns from the business logic on the source code level. Aspect-Oriented Modelling (AOM) allows to do this on a higher level of abstraction where crosscutting concerns are addressed during earlier phases of the software development process. Aspect-oriented modelling approaches advocate to model concerns separately,and then to use model composition to create complex models in which these concerns are intertwined. In such a context, specifying the composition of the models is a non-trivial task, in particular when it comes to specifying the composition of behavioural models. Reusable Aspect Models (RAM) is an aspect-oriented multi-view modelling approach that allows detailed design of a software system. Notations similar to UML class, sequence and state diagrams are used to describe the structure and behaviour of a reusable aspect. Previously a meta-model and a weaver was defined for the structural view (class diagram) and the message views (similar to Sequence Diagrams) to be used in a tool for RAM. However, the state views introduced in RAM were never formally defined. In this thesis we describe how we added the definition of a behavioural view to RAM - the state view - that specifies the allowed invocation protocol of class instances. We discuss why Protocol Modelling, a compositional modelling approach based on state diagrams, is an ideal notation to specify such a state view, and show how we added support for protocol modelling to the RAM metamodel. We present an algorithm to weave state views, and describe how this algorithm is integrated with the weaving algorithms for the structural and message views. We outline an implementation of the weaver in the context of the Eclipse Modelling Framework, and explain how we extended TouchRAM,the multitouch-enabled tool for the RAM approach, with support for creation and weaving of state views. / La complexité des logiciels rend leurs développement, évolution et entretien difficile. Le développement orienté-objet des logiciels offre la possibilité de réduire la complexité en décomposant le logiciel en modules avec des responsabilités bien définies. Malheureusement, le paradigme orienté-objet atteint ses limites quand il est question de modélisation des préoccupations transversales (crosscutting concerns). La Programmation Orientée-Aspect (AOP) adresse la séparation de préoccupations transversales de la logique d'affaire au niveau du code source. La Modélisation Orientée-Aspect (AOM) permet de réaliser cet objectif avec un niveau d'abstraction élevé en adressant ces préoccupations dès le début du processus de développement logiciel. Les approches de modélisation orientée-aspect encourage à modéliser ces fonctionnalités séparément, et à utiliser dans une deuxième étape des techniques de composition des modèles pour créer un modèle complexe dans lequel ces fonctionnalités seront entre mêlées. Dans ce contexte, la tâche de spécifier la composition des modèles n'est pas triviale, surtout quand il s'agit de spécifications comportementales. Reusable Aspect Models (RAM) est une approche multi-vue de modélisation aspect-orientée qui offre une conception détaillée du système logiciel. La structure et le comportement d'un aspect réutilisable sont décrit avec des notations similaires à celles des diagrammes de classe, séquence et état de UML. Antérieurement, un Méta-Modèle et un "tisseur" (ou "Weaver" en Anglais), cadun composant permettant de composer des aspects ensembles, ont été définis pour la vue structurelle (diagramme de classe) et les vues des messages (similaire au diagramme de séquence) pour les utiliser dans l'outil conçu pour RAM. Cependant, les vues d'états introduites théoriquement dans RAM en 2009 n'ont jamais été définies formellement. Dans cette thèse on décrit comment la définition d'une vue comportementale a été ajoutée à RAM - la vue d'état - qui spécifie le protocole d'invocation permise pour les instances d'une classe. Nous présentons pourquoi la Modélisation des Protocoles (Protocol Modelling (PM)), une approche de modélisation de composition basée sur les diagrammes d'état, est une notation idéale pour spécifier une telle vue, et nous décrivons comment nous avons procédé à l'ajout du support de PM au méta-modèle existant de RAM. Un algorithme pour le tissage des vues d'état est détaillé, et un processus générale de fusion, qui inclut tous les vues, a été défini. Le tisseur pour les vues d'état a été développé dans le contexte du Eclipse Modelling Framework (EMF). Finalement, l'outil tactile pour RAM, TouchRAM, a été étendu pour offrir la création et la fusion des vues d'état.

Identiferoai:union.ndltd.org:LACETR/oai:collectionscanada.gc.ca:QMM.121519
Date January 2014
CreatorsAyed, Abir
ContributorsJorg Andreas Kienzle (Internal/Supervisor)
PublisherMcGill University
Source SetsLibrary and Archives Canada ETDs Repository / Centre d'archives des thèses électroniques de Bibliothèque et Archives Canada
LanguageEnglish
Detected LanguageFrench
TypeElectronic Thesis or Dissertation
Formatapplication/pdf
CoverageMaster of Science (School of Computer Science)
RightsAll items in eScholarship@McGill are protected by copyright with all rights reserved unless otherwise indicated.
RelationElectronically-submitted theses

Page generated in 0.0054 seconds