Article

YATL: Yet another transformation language

Authors:
To read the full-text of this research, you can request a copy directly from the author.

Abstract

With the increased use of modelling techniques has come the desire to use model transformations. Model transformations systems are graph transformations systems that perform translations between languages defined by a corresponding metamodel. The current paper proposes a transformation language called YATL (Yet Another Transformation Language). This transformation language has been defined to perform transformations within the OMG's MDA framework. After having presented YATL, we present several experiments to show how YATL can be used to map from a source model to a target model. YATL is still evolving since it is supposed to match the forthcoming QVT standard.

No full-text available

Request Full-text Paper PDF

To read the full-text of this research,
you can request a copy directly from the author.

... Transformation Language) [19], Kent Modelling Framework [20] kapsamında geliştirilmiş bir dönüşüm dilidir. Derleyicisi ve yorumlayıcısı Java ile geliştirilmiştir ve farklı modelleme ortamları ve araçlarının taşınabilirliğini maksimize amacıyla tasarlanmıştır. ...
... Bir YATL dönüşümü tek yönlüdür. Dilin geliştiricileri büyük ölçekteki modellerde de dilin kullanılabilmesi için model dönüşüm dilinin tek yönlü olması gerektiğini savunmaktadır [19]. Buna sebep olarak da çift yönlü bir dönüşüm dilinin boşlukları doldurmak için birleştirme operasyonu kullanan bir çıkarsama makinesi gibi çalışacağını göstermektedirler [19]. ...
... Dilin geliştiricileri büyük ölçekteki modellerde de dilin kullanılabilmesi için model dönüşüm dilinin tek yönlü olması gerektiğini savunmaktadır [19]. Buna sebep olarak da çift yönlü bir dönüşüm dilinin boşlukları doldurmak için birleştirme operasyonu kullanan bir çıkarsama makinesi gibi çalışacağını göstermektedirler [19]. ...
Conference Paper
Full-text available
Bu makalede, Ontology Management Group (OMG) tarafından tanımlanan Model Güdümlü Mimari (Model Driven Architecture (MDA)) kapsamındaki model dönüşümlerinin ontolojiler kullanılarak gerçekleştirilmesi konusu incelenmiştir. Model dönüşümünün ontolojiler ile gerçekleştirilmesinin olası faydaları, anlamsal olarak birbiriyle tam olarak eşleşen modellerin ortaya çıkmasıdır. Bu kapsamda öncelikle model dönüşümünün ne olduğu ve literatürde kullanılan bazı model dönüşüm dilleri konusunda bilgi verilecektir. Makalenin ilerideki bölümlerinde ise ontoloji tabanlı model dönüşümü, dönüşüm bileşenlerinin neler olabileceği ve ontoloji tabanlı model dönüşümünün ne gibi adımlardan oluşabileceği konusunda bilgi verilecektir. En sonda ise literatürde bu konuda yapılan çalışmalar ile ilgili kısaca bilgi verilecektir. 1 Giriş Bu bildiri kapsamında öncelikle Ontology Management Group (OMG)'nin Model Güdümlü Mimarisi (Model Driven Architecture (MDA)) [1][2][3] incelenmektedir. "MDA'da mimari modellere dayanmaktadır. Model, bir sistemin geliştirilme, çalışma ya da bakım aşamalarındaki belirgin bir görünümüdür. Her model belirgin bir üst-modele bağımlıdır ve spesifik bir üst-model dili ile yazılmalıdır. Bir üst-model, bir sistemin ilintili görünümlerini çıkaran ve diğer detayları ayıklayan bir filtre gibi davranmaktadır. Üst-üst-modeller ise üst-modelleri geliştirmek için gereken bir dil tanımlar. Bir üst-üst-model en azından üç kavrama (varlık (entity), ilişki (association) ve paket (package)) ve bir ilkel tipler kümesine dayalı geliştirilmiştir. MDA, MOF (Meta Object Facility) kullanımını şart koymaktadır. MOF, belirli bir alan diline özel olmayan tüm genel özellikleri içermektedir. Bu özellikler arasında üst-modeller geliştirmek ve bunlarla işlem yapmak için gerekenler bulunmaktadır." [1] Model dönüşümü işlemi ise belirgin bir modelden diğer bir modele geçiş işlemini tarif etmektedir. MDA tanımında üst-modelleri tanımlamak için tek bir dil (ör, MOF) yer almaktadır. Bu yöntemle farklı üst-modellere dayanan modeller arasındaki uyumluluklar ifade edilebilmektedir. Dönüşümler bu uyumluluğa önemli bir örnektir. Dönüşüm, tek bir dönüşüm dili (üst modelden bağımsız bir dil) ile ifade edilebilmelidir. Dönüşüm dili, alan bağımsız bir dil olmalıdır. UML, yaygın olarak kullanılan bir üst-model sağlamaktadır. Kod merkezli mimari ve sistem geliştirme yaklaşımında mühendisler kod üzerine yoğunlaşırlar ve sonunda sistemin ana özelliklerini göz ardı edebilirler. Model güdümlü yaklaşımlarda ise sistemin arkasındaki ana model ele alınır ve daha genel bir perspektife göre sistem geliştirilir.
... Several authors [21,22,25] have determined a set of requirements for higher-order query languages. Here we summarize them and introduce new requirements specific to MOF repositories. ...
... In other words mSQL definitions must be uniformly applicable to data and metadata on different layers. (b) Schema/Model independent querying [21,25] and information discovery. Using the higher order capabilities of such languages based on the reflection mechanisms of the data store, data on several meta-layers can be involved in the same query. ...
... Recently several additional approaches describing model and metamodel transformations have been proposed to the metadata and modeling research community [25,26,27]. A common characteristic of these proposals is that they are complementary to QVT and in one way or another and are mostly OCL based and hence not declarative. ...
Conference Paper
Metadata repository systems manage metadata typically represented as models or meta-models. In order to facilitate repository application development a dedicated query language, addressing the specific capabilities of such systems is required. This paper introduces a declarative query language for querying OMG MOF-based metadata repository systems called mSQL (meta-SQL). Some of the key features of mSQL are: support for higher order queries and model independent querying, unified handling of repository data and metadata, quantification over repository model elements, SQL-alignment. Some of the areas where mSQL may be applied are: querying schematically disparate models in MOF repositories; metadata application development; generic browsing of complex meta-data data collections; and ultimately Model-Driven Development.
... We develop a transformation specification from the ISDL metamodel to our metamodels for the WSDL and the BPEL by referring to the ISDL Profile for BPEL. We then implement the transformation specification in the YATL [37]. @BULLET Application of the ISDL-to-BPEL transformation ...
... Other languages are developed to informally answer the RFP e.g. the ATL [6] and the YATL [37]. In the next subsection, we describe the YATL which we use to implement the mapping of the ISDL-to-BPEL transformation. ...
... The rules of the transformation specifications are defined in a natural language instead of in a particular transformation language, although we implement the rules in the YATL [37]. Our intention is to allow the rules to be implemented in different transformation languages. ...
Article
Full-text available
Abstract An approach to system specification defined by the Model-Driven Architecture (MDA) separates the specification of system functionality from the specification of the implementation of that functionality on a specific platform. To this end, the MDA proposes a framework for transforming a model into another model of the same system. The framework can also be used to transform a model into code for creating a system. Model-Driven Engineering, which combines the MDA with process and analysis, puts the MDA into work in software development. The Interaction Systems Design Language (ISDL) is a modeling language that is aimed at supporting the design of distributed systems. The ISDL allows one to model and to structure a system at higher levels of abstraction. At some level, an ISDL model has to be mapped,onto available concrete components to create the system. Web services allows applications within an enterprise to be accessible through the Web by providing an interface that is described in the Web Service Description Language (WSDL). Web services can be further composed,to provide a more sophisticated Web service that performs some business process. A language for defining the behavior of a Web service composition is the Business Process Execution Language for Web Services (BPEL4WS, or BPEL for short). From the perspective of a design process, the WSDL and the BPEL are concrete components for implementing a system being designed. This thesis provides a transformation from ISDL to BPEL using approaches suggested by the MDA, i.e. marking and metamodel transformation. An ISDL profile for business processes modeling with a mapping to the BPEL is developed. In addition,
... Although we do not encourage the use of such features, they were provided to support the modeler when some operations are not available at the metamodel level (e.g. the standard library of OCL 2.0 does not provide a function to convert lowercase letters to uppercase letters). More details regarding the syntax and semantics of YATL can be found in [23][22]. ...
Conference Paper
Modeling is a technique used extensively in industry to define software systems, the UML being the most prominent example. With the increased use of modeling techniques has come the desire to use model transformations. The current paper presents the mapping from EDOC profiles to Web services using a transformation language called YATL (yet another transformation language). This transformation language has been defined to perform transformations within the OMG's model driven architecture (MDA) framework. After having presented YATL, we present an experiment to show how YATL can be used to map from EDOC to Web services. YATL is still evolving since it is supposed to match the forthcoming OMG's query/views/transformations (QVT) standard.
... Many researchers have studied the definition of new model transformation languages and tools that support in one way or another the OMG modeling standards. Among the general purpose transformation languages are the relational approaches by Akehurst and Kent [19] and YATL [46] by Patrascoiu, both of which use OCL for the declarative expressions. The relational approach is further investigated by Hausmann and Kent in [27]. ...
Article
In this paper we discuss how to create and update diagrams after the execution of a model transformation. This is achieved by creating an independent diagram reconciliation tool component that is based on a mapping language from the abstract syntax to the concrete syntax of a modeling language. This approach allows us to decouple model transformation from diagram handling in model transformation languages and tools.
... Furthermore, there are currently powerful graphic tools such as GMF (GMF 2008), which allow the definition of efficient graphical syntax for a language (concrete syntax). There are other facilities which are not so efficient in UML community like model transformation engines (GMT for Eclipse (GMT 2008), ATL for MOF-based models (see Patrascoiu, 2004) and code generation engines like JET (JET 2008)). Another useful functionality of EML is that creating a metamodel may be done just by analysing a XML schema or a DTD. ...
Article
Full-text available
CPM (Cooperative Problem-Based learning Metamodel) is a visual language for the instructional design of Problem-Based Learning (PBL) situations. This language is a UML profile implemented on top of the Objecteering UML Case tool. In this article, we first present the way we used CPM language to bring about the pedagogical transposition of the planets game learning scenario. Then, we propose some related works conducted to improve CPM usability: on the one hand, we outline a MOF solution and an Eclipse GMF solution instead of the UML profile approach. On the other hand, we propose some explanations about transforming CPM models into LMS compliant data, and tool functionality.
... One shortcoming is that cross-model transformations are not supported because AS is irreversibly linked to the Unified Modeling Language. YATL[16]and Atlas[4,3]are languages for defining model transformations. They combine declarative concepts for querying the source model with imperative constructs for executing the transformation itself. ...
Conference Paper
Full-text available
The design of complex software systems requires developers to use a variety of modeling languages in order to model various system aspects. The heterogeneity of these modeling languages gives rise to new challenges. Design decisions must be communicated across heterogeneous models, thus creating a need for cross-model com- munication. Furthermore, models must be transformable between dieren t modeling languages, thus creating a need for cross-model transformations. By supporting only a single modeling language and by providing limited interoperability, however, the majority of today's modeling tools cannot provide cross-model communication nor transformation, as such jeopardizing the consistency of the de- sign as a whole. In this paper, we present the design of a transformation frame- work, Pluto, which supports cross-model transformations based on pluggable metamodels. We discuss how Pluto eases the realization of concrete metamodels by oering abstract modeling constructs, and we show how it is able to execute transformations between concrete instances of such metamodels.
... We use the transformation language YATL [9] to define transformations, because tool support exists for this language and because it is compliant to the MOF. YATL makes extensive use of the Object Constraint Language (OCL) [11], a language that can be used to describe constraints on how concepts can be used. ...
Conference Paper
This paper proposes an extension of the UML 2.0 profiling mechanism. This extension facilitates a language designer to introduce composite concepts as separate conceptual and notational elements in a modelling language. Composite concepts are compositions of existing concepts. To facilitate the introduction of composite concepts, the notion of stereotype is extended. This extension defines how a composite concept can be specified and added to a language’s metamodel, without modifying the existing metamodel. From the definition of the stereotype, rules can be derived for transforming a language element that represents a composite concept into a composition of language elements that represent the concepts that constitute the composite. Such a transformation facilitates tool developers to introduce tool support for composite concepts, e.g., by re-using existing tools that support the constituent concepts. To illustrate our ideas, example definitions of stereotypes and transformations for composite concepts are presented.
... Many model transformation languages and tools have been developed and researched. Among the generalpurpose transformation languages are the relational approaches by David Akehurst and Stuart Kent [1] and YATL [23] by Octavian Patrascoiu, both of which use OCL for the declarative expressions. The relational approach is further investigated by Hausmann and Kent in [14]. ...
Conference Paper
Full-text available
In this paper we discuss how to create and update diagrams after the execution of a model transformation. This is achieved by creating an independent diagram reconciliation tool component that is based on a mapping language from the abstract syntax to the concrete syntax of a modeling language. This approach allows us to decouple model transformation from diagram handling in model transformation languages and tools.
... In parallel with QVT, many research groups and companies have been working on their own model transformation approaches and tools, e.g. GreAT [2], UMLX [28], AToM 3 [8], VIATRA [27], BOTL [20], ATL [3] and YATL [21]. These model transformation languages all have a similar operational context. ...
Article
Full-text available
It is a challenge for automatic tool support to formal design by refinement transformations. In this paper, we bring this matter to the attention of the research community and discuss a component-based model transformational approach for integrating refinement into software development tools. Models, their consistency and correctness, in an object-oriented and component-based development process are defined in rCOS, that is a refinement calculus recently developed at UNU-IIST. Correctness preserving transformations between models are formalized and proved as refinement rules in rCOS. In this paper, we will discuss on how these transformations can be implemented in the relations language of Query/View/Transformation (QVT) standardized by OMG.
... Overall, we conclude that the consistent use of ATL in the transformations of our case study has been beneficial from the perspective of maintainability and understandability. Possible future work can be to implement the CDL to BPEL transformation in other transformation languages like Query/View/Transformation (QVT) [21] and Yet Another Transformation Language (YATL) [19], and compare the resulting transformations, for example, by comparing their complexity and performance. ...
Article
Full-text available
The ATLAS Transformation Language (ATL) is a hybrid transformation language that combines declarative and imperative pro-gramming elements and provides means to define model transformations. Most transformations using ATL reported in the literature show a sim-plified use of ATL, and often involve a single transformation. However, in more realistic situations, multiple transformations may be necessary, especially in case the original input/output models are not represented in the metametamodeling representation expected by the transforma-tion engine. In this paper, we discuss a model transformation from ser-vice choreography (WSCDL) to service orchestration (WSBPEL), which cannot be performed in a single ATL transformation due to the mis-match between the concrete XML syntax of these languages and the metametamodeling representation expected by the ATL transformation engine. This requires auxiliary transformations in which this mismatch is resolved. In principle, the required auxiliary transformations can be im-plemented using XSLT or a general-purpose programming language like Java. However, in our case study, we evaluate the use of ATL to perform these transformations. We exploit ATL by leveraging the ATL's XML injection and the XML extraction mechanisms to perform the overall transformation in terms of a transformation chain.
... 4) Transforming the applied profile into a BPEL process: in this stage, we adopt the MDA approach to transform the applied profile into a BPEL process representing the composite Web service. This transformation requires the source metamodel (WSComposition profile) and the target metamodel (BPEL metamodel), the applied profile, and the transformation rules which can be expressed by one of the following transformation languages: OCL [15], YATL [16,17], ATL [10], etc. In our approach, we choose the ATL language because it is easy to use, close to the standards and there is a rich set of tools that have been built for ATL development under Eclipse. ...
Article
Full-text available
Web service composition is one of the challenging issues that have been investigated over the past decade. It consists of combining and reusing existing Web services to best suit new user requirements. This paper proposes an UML profile to compose Web services based on their behavioral aspects. To do so, the web service WSDL files are first transformed to UML models; then the profile is used to integrate them; finally the MDA approach is adopted to transform the applied profile into a BPEL process. As such, our method has the advantages of being independent of the Web service composition language and the UML modeling tool. Finally, a case study is developed in order to show the benefits of our method.
... Furthermore, there are currently powerful graphic tools such as GMF (GMF 2007), which allow the definition of efficient graphical syntax for a language (concrete syntax). There are other facilities which are not so efficient in UML community like model transformation engines (GMT for Eclipse (GMT 2007), YATL for MOF-based models (Patrascoiu 2004)) and code generation engines like JET (JET 2007). Another useful functionality of EML is that creating a metamodel may be done just by analysing a XML schema or a DTD. ...
Article
Full-text available
This chapter deals with the application of model-driven engineering and model-driven architecture approaches in a technology enhanced learning (TEL) context. Such Software Engineering approaches provide concrete benefits (productivity, interoperability, adaptability) by means of intensive uses of models, meta-models and transformations. Such benefits can also be met in a TEL context. Because computer scientists or engineers cannot currently find well-defined frameworks about this new trend, we have chosen to report recent results of our working group (initiated in 2003) in order to provide readers with a survival kit. Our results, illustrated in this chapter, argue that model-driven engineering can help designers to reduce the gap between specific instructional requirements (domain point of view) and the software architectures that practically support the implementation, the run-time and the regulation of this instruction.
... QVT es una propuesta de naturaleza híbrida, con tres componentes separadas, llamadas Relations, Operational mappings, y Core. Ejemplos de combinación a nivel fino son ATL y YATL [Pat04]. ...
... Model dönüşümü belirli bir kaynak modelden hedef modele bazı model dönüşüm kurallarına bağlı kalınarak yapılan bir eşleştirme işlemidir. MDA tabanlı olarak gerçekleştirilen model dönüşümlerinde kullanılan bazı önemli kavramlar, Platfrom Bağımsız Model (Platform Independent Model (PIM)), Platform Spesifik Model (Platfrom Spesific Model (PSM)), model dönüşüm dilleri, model dönüşüm kuralları ve dönüşüm [4][5], Graph Rewriting and Transformation Language (GreAT) [6], Model Transformation Language (MOLA) [7] ve Yet Another Transformation Language (YATL) [8][9]'dır. ...
Conference Paper
Full-text available
OMG'nin tanımladığı Model Güdümlü Mimari (Model Driven Architecture (MDA)) yazılım geliştirme çalışmalarını modeller kullanarak gerçekleştirmeyi önermektedir. Bu kapsamda model dönüşüm işlemi, Platform Bağımsız Modellerden (Platform Independent Model (PIM), Platfrom Spesifik Modellere (Platform Spesific Model (PSM) dönüşümü çeşitli model dönüşüm dilleri aracılığı ile gerçekleştirmektedir. Ontoloji tabanlı model dönüşümünde ise model dönüşümü işlemini ontolojiler kullanarak tanımlamakta ve dönüşüm işlemi ise dönüşüm dilleri yerine ontolojiler kullanılarak gerçekleştirilmektedir. Şu anda yürütülen çalışmanın amacı, model dönüşüm işlemini ontoloji tabanlı olarak gerçekleştirecek bir araç geliştirmektir. Bu bildiride öncelikle ontoloji tabanlı model dönüşümü konusunda bilgi verilecek, yapılmış benzer çalışmalardan bahsedilecek, ve ontoloji tabanlı model dönüşümünü gerçekleştirecek aracın amacı ile kullanacağı mimari hakkında bilgi verilecektir.
... • Hybrid: This category consists of a combination of the approaches described above. Examples are ATL, Yet Another Transformation Language (YATL) [133], and QVT. ...
... This mapping language has been implemented in ViatraDSM [84] tool. Existing general purpose model transformation languages such as [27,83,41,94,12,45,75] are designed to deal with the abstract syntax alone. Such transformation languages could be extended to include abstract syntax model to diagram transformations. ...
... 48 tools were identified in this first step. We then excluded tools that do not have a download page (e.g., ArcStyler [24], Yet Another Transformation Language/YATL [25], Codagen Architect [26], OptimalJ [27], EMFTiger [28], FUUT-je [29], MOMENT [30], ATC [31], b+m ArchitectureWare [32], GenGen [33]), and tools that are not fully available or usable (e.g., QVTd [34] which is a partial implementation of QVTc and QVTr; and VMTL tool [35]). Our focus is on metamodel-based modeling tools, so we excluded tools such as WebRatio [36] and UMT [37] that are not metamodel-based. ...
Article
Full-text available
Model transformation lies at the very core of model-driven engineering (MDE), and a large number of model transformation languages and tools have been proposed over the last few years. These tools can be used to develop, transform, merge, exchange, compare and verify models and metamodels. In this paper, we present a comprehensive catalogue of existing metamodel-based transformation tools and compare them using a qualitative framework. We begin by organizing the 60 tools we identified into a general classification based on the transformation approach used. We then compare these tools using a number of particular facets, where each facet belongs to one of six different categories and may contain several attributes. The results of the study are discussed in detail and made publicly available in a companion website with a capability to search for tools using the specified facets as search criteria. Our study provides a thorough picture of the state-of-the-art in model transformation techniques and tools. Our results are potentially beneficial to many stakeholders in the modeling community, including practitioners, researchers, and transformation tool developers.
... Un langage d'exploitation des BDBM conforme à la description présentée dans le chapitre précédent (c'est-à-dire une BDBM capable de stocker à la fois les instances, les modèles, les méta-modèles et les mappings) obéit à un certain nombre d'exigences. [Wakeman and Jowett, 1993, OMG, 2003, Patrascoiu, 2004, Jean et al., 2006, Petrov and Nemes, 2008 ont identifié des exigences liées à l'exploitation des données et des méta-données (des modèles par exemple). Nous résumons ces propositions et les enrichissons en proposant des exigences propres à l'exploitation des mappings. ...
Article
Since its emergence in the early 1990s, the notion of ontology has been quickly distributed in many areas of research. Given the promise of this concept, many studies focus on the use of ontologies in many areas like information retrieval, electronic commerce, semantic Web, data integration, etc.. The effectiveness of all this work is based on the assumption of the existence of a domain ontology that is already built an that can be used. However, the design of such ontology is particularly difficult if you want it to be built in a consensual way. If there are tools for editing ontologies that are supposed to be already designed, and if there are also several platforms for natural language processing able to automatically analyze corpus of texts and annotate them syntactically and statistically, it is difficult to find a globally accepted procedure useful to develop a domain ontology in a progressive, explicit and traceable manner using a set of information resources within this area. The goal of ANR DaFOE4App (Differential and Formal Ontology Editor for Application) project, within which our work belongs to, was to promote the emergence of such a set of tools. Unlike other tools for ontologies development, the platform DaFOE presented in this thesis does not propose a methodology based on a fixed number of steps with a fixed representation of theses steps. Indeed, in this thesis we generalize the process of ontologies development for any number of steps. The interest of such a generalization is, for example, to offer the possibility to refine the development process by inserting or modifying steps. We may also wish to remove some steps in order to simplify the development process. The aim of this generalization is for instance, for the overall process of ontologies development, to minimize the impact of adding, deleting, or modifying a step while maintaining the overall consistency of the development process. To achieve this, our approach is to use Model Driven Engineering to characterize each step through a model and then reduce the problem of switching from one step to another to a problem of models transformation. Established mappings between models are then used to semi-automate the process of ontologies development. As all this process is stored in a database, we propose in this thesis, for Model Based Database (MBDB) because they can store both data and models describing these data, an extension for handling mappings. We also propose the query language named MQL (Mapping Query Language) in order to hide the complexity of the MBDB structure. The originality of the MQL language lies in its ability, through queries syntactically compact, to explore the graph of mappings using the transitivity property of mappings when retrieving informations.
Conference Paper
Using Domain Specific Modeling (DSM) allows solutions to be expressed in the idiom and at the level of abstraction of the problem domain. However, this does not imply that prototypes can be easily and rapidly generated. In reality, Domain Specific Languages (DSLs) are difficult to design, implement and maintain, and usually there is a potential loss of efficiency when compared with hand-coded software. In this paper we explain the principles based on which we expect to solve some of these problems by means of transformation from a DSL to a formalism with a well define semantics named Concurrent Object Oriented Petri- Nets (CO-OPN). The proposed methodology uses the metamodel of the DSL as the principle for the transformation. This transformation represents the semantic mapping between the DSL and CO-OPN. The achievement is both to provide a formally defined semantics to the DSL and, since CO-OPN is integrated in a framework, to provide the functionalities that allow model verification and fast prototype generation for the DSL.
Article
Full-text available
The Meta Object Facility (MOF) 2.0 and the Unified Modeling Lan- guage Infrastructure introduce new language features such as subsets, (derived) unions and redefinitions, but without a precise semantics. This is a problem since they are used throughout the definition of the Unified Modeling Language (UML) 2.0. We give our understanding of these new language features by formalizing the structural constraints imposed by subsets and unions on metamodels and models using Liskov substitutability as the main criterion. We expect that this article provides a better understanding of the foundations of the MOF 2.0, which is nec- essary to define model transformation languages and tools.
Article
Full-text available
Since the introduction of the MDE/MDA/MDD ideas for software systems development several years ago, a number of different (meta)modeling and model transformation languages have been proposed. Although the OMG's QVT standard specification has somewhat stabilized the number of new model transformation languages, it is likely that new ones will continue to appear, following different paradigms and approaches. However, the evolution towards the consolidation of models as a unifying, foundational and consistent concept for software-intensive system development, requires the realization of a set of ideal characteristics for the specification of model transformation languages. Several works have been proposed for defining characterization and classification schemes, and the set of these ideal characteristics. In this paper we present a comparison of characterization and classification schemes for model transformation languages, and an analysis of the OMG's QVT specification with respect to this set of ideal characteristics. Although the MOF 2 QVT specification presents a good coverage of these characteristics, it still lacks a formal foundation, from which it could obtain several benefits.
Article
Full-text available
This paper presents a novel method for shape analysis, which can deal with complex expressions in C language. It supports taking addresses of fields and stack variables. The concept of abstract evaluation path (AEP) is proposed, which is generated from the expression in the language. AEP is used to refine the abstract shape graph (ASG) to get a set of more precise ASGs, on which the semantics of the statement can be defined easily. The results can be used to determine “shape invariants” and detect memory leak conservatively. A prototype has been implemented and the results of the experiment are shown.
Article
Successful analysis of the models used in Model-Driven Development requires the ability to synthesise the results of analysis and automatically integrate these results with the models themselves. This paper presents a reversible template language called XRound which supports round-trip transformations between models and the logic used to encode system properties. A template processor that supports the language is described, and the use of the template language is illustrated by its application in an analysis workbench, designed to support analysis of security properties of UML and MOF-based models. As a result of using reversible templates, it is possible to seamlessly and automatically integrate the results of a security analysis with a model.
Conference Paper
Full-text available
In this paper we will explain our approach for generating test cases for a UML system model. Despite the fact that UML authors claim that UML semantics are precise enough to define non-ambiguous models, we find that the overlap of the different views makes it difficult to explore and make deductions on the state space of the modeled system in order to generate test cases. Our approach is thus based on a subset of UML (inspired from the Fondue approach) for which we have defined clear transformation semantics. We provide these semantics by delineating transformation rules using the MDA (Model Driven Architecture) architecture. We transform UML models into CO-OPN (Concurrent Object Oriented Petri Nets) ones, CO-OPN being a formal specification language defined in our Laboratory. We have also defined a language for expressing test intentions for CO-OPN models. This language allows selecting interesting executions (tests cases) of a model by providing constraints over all possible traces of that model. By exploring the model’s semantics with the tools we have built for our CO-OPN language we are able to generate test cases based on those test intentions. We are also able to partially eliminate redundancy in the produced test cases by finding equivalence classes in the model operation’s inputs.
Conference Paper
Web services are an interesting emerging technology for the development of distributed applications with respect to SOA (Service Oriented Architecture) paradigm due to the many features provided by the technology. One of these features is service composition, which consists of combining existing services to provide a richer new composite service to meet some user requirements. This paper proposes a new method for composing web services by using UML scenarios expressed as sequence diagrams, and an MDA (Model Driven Architecture) approach to generate the code of the composite service in BPEL (Business Process Execution Language). Our approach consists of three main steps. In the first step, existing simple web services are discovered and located in the web service registry. The developer imports the WSDL files of the candidate services and translates them into UML diagrams (class diagram, use case diagram and sequence diagrams). In the second step, the sequence diagrams, referred to as scenarios, are integrated into a single sequence diagram that describes the behaviour of the composite web service, by using the interaction operators of UML 2.0. In the third step, the MDA approach is adopted to transform the resulting sequence diagram into a BPEL process. As such, our method has the advantages of being independent of the web service composition language and the UML modelling tool, the user can choose any UML design tool, any language of composition and any execution engine to compose services.
Conference Paper
Model-Driven Development requires model management languages and tools for supporting model operations such as editing, consistency checking, and transformation. At the core of these model management techniques is a set of facilities for model navigation and modification. A subset of the Object Constraint Language can be used for some of these tasks, but it has limitations as a general-purpose language to be used in a variety of model management tasks. We present the metamodel independent Epsilon Object Language (EOL) which builds on OCL. EOL can be used both as a standalone generic model management language or as infrastructure on which task-specific languages can be built. We describe how it has been used to construct a selection of languages, such as model merging, comparison, and text generation languages.
Conference Paper
Full-text available
A number of different Model Transformation Frameworks (MTF) are being developed, each of them requiring a user to learn a different language and each possessing its own specific language peculiarities, even if they are based on the QVT standard. To write even a simple transformation, these MTFs require a large amount of learning time. We describe in this paper a minimal, Java based, library that can be used to support the implementation of many practical transformations. Use of this library enables simple transformations to be implemented simply, whilst still providing some support for more complex transformations.
Article
Full-text available
Model transformations are touted to play a key role in Model Driven Development™. Although well-established standards for creating metamodels such as the Meta-Object Facility exist, there is currently no mature foundation for specifying transformations among models. We propose a framework for the classification of several existing and proposed model transformation approaches. The classification framework is given as a feature model that makes explicit the different design choices for model transformations. Based on our analysis of model transformation approaches, we propose a few major categories in which most approaches fit.
Thesis
La conception d’un langage de modélisation pour domaine spécifique (DSML) implique la conception d’un outillage dédié qui met en oeuvre des fonctionnalités de traitement et d’analyse pour ce langage. Dans bien des cas, les fonctionnalités à mettre en oeuvre existent déjà , mais elles s’appliquent à des portions ou à des variantes du DSML que le concepteur manipule. Réutiliser ces fonctionnalités existantes est un moyen de simplifier la production de l’outillage d’un nouveau DSML. La réutilisation implique que les données du DSML soient adaptées afin de les rendre valides du point de vue de la fonctionnalité à réutiliser. Si l’adaptation est faite et les données sont placées dans le contexte de la fonctionnalité, elle peut être réutilisée. Le résultat produit par l’outil reste dans le contexte de l’outil et il doit être adapté afin de le placer dans le contexte du DSML (migration inverse). Dans ce cadre, la réutilisation n’a de sens que si les deux adaptations de données sont peu coûteuses. L’objectif de cette thèse est de proposer un mécanisme qui intègre la migration, la réutilisation et la migration inverse. La principale contribution est une approche qui facilite la réutilisation de fonctionnalités existantes via des migrations de modèles. Cette approche facilite la production de l’outillage d’un DSML. Elle permet de faire des migrations réversibles entre deux DSMLs sémantiquement proches. L’utilisateur est guidé lors du processus de réutilisation pour fournir rapidement l’outillage complet et efficace d’un DSML. L’approche a été formalisée et appliquée à un DSML (Orcc) dans le contexte des MPSoC.
Chapter
This paper addresses cross cutting concerns in model transformations and identifies a set of requirements for an aspect-driven transformation framework with specific emphasis on non-functional requirements. Model Driven Development (MDD) currently concentrates on mapping platform independent model elements to technology-specific, platform-specific concepts and vice versa. However, while there is much work on transforming models or meta-models along an axis of specialisation/generalization, little emphasis is given for managing cross cutting concerns within these transformations. This paper presents a case study of such a transformation and identifies requirements for future model transformations systems.
Article
This thesis addresses three problems related to the adaptability property of model transformations: identification and comparison of alternative transformations, definition of transformation languages capable of expressing transformations among models written in different languages, and language support for reusable and adaptable transformations.
Chapter
To speak of contemporary issues in instructional technology is like counting wave crests in a stormy ocean: they are changing quickly all the time. New technologies and new issues present themselves daily. Educators struggle with both the instructional integration of computing and developing the skills and knowledge necessary to use technology effectively (Lipscomb & Doppen, 2005). Why, after over 30 years of having computers in schools, are educators still having such difficulties? Today’s population is much more accustom to electronics, yet knowledge is weak, concepts are misunderstood, and the difficulties of teaching with technology seem as serious and convoluted today as ever before. The great physicist and thinker, Richard Feynman, offered some critical comments about the challenges of educators. “What happens is that you get all kinds of statements of fact about education, about sociology, even psychology — all kinds of things which are, I’d say, pseudoscience” (Feynman, 1999, p. 242). Today, we understand “more about education [but] the test scores are going down…we just don’t understand it at all. It just isn’t working” (p. 243). Being critical of how the scientific method is applied to education, Feynman’s comments highlight how the study of teaching and learning yields limited or questionable results. Teacher trainers take their best guess on how to prepare teachers to use technology.
Article
Full-text available
OCL 2.0 is the newest version of the OMG's constraint language to accompany their suit of Object Oriented modelling languages. The use of OCL as an accompanying constraint and query language to modelling with these languages is essential. As tools are built to support the modelling languages, it is also necessary to implement the OCL. This paper reports our experience of implementing OCL based on the latest version of the OMG's OCL standard. We provide an ecient LALR grammar for parsing the language and describe an architecture that enables the language to be bridged to any OO modelling language. In addition we give feedback on problems and ambiguities discovered in the standard, with some suggested solutions.
Conference Paper
Full-text available
The Model-Driven Architecture is an initiative by the Object Management Group to automate the generation of platform-specific models from platform-independent models. While there exist some well-established standards for modeling platform models, there is currently no matured foundation for specifying transformations between such models. In this paper, we propose a possible taxonomy for the classification of several existing and proposed model transformation approaches. The taxonomy is described with a feature model that makes the different design choices for model transformations explicit. Based on our analysis, we propose a few major categories in which most model transformation approaches fit.
Conference Paper
Full-text available
Geared to complement UML and the specification of large software systems by non-mathematicians, spider diagrams are a visual language that generalizes the popular and intuitive Venn diagrams and Euler circles. The language design emphasizes scalability and expressiveness while retaining intuitiveness. In this paper, we describe spider diagrams from a mathematical standpoint and show how their formal semantics can be made in terms of logical expressions. We also claim that all spider diagrams are self-consistent
Article
Full-text available
In this paper we explore the issue of transforming models to models, an essential part of the OMG`s Model Driven Architecture (MDA) vision. Drawing from the literature and our experiences implementing a number of transformations using different technologies, we explore the strengths and weaknesses of the different technologies and identify requirements for a transformation language for performing the kind of model-to-model transformations required to realise the MDA vision.
Conference Paper
In this paper we explore the issue of transforming models to models, an essential part of the OMG’s Model Driven Architecture (MDA) vision. Drawing from the literature and our experiences implementing a number of transformations using different technologies, we explore the strengths and weaknesses of the different technologies and identify requirements for a transformation language for performing the kind of model-to-model transformations required to realise the MDA vision.
Article
The Model-Driven Architecture initiative of the OMG promotes the idea of transformations in the context of mapping from platform independent to platform specific models. Additionally, the popularity of XML and the wide spread use of XSLT has raised the profile of model transformation as an important technique for computing. In fact, computing may well be moving to a new paradigm in which models are considered first class entities and transformations between them are a major function performed on those models. This paper proposes an approach to defining and implementing model transformations which uses metamodelling patterns to capture the essence of mathematical relations. It shows how these patterns can be used to define the relationship between two different metamodels. A goal of the approach is to enable complete specifications from which tools can be generated. The paper describes implementations of the examples, which have been partially generated from the definitions using a tool generation tool. A number of issues emerge which need to be solved in order to achieve the stated goal; these are discussed.
Classification of Model Transformation Approaches, OOPSLA 2003 Workshop: Generative techniques in the context of MDA. [5] Eclipse Modeling Framework http
  • K Czarnecki
  • S Helsen
Czarnecki K., S. Helsen. Classification of Model Transformation Approaches, OOPSLA 2003 Workshop: Generative techniques in the context of MDA. [5] Eclipse Modeling Framework http://www.eclipse.org/emf. [6]