IT-Universitetet i København
 
  Tilbage Kursusoversigt
Kursusbeskrivelse
Kursusnavn (dansk):Projektklynge: Model Driven Development 
Kursusnavn (engelsk):Project cluster: Model Driven Development 
Semester:Efterår 2011 
Udbydes under:cand.it., softwareudvikling og -teknologi (sdt) 
Omfang i ECTS:0,00 
Kursussprog:Engelsk 
Kursushjemmeside:https://learnit.itu.dk 
Min. antal deltagere:
Forventet antal deltagere:55 
Maks. antal deltagere:100 
Formelle forudsætninger:The student needs to have a basic knowledge about object-oriented programming and terminology. More concretely:
  • You should know important object oriented programming terms such as classes,
    encapsulation, inheritance, polymorphism, interfaces, exceptions and UML class diagrams notation.
  • You should know the basics of the relational data model, and the SQL language.
  • You should be able to design and implement small scale Java programs (more than 6 classes, 60-70 methods).
  • You should be comfortable using Eclipse as your development environment (or a similarly mature tool)
  • You should be able to read professional computing literature; you have read research papers and books about programming before (this can be gained in almost every SDT course; or by trying to read a few papers before the course commences).
  • You know basic programming language concepts, and implementation techniques (grammars, parsing, interpretation and compilation). This can be gained following a compiler course, for instance "Programming Language Concepts and Implementation"
  • You know the basic of software engineering processes and quality assurance, for instance having followed an introductory software engineering course (this can be gained following the course "Software Engineering and Quality Assurance"
    -----

    Information about study structure
    SDT
    This course is mandatory for students admitted on the Software Engineering track on SDT. It is recommended that you take this course as early as possible, before the Advanced Software Engineering course.

    This course serves as a thesis preparation activity for SDT students. Students following the Development Technology track are also welcome to join it, but preferably in the third semester of your studies (just before thesis).
    -----
    Information om studiestruktur
    Denne projektklynge svarer til et obligatorisk kursus på masteruddannelsen i Softwarekonstruktion. 
Læringsmål:After this project cluster the student should be able to:
  • Describe the main techniques used for domain modeling and implementation (domain specific languages, modeling frameworks, transformation languages, code generators, graphical and textual syntaxes, component frameworks)
  • Incorporate model based techniques, primarily model serialization, deserialization, model transformation, and code generation into software architecture and the development process (for example to build a simple product line architecture)
  • Implement simple applications using Eclipse technologies: use eclipse as a development platform, extend it and customize it with your own plugins and editors (it is possible to substitute Eclipse with other platforms that are suitable for your individual project objectives)
  • Use complex industrial frameworks (by having experienced work with, for example, OSGi, EMF, GMF, XText, Xpand and other components of the Eclipse platform)
  • Find, select, and read research papers in the area.
  • Discuss, criticize and asses technologies in this space.
  • Carry over a small research project in a medium-sized team, contributing to the area of (automated) software engineering.
  • Concisely report results of your project in a written work conforming to the writing standards of the relevant research community, including proper problem formulation, problem motivation, discussion of state of the art, description of the solution, its limitations and a cogent argument for quality and validity of the solution.
 
Fagligt indhold:The goal of this project cluster is to give you a mindset of working with software in an abstract and semi automated fashion, as in a production process (as opposed to a hand crafting process). This is achieved by introducing modeling languages and models as first class artifacts that are designed, manipulated, transformed and translated to code in an automatic fashion.

A secondary goal is to expose students to modern modeling technology. We will name and allow exploring a number of technologies in this space. Among others you it will be possible to explore the Eclipse modeling project as a means of giving them easier entry into the Eclipse technical space, which is a popular platform in the Danish IT industry.

Subjects will include (and may vary slightly for individual projects):

  • Design of domain specific languages
  • Implementation of domain specific languages using generic tools; Automatic model transformation
  • Automatic generation of rich modeling editors (textual, graphical)
  • Component Based Development and software architecture using OSGi
  • Model Management & Multimodeling - modeling in multiple modeling languages at the same time
  • Product Line Arcihtectures and Variability Modeling

Two kinds of projects will be supported:

  • new technology development and evaluation
  • case studies and evaluations (comparison of technologies, experience reports of applying technologies to interesting problems).

On top of that the course will give an overview of possible thesis subjects in this area and offer a possibility of matching students to supervisors. 
Læringsaktiviteter:14 ugers undervisning bestående af forelæsninger og øvelser

16 weeks semester containing approximately 20 hours of lectures, and a larger project with supervision.

This is a research project cluster. We will start with a superintensive crash course on foundations of model driven development for the first 2-3 weeks of the semester. The lectures will introduce the basic foundational concepts. Most of the learning happens in a project which is implemented in a 7-person team (or larger). In the project you explore a subfield of model driven development, delimit a research problem, solve it, and document it in a short and formal research paper.

The project part of the course accounts for about 90% of the workload.

To achieve the goal you will need to study a significant amount of related literature (papers, books), learn new technologies you have never heard about, meet up regularly for supervision meetings, and co-author a research quality paper in the end.

Since the precise choice of technologies to use varies between the project groups, you are expected to work on your own computer (it is possible to work with the software available on ITU machines, but with limitations - for example you have to stick to Eclipse).
----------
See the course schedule here:
link to the time table
The schedule will be ready shortly before the beginning of the term.
-----
Project cluster.
This is a the project cluster: You sign up for this project cluster as if for a normal course. You will also need to enter your project agreement of a 7,5 ECTS project in the project base where it will be assessed by the supervisor and the Board of Studies.
The project cluster will not appear on your diploma but the project that you register in the project base will of course appear once you have passed the exam. 

Eksamensform og -beskrivelse:X. experimental examination form (7-scale; external exam), 7-trins-skala, Ekstern censur

Each research team in the cluster will have to deliver a report paper strictly adhering to requirements detailed on the course website. Paper must be maximum 15 pages in length, conforming to the Springer LNCS formatting guidelines (http://www.springer.com/computer/lncs?SGWID=0-164-6-793341-0). No changes of font, margins, or other formatting aspects are permitted.

The handed in papers will be evaluated taking into account: adherence to formatting guidelines, clarity of the problem definition, problem significance, significance of the contribution of the work, quality of the evaluation (argument for validity of the work), study of existing literature and potential impact.  

Litteratur udover forskningsartikler:Precise list of reading will be given on the course website. Reference literature includes:

  • Martin Fowler. Rebecca Parsons. Domain-Specific Languages. Addison-Wesley 2011.
  • T. Stahl, M. Völter: Model-Driven Software Development: Technology, Engineering, Management. Wiley (2006)
  • Richard C. Gronbach: Eclipse Modeling Project. A Domain-Specific Language (DSL) Toolkit. Addison Wesley (2009) http://www.slbooks.dk/shop/books/book.do?action=find&id=2895078
 
 
Afholdelse (tid og sted)
Kurset afholdes på følgende tid og sted:
UgedagTidspunktForelæsning/ØvelserStedLokale
Tirsdag 17.00-18.50 Forelæsning ITU Aud 2
Tirsdag 19.00-20.50 Øvelser ITU Aud 2