scholarly journals An OCL-Based Framework for Model Transformations

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.

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):  
FRANK HERMANN ◽  
HARTMUT EHRIG ◽  
ULRIKE GOLAS ◽  
FERNANDO OREJAS

Triple graph grammars (TGGs) are a well-established concept for the specification and execution of bidirectional model transformations within model driven software engineering. Their main advantage is an automatic generation of operational rules for forward and backward model transformations, which simplifies specification and enhances usability as well as consistency. In this paper we present several important results for analysing model transformations based on the formal categorical foundation of TGGs within the framework of attributed graph transformation systems.Our first main result shows that the crucial properties of correctness and completeness are ensured for model transformations. In order to analyse functional behaviour, we generate a new kind of operational rule, called aforward translation rule. We apply existing results for the analysis of local confluence for attributed graph transformation systems. As additional main results, we provide sufficient criteria for the verification of functional behaviour as well as a necessary and sufficient condition for strong functional behaviour. In fact, these conditions imply polynomial complexity for the execution of the model transformation. We also analyse information and complete information preservation of model transformations, that is, whether a source model can be reconstructed (uniquely) from the target model computed by the model transformation. We illustrate the results for the well-known model transformation example from class diagrams to relational database models.


Author(s):  
Nils Weidmann ◽  
Anthony Anjorin

AbstractIn the field of Model-Driven Engineering, Triple Graph Grammars (TGGs) play an important role as a rule-based means of implementing consistency management. From a declarative specification of a consistency relation, several operations including forward and backward transformations, (concurrent) synchronisation, and consistency checks can be automatically derived. For TGGs to be applicable in realistic application scenarios, expressiveness in terms of supported language features is very important. A TGG tool is schema compliant if it can take domain constraints, such as multiplicity constraints in a meta-model, into account when performing consistency management tasks. To guarantee schema compliance, most TGG tools allow application conditions to be attached as necessary to relevant rules. This strategy is problematic for at least two reasons: First, ensuring compliance to a sufficiently expressive schema for all previously mentioned derived operations is still an open challenge; to the best of our knowledge, all existing TGG tools only support a very restricted subset of application conditions. Second, it is conceptually demanding for the user to indirectly specify domain constraints as application conditions, especially because this has to be completely revisited every time the TGG or domain constraint is changed. While domain constraints can in theory be automatically transformed to obtain the required set of application conditions, this has only been successfully transferred to TGGs for a very limited subset of domain constraints. To address these limitations, this paper proposes a search-based strategy for achieving schema compliance. We show that all correctness and completeness properties, previously proven in a setting without domain constraints, still hold when schema compliance is to be additionally guaranteed. An implementation and experimental evaluation are provided to support our claim of practical applicability.


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.


2013 ◽  
Vol 24 (5) ◽  
pp. 365-388 ◽  
Author(s):  
Hartmut Ehrig ◽  
Frank Hermann ◽  
Hanna Schölzel ◽  
Christoph Brandt

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.


Sign in / Sign up

Export Citation Format

Share Document