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.

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700