Course details

Model-driven Development, or MDD, is an approach that represents the software development life-cycle as a modeling and model transformation activities. A model is the abstract representation of a part of the function, structure and/or behavior of a system. It is expressed in a well-defined language (syntax and semantics) which is suitable for automated interpretation. Models help users and developers to cope with large and complex systems dealing with high level concepts at the right level of abstraction, which is a powerful aid for improving understanding.

Generating code from models has been an industry goal for so long. Code generation serves in reducing errors, saving time, and accordingly time-to-market. Generating code using current modeling languages such as UML is possible. However, the generated code is nearly at the same level of abstraction as the model. Any more details or domain specific information should be manually added by developers. This is a clear source of errors given the increasing complexity of current systems.


Here comes the role of Domain Specific Modeling (DSM) as a part of MDD. DSM raises the level of abstraction beyond the current programming languages by using the same concepts from the problem domain. Thanks to transformations, models can be transformed from one level of abstraction and platform technical knowledge level to the other, inserting new information each step of the way. Thus, moving the developers’ focus from coding to analysis reducing errors as well as time-to-market.

So, if your organization targets specific domains such as healthcare, transportation, etc., and need your team to automatically generate pieces of the code in order to Focus on Problem Domain rather than coding problems, to Increase Productivity, and to Reduce Time-to-Market… Then Think MDD!
Throughout this course, you will learn the basic concepts of MDD and the key benefits of using DSM. Moreover, the course will provide hands-on experience on the underlying technologies to adopt MDD in your organization.

Topics to be covered

Migrating from Programming to Modeling

  • Motivation
  • MDD Process and Standards
  • Benefits and drawbacks
  • Why MDD is a good approach for SME’s

Who got it right

  • Case Studies

Domain Specific Modeling(DSM)

  • Modeling using standard general purpose languages
  • How to model specific domain
  • Tips for creating a good Domain Specific Language (DSL)

Hands on Experience on creating DSL

  • Metamodeling, modeling using Eclipse modeling framework
  • Model transformation
Updated on 08 November, 2015

About Software Engineering Competence Centre

The Software Engineering Competence Center (SECC) is an Egyptian leading ICT organization aiming at bridging the gap between the technologies needed to overcome the economical-social-environmental challenges and the current existing technologies. 

In , the Software Engineering Competence Center (SECC) was inaugurated as part of the efforts sponsored by the Ministry of Communications and Information Technology (MCIT) to support Information Technology Industry in Egypt. 

See all Software Engineering Competence Centre courses
Are you from Software Engineering Competence Centre ? Claim your course!
Courses you can instantly connect with... Do an online course on Modelling starting now. See all courses

Is this the right course for you?

Rate this page

Didn't find what you were looking for ?

or