MDA Model Driven Architecture - Uni Konstanz · Model Driven Architecture (MDA) is a standard...
Transcript of MDA Model Driven Architecture - Uni Konstanz · Model Driven Architecture (MDA) is a standard...
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.
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.
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.