当前位置: X-MOL 学术Softw. Syst. Model. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Implementing QVT-R via semantic interpretation in UML-RSDS
Software and Systems Modeling ( IF 2.0 ) Pub Date : 2020-09-24 , DOI: 10.1007/s10270-020-00824-3
K. Lano , S. Kolahdouz-Rahimi

The QVT-Relations (QVT-R) model transformation language is an OMG standard notation for model transformation specification. It is highly declarative and supports (in principle) bidirectional (bx) transformation specification. However, there are many unclear or unsatisfactory aspects to its semantics, which is not precisely defined in the standard. UML-RSDS is an executable subset of UML and OCL. It has a precise mathematical semantics and criteria for ensuring correctness of applications (including model transformations) by construction. There is extensive tool support for verification and for production of 3GL code in multiple languages (Java, C#, C++, C, Swift and Python). In this paper, we define a translation from QVT-R into UML-RSDS, which provides a logically oriented semantics for QVT-R, aligned with the RelToCore mapping semantics in the QVT standard. The translation includes variation points to enable specialised semantics to be selected in particular transformation cases. The translation provides a basis for verification and static analysis of QVT-R specifications and also enables the production of efficient code implementations of QVT-R specifications. We evaluate the approach by applying it to solve benchmark examples of bx.



中文翻译:

通过UML-RSDS中的语义解释实现QVT-R

QVT关系(QVT-R)模型转换语言是用于模型转换规范的OMG标准符号。它是高度声明性的,并且(原则上)支持双向(bx)转换规范。但是,它的语义有很多不清楚或不令人满意的方面,在标准中没有明确定义。UML-RSDS是UML和OCL的可执行子集。它具有精确的数学语义和标准,可通过构造确保应用程序(包括模型转换)的正确性。提供了广泛的工具支持,可用于多种语言(Java,C#,C ++,C,Swift和Python)的验证和生产3GL代码。在本文中,我们定义了从QVT-R到UML-RSDS的转换,该转换为QVT-R提供了面向逻辑的语义,与QVT标准中的RelToCore映射语义对齐。该翻译包括变化点,以使在特定的转换情况下可以选择特殊的语义。该翻译为QVT-R规范的验证和静态分析提供了基础,并且还可以生成QVT-R规范的有效代码实现。我们通过将其应用于解决bx的基准示例来评估该方法。

更新日期:2020-09-24
down
wechat
bug