Skip to main content
Log in

Search-based model transformation by example

  • Special Section Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

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.0 Query/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. http://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. OMG Document 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)

    MATH  Google Scholar 

  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)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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)

    Article  MathSciNet  MATH  Google Scholar 

  20. Aamodt A., Plaza E.: Case-based reasoning: foundational issues, methodological variations, and system approaches. Artif. Intell. Commun. 7(1), 39–52 (1994)

    Google Scholar 

  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)

    Article  MATH  Google Scholar 

  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)

    Article  Google Scholar 

  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. MOF 2.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. (eds) Domain-Specific Program Generation, vol. 3016 of Lecture Notes in Computer Science, pp. 216–238. Spinger, Heidelberg (2004)

    Chapter  Google Scholar 

  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)

    Google Scholar 

  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)

    Article  Google Scholar 

  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 of model-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. (eds): Watch What I Do: Programming by Demonstration. The MIT Press, Cambridge (1993)

    Google Scholar 

  59. Repenning A., Perrone C.: Programming by example: programming by analogous examples. Comm. ACM 43(3), 90–97 (2000)

    Article  Google Scholar 

  60. Harman M., Jones B.F.: Search-based software engineering. Inf. Softw. Technol. 43(14), 833–839 (2001)

    Article  Google Scholar 

  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)

    Google Scholar 

  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)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Marouane Kessentini.

Additional information

Communicated by Prof. Krzysztof Czarnecki.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Kessentini, M., Sahraoui, H., Boukadoum, M. et al. Search-based model transformation by example. Softw Syst Model 11, 209–226 (2012). https://doi.org/10.1007/s10270-010-0175-7

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-010-0175-7

Keywords

Navigation