A Bidirectional Transformation Approach towards Automatic Model Synchronization? Yingfei Xiong, Dongxi Liu, Zhenjiang Hu, Masato Takeichi Department of Mathematical Informatics Graduate School of Information Science and Technology University of Tokyo, Hongo 7-3-1, Bunkyo-ku, Tokyo 113-8656, Japan {Yingfei Xiong, liu, hu, takeichi}@mist.i.u-tokyo.ac.jp

Model-driven architecture (MDA) [1] is a discipline in software engineering that relies on models as first class entities and that aims to develop, maintain and evolve software by performing model transformations. Refinement, abstraction, refactoring, and integration of models are special cases of model transformations that can be found in many areas of software engineering [2]. However, there are situations where only a transformation from one model to another is not enough. Users may change models after the transformation in both the source side and the target side, causing the maintenance problem. Consider the following scenario: first designers create a UML model to describe the system design, and then perform a model transformation on the UML model to produce a Java source model for programmers to implement the system. Programmers add code and methods to the Java source model, while at the same time, designers change the name of a class on the UML model. Now the UML model and the Java source model become inconsistent and need to be synchronized. Simply performing the transformation from UML model to Java source model again will not synchronize the models, because the modifications on the Java source model will be lost. To synchronize the models, we need to propagate the changes both from the UML model to the Java source model and from the Java source model to the UML model. We call the process of propagating changes across heterogeneous models (models of different formats) as model synchronization. Existing model synchronization systems and model synchronization frameworks [3] require users to manually write code to deal with each type of modification on each type of model. However, this is often a difficult task and it is also difficult to know whether manually-written code is correct or not. In this paper we propose a more automated approach: to extract necessary information from the existing transformations, and to automatically synchronize models without requiring users to write extra code. Our approach is based on bidirectional transformation. Bidirectional transformation is originated from the view-updating techniques [4] and now intensively studied by researchers on XML transformation [5][6]. In bidirectional transformation, researchers give semantics to uni-directional transformations so ?

This research was supported in part by a grant from Japan Society for the Promotion of Science (JSPS) Grant-in-aid for Scientific Research (A) 19200002, and by the National Natural Science Foundation of China under Grant No. 60528006.

2

that the transformation system can reflect modifications on the target model back into the source. In other words, transformations can be bidirectionally executed. In our approach, we apply the idea of bidirectional transformation to model transformation, and use bidirectional model transformations to support model synchronization. Our system is built upon ATL Virtual Machine on which ATL bytecode is executed. ATL byte code is part of a widely-used model transformation language called Atlas Transformation Language (ATL) [7]. ATL consists of a high-level declarative language and the low-level byte-code language. If other model transformation languages can be translated into ATL byte-code, they can also be executed by the ATL engine. The main contributions of our work can be summarized as the following: – We propose an approach to automatic model synchronization by extracting necessary information from existing transformations. – We propose a set of properties to ensure the correctness of a synchronization process. Also, we discuss how our approach is related to the properties. – We have implemented our approach on ATL Virtual Machine and have tested our system on several ATL transformations. In addition, our system can support other transformation language if these languages can be translated to ATL byte-code. One limitation of our current system is that we cannot deal well with insertions on the target model. We are solving this problem by introducing virtual holes to the source side. This is one of our future work.

References 1. Frankel, D.S.: Model Driven Architecture: Applying MDA to Enterprise Comput ing. John Wiley & Sons (2003) 2. Czarnecki, K., Helsen, S.: Classification of model transformation approaches. In: OOPSLA 03 Workshop on Generative Techniques in the Context of Model-Driven Architecture. (2003) 3. Ivkovic, I., Kontogiannis, K.: Tracing evolution changes of software artifacts through model synchronization. In: ICSM ’04: Proceedings of the 20th IEEE International Conference on Software Maintenance, Washington, DC, USA, IEEE Computer Society (2004) 252–261 4. Bancilhon, F., Spyratos, N.: Update semantics of relational views. ACM Trans. Database Syst. 6(4) (1981) 557–575 5. Liu, D., Hu, Z., Takeichi, M.: Bidirectional interpretation of XQuery. In: PEPM ’07: Proceedings of the 2007 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation, New York, NY, USA, ACM Press (2007) 21–30 6. Foster, J.N., Greenwald, M.B., Moore, J.T., Pierce, B.C., Schmitt, A.: Combinators for bi-directional tree transformations: a linguistic approach to the view update problem. In: ACM SIGPLAN–SIGACT Symposium on Principles of Programming Languages (POPL), Long Beach, California. (2005) 233–246 7. Jouault, F., Kurtev, I.: Transforming models with ATL. In: Satellite Events at the MoDELS 2005 Conference, LNCS 3844, Springer (2006) 128–138

A Bidirectional Transformation Approach towards ... - Semantic Scholar

to produce a Java source model for programmers to implement the system. Programmers add code and methods to the Java source model, while at the same time, designers change the name of a class on the UML ... sively studied by researchers on XML transformation [5][6]. In bidirectional transformation, researchers give ...

58KB Sizes 1 Downloads 520 Views

Recommend Documents

A Bidirectional Transformation Approach towards ... - Semantic Scholar
to produce a Java source model for programmers to implement the system. Programmers add code and methods to ... synchronized. Simply performing the transformation from UML model to Java source model again ... In: ACM SIGPLAN–SIGACT Symposium on Pri

Towards a Semantic-Aware File Store - Semantic Scholar
CDN more efficient. An- other related application is to support data hoarding for mobile users. Before disconnected from the network, all frequently used data for ...

Towards Regional Elastography of Intracranial ... - Semantic Scholar
to the deformation field and strain maps of the reference measurements. Figure 1 Isometric view of the patient geometry. The surface is divided in three regions: ...

Towards local electromechanical probing of ... - Semantic Scholar
Sep 19, 2007 - (Some figures in this article are in colour only in the electronic .... from Electron Microscopy Sciences) at room temperature for ..... These data.

Towards Regional Elastography of Intracranial ... - Semantic Scholar
to the deformation field and strain maps of the reference measurements. ... region clustering technique applied to the strain maps in order to reduce the number.

Towards a 3D digital multimodal curriculum for the ... - Semantic Scholar
Apr 9, 2010 - ACEC2010: DIGITAL DIVERSITY CONFERENCE ... students in the primary and secondary years with an open-ended set of 3D .... [voice over or dialogue], audio [music and sound effects], spatial design (proximity, layout or.

VAMO: Towards a Fully Automated Malware ... - Semantic Scholar
[10] A. K. Jain, M. N. Murty, and P. J. Flynn. Data clustering: a review. ACM Comput. Surv., 31(3):264–323, 1999. [11] J. Jang, D. Brumley, and S. Venkataraman.

VAMO: Towards a Fully Automated Malware ... - Semantic Scholar
Dept. of Computer Science. University of Georgia. Athens .... 11, 15, 18]) on M to partition it in a number of malware clusters, (b) use VAMO to build a reference.

Towards a 3D digital multimodal curriculum for the ... - Semantic Scholar
Apr 9, 2010 - movies, radio, television, DVDs, texting, youtube, Web pages, facebook, ... and 57% of those who use the internet, are media creators, having.

Self-tracking cultures: towards a sociology of ... - Semantic Scholar
can be competitively compared with other self-trackers. (for example the cycling platform Strava). Apps are ..... tracking. Computer software and hardware developers, manufacturers and retailers, software coders, ..... living in rural and remote area

A Discriminative Learning Approach for Orientation ... - Semantic Scholar
180 and 270 degrees because usually the document scan- ning process results in .... features, layout and font or text-printing technology. In Urdu publishing ...

A Machine-Learning Approach to Discovering ... - Semantic Scholar
potential website matches for each company name based on a set of explanatory features extracted from the content on each candidate website. Our approach ...

A Topological Approach for Detecting Twitter ... - Semantic Scholar
marketing to online social networking sites. Existing methods ... common interest [10–12], these are interaction-based methods which use tweet- ..... categories in Twitter and we selected the five most popular categories among them.3 For each ...

Error Correction on a Tree: An Instanton Approach - Semantic Scholar
Nov 5, 2004 - of edges that originate from a node are referred to as its degree. In this Letter we discuss primarily codes with a uniform variable and/or check node degree distribution. Note that relations between the ..... [9] J. S. Yedidia,W. T. Fr

The Subjective Approach to Ambiguity: A Critical ... - Semantic Scholar
Oct 8, 2008 - Bayesian model along these lines. We will argue .... with a difference: one would expect the forces of learning, introspection and incentives to ...

A multiagent approach for diagnostic expert ... - Semantic Scholar
Expert Systems with Applications 27 (2004) 1–10 ... Web. Expert systems running on the Internet can support a large group of users who .... One of the best advantages of the ... host names of the target agent, and the port number on which the ...

A Appendix - Semantic Scholar
buyer during the learning and exploit phase of the LEAP algorithm, respectively. We have. S2. T. X t=T↵+1 γt1 = γT↵. T T↵. 1. X t=0 γt = γT↵. 1 γ. (1. γT T↵ ) . (7). Indeed, this an upper bound on the total surplus any buyer can hope

A Game-Theoretic Approach to Apprenticeship ... - Semantic Scholar
The following lemma, due to Kearns and Singh [4] (Lemma 7), shows that MZ is essentially a pessimistic estimate for M. Lemma 3. Let M = (S, A, γ, θ, φ) be a MDP/R where φ(s) ∈ [−1, 1]k, and let Z ⊆S×A. Then for all w ∈ Sk and ψ ∈ Ψ,

A Machine Learning Approach to Automatic Music ... - Semantic Scholar
by an analogous-to-digital converter into a sequence of numeric values in a ...... Proceedings of the 18th. Brazilian Symposium on Artificial Intelligence,.

A Topological Approach for Detecting Twitter ... - Semantic Scholar
marketing to online social networking sites. Existing methods ... nities with common interests in large social networks [6,7]. .... publicly available [20]. We also ...

A Machine-Learning Approach to Discovering ... - Semantic Scholar
An important application that requires reliable website identification arises ... ferent company that offers website hosting services to other companies. In other ...

The Inductrack: A Simpler Approach to Magnetic ... - Semantic Scholar
risen to twice the transition speed the levitating force has already reached 80 percent of its asymptotic value. Inductrack systems do not require reaching high speeds before lifting off their auxiliary wheels. From the theory the magnet weight requi

A Game-Theoretic Approach to Apprenticeship ... - Semantic Scholar
[1] P. Abbeel, A. Ng (2004). Apprenticeship Learning via Inverse Reinforcement Learning. ... Near-Optimal Reinforcement Learning in Polynomial Time. Ma-.