Integrated Model-driven Development Environments for Equation-based Object-oriented Languages




НазваниеIntegrated Model-driven Development Environments for Equation-based Object-oriented Languages
страница4/55
Дата04.10.2012
Размер0.98 Mb.
ТипДокументы
1   2   3   4   5   6   7   8   9   ...   55

Chapter 2


Background and Related Work

2.1Introduction


The research work in this thesis is cross-cutting several research fields, which we introduce in this section. Here we give a more detailed presentation of the specific background and related work of the several areas in which we address problems.

2.1.1Systems, Models, Meta-Models, and Meta-Programs


Understanding existing systems or building new ones is a complex process. When dealing with this complexity people try to break large systems into manageable pieces. In order to experiment with systems people create models that can answer questions about specific system properties. As a simple example of a system we can take a fish; our mental model of a fish is our internal mind representation, experiences, and beliefs about this system. In other words, a model is an abstraction of a system which mirrors parts or all its characteristics we are interested in. Models are created for various reasons from proving that a particular system can be built to understanding complex existing systems. Modeling – the process of model creation – is often followed by simulation performed on the created models. A simulation can be regarded as an experiment applied on a model.

Meta-modeling is still a modeling activity but its aim is to create meta-models. A meta-model is one level of abstraction higher than its described models.

  • If a model MM is used to describe a model M, then MM is called the meta-model of M.

  • Alternatively one can consider a meta-model as the description of the syntax and/or meaning (semantics) of concepts that are used in the underlying level to construct models (model families).

The usefulness of meta-models highly depends on the purpose for which they are created and what they attempt to describe. In general, a meta-model can be regarded as:

  • A schema for data (here data can mean anything from information to programs, models, meta-models, etc) that needs to be exchanged, stored, or transformed.

  • A language that is used to describe a specific process or methodology.

  • A language for expressing (additional) meaning (semantics) or syntax of existing information, e.g. information present on the World Wide Web (WWW).

Thus, meta-models are ways to express and share some kind of knowledge that helps in the design and management of models.

When the models are programs, the programs that manipulate them are called meta-programs and the process of their creation is denoted as meta-programming. As examples of meta-programs we can include program generators, interpreters, compilers, static analyzers, and type checkers. In general meta-programs do not act on the source code directly but on a representation (model) of the source code, such as abstract syntax trees. The abstract syntax trees together with the meta-program that manipulates them can be regarded as a meta-model.

One can make a distinction between general purpose modeling and domain specific modeling, for example physical systems modeling. General purpose modeling is concerned with expressing and representing any kind of knowledge, while domain specific modeling is targeted to specific domains. Lately, approaches that use general purpose modeling languages (meta-metamodels) to define domain specific modeling languages (meta-models) together with their environments have started to emerge. The meta-metamodeling methodology is used to specify such approaches.

Combining different models that use different formalisms and different levels of abstraction to represent aspects of the same system is highly desirable. Computer aided multi-paradigm modeling is a new emerging field that is trying to define a domain independent framework along several dimensions such as multiple levels of abstraction, multi-formalism modeling, meta-modeling, etc.

2.1.2Meta-Modeling and Meta-Programming Approaches


Hardly anyone can speak of general purpose modeling without mentioning the Unified Modeling Language (UML) (OMG [115]). UML is by far the most used specification language used for modeling. UML together with the Meta-Object Facility (MOF) (OMG [112]) forms the bases for the Model-Driven Architecture (MDA) (OMG [113]) which aims at unifying the design, development, and integration of system modeling. The architecture has four layers, called M0 to M3 presented in Figure 2 -2 and below:

  • M3 is the meta-metamodel which is an instance of itself.

  • M2 is the level where the UML meta-model is defined. The concepts used by the designer, such as Class, Attribute, etc., are defined at this level.

  • M1 is the level where the UML models and domain-specific extensions of the UML language reside.

  • M0 is the level where the actual user objects reside (the world).

An instance at a certain level is always an instance of something defined at one level higher. An actual object at M0 is an instance of a class defined at M1. The classes defined in UML models at M1 are instances of the Class concept defined at M2. The UML meta-model itself is an instance of M3. Other meta-models that define other modeling languages are also instances of M3.



Figure 2 2. The Object Management Group (OMG) 4-Layered
Model Driven Architecture (MDA).


Within the MDA framework, UML Profiles are used to tailor the general UML language to specific areas (domain specific modeling).

Modeling environment configuration approaches similar to the UML Profiles, are present within the Generic Modeling Environment (GME) (Ledeczi et al. 2001 [82], Ledeczi et al. 2001 [83]) which is a configurable toolkit for creating domain-specific modeling and program synthesis environments. Here, the configuration is accomplished through meta-models specifying the modeling paradigm (modeling language) of the application domain.

Computer-aided Multi-paradigm Modeling and Simulation (CaMpaM) (Lacoste-Julien et al. 2004 [79], Lara et al. 2003 [80]) supported by tools such as the ATOM3 environment (A Tool for Multi-formalism and Meta-Modeling) (Vangheluwe and Lara 2004 [170]) is aiming at combining several dimensions of modeling (levels of abstractions, multi-formalisms and meta-modeling) in order to configure environments tailored for specific domains.

We have already described what meta-modeling and meta-programming are. From another point of view meta-modeling and meta-programming are orthogonal solutions to system modeling (Figure 2 -3) that can be combined to achieve model definition and transformation at several abstraction levels.

By using meta-programming it is possible to achieve transformation between models or meta-models. The meta-models one level up can be used to enforce the correctness of the transformation. Translation and transformation between models are highly desirable as new models appear and solutions to system modeling require different modeling languages and formalisms together with their environments.



Figure 2 3. Meta-Modeling and Meta-Programming dimensions.
1   2   3   4   5   6   7   8   9   ...   55

Похожие:

Integrated Model-driven Development Environments for Equation-based Object-oriented Languages iconThe Domain Analysis Integrated in an Object Oriented Development Methodology

Integrated Model-driven Development Environments for Equation-based Object-oriented Languages iconHypergraph-based Object-oriented Model for gis application

Integrated Model-driven Development Environments for Equation-based Object-oriented Languages iconObject-Oriented Object-Oriented Languages

Integrated Model-driven Development Environments for Equation-based Object-oriented Languages iconApplying uml and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition)

Integrated Model-driven Development Environments for Equation-based Object-oriented Languages iconModel Development of a Total Integrated Maintenance System

Integrated Model-driven Development Environments for Equation-based Object-oriented Languages iconAn integrated framework for model-based flow assurance in deep-water oil and gas production

Integrated Model-driven Development Environments for Equation-based Object-oriented Languages iconThis paper introduces the basic concepts of Agile Database Techniques, and effective ways to go about the Data-Oriented aspects of Object Oriented software

Integrated Model-driven Development Environments for Equation-based Object-oriented Languages iconObject-Oriented Metrics: an Annotated Bibliography

Integrated Model-driven Development Environments for Equation-based Object-oriented Languages iconAn Introduction and Brief Examination of Object-Oriented Data Modeling

Integrated Model-driven Development Environments for Equation-based Object-oriented Languages iconAn Object-Oriented Support Tool for the Design of Casting Procedures

Разместите кнопку на своём сайте:
Библиотека


База данных защищена авторским правом ©lib.znate.ru 2014
обратиться к администрации
Библиотека
Главная страница