Generating graphical and projectional editors

Abstract

En ingénierie dirigée par les modèles, les langages spécifiques au domaine (DSL) offrent des notations adaptées à un domaine précis pour représenter ses différents concepts. De nombreux outils permettent la définition de DSLs en explicitant les relations entre un concept et ses représentations. En fonction de la sémantique du domaine, l’ingénieur du langage peut choisir entre des notations textuelles ou graphiques. Les langages de modélisation graphique nécessitent une gestion de la position, la taille et la disposition des éléments visuels afin de maximiser leur expressivité visuelle. La plupart des éditeurs de modélisation manquent de support automatique pour gérer ces propriétés de la syntaxe concrète. Les éditeurs projectionnels permettent aux utilisateurs de se concentrer sur la conception de leur modèle en limitant les modifications de la syntaxe concrète. Cependant, bien qu’ils offrent de multiples notations, ces éditeurs ne permettent pas la création de langage graphique. Dans ce mémoire, nous proposons une nouvelle approche pour concevoir des éditeurs graphiques et projectionnels. Nous avons créé une extension d’un éditeur projectionnel orienté vers le web, Gentleman, qui nous a permis d’extraire différentes exigences. Au cours du mémoire, nous décrivons leurs impacts sur les projections et proposons des lignes directrices ainsi que des exemples d’implémentation. Comme l’édition projectionnelle demande une gestion spécifique de l’interaction, nous présentons différentes approches pour interagir avec les représentations graphiques utilisant les nouvelles informations disponibles dans les projections. Étant donné que la plupart des exigences se concentrent sur la disposition des projections, nous avons défini plusieurs algorithmes simples de disposition qui couvrent une large gamme de structures pouvant être retrouvées dans un éditeur graphique. Enfin, afin d’évaluer cette approche, nous avons exploré la génération de trois éditeurs graphiques et projectionnels pour différents domaines: les machines d’états, les diagrammes de séquences et les partitions de musique.In model-driven engineering, domain specific-languages (DSL) provide tailored notations towards a specific problem domain to represent its different concepts. Multiple tools allow the definition of DSL by specifying the relations between a concept and its representations. Depending on the semantics of the domain, the language engineer can choose between textual or graphical notations. Graphical modeling languages require proper management of position, size, and layout to maximize their visual expressiveness. Most modeling editors lack automated support to manage these graphical concrete syntax properties. It is a time-consuming effort that affects the understandability of the model. Projectional editors prevent end-users from modifying the concrete syntax so they can focus on the modeling task. However, while they offer multiple notations, these editors lack support for graphical languages. During this thesis, we propose a new approach to design graphical and projectional editors. We created an extension of a web-oriented projectional editor, Gentleman, that allowed us to extract different requirements. During the thesis, we describe their impact on the projections and propose guidelines and examples of implementation. Because projectional editing requires specific management of the interaction, we present multiple approaches to interact with the graphical representations, using the new information available in the graphics. Since most of the requirements were focusing on the disposition of the projection, we define multiple simple layout algorithms that cover a large range of structures that can be found in a graphical editor. Finally, we explore the generation of three graphical and projectional editors for different domains: statecharts, sequence diagrams, and music sheet

    Similar works

    Full text

    thumbnail-image