کد مقاله کد نشریه سال انتشار مقاله انگلیسی نسخه تمام متن
432226 688828 2016 35 صفحه PDF دانلود رایگان
عنوان انگلیسی مقاله ISI
PTL: A model transformation language based on logic programming
موضوعات مرتبط
مهندسی و علوم پایه مهندسی کامپیوتر نظریه محاسباتی و ریاضیات
پیش نمایش صفحه اول مقاله
PTL: A model transformation language based on logic programming
چکیده انگلیسی


• PTL language: The language makes possible to define meta-models and ATL-style rules, together with helpers and validation rules in Prolog syntax. EMF/ECore is the meta–meta-model of PTL, and source and target meta-models have to be defined in terms of the EMF/ECore meta-model.
• Declarative semantics: PTL is equipped with a declarative semantics that provides precise semantics to the PTL constructors.
• Encoding to Prolog rules: ATL-style transformation rules are translated into Prolog rules. Each rule is encoded by a set of Prolog rules, one rule for each object that is created, and one rule for each role set by the rule. A Prolog library for handling metamodels is also automatically generated from the meta-model specification.
• Model validation: Constraints on source and target models and cross-constraints on source–target models can be expressed in our approach by Prolog rules. An OCL to Prolog mapping is also defined.
• ATL to PTL mapping: An ATL to PTL mapping is defined in such a way that a subset of PTL is equivalent to a subset of ATL. For this fragment, PTL provides semantics to ATL and can be considered as a Prolog-based Virtual Machine for ATL.
• Debugging capabilities: Debugging permits detect rules that fail in a certain transformation, and in addition, debugging is able to locate the point of the rule in which it fails.
• Tracing capabilities: Tracing permits to navigate from a target model element to show all the rules and source model elements that contribute to this element.
• PTL evaluation: PTL has been evaluated with examples of ATL. PTL have been also evaluated for testing performance of transformations with medium-size models, and for testing performance of constraint validation with large models.
• Eclipse plugin: The plugin makes possible the edition of PTL code, the execution of transformations, as well as the debugging, tracing and validation of transformations.

In this paper we present a model transformation language based on logic programming. The language, called PTL (Prolog based Transformation Language), can be considered as a hybrid language in which ATL (Atlas Transformation Language)-style rules are combined with logic rules for defining transformations. ATL-style rules are used to define mappings from source models to target models while logic rules are used as helpers. The implementation of PTL is based on the encoding of the ATL-style rules by Prolog rules. Thus, PTL makes use of Prolog as a transformation engine. We have provided a declarative semantics to PTL and proved the semantics equivalent to the encoded program. We have studied an encoding of OCL (Object Constraint Language) with Prolog goals in order to map ATL to PTL. Thus a subset of PTL can be considered equivalent to a subset of ATL. The proposed language can be also used for model validation, that is, for checking constraints on models and transformations. We have equipped our language with debugging and tracing capabilities which help developers to detect programming errors in PTL rules. Additionally, we have developed an Eclipse plugin for editing PTL programs, as well as for debugging, tracing and validation. Finally, we have evaluated the language with several transformation examples as well as tested the performance with large models.

ناشر
Database: Elsevier - ScienceDirect (ساینس دایرکت)
Journal: Journal of Logical and Algebraic Methods in Programming - Volume 85, Issue 2, February 2016, Pages 332–366
نویسندگان
, , , ,