1 |
Generating graphical and projectional editorsDucoin, Aurélien 09 1900 (has links)
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.
|
Page generated in 0.0972 seconds