DisclaimerThis document contains a student thesis (bachelor's or master's), as authored by a student at Eindhoven University of Technology. Student theses are made available in the TU/e repository upon obtaining the required degree. The grade received is not published on the document as presented in the repository. The required complexity or quality of research of student theses may vary by program, and the required minimum study period may vary in duration.
General rightsCopyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights.• Users may download and print one copy of any publication from the public portal for the purpose of private study or research.• You may not further distribute the material or use it for any profit-making activity or commercial gain
Take down policyIf you believe that this document breaches copyright please contact us providing details, and we will remove access to the work immediately and investigate your claim.
AbstractDesign patterns are used pervasively in object-oriented software development. They describe general solutions for recurring problems in software design. In most cases, design patterns are applied at the model level. The popularity of Model-Driven (Software) Engineering has increased the development of meta-models for Domain Specific Languages, even at the meta-model level, design patterns can and are used. For instance, the company Altran has discovered some design patterns in meta-models as well as in associated syntax, and transformation artifacts of their domain specific languages. Unfortunately, the discovered patterns can not be easily (re)used because of the lack of mechanisms to specify and apply design patterns in the existing language engineering workbenches. This thesis aims at exploring mechanisms for pattern specification and application in metamodels in Ecore. In order to do so, we first analyzed and summarized the state-of-the-art approaches and tooling for specifying and/or applying design patterns. Then, we extended an existing tool, DSL-tao, to assist the development of DSLs in Altran.Pattern Specification and Application in meta-models in Ecore iii
AcknowledgmentsI have been studying in Software Engineering and Technology (SET) group for a long time. Starting from the courses Generic Language Technology and Software Evolution to the SET Seminar and Capita Selecta, and finally my graduation project, I own many thanks to a lot of people. My deepest gratitude goes first and foremost to Prof. Mark van den Brand, my supervisor, for providing me the opportunities to work on interesting topics during the Capita Selecta as well as this graduation project and for his insightful guidance, deep discussions and constant encouragement, especially for his understanding and advise during my difficult times.I would like to express my heartfelt thanks to...