Skip to main content
Log in

Rule-based update transformations and their application to model refactorings

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

Abstract

A rule-based update transformation is a model transformation where a single model is transformed in place. A model refactoring is a model transformation that improves the design described in the model. A refactoring should only affect a previously chosen subset of the original model. In this paper, we discuss how to define and execute model refactorings as rule-based transformations in the context of the UML and MOF standards. We also present an experimental tool to execute this kind of transformation.

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. OMG Architecture Board. Model driven architecture—A technical perspective. OMG Document ormsc:01-07-01. Available at http://www.omg.org

  2. Kent, S.: Model driven engineering. In Proceedings of IFM International Formal Methods 2002, vol. 2335, Lecture Notes in Computer Science. Springer, Berlin Heidelberg New York (2002)

  3. Sunyé, G., Pollet, D., Traon, Y.L., Jézéquel, J.-M.: Refactoring UML models. In: Gogolla, M., Kobryn, C. (eds.) Proceedings UML 2001—The Unified Modeling Language. Modeling Languages, Concepts, and Tools. 4th International Conference, Toronto, Canada, vol. 2185, Lecture Notes in Computer Science, pp. 134–148. Springer, Berlin Heidelberg New York (2001)

  4. Czarnecki, K., Helsen, S.: Classification of model transformation approaches. In: Proceedings of the 2nd OOPSLA Workshop on Generative Techniques in the Context of the Model Driven Architecture, Anaheim (2003)

  5. OMG.: MOF 2.0 query/views/transformations RFP. OMG Document ad/02-04-10. Available at http://www.omg.org

  6. OMG.: OMG meta-object facility (MOF), OMG Document formal/01-11-02. Available at http://www.omg.org

  7. Stevens, P.: Small-scale XMI programming: A revolution in UML tool use? Autom. Softw. Eng. 10(1), 7–21 (2003)

    Google Scholar 

  8. OMG.: OMG Unified Language Specification. Version 1.5, Document formal/03-03-01, March 2003, available at http://www.omg.org

  9. OMG.: UML 2.0 OCL specification. Document—ptc/03-10-14 (UML 2.0 OCL Final Adopted specification), available at http://www.omg.org

  10. Warmer, J., Kleppe, A.: The Object Constraint Language: Precise Modeling with UML. Addison-Wesley, Reading, MA (1998)

  11. D'Souza, D., Wills, A.: Objects, Components and Frameworks with UML: The Catalysis Approach. Addison-Wesley, Reading, MA (1998)

  12. Porres, I.: A toolkit for model manipulation. Softw. Syst. Model. 2(4) (2003)

  13. van Rossum, G., Drake, F.L. (eds.) Python Language Reference Manual. Network Theory Ltd. (2003)

  14. Porres, I., Alanen, M.: A generic deep copy algorithm for MOF-based models. In: Workshop on Model Driven Architecture: Foundations and Applications, University of Twente, Enschede, The Netherlands (2003)

  15. Sedgewick, R.: Permutation generation methods. Comput. Surv. 9, 137–164 (1977)

    MATH  MathSciNet  Google Scholar 

  16. OMG.: OMG XML metadata interchange (XMI) specification. OMG Document formal/00-11-02. Available at http://www.omg.org

  17. Alanen, M., Lilius, J., Porres, I., Truscan, D.: Realizing a model driven engineering process. Technical Report 565, TUCS Turku Centre for Computer Science (2003)

  18. DSTC and International Business Machines. MOF query/ views/transformations. OMG Document ad/2003-02-23. Available at http://www.omg.org

  19. Alanen, M., Porres, I.: Difference and union of models. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003—The Unified Modeling Language. Model Languages and Applications. 6th International Conference, San Francisco, CA, USA, 2003, Proceedings, vol. 2863, Lecture Notes in Computer Science. Springer, Berlin Heidelberg New York (2003)

  20. Roberts, D.B.: Practical Analysis of Refactorings. Ph.D thesis, University of Illinois at Urbana-Champaign (1999)

  21. van Gorp, P., Stenten, H., Mens, T., Demeyer, S.: Towards automating source-consistent UML refactorings. In: Stevens, P., Whittle, J., Booch, G. (eds.) UML 2003—The Unified Modeling Language. Model Languages and Applications. 6th International Conference, San Francisco, CA, USA, 2003, Proceedings, vol. 2863, Lecture Notes in Computer Science, pp. 144–158. Springer, Berlin Heidelberg New York (2003)

  22. Alanen, M., Porres, I.: A relation between context-free grammars and Meta Object Facility metamodels. Technical Report 606, TUCS Turku Centre for Computer Science (2004)

  23. OMG.: UML 2.0 diagram interchange. OMG Document ptc/03-09-01. Available at http://www.omg.org

  24. Boger, M., Sturm, T., Fragemann, P.: Refactoring browser for UML. In: Revised Papers from the International Conference NetObjectDays on Objects, Components, Architectures, Services, and Applications for a Networked World, pp. 366–377. Springer, Berlin Heidelberg New York (2003)

  25. Melnik, S.: Generic Model Management Concepts and Algorithms, vol. 2967, Lecture Notes in Computer Science. Springer, Berlin Heidelberg New York (2004)

    Google Scholar 

  26. Melnik, S., Rahm, E., Bernstein, P.A.: Rondo: A programming platform for generic model management. In ACM SIGMOD (2003, June)

  27. Engels, G., Heckel, R., Malte Küster, J., Groenewegen, L.: Consistency-preserving model evolution through transformations. In: Jézéquel, J.-M., Hussmann, H., Cook, S. (eds.) Proceedings UML 2002—The Unified Modeling Language. Model Engineering, Languages, Concepts, and Tools. 5th International Conference, Dresden, Germany, vol. 2460, Lecture Notes in Computer Science, pp. 212–226. Springer, Berlin Heidelberg New York (2002)

  28. Mens, T., Demeyer, S., Janssens, D.: Formalising behaviour preserving program transformations. In: Corradini, A., Ehrig, H., Kreowski, H.-J., Rozenberg, G. (eds.) Proceedings Graph Transformation—First International Conference, ICGT 2002, Barcelona, Spain, vol. 2505, Lecture Notes in Computer Science, Springer, Berlin Heidelberg New York (2002)

  29. Van Der Straeten, R., Jonckers, V., Mens, T.: Supporting model refactorings through behavior inheritance consistencies. In: Baar T., et al (eds.) UML 2004—The Unified Modeling Language. Model Languages and Applications. 7th International Conference, Lisbon, Portugal, vol. 3273, Lecture Notes in Computer Science. Springer, Berlin Heidelberg New York (2004)

  30. Bézivin, J., Farcet, N., Jézéquel, J.-M., Langlois, B., Pollet, D.: Reflective model driven ngineering. In: Stevens P., Whittle J., Booch, G. (eds.) UML 2003—The Unified Modeling Language. Model Languages and Applications. 6th International Conference, San Francisco, CA, USA, 2003. Proceedings, vol. 2863, Lecture Notes in Computer Science. Springer, Berlin Heidelberg New York (2003)

  31. Bézivin, J., Breton, E., Dupé, G., Valduriez, P.: The ATL transformation-based model management framework. Technical Report 03.08, IRIN Univesité de Nantes (2003)

  32. Revault, N.: Model transformation based on production rules. In: Heckel, R., Mens, T., Wermelinger, M. (eds.) Electronic Notes in Theoretical Computer Science, vol. 72. Elsevier, New York (2003)

    Google Scholar 

  33. Whittle, J.: Transformations and Software Modeling Languages: Automating transformations in UML. In: Jézéquel, J.-M., Hussmann, H., Cook, S. (eds.) Proceedings UML 2002—The Unified Modeling Language. Model Engineering, Languages, Concepts, and Tools. 5th International Conference, Dresden, Germany, vol. 2460, Lecture Notes in Computer Science, pp. 227–242. Springer, Berlin Heidelberg New York (2002)

  34. Akehurst, D., Kent, S., Patrascoiu, O.: A relational approach to defining and implementing transformations between metamodels. Softw. Syst. Model. 2(4) (2003)

  35. Clark, J. (ed.): XML Transformations (XSLT) Version 1.1. WC3, http://www.w3.org/TR/xlst11 (2000)

  36. Oldevik, J.: UMT-QVT tool. Available at http://umt-qvt.sourceforge.net

  37. Kovse, J., Härder, T.: Generic XMI-Based UML model transformations. In: Bellahséne, Z., Patel, D., Rolland, C. (eds.) Object-Oriented. Information Systems: 8th International Conference, OOIS 2002, vol. 2425, Lecture Notes in Computer Science. Springer, Berlin Heidelberg New York (2002)

    MATH  Google Scholar 

  38. Peltier, M., Bézivin, J., Guillaume, G.: MTRANS: A general framework, based on XSLT, for model transformations. In: Workshop on Transformations in UML WTUML01. Genova, Italy (2001)

  39. Baresi, L., Heckel, R.: Tutorial introduction to graph transformation: A software engineering perspective. In: Corradini, A., Ehrig, H., Kreowski, H.-J., Rozenberg, G. (eds.) Proceedings Graph Transformation—1st International Conference, ICGT 2002, Barcelona, Spain, vol. 2505, Lecture Notes in Computer Science. Springer, Berlin Heidelberg New York (2002)

  40. Engels, G., Rozenberg, G., Kreowski, H.-J. (eds.): 6th International Workshop on Theory and Applications of Graph Transformation, vol. 1764, Lecture Notes in Computer Science. Springer, Berlin Heidelberg New York (1998)

  41. Zündorf, A., et al.: Fujaba. Available at http://www.uni-paderborn.de/cs/fujaba/

  42. Gardner, T., Griffin, C., Koehler, J., Hauser, R.: A review of OMG MOF 2.0 Query/Views/Transformations Submissions and Recommendations towards the final Standard, OMG Document ad/3-02-02 (2003)

  43. Varró, D., Pataricza, A.: Generic and meta-transformations for model transformation engineering. In: Proceedings UML 2004: 7th International Conference on the Unified Modeling Language, Lecture Notes in Computer Science, Lisbon, Portugal. Springer, Berlin Heidelberg New York (2004)

  44. Fowler, M.: Refactoring—Improving the Design of Existing Code. Addison-Wesley Object Technology Series. Addison-Wesley, Reading, MA (1999)

  45. EMF Development team.: Eclipse modeling framework. http://www.eclipse.org/emf

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ivan Porres.

Additional information

Ivan Porres received in 1997 his MS degree in Computer Science at the Polytechnic University of Valencia, Spain and in 2001 his PhD in Computer Science at Äbo Akademi University in Turku, Finland. His thesis, “Modeling and Analyzing Behavior in UML”, studies how to use different formal methods to ensure the correctness of software modeled using UML. Currently, he works as an acting professor at the Department of Computer Science at Äbo Akademi University where he studies how to use models and modeling in all aspects of software engineering.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Porres, I. Rule-based update transformations and their application to model refactorings. Softw Syst Model 4, 368–385 (2005). https://doi.org/10.1007/s10270-005-0088-z

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-005-0088-z

Keywords

Navigation