Sign up & Download
Sign in

Model-Driven Language Engineering: The ASMETA Case Study

by Angelo Gargantini, Elvinia Riccobene, Patrizia Scandurra
2008 The Third International Conference on Software Engineering Advances (2008)

Abstract

This paper reports our experience in exploiting the metamodelling approach of model-driven language engineering to define a standard modelling language for the Abstract State Machines (ASMs) formal method, and develop a general framework (ASMETA) for a wide interoperability of ASM tools in a model-driven development context. We describe the requirements to fulfill and the design, implementation, validation, and tools development steps necessary to support such a language engineering life cycle. We finally discuss the benefits/limits of a model-driven language engineering approach with respect to traditional techniques primarily used for the same goal.

Cite this document (BETA)

Available from ieeexplore.ieee.org
Page 1
hidden

Model-Driven Language Engineering: The ASMETA Case Study

Model-driven Language Engineering: the ASMETA case study
Angelo Gargantini
Dip. di Ing. Informatica e Metodi Matematici
Università di Bergamo, Italy
angelo.gargantini@unibg.it
Elvinia Riccobene, Patrizia Scandurra
Dip. di Tecnologie dell’Informazione
Università di Milano, Italy
{riccobene,scandurra}@dti.unimi.it
Abstract
This paper reports our experience in exploiting the meta-
modelling approach of model-driven language engineer-
ing to define a standard modelling language for the Ab-
stract State Machines (ASMs) formal method, and develop
a general framework (ASMETA) for a wide interoperabil-
ity of ASM tools in a model-driven development context.
We describe the requirements to fulfill and the design/-
implementation/validation/tools development steps neces-
sary to support such a language engineering life cycle.
We finally discuss the benefits/limits of a model-driven lan-
guage engineering approach with respect to traditional
techniques primarily used for the same goal.
1 Introduction
The model-based approach to software development pro-
motes models as first-class entities that need to be main-
tained, analyzed, simulated and otherwise exercised, and
mapped into programs and/or other models. In the con-
text of (software) language engineering, we refer to model-
driven language engineering when language descriptions
are first class artifacts of the model-based approach, and
the abstract syntax of the language is defined in terms of
a (usually object-oriented) model, called metamodel, which
allows separating the abstract syntax and semantics of the
language constructs from their different concrete notations.
Indeed, the metamodel of a language describes the vocabu-
lary of concepts provided by the language, the relationships
existing among those concepts, and how they may be com-
bined to create models. A metamodel based abstract syntax
definition has the great advantage of being suitable to de-
rive from the same metamodel (through mappings or pro-
jections) different alternative concrete notations, textual or
graphical or both, for various scopes like graphical render-
ing, model interchange, standard encoding in programming
languages, and so on, still maintaining the same semantics.
Therefore, a metamodel could be intended as a standard rep-
resentation of the language notation.
Here, we address the issue of applying the basic prin-
ciples of model-driven language engineering to the ASM
(Abstract State Machine) domain, in order to engineer a
metamodel-based language for ASMs [2, 6] and its asso-
ciated supporting tools.
The success of the ASMs as a system engineering
method able to guide the development of complex sys-
tems, from requirements capture to their implementation,
is nowadays widely acknowledged [2]. As discussed in
[14], a unified notation and interchange format is of primary
interest for the ASMs community, since ASM tools have
been usually developed by individual research groups, are
loosely coupled, and have syntaxes and internal representa-
tions of ASM models strictly depending on the implementa-
tion environment. This makes the encoding of ASM mathe-
matical models not always natural and straightforward and
makes the integration of tools hard to accomplish, so pre-
venting ASMs from being used in an efficient and tool sup-
ported manner during the software development life-cycle.
To achieve the goals of developing a unified abstract
notation for ASM, a notation independent from any spe-
cific implementation syntax and allowing a more direct en-
coding of the ASM mathematical concepts and constructs,
and tackling the problem of ASM tool inter-operability,
we exploited the metamodelling approach suggested by the
model-driven development.
In this paper, we report our experience in engineering a
standard metamodel-based modelling language for ASMs,
and building a general framework suitable to the devel-
opment of new ASM tools for ASMs and for the inte-
gration of existing ones. We describe the requirements,
the design/implementation/validation steps that are neces-
sary to support the (software) language engineering life
cycle, and we present a set of tools for ASMs that we
have developed by using the ASMs Metamodelling (AS-
META) framework [1], i.e. an instantiation of the OMG
MDA framework for the ASM domain. We summarize the
lessons learned by providing evidence of the benefits/limits
of model-driven language engineering. Although this work
is specific to the ASMs, our experience can be useful for de-

Sign up today - FREE

Mendeley saves you time finding and organizing research. Learn more

  • All your research in one place
  • Add and import papers easily
  • Access it anywhere, anytime

Start using Mendeley in seconds!

Already have an account? Sign in

Readership Statistics

3 Readers on Mendeley
by Discipline
 
by Academic Status
 
67% Ph.D. Student
 
33% Other Professional
by Country
 
33% Australia
 
33% Spain
 
33% Pakistan