You are on page 1of 7

Quick overview of Model-Driven

Software Architecture

JUNE 28, 2021


University of North Texas
Vineel Krishnamsetty (VineelKrishnamsetty@my.unt.edu)

Quick overview of Model-Driven Software Architecture © 2021 by Vineel Krishnamsetty is


licensed under CC BY-NC 4.0
1. Introduction:

The OMG (Object Management Group) developed Model Driven Architecture (MDA) in
2001 as a method for software design, development, and implementation [1]. Model-driven
architecture is a type of domain engineering that enables model-driven software system
development.

Fig. MDA Overview [2]

In the above figure is an overview of what Model Driven Architecture is and in the inner
circle we can see what are the types of models used in MDA which are UML, MOF, CWM
and in the blue circle are the languages that are used which are COBRA, XML, .NET, JAVA,
WEB SERVICES and in the outer circle we can see the areas of applications and on the
arrows we can see the applications.

1.1 Model Driven Architecture approach

One of the MDA's major goals is to decouple design from architecture and realization
technologies, allowing design and architecture to evolve independently. The design addresses
functional (use case) needs, whereas the architecture offers the infrastructure that enables non-
functional criteria such as scalability, reliability, and performance to be met. The platform
independent model (PIM), which provides a conceptual design that realizes the functional
requirements, is expected to withstand changes in implementation technologies and software

1|Page
architectures, according to MDA. The concept of model transformation is particularly
important in model-driven architecture. QVT is a model transformation standard that has been
developed. ATL is an example of a QVT model transformation language.

1.2 MDA tools

[3] An MDA tool is a program for creating, interpreting, comparing, aligning, measuring,
verifying, and transforming models or metamodels. In the next section, "model" refers to any
type of model (for example, a UML model) or metamodel. We have essentially two types of
models in any MDA approach: original models are generated manually by human agents, and
derived models are created automatically by programs. For example, an analyst may develop
a UML starting model based on their observations of a loose business scenario, and a Model
transformation process may automatically produce a Java model from this UML model. One
or more of the following types of MDA tools can be used:

• Analysis
• Creation
• Transformation
• Composition
• Test
• Simulation
• Metadata Management
• Reverse Engineering

Some tools can do more than one of the above tasks. For example, except for Metadata
Management, the Select Solution for MDA covers all of the above.

MDA tools often focus on simple architectural specification, while other tools are architectural
design (or platform independent).

2|Page
2. Literature Review:

Oksana Nikiforova, Antons Cernickins, Natalja Pavlova [4]

They examined the various CASE tools that are used in the MDA process in their research
paper. They have also explored MDA and MDD (model-driven development)
transformations in the scope of instinctive SDLC competences, which define the activities
that should be supported in an MDA tool chain in order to automate the MDA-oriented
development process. The CM (component model) for MDA outlines the important
significance of this research.

They have also examined how the diversified tool chain might influence the construction
of model-driven software. The use of tools based on Domain Specific Languages would
allow the construction of diagramming tools, as well as the definition of elements and
transformations from one stage to another, and then generating the class diagram as well
as source code.

Junli Gao Di Li and Shixiong Zheng [5]

They have used OOMDRDP (Object Oriented Model Driven Rapid Development Process).
In which OOMDRDP approach comprises four phases Analysis, Design, Implementation
and Testing. All these phases have micro recursive process based on model driven
architecture. UML is used to erect the model. They tested the ability of the CNC scheduler
against the real-time system. On the computer numerical controller, an object-oriented
model is used. They have supported the non-concrete layer of SD (software development),
which performs code associability and evaluating the operations of computer numerical
controller on the UML model, from program codes to UML models.

Their model-driven architectural approach to developing real-time systems has already


made an impact. First, they describe a fast development method for real-time systems based
on an object-oriented model. This method was used in the creation of the computer
numerical controller. Secondly, they shifted the abstract layer of software development
from program codes to UML models, developed dynamic model/code associativity, and
assessed the function of a computer numerical controller on the UML model level rather

3|Page
than the usual program code level. Finally, they have verified CNC schedulability, which
is incompatible with real-time system performance.

3. Examples of MDA [6]:


• OMG is using MDA principles for around 3 years in several specifications.
• Application Development
o UML for modeling, XMI and IDL for tool integration and interchange
o UML profile CORBA : UML for modeling, IDL for Integration
• Application Integration
o UML profile for Enterprise Application Integration (UML4EAI), Distributed
Object Computing (EDOC)
• Data Warehousing
o UML and CWM for Modeling, XMI and IDL for Warehouse integration
• Metadata and Object Interchange/Integration
o UML and MOF for modeling, MOF and XMI for metadata integration
o MOF is a subset of UML (Class diagrams) used to model metadata

4. Challenges [7]:
• Portability, which will increase application re-use while lowering the cost and
complexity of application development and administration in the future.
• Cross-platform interoperability, which ensures that standards based on a variety of
implementation technologies all perform the same business activities.
• Platform Independence, which reduces the time, cost, and complexity of retargeting
programs for multiple platforms, particularly ones that have yet to be released.
• Domain Specificity, which is attained by domain-specific models that enable the rapid
deployment of new, industry-specific applications across several platforms.
• Productivity is increased by letting developers, designers, and system administrators to
utilize familiar languages and concepts while maintaining seamless communication
and integration across teams.

4|Page
5. Advantages:
• Reduced cost throughout the application lifecycle
• Increased return on technology investments
• Rapid inclusion in emerging technology benefits of their existing systems
• Reduced development time for new applications
• Improved application quality

6. Disadvantages:
• Raising the level of abstraction
• Application scope
• Non-functional requirements
• Absence of software architecture artifact

7. Conclusion:
Model-driven architecture is gaining popularity these days. Using MDA, we may come up
with unique solutions to a variety of issues. MDA is not a detailed project, but it does
require a high degree of vision. Large-scale solutions are built using models. MDA's
previous architecture faced the most critical difficulties and obstacles. Model-driven
architecture generates models in a well-defined language. It is an advance in the software
development life cycle, but it also includes a number of difficulties and obstacles that must
be handled.

5|Page
8. References:
1. https://en.wikipedia.org/wiki/Model-driven_architecture
2. https://www.omg.org/mda/
3. https://www.methodsandtools.com/archive/archive.php?id=5
4. Oksana Nikiforova, Antons Cernickins, Natalja Pavlova (2009). Discussing the
Difference between Model Driven Architecture and Model Driven Development in the
Context of Supporting Tools.

5. Junli Gao Di Li and Shixiong Zheng (2006). Developing real-time system based on
model driven architecture.

6. http://www.selectbs.com/analysis-and-design/what-is-model-driven-architecture-mda

7. https://www.bartleby.com/essay/The-Model-Driven-Approach-For-System-Analysis-
PJJF69UF3G

6|Page

You might also like