ABSTRACT Aspects and Transformations to Support Evolution in(2)

发布时间:2021-06-07

A key benefit of system and software modeling is the ability to explore various design alternatives to reach a fixedpoint representation of a concrete system design. Among a diverse set of configuration possibilities, a model engineer must be able to explo

AUTOMATED MODEL TRANSFORMATION

Model transformation provides an opportunity to automate several of the tasks that are typically performed manually in model-driven engineering. Such automation is a key to the concepts associated with a software factory [3], which aims to remove several remaining accidental complexities associated with software development. Numerous techniques and tools have been developed to support model transformation (please see accompanying sidebar for an overview). To perform model transformations in an automated manner, modeling tools need to offer a specific language for model developers to define their own transformations and execute these transformations on demand

[4]. Our investigation into the development of a model transformation engine suggests that such a language needs to possess the following two characteristics:

The language should be domain- and user-centered. The primary goal for the design of a transformation specification language should allow users to describe a transformation using concepts from their own domain. Among the language considerations of conciseness and comprehension, the key to the design of a transformation language is a set of core abstractions that are intuitive and cover the largest possible range of situations implied by current modeling practice. To achieve this goal, a user-centered transformation language should consist of a small set (ideally a minimized set) of concepts and constructs, but be powerful enough to express a complete set of desired transformation activities.

The language should be specific to model transformation. A model transformation language needs to have full power to specify all types of modeling objects and transformation behaviors, including model navigation, model querying and model modification. This requires both a robust type system and a set of functionally rich operators. In addition to full expressiveness, such a language should provide specific constructs and mechanisms for users to describe model transformations in an efficient way. In other words, a transformation language is also a domain-specific language that captures all the features of the model transformation domain.

The Constraint-Specification Aspect Weaver (C-SAW) was designed with these two characteristics in mind. Figure 1 presents the model transformation process from the perspective of C-SAW. A set of input models, as defined by a specific domain represented by a metamodel, serve as input to C-SAW. A transformation specification is also required to define the specific changes to be made to the source models. The language that is used by C-SAW to describe a transformation specification is the Embedded Constraint Language (ECL), which was created as an extension to the Object Constraint Language (OCL). The output of C-SAW is a set of transformed target models. C-SAW is implemented as a plugin for the Generic Modeling Environment (GME), which provides an environment for defining new modeling environments [5]. The implementation issues associated with C-SAW are presented in the middle of Figure 1, which illustrate the connection between the GME modeling API with the ECL parser and interpreter. Additional information about C-SAW (including papers, software, and videos) can be found at http://www.cis.uab.edu/gray/Research/C-SAW/

Key Constructs of a Model Transformation Language

ECL provides many capabilities to assist a model engineer in writing transformation specifications that reflectively refer to concepts from the user’s modeling domain in order to refine a model in a stepwise manner [6]. This allows transformations to be written concisely and intuitively because the transformations refer to domain elements recognized by the model engineer. The ECL constructs that support such transformation include a type system, a mechanism for selecting modeling elements, and a set of operators to manipulate the source models.

ABSTRACT Aspects and Transformations to Support Evolution in(2).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219