INTRODUCTION:

Interest in model-driven software development (MDSD) has recently increased, due in part to the Model Driven Architecture (MDA) initiative of the Object Management Group (OMG). Consequently, the industry’s demand for graduates qualified in this field has grown. It is therefore considered crucial to educate students in MDSD concepts, tools, and techniques. 

The idea behind MDSD concerns designing a model of the system to be developed (for instance, using UML), which is then transformed into code in a specific target language, such as PHP, C#, or Java. Using this technique, there is a strict distinction between the domain-specific and technological aspects of a system. While domain-specific concepts are represented in the model (as classes, attributes, and methods), technology-specific aspects like the target language are determined in the transformation rules, specified by the programmer. Typically the mundane and repetitive parts of the code can be easily generated using this technique, so the programmer can focus on the more complex and challenging parts of a system. Benefits of this approach include higher quality and consistency of code, easier translation to newer or different technologies, as well as shorter time in development 

COURSE CODE: SEEC-401

CREDIT HOURS: 03

PREREQUISITES: None

COURSE LEARNING OUTCOMES:

At the end of the course the students will be able to:

  • Understand the different types of architectures and the role they play in software systems.
  • Architecture creation and evolution, architecture analysis, and documenting the architecture.
  • Architecture creation and evolution, architecture analysis, and documenting the architecture.

TEXTBOOKS:

  1. Model-Driven Software Development: Technology, Engineering, Management by Thomas Stahl, Markus Voelter and Krzysztof Czarnecki, Publisher: Wiley; 1st Edition (May 19, 2006). ISBN-10: 0470025700

  2. Model-Driven Software Engineering in Practice by Marco Brambilla, Jordi Cabot and Manuel Wimmer, Morgan & Claypool Publishers; 1st Edition (September 26, 2012). ISBN-10: 1608458822

  3. The Pragmatic Programmer: From Journeyman to Master by Andrew Hunt and David Thomas, Addison-Wesley Professional; 1st Edition (October 30, 1999). ISBN-10: 020161622X

  4. Model-Driven Software Development: Integrating Quality Assurance by JorgRech and Christian Bunse, Information Science Reference; 1st Edition (August 22, 2008). ISBN-10: 160566006X

  5. Model-Driven Software Development with UML and Java by K. Lano, Course Technology (August 15, 2009). ISBN-10: 1844809528

COURSE CONTENT:

MDSD – Basic Ideas & Terminology, An overview of MDA Concepts, Architecture-Centric MDSD. Architecture-Centric Architecture, Generative Programming. Software Factories, Model-Integrated Computing, Language-Oriented Programming, Domain-Specific Modeling.Classification, Meta-modeling,MDSD-Capable Target Architectures, Building Domain Architecture, Code Generation Techniques, Model Transformations with QVT, MDSD Tools, The MDA Standard, MDSD Process Building Block & Best Practices, Testing and Versioning

 

Course Material