MDA Model Driven Architecture - Uni Konstanz · Model Driven Architecture (MDA) is a standard...

31
MDA Model Driven Architecture Eduard Schibrowski

Transcript of MDA Model Driven Architecture - Uni Konstanz · Model Driven Architecture (MDA) is a standard...

MDA

Model Driven Architecture

Eduard Schibrowski

Content:

Definition of MDA

MDA Framework – key concepts PIM, PSM and CIM

Interoperability (CORBA vs MDA)

Core of the MDA concept (CWM, MOF, UML and

XMI)

Near term and long term vision of MDA

Applying MDA to DW development: Benefits

Definition

Model Driven Architecture (MDA) is a standard

framework for software development that addresses

the complete life cycle of designing, deploying,

integrating, and managing applications by using

models in software development.

MDA Specification

This standard separates the specification of system functionality

in a Platform Independent Model (PIM) from the specification of

the implementation of that functionality on a specific technology

platform in a Platform Specific Model (PSM).

PIM and PSM

MDA encourages specifying a Platform Independent Model

(PIM) which contains no information specific to the platform or

the technology that is used to realize it.

Then, this PIM can be transformed into a Platform Specific

Model (PSM) in order to include information about the specific

technology that is used in the realization of it on a specific

platform.

Later, each PSM is transformed into code to be executed on

that platform and obtain the final software product.

MDA – how it works?

On the top of these models, MDA also presents a Computation

Independent Model (CIM). This model describes the system

within its environment (i.e. business domain) and shows what

the system is expected to do without showing details about how

it is constructed.

PIM and PSM can be developed by using any specification

language, but typically UML is used since it is a standard

modeling language for general purpose.

MDA Framework

Framework explination

The requirements of the system are addressed in a CIM.

Afterwards, this CIM is refined into a PIM (normally this

refinement is done by hand.

Then, this PIM can be automatically transformed into different

PSMs.

Finally, code is generated from each PSM in order to obtain the

final software product.

Interoperability – past and present

For a very long time, interoperability had been based

largely on CORBA standards and services.

Heterogeneous software systems interoperate at the

level of standard component interfaces.

The MDA process, on the other hand, places formal

system models at the core of the interoperability

problem.

CORBA

Common Object Request Broker Architecture

CORBA “wraps” program code into a bundle containing

information about the capabilities of the code inside and how to

call it. The resulting wrapped objects can then be called from

other programs (or CORBA objects) across a network.

CORBA infrastructure

Interoperability and integration

The key to successful integration and interoperability lies in the

intelligent use and management of metadata across all applications,

platforms, tools, and databases.

Metadata management and integration can be accomplished through

the use of the OMG's core MDA standards: CWM, MOF, UML and XMI.

Core of the MDA concept

OMG Standards:

UML - The Unified Modeling Language

MOF - Meta Object Facility

XMI - XML Metadata Interchange

CWM - the Common Warehouse Metamodel

Common Warehouse Metamodel (CWM)

The Common Warehouse Metamodel (CWM) is a specification

for modeling metadata for relational, non-relational, multi-

dimensional, and most other objects found in a data

warehousing environment.

CWM provides objects that describe where the data came from

and when and how the data was created.

Common Warehouse Metamodel (CWM)

a model of the data model

a model-based approach to interchanging metadata

between software systems

Metadata shared between products is formulated in terms of

data models that are consistent with one or more CWM

metamodels. A product exports metadata by formulating a

model of its internal metadata structures in a format prescribed

by CWM. Similarly, a product imports metadata by consuming a

CWM-compliant model and mapping it to its internal metadata.

Unified Modeling Language (UML)

UML is a general-purpose modeling language that

includes a standardized graphical notation used to

create an abstract model of a system.

CWM is expressed in the Unified Modeling Language

UML is the notational basis for the definition of CWM,

but CWM also extends a subset of the core UML

metamodel with data warehousing and business

analysis domain concepts.

Unified Modeling Language (UML)

visual UML models are capable of automatic

translation to other formal languages

This facilitates the interchange of CWM models in

various platform- and tool-independent formats (e.g.,

XML), as well as the construction of tool-specific

metadata from CWM models (translation of a CWM

relational model into SQL DDL statements)

Meta Object Facility (MOF)

MOF is an OMG standard originated in UML, defining a

common, abstract language for the specification of metamodels

designed as a four level architecture.

It defines the essential elements, syntax, and structure of

metamodels that are used to construct object-oriented models of

discrete systems.

MOF serves as the common model of both the CWM and UML

metamodels.

XML Metadata Interchange (XMI)

XMI is an OMG standard that maps the MOF to the eXtensibleMarkup Language (XML)

XMI defines how XML tags are used to represent serializedMOF-compliant models in XML.

MOF-based metamodels are translated to XML Document TypeDefinitions (DTDs) and models are translated into XMLDocuments that are consistent with their corresponding DTDs.

To the facts….

most significant about this approach is the independence of the

system specification from the implementation technology or

platform. The system definition exists independently of any

implementation model and has formal mappings to many

possible platform infrastructures (e.g., Java, XML, SOAP).

The Vision

The near term vision (i.e., nearly seamless interoperability,based on formal PIM-PSM translations and shared metadata) isachievable right now. The supporting technologies are largelyspecified and implementations are currently being built by anumber of organizations.

The long-term vision (i.e., the wide spread deployment of AOMs,as an evolution of the MDA), on the other hand, is still beingconceptualized.

Key building block of interoperable

systems (near term vision)

Shared metadata

Standardisation of common systems and

application level services.

Platform specification

Shared metadata

metadata is the primary means by which interoperability is

achieved (interoperability is largely facilitated by standard APIs,

but ultimately requires shared metadata as the definitions of

system semantics and capabilities).

Applications,tools, databases, and other components plug into

the environment and discover metadata descriptions pertaining

to the environment. Similarly, a component or product

introduced into the environment can also publish its own

metadata to the rest of the environment.

Standardisation

MDA-based system requires its components to

standardize on each of the following:

A formal language (syntax and semantics) for representing

metadata.

An interchange format for exchanging and publishing metadata.

A programming model for metadata access and discovery. This

must include generic programming capabilities for dealing with

metadata of an unknown nature.

Platform Specification

This is basically the complete definition of the metadata

interoperability and interchange strategies, common services,

and standard APIs that any instance of an MDA-based system

is capable of supporting.

Key building block of interoperable systems (long

term vision)

Knowledge-Based Orientation

Dynamic Architecture

Adaptive Systems

Knowledge-Based Orientation

System functionality will gradually become more knowledge-

based and capable of automatically discovering common

properties of dissimilar domains, making intelligent decisions

based on those discoveries, and drawing and storing resulting

inferences.

the ability to act upon, as well as revise, knowledge at run time

is provided through AOMs

Considerable amount of domain knowledge is pushed up into

higher abstraction levels. Systems will understand how to

efficiently extract and act on that information.

Dynamic Architecture

development of systems that can directly interpret models and

modify their own behavior accordingly, rather than explicitly

mapping external views of shared metadata to implementation

models.

In the future, old mapping process will be discarded and models

will be interpreted directly by software - changing the model

directly changes software behavior, resulting in complete run-

time extensibility.

Example: publishing a new version of a model in a repository

causes all software systems in the environment to automatically

adjust their own behaviors to reflect the changes

Adaptive Systems

The architectures and capabilities described above will produce

a general class of highly dynamic and self-organizing systems

that can act directly on domain knowledge and behave

intelligently without having to be told how.

Such systems can readily accommodate unforeseen changes in

the environment and react appropriately without the need for

programmer intervention.

Benefits of MDA

The main advantage of MD framework is that the DW is

automatically generated from defined PIMs. Therefore, the

productivity is improved and development time and cost

decrease.

Other benefits

Business perspective

Portability

Integration and interoperability

Reusability

Adaptability

Support for system evolution