Software & Systems Modeling

, Volume 11, Issue 2, pp 209–226 | Cite as

Search-based model transformation by example

  • Marouane Kessentini
  • Houari Sahraoui
  • Mounir Boukadoum
  • Omar Ben Omar
Special Section Paper


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.


Search-based software engineering Automated model transformation Transformation by example 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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)Google Scholar
  2. 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)Google Scholar
  3. 3.
    Object Management Group (OMG): Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification Final Adopted Specification, ptc/05-11-01. (2005)
  4. 4.
    QVT-Merge Group. MOF 2.0 Query/Views/Transformations RFP, Revised submission, version 1.0. OMG Document ad/2004-04-01. (2004)
  5. 5.
    OMG: Meta Object Facility (MOF). Version 1.4.
  6. 6.
    OMG: Request For Proposal: MOF 2.0/QVT. OMG Document ad/2002-04-10. (2002)
  7. 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)Google Scholar
  8. 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)Google Scholar
  9. 9.
    ATLAS Group. The ATLAS Transformation Language. (2000)
  10. 10.
    Jouault, F., Kurter, I.: Transforming models with ATL. In: Proceedings Of the Model Transformations in Practice Workshop at MoDELS 2005, Jamaica (2005)Google Scholar
  11. 11.
    Compuware, SUN. MOF 2.0 Query/Views/Transformations RFP, Revised Submission. OMG Document ad/2003-08-07. (2003)
  12. 12.
    Clark T., Warmer J.: Object Modeling with the OCL, The Rationale behind the Object Constraint Language. Springer, London (2002)zbMATHGoogle Scholar
  13. 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)CrossRefGoogle Scholar
  14. 14.
    Varro, D.: Model transformation by example. In: Proc. MODELS 2006, vol. 4199 of LNCS, pp. 410–424. Springer, Heidelberg (2006)Google Scholar
  15. 15.
    Egyed A.: Automated abstraction of class diagrams. ACM Trans. Softw. Eng. Methodol. 11(4), 449–491 (2002)CrossRefGoogle Scholar
  16. 16.
    Varro, D., Balogh, Z.: Automating model transformation by example using inductive logic programming. ACM Symposium on Applied Computing | Model Transformation Track (2007)Google Scholar
  17. 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)Google Scholar
  18. 18.
    Kennedy, J., Eberhart, R.C.: Particle swarm optimization. In: Proceedings of IEEE International Conference on Neural Networks, pp. 1942–1948 (1995)Google Scholar
  19. 19.
    Kirkpatrick S., Gelatt C.D. Jr., Vecchi M.P.: Optimization by simulated annealing. Sciences 220(4598), 671–680 (1983)MathSciNetzbMATHCrossRefGoogle Scholar
  20. 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. 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)Google Scholar
  22. 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)Google Scholar
  23. 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)Google Scholar
  24. 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)Google Scholar
  25. 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)zbMATHCrossRefGoogle Scholar
  26. 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)Google Scholar
  27. 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)Google Scholar
  28. 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)CrossRefGoogle Scholar
  29. 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)Google Scholar
  30. 30.
    Mens, T., Van Gorp, P.: A taxonomy of model transformation. in: Proceedings of International Workshop on Graph and Model Transformation (2005)Google Scholar
  31. 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. (1996)
  32. 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)Google Scholar
  33. 33.
    Interactive Objects Software GmbH, Project Technology, Inc. MOF 2.0 Query/Views/Transformations RFP, Revised Submission. OMG Document ad/2003-08-11, (2003)
  34. 34.
    Egyed, A.: Heterogeneous views integration and its automation. PhD Thesis, University of Southern California (2000)Google Scholar
  35. 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)Google Scholar
  36. 36.
    Bunke, H.: Graph matching: theoretical foundations, algorithms, and applications. In: Proceedings of the Vision Interface 2000, Montreal/Canada, pp. 82–88 (2000)Google Scholar
  37. 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)Google Scholar
  38. 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)Google Scholar
  39. 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)Google Scholar
  40. 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)Google Scholar
  41. 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)CrossRefGoogle Scholar
  42. 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)Google Scholar
  43. 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. 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)Google Scholar
  45. 45.
    Sun, Y., White, J., Gray, J.: Model Transformation by Demonstration. MoDELS09, Denver, CO, October 2009, pp. 712–726Google Scholar
  46. 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)Google Scholar
  47. 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)CrossRefGoogle Scholar
  48. 48.
    Jouault, F.: Loosely coupled traceability for atl. In: Proceedings of the European Conference on Model Driven Architecture (ECMDA) Workshop on Traceability (2005)Google Scholar
  49. 49.
    Galvão, I., Goknil, A.: Survey of Traceability Approaches in Model-Driven Engineering. In: EDOC’07, pp. 313–326 (2007)Google Scholar
  50. 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)Google Scholar
  51. 51.
    Marvie, R.: A Transformation Composition Framework for Model Driven Engineering. Technical Report LIFL-2004-10, LIFL (2004)Google Scholar
  52. 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)Google Scholar
  53. 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)Google Scholar
  54. 54.
    Falleri, J.R., Huchard, M., Nebut, C.: Towards a traceability framework for model transformations in kermeta, HAL-CCSd-CNRS (2006)Google Scholar
  55. 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)Google Scholar
  56. 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)Google Scholar
  57. 57.
    Lechner, S., Schrefl, M.: Defining web schema transformers by example. In: Proceedings of DEXA’03. Springer, Heidelberg (2003)Google Scholar
  58. 58.
    Cypher, A. (eds): Watch What I Do: Programming by Demonstration. The MIT Press, Cambridge (1993)Google Scholar
  59. 59.
    Repenning A., Perrone C.: Programming by example: programming by analogous examples. Comm. ACM 43(3), 90–97 (2000)CrossRefGoogle Scholar
  60. 60.
    Harman M., Jones B.F.: Search-based software engineering. Inf. Softw. Technol. 43(14), 833–839 (2001)CrossRefGoogle Scholar
  61. 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)Google Scholar
  62. 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)Google Scholar
  63. 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)Google Scholar
  64. 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)Google Scholar
  65. 65.
    Kleppe A., Warmer J., Bast W.: MDA Explained. The Model Driven Architecture: Practice and Promise. Addison-Wesley, Reading (2003)Google Scholar
  66. 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)Google Scholar

Copyright information

© Springer-Verlag 2010

Authors and Affiliations

  • Marouane Kessentini
    • 1
  • Houari Sahraoui
    • 1
  • Mounir Boukadoum
    • 2
  • Omar Ben Omar
    • 1
  1. 1.Département d’Informatique et Recherche OpérationnelleUniversité de MontréalMontréalCanada
  2. 2.Département d’InformatiqueUniversité du Québec à MontréalMontréalCanada

Personalised recommendations