Publication:

Concrete syntax definition for modeling languages

cris.lastimport.scopus

2024-08-06T11:04:20Z

cris.lastimport.wos

2024-07-25T03:07:42Z

cris.legacyId

111344

cris.virtual.parent-organization

EPFL

cris.virtual.parent-organization

IC

cris.virtual.parent-organization

EPFL

cris.virtual.parent-organization

EDOC

cris.virtual.parent-organization

ETU

cris.virtual.parent-organization

EPFL

cris.virtual.parent-organization

ISIM

cris.virtual.parent-organization

IC

cris.virtual.parent-organization

EPFL

cris.virtual.sciperId

158873

cris.virtual.sciperId

162068

cris.virtual.unitId

10421

cris.virtual.unitManager

Strohmeier, Alfred

cris.virtualsource.author-scopus

c4232ec1-3c9a-4526-a111-c228ab19286c

cris.virtualsource.author-scopus

269a90f1-ac29-4e36-a1d5-0ad306c4da9a

cris.virtualsource.department

c4232ec1-3c9a-4526-a111-c228ab19286c

cris.virtualsource.department

269a90f1-ac29-4e36-a1d5-0ad306c4da9a

cris.virtualsource.orcid

c4232ec1-3c9a-4526-a111-c228ab19286c

cris.virtualsource.orcid

269a90f1-ac29-4e36-a1d5-0ad306c4da9a

cris.virtualsource.parent-organization

93598bc3-246f-4dab-82e9-f43cfc2199c8

cris.virtualsource.parent-organization

93598bc3-246f-4dab-82e9-f43cfc2199c8

cris.virtualsource.parent-organization

36f21368-247e-41bf-a640-191058fac3d5

cris.virtualsource.parent-organization

36f21368-247e-41bf-a640-191058fac3d5

cris.virtualsource.parent-organization

36f21368-247e-41bf-a640-191058fac3d5

cris.virtualsource.parent-organization

13d9dcc8-9a5d-4b8a-b8ac-4333cb485e37

cris.virtualsource.parent-organization

13d9dcc8-9a5d-4b8a-b8ac-4333cb485e37

cris.virtualsource.parent-organization

13d9dcc8-9a5d-4b8a-b8ac-4333cb485e37

cris.virtualsource.parent-organization

13d9dcc8-9a5d-4b8a-b8ac-4333cb485e37

cris.virtualsource.parent-organization

fd288589-21e3-4570-8ac9-937e515fd806

cris.virtualsource.parent-organization

fd288589-21e3-4570-8ac9-937e515fd806

cris.virtualsource.parent-organization

fd288589-21e3-4570-8ac9-937e515fd806

cris.virtualsource.parent-organization

fd288589-21e3-4570-8ac9-937e515fd806

cris.virtualsource.rid

c4232ec1-3c9a-4526-a111-c228ab19286c

cris.virtualsource.rid

269a90f1-ac29-4e36-a1d5-0ad306c4da9a

cris.virtualsource.sciperId

c4232ec1-3c9a-4526-a111-c228ab19286c

cris.virtualsource.sciperId

269a90f1-ac29-4e36-a1d5-0ad306c4da9a

cris.virtualsource.unitId

fd288589-21e3-4570-8ac9-937e515fd806

cris.virtualsource.unitManager

fd288589-21e3-4570-8ac9-937e515fd806

datacite.rights

openaccess

dc.contributor.advisor

Baar, Thomas

dc.contributor.author

Fondement, Frédéric

dc.date.accepted

2007

dc.date.accessioned

2007-09-03T14:13:50

dc.date.available

2007-09-03T14:13:50

dc.date.created

2007-09-03

dc.date.issued

2007

dc.date.modified

2025-02-19T13:21:03.463586Z

dc.description.abstract

Model Driven Engineering (MDE) promotes the use of models as primary artefacts of a software development process, as an attempt to handle complexity through abstraction, e.g. to cope with the evolution of execution platforms. MDE follows a stepwise approach, by prescribing to develop abstract models further improved to integrate little by little details relative to the final deployment platforms. Thus, the application of an MDE process results in various models residing at various levels of abstraction. Each one of these models is expressed in a modeling language, in which one may find appropriate concepts for the abstraction level considered. Many advocate to use the right (modeling) language for the right purpose. This means that it is sometimes better approach to use small languages specific to the considered domain and abstraction level, than to use general purpose languages (e.g. UML) when they do not perfectly fit the (modeling) needs. As a matter of fact, an MDE development process, which involves many different domains and abstraction levels, should also involve a large variety of modeling languages. Project managers who want to apply an MDE process need to deal with this language proliferation to such an extent that, in the long run, one may infer that language engineers can become major actors of software development teams. We believe that comprehensive modeling language management facilities may considerably alleviate that MDE drawback. Such facilities may include modeling language definition, extension, adaptation, or composition. To define a (modeling) language, one needs to define its abstract syntax, its semantics, and one or more concrete syntaxes. This thesis focuses on concrete syntax definition for modeling languages, when the abstract syntax is given in the form of a metamodel. We will provide solutions both for textual and graphical concrete syntaxes. Some of our experiences in building textual languages (as MTL, a model transformation language), and graphical languages (as Netsilon, a web-application modeler) has shown that a lot of work was spent in implementing interface using traditional techniques, be it a text processor generated from a compiler compiler specification, or a modeler making use of modern 2D graphical libraries. Indeed, abstract and concrete syntax were implemented in a disconnected way, and it was then necessary to assemble them, which became rapidly clumsy while abstract syntax evolved. We built our solution to concrete syntax definition as companions of the abstract syntax. The definition of concrete syntax we propose here made it possible to build automatic tools able to analyze or synthesize models from/to text, and to create graphical modelers. We will present a metamodel for textual concrete syntax definition to construct constructive reversible grammars. We will also propose a technique for graphical concrete syntax definition following a two-step process: specification and realization. Specification is a restrictive approach in which a metamodel defines a graphical concrete syntax. Both relations with abstract syntax and spatial relationships are expressed by means of constraints. The realization step proposes a way to provide the concrete syntax tree a meaning, by attributing it a graphical appearance, and by expressing possible user interactions. The structure of the document is the following. After introducing in deeper details the problem and the general structure of the solution we propose, we will take a tour of MDE, text and graph grammars. Then, we will present Netsilon as an example of an MDE tool to MDE development, which required both the definition of a graphical and a textual modeling language. The two following sections will present the solutions we propose for textual and graphical concrete syntax definition, respectively. Final remarks and possible improvements, especially regarding reusability in general of MDE meta-artifacts (like metamodels or model transformations), and of concrete syntax in particular, will conclude the document.

dc.description.sponsorship

LGL

dc.identifier.doi

10.5075/epfl-thesis-3927

dc.identifier.uri

https://infoscience.epfl.ch/handle/20.500.14299/11635

dc.identifier.urn

urn:nbn:ch:bel-epfl-thesis3927-1

dc.language.iso

en

dc.publisher

EPFL

dc.publisher.place

Lausanne

dc.relation

https://infoscience.epfl.ch/record/111344/files/EPFL_TH3927.pdf

dc.size

198

dc.subject

Model Driven Engineering

dc.subject

Metamodeling

dc.subject

Language Engineering

dc.subject

Concrete Syntax

dc.subject

Textual Concrete Syntax

dc.subject

Graphical Concrete Syntax

dc.subject

Scalable Vector Graphics

dc.subject

Ingénierie Dirigée par les Modèles

dc.subject

Métamodélisation

dc.subject

Ingénierie des Langages

dc.subject

Syntaxes Concrètes

dc.subject

Syntaxes Textuelles

dc.subject

Syntaxes Graphiques

dc.subject

Scalable Vector Graphics

dc.title

Concrete syntax definition for modeling languages

dc.type

thesis::doctoral thesis

dspace.entity.type

Publication

dspace.legacy.oai-identifier

oai:infoscience.tind.io:111344

epfl.legacy.fileversion

Texte intégral / Full text

epfl.legacy.itemtype

Theses

epfl.legacy.submissionform

THESIS

epfl.oai.currentset

fulltext

epfl.oai.currentset

DOI

epfl.oai.currentset

thesis-public

epfl.oai.currentset

thesis-bn2018

epfl.oai.currentset

thesis

epfl.oai.currentset

thesis-bn

epfl.oai.currentset

OpenAIREv4

epfl.oai.currentset

IC

epfl.publication.version

http://purl.org/coar/version/c_970fb48d4fbd8a85

epfl.thesis.doctoralSchool

EDIC

epfl.thesis.faculty

IC

epfl.thesis.institute

ISIM

epfl.thesis.number

3927

epfl.thesis.originalUnit

LGL

epfl.writtenAt

EPFL

Files

Original bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
EPFL_TH3927.pdf
Size:
2.01 MB
Format:
Adobe Portable Document Format
Description:
Texte intégral / Full text

License bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
1.71 KB
Format:
Item-specific license agreed to upon submission
Description:

Collections