User Tools

Site Tools


public_namespace:mda_approach

This is an old revision of the document!


MDA approach

1 Model-driven development

Development of Web software is still an inefficient and errorprone process. We need integrated techniques and tool support for automated generation of Web systems. The goal of model-driven development (MDD) is to tackle these problems introducing a higher level of abstraction by defining metamodels and model transformations rules. The idea behind MDD is that modeling and transforming is a better foundation for the development and maintenance of systems than programming.

To develop software, we need knowledge about two concerns:

  • Domain aspects (relevant for the software end-user)
  • Software-technology aspects

The domain knowledge is distinct from software technology. In software development, domain is multiplied with IT knowledge, rather than added up. The software patterns that come from best practices are not used in an application once, but multiple times, for each aspect of the domain.

The Model-Driven Architecture separates the specification of the operation of a system form the details of the way that system uses the capabilities of its platform. MDA is an approach to system development, which increases the power of models in that work. It is model-driven because it provides a means for using models to direct the course of understanding, design, construction, deployment, operation, maintenance and modification. The objective is to postpone in the development process the creation of models that take into account technological aspects of a platform as much as possible. The main advantage is to be able to react efficiently and with low costs to technology changes.

MDA provides an approach for, and enables tools to be provided for:

  • specifying a system independently of the platform that support it,
  • specifying platforms,
  • choosing a particular platform for the system,
  • transforming the system specification into one for a particular platform

Goals of MDA are:

  • portability
  • interoperability
  • reusability

MDA specifies 3 viewpoints on a system, each used for a kind of model (CIM, PIM, and PSM): a computation independent viewpoint,used for CIM , a platform independent viewpoints used for PIM, a platform specific viewpoint used for PSM.

2 Basic Definitions

2.1 System

A System is an assemblage of entity, comprising a whole with each and every element interacting or related to at least one other element. Any entity which has no relationship with any other element of the system is not an element of that system. A subsystem is then a set of elements which is a system itself and a part of the whole system. Every division or aggregation of real entities into systems is arbitrary, therefore it is a subjective abstract concept. In MDA, a system is described in terms of one or more applications supported by one or more platforms. An application is a functionality being developed.

2.2 Model

A model is a representation of an object or system from a particular viewpoint. A model of a system is a description or specification of that system and its environment for some certain purpose. A model is often presented as a combination of drawings and test. The text may be in a modeling language or in a natural language.

2.3 Viewpoint

A viewpoint on a system is a technique for abstraction using a selected set of architectural concepts and structuring rules, in order to focus on particular concerns within that system. Here “abstraction” is used to mean the process of suppressing selected detail to establish a simplified model. The concepts and rules may be considered to form a viewpoint language. A view of a system is a model which represent that system form the perspective of a chosen viewpoint.

2.4 Platform

A platform is a set of subsystems and technologies that provide a coherent set of functionality through interfaces and specified usage patterns, which any application supported by that platform can use without concern for the details of how the functionality provided by the platform is implemented. Platform independence is a quality, which a model may exhibit. This is the quality that the model is independent of the features of a platform of any particular type.

2.5 Quality

Quality degree to which a set of inherent characteristic fulfills requirements“ Quality can be defined as both the degree to which a delivered application meets the needs of users as well as the degree to which a delivered system has low maintenance costs.

2.6 Process

A process is a set of possible behaviors. Behavior of a system is the evolution of state of system over time, i-e the path the system traces out in some attribute space. Thus any description of a system's behavior is made with respect to some frame of reference for that system.

1.7 Pervasive Services

Pervasive services are services available in a wide range of platforms. MDA will provide common, platform independent models of pervasive services. It will provide mappings for transforming models, which draw on these pervasive service PIMs, to platform specific models using the services as provided by a particular platform.

1.8 Implementations

An implementation is a specification, which provides all the information needed to construct a system and to put it into operation.

public_namespace/mda_approach.1169731090.txt.gz · Last modified: 2007/01/30 09:49 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Run on Debian Driven by DokuWiki