Skip to main content
Log in

Constraint-driven modeling through transformation

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

Abstract

In model-driven software engineering, model transformation plays a key role for automatically generating and updating models. Transformation rules define how source model elements are to be transformed into target model elements. However, defining transformation rules is a complex task, especially in situations where semantic differences or incompleteness allow for alternative interpretations or where models change continuously before and after transformation. This paper proposes constraint-driven modeling where transformation is used to generate constraints on the target model rather than the target model itself. We evaluated the approach on three case studies that address the above difficulties and other common transformation issues. We also developed a proof-of-concept implementation that demonstrates its feasibility. The implementation suggests that constraint-driven transformation is an efficient and scalable alternative and/or complement to traditional 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.

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
Fig. 15
Fig. 16
Fig. 17

Similar content being viewed by others

Notes

  1. This is different from existing approaches (e.g., [22, 23]) that derive constraints through interpretation or translation of transformation rules, which generate the target model. In CDM, transformation rules are executed by standard transformation engines to generate constraints—there is no interpretation or translation of rules involved.

  2. If the re-execution of a transformation rule updates an existing constraint (\(c_x\)) rather than re-generating it, then both the outdated version (i.e., \(c_x\)) and the updated version (i.e., \(c^{^{\prime }}_{x}\)) identify different version of the same object (i.e., the version \(c_x\) is lost as a consequence of the update). In this case, the constraint is removed and added back to the constraint model, causing the validation of the constraint with the updated information (i.e., the necessary re-validation). Such updates may also be handled automatically by some consistency checkers.

  3. Note that structural independence is a general property of constraints and is not limited to specific constraint languages—in contrast to, for example, OCL’s property of being side-effect-free.

  4. In practice, a constraint update may be done by a consecutive removal and addition of constraints.

  5. We ignore the fact that such a transformation will not always lead to satisfying results—as discussed above—for this example.

  6. Note that the validation is not meant to demonstrate superior performance of the employed consistency checker but only to demonstrate feasibility of CDM.

References

  1. Schmidt, D.C.: Guest editor’s introduction: model-driven engineering. IEEE Comput 39(2), 25–31 (2006)

    Article  Google Scholar 

  2. 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 

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

    Article  Google Scholar 

  4. Mens, T., Gorp, P.V.: A taxonomy of model transformation. Electr. Notes Theor. Comput. Sci. 152, 125–142 (2006)

    Article  Google Scholar 

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

    Article  MATH  Google Scholar 

  6. Object Management Group, Query/View/Transformation (QVT). http://www.omg.org/spec/QVT/

  7. Ruscio, D.D., Eramo, R., Pierantonio, A.: Model transformations. In: SFM, pp. 91–136 (2012)

  8. Stevens, P.: Bidirectional model transformations in QVT: semantic issues and open questions. Softw. Syst. Model. 9(1), 7–20 (2010)

    Google Scholar 

  9. Mens, T., Wermelinger, M., Ducasse, S., Demeyer, S., Hirschfeld, R., Jazayeri, M.: Challenges in software evolution. In: IWPSE, pp. 13–22 (2005)

  10. Stevens, P.: A landscape of bidirectional model transformations. In: GTTSE, pp. 408–424 (2007)

  11. Vierhauser, M., Grünbacher, P., Egyed, A., Rabiser, R., Heider, W.: Flexible and scalable consistency checking on product line variability models. In: ASE, pp. 63–72, ACM (2010)

  12. van Amstel, M., Bosems, S., Kurtev, I., Pires, L.F.: Performance in model transformations: experiments with ATL and QVT. In: ICMT, pp. 198–212 (2011)

  13. Czarnecki, K., Foster, J.N., Hu, Z., Lämmel, R., Schürr, A., Terwilliger, J.F.: Bidirectional transformations: a cross-discipline perspective. In: ICMT, pp. 260–283 (2009)

  14. Object Management Group: Object Constraint Language (OCL). http://www.omg.org/spec/OCL/

  15. Demuth, A., Lopez-Herrejon, R.E., Egyed, A.: Constraint-driven modeling through transformation. In: ICMT, pp. 248–263 (2012)

  16. Reder, A., Egyed, A.: Model/analyzer: a tool for detecting, visualizing and fixing design errors in UML. In: ASE, pp. 347–348, ACM (2010)

  17. Egyed, A.: Automatically detecting and tracking inconsistencies in software design models. IEEE Trans. Softw. Eng. 37(2), 188–204 (2011)

    Article  Google Scholar 

  18. Object Management Group: Unified Modeling Language (UML) superstructure. http://www.omg.org/spec/UML/2.4.1/Superstructure (2012)

  19. Micskei, Z., Waeselynck, H.: The many meanings of uml 2 sequence diagrams: a survey. Softw. Syst. Model. 10(4), 489–514 (2011)

    Article  Google Scholar 

  20. Nentwich, C., Emmerich, W., Finkelstein, A.: Consistency management with repair actions. In: ICSE, pp. 455–464 (2003)

  21. Reder, A., Egyed, A.: Computing repair trees for resolving inconsistencies in design models. In: ASE, pp. 220–229 (2012)

  22. Büttner, F., Egea, M., Cabot, J., Gogolla, M.: Verification of ATL transformations using transformation models and model finders. In: ICFEM, pp. 198–213 (2012)

  23. Cabot, J., Clarisó, R., Guerra, E., de Lara, J.: Verification and validation of declarative model-to-model transformations through invariants. J. Syst. Softw. 83(2), 283–302 (2010)

    Article  Google Scholar 

  24. Nentwich, C., Emmerich, W., Finkelstein, A., Ellmer, E.: Flexible consistency checking. ACM Trans. Softw. Eng. Methodol. 12(1), 28–63 (2003)

    Article  Google Scholar 

  25. da Silva, M.A.A., Mougenot, A., Blanc, X., Bendraou, R.: Towards automated inconsistency handling in design models. In: CAiSE, pp. 348–362 (2010)

  26. Reder, A., Egyed, A.: Incremental consistency checking for complex design rules and larger model changes. In: MoDELS, pp. 202–218 (2012)

  27. Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: On challenges of model transformation from UML to Alloy. Softw. Syst. Model. 9(1), 69–86 (2010)

    Article  Google Scholar 

  28. Shah, S.M.A., Anastasakis, K., Bordbar, B.: From UML to Alloy and back again. In: MoDELS Workshops, pp. 158–171 (2009)

  29. Kuhlmann, M., Gogolla, M.: From UML and OCL to relational logic and back. In: MoDELS, pp. 415–431 (2012)

  30. Nöhrer, A., Egyed, A.: C2o configurator: a tool for guided decision-making. Autom. Softw. Eng. 20(2), 265–296 (2013)

    Article  Google Scholar 

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

    Article  Google Scholar 

  32. Nöhrer, A., Reder, A., Egyed, A.: Positive effects of utilizing relationships between inconsistencies for more effective inconsistency resolution: NIER track. In: ICSE, pp. 864–867 (2011)

  33. Puissant, J.P., Straeten, R.V.D., Mens, T.: Badger: A regression planner to resolve design model inconsistencies. In: ECMFA, pp. 146–161 (2012)

  34. Hegedüs, Á., Horváth, Á., Ráth, I., Branco, M.C., Varró, D.: Quick fix generation for DSMLs. In: VL/HCC, pp. 17–24 (2011)

  35. Manders, E.-J., Biswas, G., Mahadevan, N., Karsai, G.: Component-oriented modeling of hybrid dynamic systems using the generic modeling environment. In: MBD/MOMPES, pp. 159–168 (2006)

  36. Ossher, H., Bellamy, R.K.E., Simmonds, I., Amid, D., Anaby-Tavor, A., Callery, M., Desmond, M., de Vries, J., Fisher, A., Krasikov, S.: Flexible modeling tools for pre-requirements analysis: conceptual architecture and research challenges. In: OOPSLA, pp. 848–864. ACM (2010)

  37. Demuth, A., Lopez-Herrejon, R.E., Egyed, A.: Cross-layer modeler: A tool for flexible multilevel modeling with consistency checking. In: ESEC/SIGSOFT FSE, pp. 452–455 (2011)

  38. Torlak, E., Jackson, D.: Kodkod: A relational model finder. In: TACAS, pp. 632–647 (2007)

  39. Xiong, Y., Hu, Z., Zhao, H., Song, H., Takeichi, M., Mei, H.: Supporting automatic model inconsistency fixing. In: ESEC/SIGSOFT FSE, pp. 315–324 (2009)

  40. Groher, I., Reder, A., Egyed, A.: Incremental consistency checking of dynamic constraints. In: FASE, pp. 203–217 (2010)

  41. Cicchetti, A., Di Ruscio, D., Eramo, R., Pierantonio, A.: Automating co-evolution in model-driven engineering. In: EDOC, pp. 222–231. Sept 2008

  42. Demuth, A., Lopez-Herrejon, R.E., Egyed, A.: Automatically generating and adapting model constraints to support co-evolution of design models. In: ASE, pp. 302–305 (2012)

  43. Herrmannsdoerfer, M., Benz, S., Jürgens, E.: COPE—automating coupled evolution of metamodels and models. In: ECOOP, pp. 52–76 (2009)

  44. Object Management Group: Meta-Object Facility (MOF). http://www.omg.org/mof/

  45. Pohl, K., Böckle, G., van der Linden, F.: Software Product line Engineering: Foundations, Principles, and Techniques. Springer, Berlin (2005)

    Book  Google Scholar 

  46. Thaker, S., Batory, D.S., Kitchin, D., Cook, W.R.: Safe composition of product lines. In: GPCE, pp. 95–104 (2007)

  47. Sun, J., Zhang, H., Li, Y.-F., Wang, H.H.: Formal semantics and verification for feature modeling. In: ICECCS 2005, pp. 303–312 (2005)

  48. Mendonca, M., Wasowski, A., Czarnecki, K.: SAT-based analysis of feature models is easy. In: SPLC, pp. 231–240 (2009)

  49. Mazo, R., Lopez-Herrejon, R.E., Salinesi, C., Diaz, D., Egyed, A.: Conformance checking with constraint logic programming: the case of feature models. In: COMPSAC, pp. 456–465 (2011)

  50. Lopez-Herrejon, R.E., Egyed, A.: Detecting inconsistencies in multi-view models with variability. In: ECMFA, pp. 217–232 (2010)

  51. Capozucca, A., Cheng, B.H., Guelfi, N., Istoan, P.: Barbados crash management system. http://www.cs.colostate.edu/remodd/v1/content/bcms-spl-case-study-proposition-based-cloud-component-approach, 2011. [Accessed 1-August-2012]

  52. ReMoDD Team: Repository for model driven development (ReMoDD). http://www.cs.colostate.edu/remodd/v1/ (2011)

  53. Vallecillo, A., Gogolla, M., Burgueño, L., Wimmer, M., Hamann, L.: Formal specification and testing of model transformations. In: SFM, pp. 399–437 (2012)

  54. Büttner, F., Bauerdick, H., Gogolla, M.: Towards transformation of integrity constraints and database states. In: DEXA Workshops, pp. 823–828 (2005)

  55. Giese, M., Larsson, D.: Simplifying transformations of OCL constraints. In: MoDELS, pp. 309–323 (2005)

  56. Bajwa, I.S., Lee, M.G.: Transformation rules for translating business rules to OCL constraints. In: ECMFA, pp. 132–143 (2011)

  57. Object Management Group: Semantics of Business Vocabulary and Rules (SBVR). http://www.omg.org/spec/SBVR/

  58. Giese, H., Wagner, R.: From model transformation to incremental bidirectional model synchronization. Softw. Syst. Model. 8(1), pp. 21–43 (2009)

    Google Scholar 

  59. Xiong, Y., Song, H., Hu, Z., Takeichi, M.: Supporting parallel updates with bidirectional model transformations. In: ICMT, pp. 213–228 (2009)

  60. Sasano, I., Hu, Z., Hidaka, S., Inaba, K., Kato, H., Nakano, K.: Toward bidirectionalization of ATL with GRoundTram. In: ICMT, pp. 138–151 (2011)

  61. Cicchetti, A., Ruscio, D.D., Eramo, R., Pierantonio, A.: JTL: a bidirectional and change propagating transformation language. In: SLE, pp. 183–202 (2010)

  62. Jouault, F., Tisi, M.: Towards incremental execution of ATL transformations. In: ICMT, pp. 123–137 (2010)

  63. Tisi M., Perez S.M., Jouault, F., Cabot, J.: Lazy execution of model-to-model transformations. In: MoDELS, pp. 32–46 (2011)

  64. Thüm, T., Batory, D.S., Kästner, C.: Reasoning about edits to feature models. In: ICSE, pp. 254–264 (2009)

  65. Czarnecki, K., Helsen, S., Eisenecker, U.W.: Staged configuration using feature models. In: SPLC, pp. 266–283 (2004)

  66. Saxena, T., Karsai, G.: MDE-based approach for generalizing design space exploration. In: MoDELS, pp. 46–60 (2010)

  67. Horváth, Á., Varró, D.: Dynamic constraint satisfaction problems over models. Softw. Syst. Model. 11(3), 385–408 (2012)

    Article  Google Scholar 

  68. Queralt, A., Teniente, E.: Verification and validation of UML conceptual schemas with OCL constraints. ACM Trans. Softw. Eng. Methodol. 21(2), 13:1–13:41 (2012)

    Article  Google Scholar 

Download references

Acknowledgments

The research was funded by the Austrian Science Fund (FWF): P21321-N15 and P23115-N23, the EU Marie Curie Actions—Intra European Fellowship (IEF) through project number 254965, and FWF Lise-Meitner Fellowship M1421-N15.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Andreas Demuth.

Additional information

Communicated by Prof. Juan de Lara and Prof. Zhenjiang Hu.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Demuth, A., Lopez-Herrejon, R.E. & Egyed, A. Constraint-driven modeling through transformation. Softw Syst Model 14, 573–596 (2015). https://doi.org/10.1007/s10270-013-0363-3

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-013-0363-3

Keywords

Navigation