0% found this document useful (0 votes)
10 views5 pages

Report_MDA

Science Report
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views5 pages

Report_MDA

Science Report
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 5

Model-Driven Architecture (MDA) is a software development approach that

emphasizes models as the primary artifacts throughout the software


lifecycle. Instead of directly writing code, developers create abstract models
that capture the essence of the system. These models are then transformed
into platform-specific implementations. The key benefit is increased flexibility
and reduced dependence on specific technologies.

By using MDA models, developers can create systems that are more
modular, flexible, and maintainable, while also improving communication
between business stakeholders and technical teams.

Model Driven Architecture (MDA) is a technique that permits the developer to


build application models

that are platform independent. It allows the developers to build models of a


project without the specific

in-detail knowledge of applications to be involved and then combining those


models to create the

application. The main idea of MDA is to represent the business logic in the
form of abstract models.

These abstract models are mapped into different platforms by applying a set
of transformation rules.

The layered approach uses three primary model types:

1. CIM (Computational Independent Model)

CIM is a simple representation of a system that is understandable by a


layman without specific

information about how it is to be implemented. It only shows the business


logic of the system

represented in the form of models. This is the highest level of abstraction.


The CIM focuses exclusively on the what of the system – the business
processes, rules, and workflows – without any consideration of how it will be
implemented. It's a purely business-oriented view. Think of it as describing
the system from a purely functional perspective: "The customer places an
order, the system verifies payment, the system ships the order, the system
sends a confirmation email." No mention of databases, servers, or
programming languages.
Focus: Business processes, requirements, and functionality

- Technology-unbiased

- Purpose: Capture business logic, rules, and workflows

Examples include:

- Business Process Modeling Notation (BPMN) diagrams: Visually represent


the flow of activities in a business process.

- Use case diagrams: Describe how users interact with the system.

- Data flow diagrams: Illustrate how data moves through the system.

2. PIM (Platform Independent Model)

PIM is the view of a system in a greater elaboration. More details are


included but the system is

still kept, platform independent.It contains information about business


functionalities and

procedures’ algorithms but nothing about the technical stack or the


particular platforms on which

it has to be implemented. Virtual machines that are technology independent


are often used to

implement PIM because they are easily extensible to PSM.

The PIM refines the CIM by adding more technical detail, but still remains
independent of any specific technology platform. It describes the system's
architecture, data structures, and behavior in a more formal way, but without
committing to specific implementation choices. It's a transition between the
business-focused CIM and the technology-specific PSM. Think of it as
answering "what are the components and how do they interact, regardless of
the technology used?"
Focus: System design, architecture, and functionality

- Technical details, but platform-independent

- Emphasizes system design and architecture

- Platform-unibiased

- Purpose: Define system structure, behavior, and interactions

Examples include:

- UML class diagrams: Show the classes, attributes, and relationships in an


object-oriented system.

- Entity-relationship diagrams (ERDs): Model the data entities and their


relationships in a database.

- State machine diagrams: Describe the possible states of a system and the
transitions between them.

3. PSM (Platform Specific Model)

PSM is a view of a system that focuses its implementation on a particular


platform. A PSM is a

result of the translation of PIM by using guidelines and working procedures of


the used platforms. It gives information that all functions are to be done in
each platform used, how to provide connectivity between the used platforms,
how data travels throughout one platform and further to other platforms
used etc. Thus it becomes very easy to generate high-level program codes
from PSM. It must be noted that multiple PSMs can be created from a given
PIM by

changing the set of technical stack.

This is the lowest level of abstraction and represents a concrete


implementation of the system on a chosen platform. The PSM is derived from
the PIM through transformations (often automated using model
transformation tools). It specifies all the technical details required for
implementation, including:

Focus: Implementation details for a specific platform

Example:

Database schema for a specific database

Where database schemas defines the tables, columns, and relationships in a


database.

The Transformation Process: The power of MDA lies in the ability to


automatically transform models from one level to another. A PIM can be
transformed into multiple PSMs for different platforms (e.g., a Java PSM and a
.NET PSM) without modifying the PIM itself. This significantly reduces the
effort required for porting software to new platforms and promotes code
reuse.

MDA Model Transformation:

CIM → PIM → PSM

- CIM to PIM: Refine business processes into system design

- PIM to PSM: Adapt system design to a specific platform

Benefits of MDA Models:

- Improved separation of concerns

- Enhanced reusability and portability

- Reduced technology lock-in


- Increased productivity and efficiency

- Better alignment of business and technology goals

In essence, MDA allows developers to focus on the high-level design and


business logic (CIM and PIM) and then leverage automated transformations
to generate platform-specific implementations (PSM), leading to increased
efficiency, maintainability, and portability.

You might also like