Nothing Special   »   [go: up one dir, main page]

Skip to main content
Log in

VMTL: a language for end-user model transformation

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

Abstract

Model transformation is a key enabling technology of Model-Driven Engineering (MDE). Existing model transformation languages are shaped by and for MDE practitioners—a user group with needs and capabilities which are not necessarily characteristic of modelers in general. Consequently, these languages are largely ill-equipped for adoption by end-user modelers in areas such as requirements engineering, business process management, or enterprise architecture. We aim to introduce a model transformation language addressing the skills and requirements of end-user modelers. With this contribution, we hope to broaden the application scope of model transformation and MDE technology in general. We discuss the profile of end-user modelers and propose a set of design guidelines for model transformation languages addressing them. We then introduce Visual Model Transformation Language (VMTL) following these guidelines. VMTL draws on our previous work on the usability-oriented Visual Model Query Language. We implement VMTL using the Henshin model transformation engine, and empirically investigate its learnability via two user experiments and a think-aloud protocol analysis. Our experiments, although conducted on computer science students exhibiting only some of the characteristics of end-user modelers, show that VMTL compares favorably in terms of learnability with two state-of the-art model transformation languages: Epsilon and Henshin. Our think-aloud protocol analysis confirms many of the design decisions adopted for VMTL, while also indicating possible improvements.

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

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

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

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14

Similar content being viewed by others

Notes

  1. We are presently carrying out a large-scale practitioner survey investigating the various contexts in which models are employed. The results of this survey are as of yet unpublished.

  2. UML allows Stereotypes to replace model elements’ default visualizations with arbitrary images.

  3. Only a subset of the textual annotations described in Sect. 3.3 are currently supported.

  4. Any other remote code execution technology may be used.

  5. http://www.nomagic.com/products/magicdraw.

  6. A list of Epsilon’s industrial users is available at https://www.eclipse.org/epsilon/users/. A collection of publications describing Henshin’s use in various projects is available at https://www.eclipse.org/henshin/publications.php.

  7. Guidelines suggest that \(\eta ^2\) values greater than 0.06 indicate a moderate effect size, and values greater than 0.14 indicate a large effect size [15].

  8. Values for Spearman’s \(\rho \) range in the interval \([-1,1]\). Values closer to 0 indicate a lower correlation, and therefore a larger effect size.

  9. Due to the adopted experimental design, Cronbach’s alpha cannot be reliably computed for Experiment 2.

References

  1. Arendt, T.: Quality Assurance of Software Models. Ph.D. thesis, Philipps-Universität Marburg (2014)

  2. Acretoaie, V., Störrle, H., Strüber, D.: Transparent model transformation: turning your favourite model editor into a transformation tool. In: Theory and Practice of Model Transformation, LNCS, vol. 9152, pp. 121–130. Springer, Berlin (2015)

  3. Acretoaie, V., Störrle, H.: Hypersonic: Model Analysis and Checking in the Cloud. In: Proceedings of 2nd Workshop on Scalability in Model Driven Engineering. CEUR Workshop Proceedings, vol. 1206, pp. 6–13 (2014)

  4. Acretoaie, V., Störrle, H.: MQ-2: a tool for prolog-based model querying. In: Joint Proceedings of Co-located Events at the 8th European Conference on Modelling Foundations and Applications (ECMFA’12), pp. 328–331. Technical University of Denmark, Kgs. Lyngby, DK (2012)

  5. Arendt, T., Biermann, E., Jurack, S., Krause, C., Taentzer, G.: Henshin: Advanced Concepts and Tools for In-Place EMF Model Transformations. Model Driven Engineering Languages and Systems. LNCS, vpl. 6394, pp. 121–135. Springer, Berlin (2010)

  6. Avazpour, I., Grundy, J., Grunske, L.: Specifying model transformations by direct manipulation using concrete visual notations and interactive recommendations. J. Visual Lang. Comput. 28, 195–211 (2015)

    Article  Google Scholar 

  7. Awad, A., Sakr, S.: On efficient processing of BPMN-Q queries. Comput. Ind. 63(9), 867–881 (2012)

    Article  Google Scholar 

  8. Baar, T., Whittle, J.: On the usage of concrete syntax in model transformation rules. In: Perspectives of Systems Informatics. LNCS, vol. 4378, pp. 84–97. Springer, Berlin (2007)

  9. Balogh, Z., Varró, D.: Model transformation by example using inductive logic programming. Softw. Syst. Model. 8(3), 347–364 (2009)

    Article  Google Scholar 

  10. Batory, D., Azanza, M.: Teaching model-driven engineering from a relational database perspective. Softw. Syst. Model. pp. 1–25 (2015)

  11. Beeri, C., Eyal, A., Kamenkovich, S., Milo, T.: Querying business processes with BP-QL. Inf. Syst. 33(6), 477–507 (2008)

    Article  Google Scholar 

  12. Bézivin, J., Büttner, F., Gogolla, M., Jouault, F., Kurtev, I., Lindow, A.: Model transformations? Transformation models! In: Model-driven engineering languages and systems, LNCS, vol. 4199, pp. 440–453. Springer, Berlin (2006)

  13. Biermann, E., Ermel, C., Taentzer, G.: Formal foundation of consistent EMF model transformations by algebraic graph transformation. Softw. Syst. Model. 11(2), 227–250 (2012)

    Article  Google Scholar 

  14. Bollati, V.A., Vara, J.M., Jiménez, Á., Marcos, E.: Applying MDE to the (semi-)automatic development of model transformations. Inf. Softw. Technol. 55(4), 699–718 (2013)

    Article  Google Scholar 

  15. Cohen, J.: Statistical Power Analysis for the Behavioral Sciences, 2 edn. Routledge (1988)

  16. Czarnecki, K., Helsen, S.: Feature-based survey of model transformation approaches. IBM Syst. J. 45(3), 621–645 (2006)

    Article  Google Scholar 

  17. Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. Springer, Berlin (2006)

    MATH  Google Scholar 

  18. Gopher, D., Braune, R.: On the psychophysics of workload: Why bother with subjective measures? Hum. Factors 26(5), 519–532 (1984)

    Article  Google Scholar 

  19. Grønmo, R., Møller-Pedersen, B., Olsen, G.K.: Comparison of Three Model Transformation Languages. Model Driven Architecture—Foundations and Applications. LNCS, 5562, pp. 2–17. Springer, Berlin (2009)

  20. Grossman, T., Fitzmaurice, G., Attar, R.: A survey of software learnability: metrics, methodologies and guidelines. In: Proceedings of SIGCHI Conference on Human Factors in Computing Systems (CHI’09), pp. 649–658. ACM, New York (2009)

  21. Guerra, E., de Lara, J., Kolovos, D.S., Paige, R.F., dos Santos, O.M.: Engineering model transformations with transML. Softw. Syst. Model. 12(3), 555–577 (2013)

    Article  Google Scholar 

  22. Internet Engineering Task Force (IETF): IETF RFC 6749: The OAuth 2.0 Authorization Framework. http://tools.ietf.org/html/rfc6749 (2012)

  23. Jones, B., Kenward, M.G.: Design and Analysis of Cross-Over Trials, third edn. Chapman and Hall/CRC, London (2014)

  24. Jouault, F., Allilaire, F., Bézivin, J., Kurtev, I.: ATL: a model transformation tool. Sci. Comput. Program. 72(1–2), 31–39 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  25. Kalnins, A., Barzdins, J., Celms, E.: Model transformation language MOLA. In: Model Driven Architecture. LNCS, vol. 3599, pp. 62–76. Springer, Berlin (2005)

  26. Kent, S.: Constraint diagrams: visualizing invariants in object-oriented models. In: Proceedings of 12th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA’97), pp. 327–341. ACM (1997)

  27. Kessentini, M., Sahraoui, H., Boukadoum, M., Omar, O.B.: Search-based model transformation by example. Softw. Syst. Model. 11(2), 209–226 (2012)

    Article  Google Scholar 

  28. Kolovos, D.S., Paige, R.F., Polack, F.A.: The Epsilon object language (EOL). In: Model Driven Architecture—Foundations and Applications. LNCS, vol. 4066, pp. 128–142. Springer, Berlin (2006)

  29. Kühne, T., Mezei, G., Syriani, E., Vangheluwe, H., Wimmer, M.: Explicit transformation modeling. In: Models in Software Engineering, LNCS, vol. 6002, pp. 240–255. Springer, Berlin (2010)

  30. Langer, P., Wimmer, M., Kappel, G.: Model-to-model transformations by demonstration. In: Theory and Practice of Model Transformations. LNCS, vol. 6142, pp. 153–167. Springer, Berlin (2010)

  31. Lewis, C.: Using the “Thinking Aloud” Method in Cognitive Interface Design. Tech. Rep. RC-9265, IBM (1982)

  32. Mens, T., Van Gorp, P.: A taxonomy of model transformation. Electron. Notes Theor. Comput. Sci. 152, 125–142 (2006)

    Article  Google Scholar 

  33. Montgomery, D.C.: Design and Analysis of Experiments, 8th edn. Wiley, London (2012)

    Google Scholar 

  34. Obeo: EMF Compare. https://www.eclipse.org/emf/compare/

  35. Object Management Group: Business Process Model and Notation (BPMN) 2.0.2. OMG Document formal/2013-12-09 (2013)

  36. Object Management Group: Meta Object Facility (MOF) 2.0 Query/View/Transformation Specification 1.2. OMG Document formal/15-02-01 (2015)

  37. Object Management Group: Object Constraint Language 2.4. OMG Document formal/2014-02-03 (2014)

  38. Object Management Group: Unified Modeling Language (UML) 2.5. OMG Document formal/2015-03-01 (2015)

  39. Saada, H., Dolques, X., Huchard, M., Nebut, C., Sahraoui, H.: Generation of operational transformation rules from examples of model transformations. In: Model Driven Engineering Languages and Systems. LNCS, vol. 7590, pp. 546–561. Springer, Berlin (2012)

  40. Sarbanes-Oxley Act: 107th Congress Public Law 204. US Government Printing Office (2002)

  41. Schmidt, M.: Transformations of UML 2 models using concrete syntax patterns. In: Rapid Integration of Software Engineering Techniques. LNCS, vol. 4401, pp. 130–143. Springer, Berlin (2007)

  42. Selic, B.: The pragmatics of model-driven development. IEEE Softw. 20(5), 19–25 (2003)

    Article  Google Scholar 

  43. Sendall, S., Perrouin, G., Guelfi, N., Biberstein, O.: Supporting Model-to-Model Transformations: The VMT Approach. Tech. Rep. LGL-REPORT-2003-005, École Polytechnique Fédérale de Lausanne (2003)

  44. Sendall, S., Kozaczynski, W.: Model transformation: the heart and soul of model-driven software development. IEEE Softw. 20(5), 42–45 (2003)

    Article  Google Scholar 

  45. Silva, G.C., Rose, L.M., Calinescu, R.: A qualitative study of model transformation development approaches: supporting novice developers 18–27. In: Proceedings of International Workshop on Model-Driven Development Processes and Practices (MD2P2’14), CEUR Workshop Proceedings, vol. 1249, pp. 18–27 (2014)

  46. Stein, D., Hanenberg, S., Unland, R.: Join point designation diagrams: a graphical representation of join point selections. Int. J. Softw. Eng. Knowl. Eng. 16(3), 317–346 (2006)

    Article  Google Scholar 

  47. Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework, second edn. Addison-Wesley, Reading (2008)

  48. Störrle, H., Acretoaie, V.: Querying business process models with VMQL. In: Proceedings of ACM SIGCHI Annual International Workshop on Behaviour Modelling—Foundations and Applications (BMFA’13), pp. 41–410. ACM, New York (2013)

  49. Störrle, H.: MOCQL: a declarative language for ad-hoc model querying. In: Modelling Foundations and Applications. LNCS, vol. 7949, pp. 3–19. Springer, Berlin (2013)

  50. Störrle, H.: On the impact of layout quality to understanding UML diagrams: size matters. In: Model-Driven Engineering Languages and Systems, LNCS, vol. 8767, pp. 518–534. Springer, Berlin (2014)

  51. Störrle, H.: VMQL: A Visual Language for Ad-Hoc Model Querying. J. Visual Lang. Comput. 22(1) (2011)

  52. Stricker, V., Hanenberg, S., Stein, D.: Designing design constraints in the UML using join point designation diagrams. In: Objects, Components, Models and Patterns, LNBIP, vol. 33, pp. 57–76. Springer, Berlin (2009)

  53. Sun, Y., White, J., Gray, J.: Model Transformation by Demonstration. Model Driven Engineering Languages and Systems. LNCS, vol. 5795, pp. 712–726. Springer, Berlin (2009)

  54. Syriani, E., Vangheluwe, H., Mannadiar, R., Hansen, C., Van Mierlo, S., Huseyin, E.: AToMPM: a web-based modeling environment. In: Joint Proceedings of MODELS’13 Invited Talks, Demonstration Session, Poster Session, and ACM Student Research Competition, CEUR Workshop Proceedings, vol. 1115, pp. 21–25 (2013)

  55. Syriani, E., Vangheluwe, H., LaShomb, B.: T-core: a framework for custom-built model transformation engines. Softw. Syst. Model. 13(3), 1–29 (2013)

    Google Scholar 

  56. Syriani, E., Vangheluwe, H.: A modular timed graph transformation language for simulation-based design. Softw. Syst. Model. 12(2), 387–414 (2011)

    Article  Google Scholar 

  57. Taentzer, G.: AGG: a graph transformation environment for modeling and validation of software. In: Applications of Graph Transformations with Industrial Relevance. LNCS, vol. 3062, pp. 446–453. Springer, Berlin (2004)

  58. Teets, J., Tegarden, D., Russell, R.: Using cognitive fit theory to evaluate the effectiveness of information visualizations: an example using quality assurance data. IEEE Trans. Vis. Comput. Gr. 16(5), 841–853 (2010)

    Article  Google Scholar 

  59. Van Gorp, P., Keller, A., Janssens, D.: Transformation language integration based on profiles and higher order transformations. In: Software Language Engineering. LNCS, vol. 5452, pp. 208–226. Springer, Berlin (2009)

  60. Varró, D.: Model transformation by example. In: Model Driven Engineering Languages and Systems. LNCS, vol. 4199, pp. 410–424. Springer, Berlin (2006)

  61. Vessey, I.: The theory of cognitive fit: one aspect of a general theory of problem-solving? In: Human-Computer Interaction and Management Information Systems, pp. 141–183. Routledge (2006)

  62. Vessey, I.: Cognitive fit: a theory-based analysis of the graphs versus tables literature. Decis. Sci. 22(2), 219–240 (1991)

    Article  Google Scholar 

  63. VMTL Experimental Replication Package. https://vmstar.compute.dtu.dk/doku.php?id=vmtl:evaluation

  64. Whittle, J., Jayaraman, P., Elkhodary, A., Moreira, A.: Arajo, J.: MATA: a unified approach for composing UML aspect models based on graph transformation. In: Transactions on Aspect-Oriented Software Development VI. LNCS, vol. 5560, pp. 191–237. Springer, Berlin (2009)

  65. Wimmer, M., Strommer, M., Kargl, H., Kramler, G.: Towards model transformation generation by-example. In: Proceedings of 40th Annual Hawaii International Conference on System Sciences, HICSS’07, p. 285b. IEEE Computer Society, Washington, DC (2007)

  66. Wohlin, C., Runeson, P., Höst, M., C. Ohlsson, M., Regnell, B., Wesslén, A.: Experimentation in Software Engineering. Springer, Berlin (2012)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Vlad Acreţoaie.

Additional information

Communicated by Prof. Jon Whittle.

Appendix: The pull-up attribute refactoring in VMTL

Appendix: The pull-up attribute refactoring in VMTL

As a somewhat more elaborate VMTL specification compared to the introductory examples featured in Sect. 2, this appendix presents the VMTL specification of the “Pull-Up Attribute” refactoring. This refactoring addresses a consecrated UML class diagram design anti-pattern [1]. Its description states that common attributes of all classes sharing the same abstract superclass must be deleted, and an attribute with the same name, type, and visibility (i.e., the same signature) must be created in the superclass. In 1, this is the case for the “amount” and “confidential notes” attributes shared by the “Installment Loan” and “Revolving Loan” classes. The VMTL implementation of this refactoring relies on two rules. Rule 1, shown in Fig. 14 (top) addresses the basic case with only two subclasses, while Rule 2, shown in Fig. 14 (bottom), handles additional subclasses.

Rule 1 consists of an Update Pattern and two Forbid Patterns. The Update Pattern, named “Pull Up,” will match any class that has at least two subclasses sharing an attribute with the same signature. The name of the class is stored in the $Class variable, while the name, visibility, and type of the attribute are stored in the $Attribute, $V, and $T variables, respectively. The delete annotation is used to remove the attribute from the subclasses, while the create annotation creates a new attribute in the superclass. The name, type, and visibility of the new attribute are set to the values stored in the $Attribute, $V, and $T variables. Using VMTL’s if operator, the visibility of the new attribute is set to protected if the deleted attribute’s visibility was private, so that it is visible to subclasses.

The two Forbid Patterns of Rule 1 act as application conditions. If any one of them is matched, the rule will no longer be applied to that specific source model fragment, regardless if the Update Pattern is matched. The first Forbid Pattern, named “Attribute in Superclass”, ensures that the rule is not applied if the attribute to be pulled up already exists in the superclass. The visibility := * annotation allows the pattern to match any attribute visibility value. Finally, the refactoring should only be applied if all subclasses of the considered class own the attribute to be pulled up. This condition is enforced by the “Subclass without Attribute” Forbid Pattern using the omit annotation. Whenever the omit annotation is anchored to a pattern element, that element must not appear in a successful pattern match.

Rule 2 addresses the scenario in which there are more than two subclasses owning an attribute to be pulled up. Since an identical attribute has already been created in the superclass, this rule removes all attributes appearing in both the superclass and its subclasses. To this end, a single Update Pattern with no additional application conditions is required.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Acreţoaie, V., Störrle, H. & Strüber, D. VMTL: a language for end-user model transformation. Softw Syst Model 17, 1139–1167 (2018). https://doi.org/10.1007/s10270-016-0546-9

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-016-0546-9

Keywords

Navigation