bedir

Bedir Tekinerdoğan
Assistant Professor, 
Bilkent University
Department of Computer Engineering -
Software Engineering

Bilkent University

Research
Education
Background
Professional Activities
Projects
Publications
Consultancy
Personal
Address

Bilsen







MSc assignments Senior Projects CS411-SAD CS586-AOSD CS415-SPLE cs587-MDSD

CS587 - Model-Driven Software Development

The application of models to software development is a well-known approach and has become even more popular with the introduction of the Unified Modeling Language (UML). Despite the increasing standardization, however, models have so far still been considered merely as documentation since the relation between the developed models and the code is intentional and not formal. In general software is enduring a continuous change and as such the corresponding documentation must be adapted together or it will become inconsistent. Moreover, the usage of such models is largely depending on the interpretation of the software developer, and as such leads only indirectly to the code. This is the reason why models tend to be considered as an overhead, or even unnecessary in current software projects. In Model-Driven Software Development (MDSD) an entirely different approach is adopted with respect to the usage of models. Models do not constitute documentation but are considered equal to code. MDSD aims to utilize domain-specific languages to create models that express application structure and behavior in a more efficient way. The models are then (semi)automatically transformed into executable code by model transformations. The course will teach the important concepts in model-driven software development, the requirements for setting up a model-driven approach, the state-of-the art MDE approaches, and the key obstacles in MDSD projects.

The topics of the course are summarized in the following:

  • Rationale for Model-Driven Software Development
  • Evolution Problems of Software Development
  • Meta-Modeling
  • Model-Driven Architecture (MDA)
  • Software Factories
  • Model-driven engineering methodologies
  • Model Transformations
  • Model-to-Text Transformations
  • Model-to-Model Transformations
  • Domain-Specific Languages
  • Adoption Strategies for MDSD
  • MDSD Tools
     

Prerequisites

All students should have followed the course 'Object-Oriented Software Engineering'.  There should not be any conflict with other courses.

 

Enter

Sit quietly, and listen for a voice that will say, 'Be more silent.',  
- Rumi