[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
article

Search-based model transformation by example

Published: 01 May 2012 Publication History

Abstract

Model transformation (MT) has become an important concern in software engineering. In addition to its role in model-driven development, it is useful in many other situations such as measurement, refactoring, and test-case generation. Roughly speaking, MT aims to derive a target model from a source model by following some rules or principles. So far, the contributions in MT have mostly relied on defining languages to express transformation rules. However, the task of defining, expressing, and maintaining these rules can be difficult, especially for proprietary and non-widely used formalisms. In some situations, companies have accumulated examples from past experiences. Our work starts from these observations to view the transformation problem as one to solve with fragmentary knowledge, i.e. with only examples of source-to-target MTs. Our approach has two main advantages: (1) it always proposes a transformation for a source model, even when rule induction is impossible or difficult to achieve; (2) it is independent from the source and target formalisms; aside from the examples, no extra information is needed. In this context, we propose an optimization-based approach that consists of finding in the examples combinations of transformation fragments that best cover the source model. To that end, we use two strategies based on two search-based algorithms: particle swarm optimization and simulated annealing. The results of validating our approach on industrial projects show that the obtained models are accurate.

References

[1]
France, R., Rumpe, B.: Model-driven development of complex software: a research roadmap. In: Briand, L., Wolf, A. (eds.) International Conference on Software Engineering (ICSE 2007): Future of Software Engineering IEEE Computer Soceity Press, Los Alamitos (2007).
[2]
Interactive Objects and Project Technology, MOF Query/Views/ Transformations, Revised Submission. OMG Document: ad/ 03-08-11, ad/03-08-12, ad/03-08-13 (2003).
[3]
Object Management Group (OMG): Meta Object Facility (MOF) 2.0Query/View/Transformation Specification Final Adopted Specification, ptc/05-11-01. http://www.omg.org/docs/ptc/05-11-01.pdf (2005).
[4]
QVT-Merge Group. MOF 2.0 Query/Views/Transformations RFP, Revised submission, version 1.0. OMG Document ad/2004-04-01. http://www.omg.org/cgi-bin/doc?ad/2004-04-01 (2004).
[5]
OMG: Meta Object Facility (MOF). Version 1.4. www.omg.org/ technology/documents/formal/mof.htm
[6]
OMG: Request For Proposal: MOF 2.0/QVT. OMG Document ad/2002-04-10. http://www.omg.org/cgi-bin/doc?ad/2002-04-10 (2002).
[7]
Taentzer, G.: AGG: a graph transformation environment for system modeling and validation. In: Proceedings of Tool Exihibition at Formal Methods 2003, Pisa, Italy (2003).
[8]
Varro, D., Pataricza, A.: Generic and meta-transformations for model transformation engineering. In: Baar, T., Strohmeier, A., Moreira, A., Mellor, S.J. (eds.) UML 2004. LNCS, vol. 3273, Springer, Heidelberg (2004).
[9]
ATLAS Group. The ATLAS Transformation Language. http://www.eclipse.org/gmt (2000).
[10]
Jouault, F., Kurter, I.: Transforming models with ATL. In: Proceedings Of the Model Transformations in Practice Workshop at MoDELS 2005, Jamaica (2005).
[11]
Compuware, SUN. MOF 2.0 Query/Views/Transformations RFP, Revised Submission.OMGDocument ad/2003-08-07. http://www.omg.org/cgi-bin/doc?ad/2003-08-07 (2003).
[12]
Clark, T., Warmer, J.: Object Modeling with the OCL, The Rationale behind the Object Constraint Language. Springer, London (2002).
[13]
Behrens, U., Flasinski, M., Hagge, L., Jurek, J., Ohrenberg, K.: Recent developments of the ZEUS expert system ZEX. IEEE Trans. Nucl. Sci. 43, 65-68 (1996).
[14]
Varro, D.: Model transformation by example. In: Proc. MODELS 2006, vol. 4199 of LNCS, pp. 410-424. Springer, Heidelberg (2006).
[15]
Egyed, A.: Automated abstraction of class diagrams. ACM Trans. Softw. Eng. Methodol. 11(4), 449-491 (2002).
[16]
Varro, D., Balogh, Z.: Automating model transformation by example using inductive logic programming. ACM Symposium on Applied Computing | Model Transformation Track (2007).
[17]
Kessentini, M., Sahraoui, H., Boukadoum, M.: Model transformation as an optimization problem. In: Proceedings of MODELS 2008, vol. 5301 of LNCS, pp. 159-173. Springer, Heidelberg (2008).
[18]
Kennedy, J., Eberhart, R.C.: Particle swarm optimization. In: Proceedings of IEEE International Conference on Neural Networks, pp. 1942-1948 (1995).
[19]
Kirkpatrick, S., Gelatt, C.D. Jr., Vecchi, M.P.: Optimization by simulated annealing. Sciences 220(4598), 671-680 (1983).
[20]
Aamodt, A., Plaza, E.: Case-based reasoning: foundational issues, methodological variations, and system approaches. Artif. Intell. Commun. 7(1), 39-52 (1994).
[21]
Kessentini, M., Bouchoucha, A., Sahraoui, H., Boukadoum, M.: Example-based sequence diagrams to colored petri nets transformation using heuristic Search. In: Proceedings of 6th European Conference on Modeling Foundations and Applications (ECMFA 2010), Paris (2010).
[22]
Siikarla, M., Syst, T.: Decision reuse in an interactive model transformation. In: 12th European Conference on Software Maintenance and Reengineering, CSMR 2008, April 1-4, 2008, Athens, Greece, pp. 123-132 (2008).
[23]
Eberhart, R.C. Shi, Y.: Particle swarm optimization: developments, applications and resources. In: Proceedings of IEEE Congress on Evolutionary Computation (CEC 2001), pp. 81-86 (2001).
[24]
Mitra, D., Romeo, F., Sangiovanni-Vincentelli, A.: Convergence and finite-time behaviour of simulated annealing. In: Proceedings of 1985 Decision and Control Control, vol. 5 (1985).
[25]
Geman, S., Geman, D.: Stochastic relaxation, Gibbs distributions, and the Bayesian restoration of images. IEEE Trans. Pattern Anal. Mach. Intell 6(6), 721-741 (1984).
[26]
Salman, A., Imtiaz, A., Al-Madani, S.: Particle swarm optimization for task assignment problem. In: IASTED International Conference on Artificial Intelligence and Applications (2001).
[27]
Windisch, A., Wappler, S., Wegener, J.: Applying particle swarm optimization to software testing. In: Proceedings of the 9th Annual Conference on Genetic and Evolutionary Computation (London, England, 07-11 July 2007). GECCO '07, pp. 1121-1128. ACM, New York (2007)
[28]
Coming, D.S., Staadt, O.G.: Velocity-aligned discrete oriented polytopes for dynamic collision detection. IEEE Trans. Visual. Comput. Graph. 14(1), 1-12 (2008).
[29]
Czarnecki, K., Helsen, S.: Classification of model transformation approaches. In: OOSPLA'03 Workshop on Generative Techniques in the Context of Model-Driven Architecture. Anaheim, USA (2003).
[30]
Mens, T., Van Gorp, P.: A taxonomy of model transformation. in: Proceedings of International Workshop on Graph and Model Transformation (2005).
[31]
Andries, M., Engels, G., Habel, A., Hoffmann, B., Kreowski, H.-J., Kuske, S., Kuske, D., Plump, D., Schürr, A., Taentzer, G.: Graph Transformation for Specification and Programming. Technical Report 7/96, Universität Bremen. http://citeseer.nj.nec.com/ article/andries96graph.html (1996).
[32]
Akehurst, D.H., Kent, S.: A Relational approach to defining transformations in a metamodel. In: Jézéquel, J.-M., Hussmann, H., Cook, S. (eds.): UML 2002--The Unified Modeling Language 5th International Conference, Dresden, Germany, September 30- October 4, 2002. Proceedings, LNCS vol. 2460, pp. 243-258 (2002).
[33]
Interactive Objects Software GmbH, Project Technology, Inc. MOF2.0 Query/Views/Transformations RFP, Revised Submission. OMG Document ad/2003-08-11, http://www.omg.org/cgi-bin/ doc?ad/2003-08-11 (2003).
[34]
Egyed, A.: Heterogeneous views integration and its automation. PhD Thesis, University of Southern California (2000).
[35]
Taentzer, G., Ehrig, K., Guerra, E., de Lara, J., Lengyel, L., Levendovsky, T., Prange, U., Varro, D., Varro-Gyapay, S.: Model transformation by graph transformation: a comparative study. In: Workshop on Model Transformations in Practice, September (2005).
[36]
Bunke, H.: Graph matching: theoretical foundations, algorithms, and applications. In: Proceedings of the Vision Interface 2000, Montreal/Canada, pp. 82-88 (2000).
[37]
Küster, J.M., Sendall, S., Wahler, M.: Comparing two model transformation approaches. In: Proceedings UML 2004 Workshop OCL and Model Driven Engineering, Lisbon, Portugal, October 12 (2004).
[38]
Heckel, R., Kuster, J.M., Taentzer, G.: Confluence of typed attributed graph transformation systems. In: Proceedings of ICGT'02, LNCS 2505, pp. 161-176, Springer, Heidelberg (2002).
[39]
Mens, T., Van Gorp, P., Varro, D., Karsai, G.: Applying a model transformation taxonomy to graph tansformation technology. In Karsai, G., Taentzer, G. (eds.) Proceedings of Graph and Model Transformation Workshop (to appear in ENTCS) (2005).
[40]
Mens, T., Van Gorp, P., Varro, D., Karsai, G.: Applying a model transformation taxonomy to graph transformation technology. In: Karsai, G., Taentzer, G. (eds.) Proceedings of Graph and Model Transformation Workshop, ENTCS (2005).
[41]
Visser, E. et al.: Program transformation with stratego/XT: rules, strategies, tools, and systems in StrategoXT-0.9. In: Lengauer, C. (ed.) Domain-Specific Program Generation, vol. 3016 of Lecture Notes in Computer Science, pp. 216-238. Spinger, Heidelberg (2004).
[42]
Vanhoof, B., Van Baelen, S., Joosen, W., Berbers, Y.: Traceability as input for model transformations. In: Proceedings of Traceability Workshop, European Conference in Model Driven Architecture (EC-MDA) (2007).
[43]
Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Syst. J. (Special Issue on Model-Driven Softw. Dev. 45(3), 621-645 (2006).
[44]
Wimmer, M., Strommer, M., Kargl, H., Kramler, G.: Towards model transformation generation by-example. In: Proceedings of HICSS-40 Hawaii International Conference on System Sciences. Hawaii, USA (2007).
[45]
Sun, Y., White, J., Gray, J.: Model Transformation by Demonstration. MoDELS09, Denver, CO, October 2009, pp. 712-726.
[46]
Garcia-Magarino, I., Gomez-Sanz, J.J., Fuentes-Fernandez, R.: Model transformation by-example: an algorithm for generating many-to-many transformation rules in several model transformation languages. In: Proceedings of the 2nd International Conference on Theory and Practice of Model Transformations (ICMT'09), vol. 5563 of LNCS, pp. 52-66. Springer, Heidelberg (2009).
[47]
Fabro, M.D., Valduriez, P.: Towards the efficient development of model transformations using model weaving and matching transformations. Softw. Syst. Model. 8(3), 305-324 (2009).
[48]
Jouault, F.: Loosely coupled traceability for atl. In: Proceedings of the European Conference on Model Driven Architecture (ECMDA) Workshop on Traceability (2005).
[49]
Galvão, I., Goknil, A.: Survey of Traceability Approaches in Model-Driven Engineering. In: EDOC'07, pp. 313-326 (2007).
[50]
Falleri, J.R., Huchard, M., Lafourcade, M.: Clémentine Nebut Meta-model Matching for Automatic Model Transformation Generation, ACM/IEEE 11th International Conference on Model Driven Engineering Languages and Systems (MODELS 2008) (2008).
[51]
Marvie, R.: A Transformation Composition Framework for Model Driven Engineering. Technical Report LIFL-2004-10, LIFL (2004).
[52]
DuanCheung, Y., Fu, X., Gu, Y.: A metamodel based model transformation approach. In: Proceedings of ACIS International Conference on Software Engineering Research, Management and Applications, pp. 184-191 (2005).
[53]
Giese, H., Wagner, R.: Incremental model synchronization with triple graph grammars. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) Models '06: Proceedings of the 9th International Conference on Model Driven Engineering Languages and Systems, vol. 4199 of LNCS, pp. 543-557. Springer, Heidelberg (2006).
[54]
Falleri, J.R., Huchard, M., Nebut, C.: Towards a traceability framework for model transformations in kermeta, HAL-CCSd-CNRS (2006).
[55]
Hearnden, D., Lawley, M., Raymond, K.: Incremental model transformation for the evolution ofmodel-driven systems. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) Model Driven Engineering Languages and Systems, 9th International Conference, MoDELS 2006, Genova, Italy, October 1-6, 2006, Proceedings, vol. 4199 of LNCS, pp. 321-335. Springer, Berlin (2006).
[56]
Krishnamurthy, R., Morgan, S.P., Zloof, M.M.: Query-by-example: operations on piecewise continuous data. In: Proceedings of 9th international conference on very large data bases, October 31- November 2, Florence, Italy, pp. 305-308 (1983).
[57]
Lechner, S., Schrefl, M.: Defining web schema transformers by example. In: Proceedings of DEXA'03. Springer, Heidelberg (2003).
[58]
Cypher, A. (ed.): Watch What I Do: Programming by Demonstration. The MIT Press, Cambridge (1993).
[59]
Repenning, A., Perrone, C.: Programming by example: programming by analogous examples. Comm. ACM 43(3), 90-97 (2000).
[60]
Harman, M., Jones, B.F.: Search-based software engineering. Inf. Softw. Technol. 43(14), 833-839 (2001).
[61]
Harman, M., Tratt, L.: Pareto optimal search based refactoring at the design level. In: GECCO'07: Proceedings of the 9th Annual Conference on Genetic and Evolutionary Computation, pp. 1106-1113. ACM Press, New York (2007).
[62]
Harman, M.: The current state and future of search based software engineering. In: Proceedings of the 29th International Conference on Software Engineering (ICSE 2007), 20-26 May, Minneapolis, USA (2007).
[63]
Shousha, M., Briand, L., Labiche, Y.: A UML/SPT model analysis methodology for concurrent systems based on genetic algorithms. In: Proceedings of the 11th International Conference on Model Driven Engineering Languages and Systems MODELS08, pp. 475-489 (2008).
[64]
Bouktif, S., Sahraoui, H., Antoniol, G.: Simulated annealing for improving software quality prediction. In: GECCO2006: Proceedings of the 8th Annual Conference on Genetic and Evolutionary Computation, vol. 2, pp. 1893-1900 (2006).
[65]
Kleppe, A., Warmer, J., Bast, W.: MDA Explained. The Model Driven Architecture: Practice and Promise. Addison-Wesley, Reading (2003).
[66]
Seng, O., Stammel, J., Burkhart, D.: Search-based determination of refactorings for improving the class structure of object-oriented systems. In: GECCO '06: Proceedings of the 8th Annual Conference on Genetic and Evolutionary Computation, pp. 1909-1916, New York, NY, USA (2006).

Cited By

View all
  • (2021)Model Transformation Development Using Automated Requirements Analysis, Metamodel Matching, and Transformation by ExampleACM Transactions on Software Engineering and Methodology10.1145/347190731:2(1-71)Online publication date: 17-Nov-2021
  • (2020)Multi-criteria test cases selection for model transformationsAutomated Software Engineering10.1007/s10515-020-00271-w27:1-2(91-118)Online publication date: 1-Jun-2020
  • (2019)Toward a declarative language to generate explorable sets of modelsProceedings of the 34th ACM/SIGAPP Symposium on Applied Computing10.1145/3297280.3297461(1837-1844)Online publication date: 8-Apr-2019
  • Show More Cited By
  1. Search-based model transformation by example

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image Software and Systems Modeling (SoSyM)
    Software and Systems Modeling (SoSyM)  Volume 11, Issue 2
    May 2012
    150 pages

    Publisher

    Springer-Verlag

    Berlin, Heidelberg

    Publication History

    Published: 01 May 2012

    Author Tags

    1. Automated model transformation
    2. Search-based software engineering
    3. Transformation by example

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 30 Dec 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2021)Model Transformation Development Using Automated Requirements Analysis, Metamodel Matching, and Transformation by ExampleACM Transactions on Software Engineering and Methodology10.1145/347190731:2(1-71)Online publication date: 17-Nov-2021
    • (2020)Multi-criteria test cases selection for model transformationsAutomated Software Engineering10.1007/s10515-020-00271-w27:1-2(91-118)Online publication date: 1-Jun-2020
    • (2019)Toward a declarative language to generate explorable sets of modelsProceedings of the 34th ACM/SIGAPP Symposium on Applied Computing10.1145/3297280.3297461(1837-1844)Online publication date: 8-Apr-2019
    • (2019)Type inference in flexible model-driven engineering using classification algorithmsSoftware and Systems Modeling (SoSyM)10.1007/s10270-018-0658-518:1(345-366)Online publication date: 1-Feb-2019
    • (2019)Example-driven modelingSoftware and Systems Modeling (SoSyM)10.1007/s10270-017-0652-318:3(2213-2239)Online publication date: 1-Jun-2019
    • (2019)A local and global tour on MOMoTSoftware and Systems Modeling (SoSyM)10.1007/s10270-017-0644-318:2(1017-1046)Online publication date: 1-Apr-2019
    • (2019)An example is worth a thousand wordsSoftware and Systems Modeling (SoSyM)10.1007/s10270-017-0632-718:2(961-993)Online publication date: 1-Apr-2019
    • (2018)Recommending Model Refactoring Rules from Refactoring ExamplesProceedings of the 21th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems10.1145/3239372.3239406(257-266)Online publication date: 14-Oct-2018
    • (2018)VMTLSoftware and Systems Modeling (SoSyM)10.1007/s10270-016-0546-917:4(1139-1167)Online publication date: 1-Oct-2018
    • (2017)A Contribution to the Specification of Model Transformations with Metamodel Matching ApproachInternational Journal of Information System Modeling and Design10.5555/3273842.32738438:3(1-23)Online publication date: 1-Jul-2017
    • Show More Cited By

    View Options

    View options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media