scholarly journals Model transformations to bridge concrete and abstract syntax of web rule languages

2009 ◽  
Vol 6 (2) ◽  
pp. 47-85 ◽  
Author(s):  
Milan Milanovic ◽  
Dragan Gasevic ◽  
Adrian Giurca ◽  
Gerd Wagner ◽  
Sergey Lukichev ◽  
...  

This paper presents a solution to bridging the abstract and concrete syntax of a Web rule languages by using model transformations. Current specifications of Web rule languages such as Semantic Web Rule Language (SWRL) or RuleML define their abstract syntax (e.g., metamodel) and concrete syntax (e.g., XML schema) separately. Although the recent research in the area of Model-Driven Engineering (MDE) demonstrates that such a separation of two types of syntax is a good practice (due to the complexity of languages), one should also have tools that check validity of rules written in a concrete syntax with respect to the abstract syntax of the rule language. In this study, we use the REWERSE I1 Rule Markup Language (R2ML), SWRL, and Object Constraint Language (OCL), whose abstract syntax is defined by using metamodeling, while their textual concrete syntax is defined by using either XML/RDF schema or Extended Backus-Naur Form (EBNF) syntax. We bridge this gap by a bi-directional transformation defined in a model transformation language (ATLAS Transformation Language, ATL). This transformation allowed us to discover a number of issues in both web rule language metamodels and their corresponding concrete syntax, and thus make them fully compatible. This solution also enables for sharing web rules between different web rule languages.

Author(s):  
Karima Berramla ◽  
El Abbassia Deba ◽  
Abou El Hassen Benyamina ◽  
Djilali Benhamamouch

Model-driven engineering (MDE) is a paradigm based on the intensive use of models throughout the life cycle of an application, where model transformation plays an important role. Various model transformation approaches have been proposed, but developers are still faced with the complexity of model transformation specifications. Most of these approaches are based on the specification of transformation rules with a concrete syntax at a low level where the developer must master the transformation language. The question at this level is how to generate a model transformation specification that must be at a very abstract level, independent of any transformation language. This article aims to propose an approach to generate an abstract representation of transformation rules and these are used to produce a source code written in a chosen transformation language. The transformation rules are calculated semi-automatically by using a matching technique on elements of source and target metamodels. This idea is illustrated by different transformation examples.


Author(s):  
Milan Milanovic ◽  
Dragan Djuric ◽  
Dragan Gasevic ◽  
Vladan Devedzic

Web Ontology Language (OWL), Semantic Web Rule Language (SWRL) and Model-Driven Engineering (MDE) are technologies being developed in parallel, but by different communities. They have common points and issues and can be brought closer together. Many authors have so far stressed this problem and have proposed several solutions. The result of these efforts is the recent OMG’s initiative for defining an ontology development platform. However, the problem of transformation between Semantic Web ontology and rule languages and MDE-based languages has been solved using rather partial and ad hoc solutions, most often by XSLT. In this paper, we relations between the Semantic Web languages and MDE-compliant languages as separate technical spaces. In order to achieve a synergy between these technical spaces, we present ontology and rule languages in terms of MDE standards, recognize relations between the OWL and SWRL langauges and MDE-based ontology languages, and propose mapping techniques. In order to illustrate the approach, we use an MDE-defined architecture that includes the ontology and rule metamodels and ontology UML Profile. We also show how MDE techniques, such as model transformations, can be used to enable sharing rules and ontologies by using REWERSE Rule Markup Language (R2ML), a proposal for a general rule language. The main benefit of this approach is that it keeps the focus on the language concepts (i.e., languages’ abstract syntax - metamodels) rather than on technical issues caused by different concrete syntax. Yet, we also provide transformations that bridge between both languages’ concrete (XML) and abstract (MOF) syntax.


Author(s):  
Duc-Hanh Dang ◽  
Martin Gogolla

Model transformation is an important building block for model-driven approaches. It puts forward a necessity and a challenge to specify and realize model transformation as well as to ensure the correctness of transformations. This paper proposes an OCL-based framework for model transformations. The formal foundation of the framework is the integration of Triple Graph Grammars and the Object Constraint Language (OCL). The OCL-based transformation framework offers an on-the-fly verification of model transformations and means for transformation quality assurance.


2006 ◽  
Author(s):  
Χρήστος Τρανώρης

Η αναβάθμιση της διαδικασίας ανάπτυξης εφαρμογών λογισμικού που αφορούν τον έλεγχο βιομηχανικών συστημάτων, είναι ένα θέμα που απασχολεί για δεκαετίες του μηχανικούς ελέγχου αλλά και τους μηχανικούς λογισμικού. Κατά την ανάπτυξη των βιομηχανικών εφαρμογών, οι μηχανικοί καλούνται να ικανοποιήσουν πληθώρα απαιτήσεων μεταξύ των οποίων: συμβατότητα με το υπάρχον εγκατεστημένο υλικό, συμβατότητα με τις ήδη εγκατεστημένες παλαιότερες εφαρμογές και επαναχρησιμοποίηση τμημάτων λογισμικού. Για τους παραπάνω λόγους, αναζητούνται συνεχώς λύσεις οι οποίες: θα προσφέρουν μια περισσότερο φιλική προς το μηχανικό ελέγχου διαδικασία ανάπτυξης η οποία θα υποστηρίζει επεκτασιμότητα των εφαρμογών, θα διευκολύνει την επαναχρησιμοποίηση τμημάτων του λογισμικού, θα ενισχύει την συντήρηση του λογισμικού και θα είναι ανεξάρτητη από το υλικό εκτέλεσης των βιομηχανικών συστημάτων. Η International Electrotechnical Commission (IEC) για να αντιμετωπίσει τις απαιτήσεις των σύγχρονων συστημάτων δημιούργησε το πρότυπο IEC61499 το οποίο έρχεται να επεκτείνει το Function Block του IEC61131. Το IEC61499, καθορίζει μια μεθοδολογία σχεδιασμού, όπου το Function Block είναι το βασικό δομικό συστατικό για την ανάπτυξη διαλειτουργικών κατανεμημένων εφαρμογών αυτοματισμού και ελέγχου. Οι εφαρμογές ελέγχου μπορούν να υλοποιηθούν από Function Block δίκτυα διασυνδέοντας τις εισόδους και εξόδους τους. Το IEC61499 προτείνει επίσης τον σχεδιασμό εργαλείων λογισμικού για την υποστήριξη (εν μέρει αυτοματοποίηση) της διαδικασίας ανάπτυξης. Στην παρούσα διατριβή, παρουσιάζεται μια νέα προσέγγιση για τον σχεδιασμό κατανεμημένων βιομηχανικών εφαρμογών και πιο συγκεκριμένα Συστημάτων Μέτρησης και Ελέγχου Βιομηχανικών Διεργασιών1 (IPMCSs) όπως τα ορίζει το πρότυπο IEC. Η προσέγγιση εστιάζει στον ορισμό μιας μεθοδολογίας για την φάση της ανάλυσης και κύρια την τεκμηρίωση των απαιτήσεων και τον μετέπειτα μετασχηματισμό του μοντέλου ανάλυσης σε μοντέλο σχεδιασμού. Η προτεινόμενη προσέγγιση βασίζεται σε κατάλληλα οριζόμενες έννοιες και τεχνικές και αξιοποιεί τελευταίες τάσεις από το χώρο της Μηχανιστικής Λογισμικού (Software Engineering), όπως είναι η έννοια της μετα-μοντελοποίησης (Meta-modeling) όπως αυτή ορίζεται στα πλαίσια της βασισμένης σε μοντέλα ανάπτυξης (Model Driven Development) και της Unified Modeling Language (UML) και των επεκτάσεων της (UML Profiles) και εφαρμογή αυτών στο σχεδιασμό βιομηχανικών εφαρμογών. Για την ομαλή μετάβαση από τις καταγεγραμμένες απαιτήσεις σε μοντέλα σχεδιασμού τεκμηριώθηκε και παρουσιάζεται ένα σύνολο κανόνων μετασχηματισμού το οποίο περιγράφηκε αυστηρά με χρήση της Object Constraint Language. Για να αξιοποιηθεί η προτεινόμενη προσέγγιση από μηχανικούς ελέγχου, σχεδιάστηκε και υλοποιήθηκε ένα εργαλείο λογισμικού συμβατό με το πρότυπο IEC61499. Το εργαλείο που έχει το όνομα CORFU ESS έρχεται να υποστηρίξει: α) την φάση της ανάλυσης, β) τον μετασχηματισμό του μοντέλου ανάλυσης σε μοντέλο σχεδιασμού, γ) τον σχεδιασμό εφαρμογών με Function Blocks όπως ορίζει το IEC61499, δ) την κατανομή των Function Block στις συσκευές των βιομηχανικών δικτύων και ε) τον έλεγχο των τελικών Function Block δικτύων. Η προσέγγιση εφαρμόσθηκε σε μελέτες περίπτωσης για να επιδείξει την εφαρμοσιμότητα της προτεινόμενης διαδικασίας, την αποτελεσματικότητα του εργαλείου που αναπτύχθηκε και την δυνατότητα της διαδικασίας και του εργαλείου να καλύψουν απαιτήσεις μικρής ή μεγάλης κλίμακας εφαρμογών.


Author(s):  
Jakub Malý ◽  
Martin Nečaský

In this work, we show how integrity constraints expressed using Object Constraint Language (OCL) can be verified using XML technologies - Schematron, XPath/XQuery and XSLT - and using Model Driven Architecture (MDA) principles. Some constructs typical for OCL constraints are different from the methods used in XPath/XQuery expressions. That is why for translating some OCL expressions, the standard XML toolset must be extended. We introduce such extension for the 2.0 versions of the languages, but with the new features and constructs proposed in drafts for XSLT 3.0, XPath 3.0 and XQuery 3.0, the transition from OCL is much more seamless and transparent. Higher-order functions, maps, error-recovery instructions etc. provide us with necessary power to translate a general OCL expression and we discuss in detail their potential.


Author(s):  
Sandra Greiner ◽  
Thomas Buchmann

Model transformations constitute the key technology for model-driven software development, a software engineering discipline which became more and more important during the last decade. While tool support for unidirectional batch transformations is rather mature, bidirectional and incremental transformations are only weakly investigated. Nevertheless, several usage scenarios demand for incremental and bidirectional transformations, like round-trip engineering between UML class models and Java source code. This paper presents a bidirectional transformation between UML class models and a Java model which is obtained from Java source code. The transformation is written in QVT Relations, a declarative model transformation language provided by the OMG. While the case study demonstrates that it is possible to specify bidirectional transformations between heterogeneous metamodels in a single relational specification, it also reveals some inherent limitations of the language and the corresponding tool support.


Author(s):  
K. Lano ◽  
S. Kolahdouz-Rahimi

Abstract 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.


Author(s):  
Stefan Höppner ◽  
Timo Kehrer ◽  
Matthias Tichy

AbstractModel transformations are among the key concepts of model-driven engineering (MDE), and dedicated model transformation languages (MTLs) emerged with the popularity of the MDE pssaradigm about 15 to 20 years ago. MTLs claim to increase the ease of development of model transformations by abstracting from recurring transformation aspects and hiding complex semantics behind a simple and intuitive syntax. Nonetheless, MTLs are rarely adopted in practice, there is still no empirical evidence for the claim of easier development, and the argument of abstraction deserves a fresh look in the light of modern general purpose languages (GPLs) which have undergone a significant evolution in the last two decades. In this paper, we report about a study in which we compare the complexity and size of model transformations written in three different languages, namely (i) the Atlas Transformation Language (ATL), (ii) Java SE5 (2004–2009), and (iii) Java SE14 (2020); the Java transformations are derived from an ATL specification using a translation schema we developed for our study. In a nutshell, we found that some of the new features in Java SE14 compared to Java SE5 help to significantly reduce the complexity of transformations written in Java by as much as 45%. At the same time, however, the relative amount of complexity that stems from aspects that ATL can hide from the developer, which is about 40% of the total complexity, stays about the same. Furthermore we discovered that while transformation code in Java SE14 requires up to 25% less lines of code, the number of words written in both versions stays about the same. And while the written number of words stays about the same their distribution throughout the code changes significantly. Based on these results, we discuss the concrete advancements in newer Java versions. We also discuss to which extent new language advancements justify writing transformations in a general purpose language rather than a dedicated transformation language. We further indicate potential avenues for future research on the comparison of MTLs and GPLs in a model transformation context.


Sign in / Sign up

Export Citation Format

Share Document