Comparison of Microsoft DSL Tools and Eclipse Modeling Frameworks for Domain-Specific Modeling in the context of Model-Driven Development

Today it is realized by industry that automation of software development leads to increased productivity, maintainability and higher quality. Model-Driven Development (MDD) aims to replace manual software development methods by automated methods using Domain-Specific Languages (DSLs) to express doma...

Full description

Bibliographic Details
Main Author: Özgür, Turhan
Format: Others
Language:English
Published: Blekinge Tekniska Högskola, Avdelningen för programvarusystem 2007
Subjects:
Online Access:http://urn.kb.se/resolve?urn=urn:nbn:se:bth-2009
Description
Summary:Today it is realized by industry that automation of software development leads to increased productivity, maintainability and higher quality. Model-Driven Development (MDD) aims to replace manual software development methods by automated methods using Domain-Specific Languages (DSLs) to express domain concepts effectively. Main actors in software industry, Microsoft and IBM have recognized the need to provide technologies and tools to allow building DSLs to support MDD. On the one hand, Microsoft is building DSL Tools integrated in Visual Studio 2005; on the other hand IBM is contributing to the development of Eclipse Modeling Frameworks (EMF/GEF/GMF), both tools aim to make development and deployment of DSLs easier. Software practitioners seek for guidelines regarding how to adopt these tools. In this thesis, the author presents the current state-of-the-art in MDD standards and Domain-Specific Modeling (DSM). Furthermore, the author presents current state-of-the-tools for DSM and performs a comparison of Microsoft DSL Tools and Eclipse EMF/GEF/GMF Frameworks based on a set of evaluation criteria. For the purpose of comparison the author developed two DSL designers (one by using each DSM tool). Based on the experiences gained in development of these DSL designers, the author prepared guidelines regarding how to adopt these tools to existing development environments as well as their advantages and drawbacks.