Domain-specific modelling language and code generator for developing repository-based Eclipse plug-ins

Master's thesis

Sanna Sivonen

Research output: Book/ReportBook (author)Scientificpeer-review

Abstract

Eclipse is an open source platform for tool integration which can be extended by writing plug-ins that utilise the extension points provided by the Eclipse platform. Eclipse plug-ins are written in the Java language and the plug-in development work can be time consuming especially if multiple plug-ins are developed for the same application domain. Model-driven development is about focusing on models rather than computer programs in software development. Domain-specific modelling follows the principles of model-driven development by promoting the use of domain-specific modelling languages (instead of general-purpose modelling languages). The aim of this research is to develop a prototype graphical domain-specific modelling language (DSML) and a code generator for creating repository-based plug-ins for Eclipse. The purpose of DSML is to raise the level of abstraction and thus speed up the development process of several similar Eclipse plug-ins compared to hand writing the plug-ins in Java language. Also people not familiar with Java (i.e. end users) could build their own extensions with the language defined in this work. Developed DSML is demonstrated by generating the source code of an existing repository-based Eclipse plug-in. The plug-in that is used in the demonstration is an open source software architecture knowledge management tool called Stylebase for Eclipse, which has been developed at VTT Technical Research Centre of Finland. The Stylebase for Eclipse is a software product family, which has a number of variation points. Since the Stylebase for Eclipse tool is already developed once with the traditional code-centred approach, it is possible to compare the model-driven approach with the code-centred approach in this particular case. The case example shows that DSML and the code generator defined in this work can be used for generating repository-based Eclipse plug-ins. The code generator generates a fully functional Eclipse plug-in so the generated code does not have to be edited manually after its generation. Also variability in the software product family can be handled in a more flexible way in the model-driven approach.
Original languageEnglish
Place of PublicationEspoo
PublisherVTT Technical Research Centre of Finland
Number of pages89
ISBN (Electronic)978-951-38-7094-2
Publication statusPublished - 2008
MoE publication typeC1 Separate scientific books

Publication series

NameVTT Publications
PublisherVTT
No.680
ISSN (Print)1235-0621
ISSN (Electronic)1455-0849

Fingerprint

Software architecture
Knowledge management
Modeling languages
Computer program listings
Software engineering
Demonstrations
Open source software

Keywords

  • model-driven development
  • software product family
  • variability

Cite this

Sivonen, S. (2008). Domain-specific modelling language and code generator for developing repository-based Eclipse plug-ins: Master's thesis. Espoo: VTT Technical Research Centre of Finland. VTT Publications, No. 680
Sivonen, Sanna. / Domain-specific modelling language and code generator for developing repository-based Eclipse plug-ins : Master's thesis. Espoo : VTT Technical Research Centre of Finland, 2008. 89 p. (VTT Publications; No. 680).
@book{25f24fe1a8ca4cbea8f66b9fa7a92370,
title = "Domain-specific modelling language and code generator for developing repository-based Eclipse plug-ins: Master's thesis",
abstract = "Eclipse is an open source platform for tool integration which can be extended by writing plug-ins that utilise the extension points provided by the Eclipse platform. Eclipse plug-ins are written in the Java language and the plug-in development work can be time consuming especially if multiple plug-ins are developed for the same application domain. Model-driven development is about focusing on models rather than computer programs in software development. Domain-specific modelling follows the principles of model-driven development by promoting the use of domain-specific modelling languages (instead of general-purpose modelling languages). The aim of this research is to develop a prototype graphical domain-specific modelling language (DSML) and a code generator for creating repository-based plug-ins for Eclipse. The purpose of DSML is to raise the level of abstraction and thus speed up the development process of several similar Eclipse plug-ins compared to hand writing the plug-ins in Java language. Also people not familiar with Java (i.e. end users) could build their own extensions with the language defined in this work. Developed DSML is demonstrated by generating the source code of an existing repository-based Eclipse plug-in. The plug-in that is used in the demonstration is an open source software architecture knowledge management tool called Stylebase for Eclipse, which has been developed at VTT Technical Research Centre of Finland. The Stylebase for Eclipse is a software product family, which has a number of variation points. Since the Stylebase for Eclipse tool is already developed once with the traditional code-centred approach, it is possible to compare the model-driven approach with the code-centred approach in this particular case. The case example shows that DSML and the code generator defined in this work can be used for generating repository-based Eclipse plug-ins. The code generator generates a fully functional Eclipse plug-in so the generated code does not have to be edited manually after its generation. Also variability in the software product family can be handled in a more flexible way in the model-driven approach.",
keywords = "model-driven development, software product family, variability",
author = "Sanna Sivonen",
note = "Project code: 7326",
year = "2008",
language = "English",
series = "VTT Publications",
publisher = "VTT Technical Research Centre of Finland",
number = "680",
address = "Finland",

}

Sivonen, S 2008, Domain-specific modelling language and code generator for developing repository-based Eclipse plug-ins: Master's thesis. VTT Publications, no. 680, VTT Technical Research Centre of Finland, Espoo.

Domain-specific modelling language and code generator for developing repository-based Eclipse plug-ins : Master's thesis. / Sivonen, Sanna.

Espoo : VTT Technical Research Centre of Finland, 2008. 89 p. (VTT Publications; No. 680).

Research output: Book/ReportBook (author)Scientificpeer-review

TY - BOOK

T1 - Domain-specific modelling language and code generator for developing repository-based Eclipse plug-ins

T2 - Master's thesis

AU - Sivonen, Sanna

N1 - Project code: 7326

PY - 2008

Y1 - 2008

N2 - Eclipse is an open source platform for tool integration which can be extended by writing plug-ins that utilise the extension points provided by the Eclipse platform. Eclipse plug-ins are written in the Java language and the plug-in development work can be time consuming especially if multiple plug-ins are developed for the same application domain. Model-driven development is about focusing on models rather than computer programs in software development. Domain-specific modelling follows the principles of model-driven development by promoting the use of domain-specific modelling languages (instead of general-purpose modelling languages). The aim of this research is to develop a prototype graphical domain-specific modelling language (DSML) and a code generator for creating repository-based plug-ins for Eclipse. The purpose of DSML is to raise the level of abstraction and thus speed up the development process of several similar Eclipse plug-ins compared to hand writing the plug-ins in Java language. Also people not familiar with Java (i.e. end users) could build their own extensions with the language defined in this work. Developed DSML is demonstrated by generating the source code of an existing repository-based Eclipse plug-in. The plug-in that is used in the demonstration is an open source software architecture knowledge management tool called Stylebase for Eclipse, which has been developed at VTT Technical Research Centre of Finland. The Stylebase for Eclipse is a software product family, which has a number of variation points. Since the Stylebase for Eclipse tool is already developed once with the traditional code-centred approach, it is possible to compare the model-driven approach with the code-centred approach in this particular case. The case example shows that DSML and the code generator defined in this work can be used for generating repository-based Eclipse plug-ins. The code generator generates a fully functional Eclipse plug-in so the generated code does not have to be edited manually after its generation. Also variability in the software product family can be handled in a more flexible way in the model-driven approach.

AB - Eclipse is an open source platform for tool integration which can be extended by writing plug-ins that utilise the extension points provided by the Eclipse platform. Eclipse plug-ins are written in the Java language and the plug-in development work can be time consuming especially if multiple plug-ins are developed for the same application domain. Model-driven development is about focusing on models rather than computer programs in software development. Domain-specific modelling follows the principles of model-driven development by promoting the use of domain-specific modelling languages (instead of general-purpose modelling languages). The aim of this research is to develop a prototype graphical domain-specific modelling language (DSML) and a code generator for creating repository-based plug-ins for Eclipse. The purpose of DSML is to raise the level of abstraction and thus speed up the development process of several similar Eclipse plug-ins compared to hand writing the plug-ins in Java language. Also people not familiar with Java (i.e. end users) could build their own extensions with the language defined in this work. Developed DSML is demonstrated by generating the source code of an existing repository-based Eclipse plug-in. The plug-in that is used in the demonstration is an open source software architecture knowledge management tool called Stylebase for Eclipse, which has been developed at VTT Technical Research Centre of Finland. The Stylebase for Eclipse is a software product family, which has a number of variation points. Since the Stylebase for Eclipse tool is already developed once with the traditional code-centred approach, it is possible to compare the model-driven approach with the code-centred approach in this particular case. The case example shows that DSML and the code generator defined in this work can be used for generating repository-based Eclipse plug-ins. The code generator generates a fully functional Eclipse plug-in so the generated code does not have to be edited manually after its generation. Also variability in the software product family can be handled in a more flexible way in the model-driven approach.

KW - model-driven development

KW - software product family

KW - variability

M3 - Book (author)

T3 - VTT Publications

BT - Domain-specific modelling language and code generator for developing repository-based Eclipse plug-ins

PB - VTT Technical Research Centre of Finland

CY - Espoo

ER -

Sivonen S. Domain-specific modelling language and code generator for developing repository-based Eclipse plug-ins: Master's thesis. Espoo: VTT Technical Research Centre of Finland, 2008. 89 p. (VTT Publications; No. 680).