Study guide
Model Driven Architecture (MDA): CIM, PIM and PSM Explained With an Exam Answer
Model-driven architecture for TU BSc CSIT (CSC375) and BIT (BIT302) Software Engineering: what MDA is, the computation-independent, platform-independent and platform-specific models, the transformations between them, the role of UML, advantages and disadvantages, and a 5 and 10 mark answer outline.
2026-10-22 | notesharu team
Model-driven architecture appears at the end of the System Modeling unit of TU BSc CSIT Software Engineering (CSC375) and in the Software Architecture unit of the BIT paper (BIT302), where the syllabus lists "model-driven architecture and transformations". The question is usually direct: explain MDA with its types of model, or explain the three models and the transformations between them. Students confuse it with model-driven engineering in general, or describe UML diagrams without saying what the "architecture" in the name refers to.
This article gives the definition, the three models, the transformations, where UML fits, the arguments for and against, and an answer outline. The unit notes are on the System Modeling notes page of CSC375 and the Software Architecture notes page of BIT302.
What MDA is
Model-driven architecture is an approach to software design and implementation in which models, not code, are the primary product of development, and in which models at different levels of abstraction are transformed into one another systematically, ending in code that is generated rather than hand-written. It was proposed by the Object Management Group (OMG), the body that also maintains UML, and it is built on UML and related OMG standards.
Two words in the name carry the meaning. "Model-driven" says that the engineer works on models and that the models drive what gets produced. "Architecture" refers to the layered arrangement of those models, from a description of the business problem down to a description tied to one implementation platform.
The broader term model-driven engineering (MDE) covers any development approach centred on models. MDA is the OMG's specific version of it, with named model types and a defined transformation path.
The three models
| Model | Full name | What it describes | Independent of |
|---|---|---|---|
| CIM | Computation-independent model | The important abstractions of the problem domain: the entities, relationships and rules of the business, in the vocabulary of the domain. Sometimes called the domain model. Several CIMs may exist for different stakeholder views | How the system will be computed at all |
| PIM | Platform-independent model | The system's structure and behaviour: usually a set of UML models showing static structure (classes) and dynamic behaviour (how the system responds to events) | Any particular implementation technology: no database, middleware, language or operating system is assumed |
| PSM | Platform-specific model | The PIM transformed for one target platform, with the detail that platform needs: how objects map to database tables, which middleware services are used, what the deployment looks like | Nothing; there is one PSM per platform |
A worked illustration helps the answer. For a library system, the CIM says that members borrow items, items have loan periods, and overdue items incur charges. The PIM has a Member class, an Item class and a Loan class with their associations, and a state model for an item (available, on loan, overdue, withdrawn). A PSM for a Java and relational database platform adds the table mapping for each class, the transaction boundaries and the persistence framework configuration; a second PSM for a different platform would add different detail from the same PIM.
The transformations
MDA defines the process as a chain of transformations:
- CIM to PIM. Domain abstractions become a design: classes, associations, behaviour. This step requires human judgement about what the system will and will not do, so it is largely manual, supported by tools.
- PIM to PSM. The platform-independent design is specialised for a platform. This step can be automated to a large degree by a translator that knows the platform: it applies the platform's rules (how to persist a class, how to expose an operation) to every element of the PIM.
- PSM to code. The platform-specific model is turned into executable code and configuration. This step is intended to be fully automatic.
The repeated pattern, model plus platform rules gives a more specific model, is what makes MDA a method rather than a set of diagrams. When the platform changes, the PIM is kept and only the PIM-to-PSM translator and the generated artefacts change.
Transformations are also a form of reuse: the PIM-to-PSM translator for a platform is written once and applied to every system targeted at that platform, and a translator's output can be checked against the platform rules rather than inspected by hand.
Where UML fits
The PIM is normally expressed in UML: class diagrams for structure, state diagrams and sequence diagrams for behaviour, and, where needed, the Object Constraint Language to state rules that diagrams cannot. The CIM may use UML or domain-specific notations, and the PSM is UML with platform-specific profiles or annotations. In an exam answer, say that MDA is "built on UML" and name the diagram types, but do not describe the diagrams in detail; the question is about the layered models, not the notation.
Advantages
- Abstraction. Designers reason about the system at the PIM level, free of platform detail, so design decisions are about the problem rather than the technology.
- Portability. The same PIM can be transformed for several platforms, and when a platform is replaced the design survives.
- Productivity. Code generation removes a large amount of routine coding and the defects that come with it.
- Consistency. Because the PSM and code are generated by rules, the same design decision is applied the same way everywhere.
Disadvantages
- The model that is best for abstraction is not always the best basis for an efficient implementation. Generated code may need hand optimisation, and once it is hand-edited the link to the model is broken.
- Building a translator for each new platform is expensive, and for a system that will only ever run on one platform the cost may exceed the saving.
- Platforms are not static. The translator must be maintained as the platform evolves, and platform features that the translator does not know about cannot be used.
- The approach assumes that the PIM can be fully specified before the platform is chosen, which does not fit agile development, where design and implementation proceed together.
- Tool support and standards have matured more slowly than the original proposal assumed, so in practice many organisations use model-driven techniques for parts of a system rather than the full MDA chain.
A balanced answer states both sides. Examiners mark the disadvantages as heavily as the advantages because the syllabus treats MDA as one approach among several, not as a recommendation.
MDA and the rest of the unit
MDA closes the System Modeling unit because it is the point of all the modelling before it: context models, interaction models, structural models and behavioural models are the things a PIM is made of. It also connects forward to the Architectural Design unit, since an architectural pattern such as a layered or repository architecture is a platform-independent decision and its realisation on a platform is a platform-specific one. The Architectural Design notes cover those patterns.
Answer outlines
For 5 marks: define MDA (models as the primary product, built on UML, from the OMG); name and define the CIM, PIM and PSM in one or two lines each; state the transformation chain; and give one advantage and one disadvantage.
For 10 marks: add the library illustration for the three models, describe each transformation and which are automated, explain the role of UML, and give the full advantage and disadvantage lists with the closing point that in practice MDA is applied partially. A diagram of the three model layers with arrows for the transformations, labelled "platform rules" on the PIM-to-PSM arrow, is worth the two minutes it takes to draw.
Related topics in the same paper: the process models that MDA sits uneasily with, such as agile development, and the legacy systems that model-driven approaches are sometimes used to re-engineer.
Put it into practice
Browse all subjectsMore articles
Study guide
2D Geometric Transformation in Computer Graphics: Matrices and a Solved Numerical
2026-10-24
Study guide
6 Advantages of Cloud Computing, Availability and Programming Models: Exam Guide
2026-10-24
Study guide
Common Bus System in Computer Architecture with Diagram: Registers, Selection Table, Answer
2026-10-24
Study guide
Exception Handling in C++: try, catch, throw, Rethrow with Traced Examples and new/delete
2026-10-24
Study guide
Data Transfer Instructions in Computer Architecture: Mnemonic Tables, Types and Example
2026-10-24
Study guide
Definition of Constitution by Different Scholars and Government Power Distribution in Nepal 2015
2026-10-24