Skip to main content
Erschienen in: Software and Systems Modeling 1/2019

21.08.2017 | Special Section Paper

Change propagation and bidirectionality in internal transformation DSLs

verfasst von: Georg Hinkel, Erik Burger

Erschienen in: Software and Systems Modeling | Ausgabe 1/2019

Einloggen

Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.

search-config
loading …

Abstract

Despite good results in several industrial projects, model-driven engineering (MDE) has not been widely adopted in industry. Although MDE has existed for more than a decade now, the lack of tool support is still one of the major problems, according to studies by Staron and Mohaghegi (Staron, in: Model driven engineering languages and systems, Springer, Berlin, 2006; Mohagheghi et al. in Empir Softw Eng 18(1):89–116, 2013). Internal languages offer a solution to this problem for model transformations, which are a key part of MDE. Developers can use existing tools of host languages to create model transformations in a familiar environment. These internal languages, however, typically lack key features such as change propagation or bidirectional transformations. In our opinion, one reason is that existing formalisms for these properties are not well suited for textual languages. In this paper, we present a new formalism describing incremental, bidirectional model synchronizations using synchronization blocks. We prove the ability of this formalism to detect and repair inconsistencies and show its hippocraticness. We use this formalism to create a single internal model transformation language for unidirectional and bidirectional model transformations with optional change propagation. In total, we currently provide 18 operation modes based on a single specification. At the same time, the language may reuse tool support for C#. We validate the applicability of our language using a synthetic example with a transformation from finite state machines to Petri nets where we achieved speedups of up to multiple orders of magnitude compared to classical batch transformations.

Sie haben noch keine Lizenz? Dann Informieren Sie sich jetzt über unsere Produkte:

Springer Professional "Wirtschaft+Technik"

Online-Abonnement

Mit Springer Professional "Wirtschaft+Technik" erhalten Sie Zugriff auf:

  • über 102.000 Bücher
  • über 537 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Maschinenbau + Werkstoffe
  • Versicherung + Risiko

Jetzt Wissensvorsprung sichern!

Springer Professional "Wirtschaft"

Online-Abonnement

Mit Springer Professional "Wirtschaft" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 340 Zeitschriften

aus folgenden Fachgebieten:

  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Finance + Banking
  • Management + Führung
  • Marketing + Vertrieb
  • Versicherung + Risiko




Jetzt Wissensvorsprung sichern!

Springer Professional "Technik"

Online-Abonnement

Mit Springer Professional "Technik" erhalten Sie Zugriff auf:

  • über 67.000 Bücher
  • über 390 Zeitschriften

aus folgenden Fachgebieten:

  • Automobil + Motoren
  • Bauwesen + Immobilien
  • Business IT + Informatik
  • Elektrotechnik + Elektronik
  • Energie + Nachhaltigkeit
  • Maschinenbau + Werkstoffe




 

Jetzt Wissensvorsprung sichern!

Fußnoten
1
This does not mean that internal DSLs superior per se. One has to be very careful when designing an internal DSL to gain the benefits of the host language integration while still preserving the advantages of a model transformation language such as a (presumably) better understandability. The latter can be more easily accounted for in a dedicated, i.e., external, language.
 
2
VIATRA Query (formerly named EMF-IncQuery) does support change propagation and is implemented as an internal DSL in Xtend, but does not support bidirectional transformations.
 
4
Also referred to as model-at-a-time, as opposed to object-at-a-time.
 
5
Due to the slight difference in the semantics for ordered and unordered collections, one could also separate the two of them in different methods. Our counter-arguments are that this increases the size of the API. Furthermore, it is often not clear statically if a collection is ordered.
 
6
This may be acceptable because the—let us call such a thing for the moment a semi-lens—can be specified much more generic in this way. An example of such a construct is given in Sect. 6.
 
7
We do not support dynamic creation of isomorphisms, the isomorphisms must be given at compile time.
 
8
If this concept was added in only one of the metamodels, the information simply would not be propagated but no additional synchronization would be required.
 
9
We have not yet used synchronization rule templates in practical use cases, yet. We suspect that they are harder to create than transformation rule templates because there is fewer support for abstract incrementalizable lenses than for regular abstract methods.
 
10
We ignored the linebreak in the Listing, because editors usually allow 85 characters in a single line.
 
11
We believe that a partial propagation is also possible in TGGs but requires many more rules.
 
12
Perhaps, the type for places is abstract, in that case, the synchronization would indeed have to be changed to specify a default place type for this case.
 
13
This includes 14 blank lines and 28 lines with only braces.
 
14
Up to propagation of partial changes as discussed above.
 
15
This includes 41 blank lines and 47 lines with only braces.
 
18
For example, deleting an element from an ordered list is a O(n) operation.
 
20
Although our formalization uses state-based lenses for simplicity, the implementation actually works delta-based, which is important for multi-valued synchronization blocks.
 
Literatur
1.
Zurück zum Zitat Acar, U.A.: Self-adjusting computation. Ph.D. thesis, Citeseer (2005) Acar, U.A.: Self-adjusting computation. Ph.D. thesis, Citeseer (2005)
2.
Zurück zum Zitat Acar, U.A., Ahmed, A., Blume, M.: Imperative self-adjusting computation. In: ACM SIGPLAN Notices, vol. 43, pp. 309–322. ACM (2008) Acar, U.A., Ahmed, A., Blume, M.: Imperative self-adjusting computation. In: ACM SIGPLAN Notices, vol. 43, pp. 309–322. ACM (2008)
3.
Zurück zum Zitat Anjorin, A., Lauder, M., Patzina, S., Schürr, A.: emoflon: Leveraging emf and professional case tools. In: 3. Workshop Methodische Entwicklung von Modellierungswerkzeugen (MEMWe2011), Lecture Notes in Informatics (2011) Anjorin, A., Lauder, M., Patzina, S., Schürr, A.: emoflon: Leveraging emf and professional case tools. In: 3. Workshop Methodische Entwicklung von Modellierungswerkzeugen (MEMWe2011), Lecture Notes in Informatics (2011)
4.
Zurück zum Zitat Barringer, H., Havelund, K.: TraceContract: A Scala DSL for Trace Analysis. Springer, Berlin (2011) Barringer, H., Havelund, K.: TraceContract: A Scala DSL for Trace Analysis. Springer, Berlin (2011)
6.
Zurück zum Zitat Bergmann, G.: Translating OCL to graph patterns. In: Model-Driven Engineering Languages and Systems, pp. 670–686. Springer (2014) Bergmann, G.: Translating OCL to graph patterns. In: Model-Driven Engineering Languages and Systems, pp. 670–686. Springer (2014)
8.
Zurück zum Zitat Burckhardt, S., Leijen, D., Sadowski, C., Yi, J., Ball, T.: Two for the price of one: a model for parallel and incremental computation. In: ACM SIGPLAN Notices, vol. 46, pp. 427–444. ACM (2011) Burckhardt, S., Leijen, D., Sadowski, C., Yi, J., Ball, T.: Two for the price of one: a model for parallel and incremental computation. In: ACM SIGPLAN Notices, vol. 46, pp. 427–444. ACM (2011)
9.
Zurück zum Zitat Carlsson, M.: Monads for incremental computing. ACM SIGPLAN Not. 37(9), 26–35 (2002)CrossRefMATH Carlsson, M.: Monads for incremental computing. ACM SIGPLAN Not. 37(9), 26–35 (2002)CrossRefMATH
10.
Zurück zum Zitat Chen, Y., Dunfield, J., Hammer, M.A., Acar, U.A.: Implicit self-adjusting computation for purely functional programs. J. Funct. Program. 24(01), 56–112 (2014)MathSciNetCrossRefMATH Chen, Y., Dunfield, J., Hammer, M.A., Acar, U.A.: Implicit self-adjusting computation for purely functional programs. J. Funct. Program. 24(01), 56–112 (2014)MathSciNetCrossRefMATH
11.
Zurück zum Zitat Crole, R.L.: Categories for Types. Cambridge University Press, Cambridge (1993)MATH Crole, R.L.: Categories for Types. Cambridge University Press, Cambridge (1993)MATH
12.
Zurück zum Zitat Cuadrado, J.S., Molina, J.G., Tortosa, M.M.: Rubytl: a practical, extensible transformation language. In: Model Driven Architecture—Foundations and Applications, pp. 158–172. Springer, Berlin (2006) Cuadrado, J.S., Molina, J.G., Tortosa, M.M.: Rubytl: a practical, extensible transformation language. In: Model Driven Architecture—Foundations and Applications, pp. 158–172. Springer, Berlin (2006)
13.
Zurück zum Zitat Diskin, Z.: Model synchronization: mappings, tiles, and categories. In: Generative and Transformational Techniques in Software Engineering III—International Summer School, GTTSE 2009, Braga, Portugal, 6–11 July 2009. Revised papers, pp. 92–165 (2009). doi:10.1007/978-3-642-18023-1_3 Diskin, Z.: Model synchronization: mappings, tiles, and categories. In: Generative and Transformational Techniques in Software Engineering III—International Summer School, GTTSE 2009, Braga, Portugal, 6–11 July 2009. Revised papers, pp. 92–165 (2009). doi:10.​1007/​978-3-642-18023-1_​3
14.
15.
Zurück zum Zitat Diskin, Z., Xiong, Y., Czarnecki, K., Ehrig, H., Hermann, F., Orejas, F.: From state- to delta-based bidirectional model transformations: the symmetric case. In: Whittle, J., Clark, T., Kühne, T. (eds.) Model Driven Engineering Languages and Systems, Lecture Notes in Computer Science, vol. 6981, pp. 304–318. Springer, Berlin (2011). doi:10.1007/978-3-642-24485-8_22 Diskin, Z., Xiong, Y., Czarnecki, K., Ehrig, H., Hermann, F., Orejas, F.: From state- to delta-based bidirectional model transformations: the symmetric case. In: Whittle, J., Clark, T., Kühne, T. (eds.) Model Driven Engineering Languages and Systems, Lecture Notes in Computer Science, vol. 6981, pp. 304–318. Springer, Berlin (2011). doi:10.​1007/​978-3-642-24485-8_​22
16.
Zurück zum Zitat Foster, J.N., Greenwald, M.B., Moore, J.T., Pierce, B.C., Schmitt, A.: Combinators for bi-directional tree transformations: a linguistic approach to the view update problem. SIGPLAN Not. 40(1), 233–246 (2005). doi:10.1145/1047659.1040325 CrossRefMATH Foster, J.N., Greenwald, M.B., Moore, J.T., Pierce, B.C., Schmitt, A.: Combinators for bi-directional tree transformations: a linguistic approach to the view update problem. SIGPLAN Not. 40(1), 233–246 (2005). doi:10.​1145/​1047659.​1040325 CrossRefMATH
17.
Zurück zum Zitat Foster, J.N., Greenwald, M.B., Moore, J.T., Pierce, B.C., Schmitt, A.: Combinators for bidirectional tree transformations: a linguistic approach to the view-update problem. ACM Trans. Program. Lang. Syst. (2007). doi:10.1145/1232420.1232424 MATH Foster, J.N., Greenwald, M.B., Moore, J.T., Pierce, B.C., Schmitt, A.: Combinators for bidirectional tree transformations: a linguistic approach to the view-update problem. ACM Trans. Program. Lang. Syst. (2007). doi:10.​1145/​1232420.​1232424 MATH
18.
Zurück zum Zitat Fowler, M.: Domain-Specific Languages. Addison-Wesley Professional, Boston (2010) Fowler, M.: Domain-Specific Languages. Addison-Wesley Professional, Boston (2010)
19.
Zurück zum Zitat Fowler, M., Parsons, R.: Domain Specific Languages, 1st edn. Addison-Wesley, Reading (2010) Fowler, M., Parsons, R.: Domain Specific Languages, 1st edn. Addison-Wesley, Reading (2010)
20.
Zurück zum Zitat George, L., Wider, A., Scheidgen, M.: Type-Safe model transformation languages as internal DSLs in Scala. In: Theory and Practice of Model Transformations, pp. 160–175. Springer, Berlin (2012) George, L., Wider, A., Scheidgen, M.: Type-Safe model transformation languages as internal DSLs in Scala. In: Theory and Practice of Model Transformations, pp. 160–175. Springer, Berlin (2012)
21.
Zurück zum Zitat Giese, H., Hildebrandt, S.: Efficient Model Synchronization of Large-Scale Models, 28. Universitätsverlag Potsdam, Potsdam (2009) Giese, H., Hildebrandt, S.: Efficient Model Synchronization of Large-Scale Models, 28. Universitätsverlag Potsdam, Potsdam (2009)
22.
Zurück zum Zitat Giese, H., Wagner, R.: Incremental model synchronization with triple graph grammars. In: Model Driven Engineering Languages and Systems, pp. 543–557. Springer, Berlin (2006) Giese, H., Wagner, R.: Incremental model synchronization with triple graph grammars. In: Model Driven Engineering Languages and Systems, pp. 543–557. Springer, Berlin (2006)
23.
Zurück zum Zitat Giese, H., Wagner, R.: Incremental model synchronization with triple graph grammars. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) Model Driven Engineering Languages and Systems, Lecture Notes in Computer Science, vol. 4199, pp. 543–557. Springer, Berlin (2006) Giese, H., Wagner, R.: Incremental model synchronization with triple graph grammars. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) Model Driven Engineering Languages and Systems, Lecture Notes in Computer Science, vol. 4199, pp. 543–557. Springer, Berlin (2006)
24.
Zurück zum Zitat Giese, H., Wagner, R.: From model transformation to incremental bidirectional model synchronization. Softw. Syst. Model. 8(1), 21–43 (2009)CrossRef Giese, H., Wagner, R.: From model transformation to incremental bidirectional model synchronization. Softw. Syst. Model. 8(1), 21–43 (2009)CrossRef
25.
Zurück zum Zitat Hammer, M.A., Acar, U.A., Chen, Y.: Ceal: a c-based language for self-adjusting computation. In: ACM Sigplan Notices, vol. 44, pp. 25–37. ACM (2009) Hammer, M.A., Acar, U.A., Chen, Y.: Ceal: a c-based language for self-adjusting computation. In: ACM Sigplan Notices, vol. 44, pp. 25–37. ACM (2009)
26.
Zurück zum Zitat Hermann, F., Ehrig, H., Ermel, C., Orejas, F.: Concurrent model synchronization with conflict resolution based on triple graph grammars. In: de Lara, J., Zisman, A. (eds.) Fundamental Approaches to Software Engineering, Lecture Notes in Computer Science, vol. 7212, pp. 178–193. Springer, Berlin (2012) Hermann, F., Ehrig, H., Ermel, C., Orejas, F.: Concurrent model synchronization with conflict resolution based on triple graph grammars. In: de Lara, J., Zisman, A. (eds.) Fundamental Approaches to Software Engineering, Lecture Notes in Computer Science, vol. 7212, pp. 178–193. Springer, Berlin (2012)
27.
28.
Zurück zum Zitat Hildebrandt, S., Lambers, L., Giese, H., Rieke, J., Greenyer, J., Schäfer, W., Lauder, M., Anjorin, A., Schürr, A.: A survey of triple graph grammar tools. Electron. Commun. EASST 57 (2013). doi:10.14279/tuj.eceasst.57.865 Hildebrandt, S., Lambers, L., Giese, H., Rieke, J., Greenyer, J., Schäfer, W., Lauder, M., Anjorin, A., Schürr, A.: A survey of triple graph grammar tools. Electron. Commun. EASST 57 (2013). doi:10.​14279/​tuj.​eceasst.​57.​865
29.
Zurück zum Zitat Hinkel, G.: An approach to maintainable model transformations using an internal DSL. Master’s thesis, Karlsruhe Institute of Technology (2013) Hinkel, G.: An approach to maintainable model transformations using an internal DSL. Master’s thesis, Karlsruhe Institute of Technology (2013)
30.
Zurück zum Zitat Hinkel, G.: An NMF solution to the Java refactoring case. In: Rose, L., Horn, T., Krikava, F. (eds.) Proceedings of the 8th Transformation Tool Contest, a Part of the Software Technologies: Applications and Foundations (STAF 2015) federation of conferences, CEUR Workshop Proceedings, vol. 1524, pp. 95–99. CEUR-WS.org (2015) Hinkel, G.: An NMF solution to the Java refactoring case. In: Rose, L., Horn, T., Krikava, F. (eds.) Proceedings of the 8th Transformation Tool Contest, a Part of the Software Technologies: Applications and Foundations (STAF 2015) federation of conferences, CEUR Workshop Proceedings, vol. 1524, pp. 95–99. CEUR-WS.org (2015)
31.
Zurück zum Zitat Hinkel, G.: Change propagation in an internal model transformation language. In: Kolovos, D., Wimmer, M. (eds.) Theory and Practice of Model Transformations: 8th International Conference, ICMT 2015, Held as Part of STAF 2015, L’Aquila, Italy, 20–21 July 2015. Proceedings, pp. 3–17. Springer, Cham (2015). doi:10.1007/978-3-319-21155-8_1 Hinkel, G.: Change propagation in an internal model transformation language. In: Kolovos, D., Wimmer, M. (eds.) Theory and Practice of Model Transformations: 8th International Conference, ICMT 2015, Held as Part of STAF 2015, L’Aquila, Italy, 20–21 July 2015. Proceedings, pp. 3–17. Springer, Cham (2015). doi:10.​1007/​978-3-319-21155-8_​1
33.
Zurück zum Zitat Hinkel, G., Goldschmidt, T.: Tool support for model transformations: on solutions using internal languages. In: Modellierung 2016 (2016) Hinkel, G., Goldschmidt, T.: Tool support for model transformations: on solutions using internal languages. In: Modellierung 2016 (2016)
34.
Zurück zum Zitat Hinkel, G., Goldschmidt, T., Burger, E., Reussner, R.: Using internal domain-specific languages to inherit tool support and modularity for model transformations. Softw. Syst. Model. (2017). doi:10.1007/s10270-017-0578-9 Hinkel, G., Goldschmidt, T., Burger, E., Reussner, R.: Using internal domain-specific languages to inherit tool support and modularity for model transformations. Softw. Syst. Model. (2017). doi:10.​1007/​s10270-017-0578-9
35.
Zurück zum Zitat Hinkel, G., Goldschmidt, T., Happe, L.: An NMF solution for the flowgraphs case at the TTC 2013. In: Proceedings Sixth Transformation Tool Contest, TTC 2013, Budapest, Hungary, 19–20 June 2013, pp. 37–42 (2013). doi:10.4204/EPTCS.135.5 Hinkel, G., Goldschmidt, T., Happe, L.: An NMF solution for the flowgraphs case at the TTC 2013. In: Proceedings Sixth Transformation Tool Contest, TTC 2013, Budapest, Hungary, 19–20 June 2013, pp. 37–42 (2013). doi:10.​4204/​EPTCS.​135.​5
36.
Zurück zum Zitat Hinkel, G., Goldschmidt, T., Happe, L.: An NMF solution for the Petri nets to state charts case study at the TTC 2013. In: Proceedings Sixth Transformation Tool Contest, TTC 2013, Budapest, Hungary, 19–20 June, 2013, pp. 95–100 (2013). doi:10.4204/EPTCS.135.12 Hinkel, G., Goldschmidt, T., Happe, L.: An NMF solution for the Petri nets to state charts case study at the TTC 2013. In: Proceedings Sixth Transformation Tool Contest, TTC 2013, Budapest, Hungary, 19–20 June, 2013, pp. 95–100 (2013). doi:10.​4204/​EPTCS.​135.​12
37.
Zurück zum Zitat Hinkel, G., Groenda, H., Vannucci, L., Denninger, O., Cauli, N., Ulbrich, S.: A domain-specific language (DSL) for integrating neuronal networks in robot control. In: 2015 Joint MORSE/VAO Workshop on Model-Driven Robot Software Engineering and View-based Software-Engineering (2015) Hinkel, G., Groenda, H., Vannucci, L., Denninger, O., Cauli, N., Ulbrich, S.: A domain-specific language (DSL) for integrating neuronal networks in robot control. In: 2015 Joint MORSE/VAO Workshop on Model-Driven Robot Software Engineering and View-based Software-Engineering (2015)
38.
Zurück zum Zitat Hinkel, G., Happe, L.: Using component frameworks for model transformations by an internal DSL. In: Proceedings of the 1st International Workshop on Model-Driven Engineering for Component-Based Software Systems Co-located with ACM/IEEE 17th International Conference on Model Driven Engineering Languages & Systems (MoDELS 2014), CEUR Workshop Proceedings, vol. 1281, pp. 6–15. CEUR-WS.org (2014) Hinkel, G., Happe, L.: Using component frameworks for model transformations by an internal DSL. In: Proceedings of the 1st International Workshop on Model-Driven Engineering for Component-Based Software Systems Co-located with ACM/IEEE 17th International Conference on Model Driven Engineering Languages & Systems (MoDELS 2014), CEUR Workshop Proceedings, vol. 1281, pp. 6–15. CEUR-WS.org (2014)
39.
Zurück zum Zitat Hinkel, G., Happe, L.: An NMF solution to the TTC train benchmark case. In: Rose, L., Horn, T., Krikava, F. (eds.) Proceedings of the 8th Transformation Tool Contest, a Part of the Software Technologies: Applications and Foundations (STAF 2015) Federation of Conferences, CEUR Workshop Proceedings, vol. 1524, pp. 142–146. CEUR-WS.org (2015) Hinkel, G., Happe, L.: An NMF solution to the TTC train benchmark case. In: Rose, L., Horn, T., Krikava, F. (eds.) Proceedings of the 8th Transformation Tool Contest, a Part of the Software Technologies: Applications and Foundations (STAF 2015) Federation of Conferences, CEUR Workshop Proceedings, vol. 1524, pp. 142–146. CEUR-WS.org (2015)
40.
Zurück zum Zitat Hofmann, M., Pierce, B., Wagner, D.: Edit lenses. In: Proceedings of the 39th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’12, pp. 495–508. ACM, New York (2012). doi:10.1145/2103656.2103715 Hofmann, M., Pierce, B., Wagner, D.: Edit lenses. In: Proceedings of the 39th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’12, pp. 495–508. ACM, New York (2012). doi:10.​1145/​2103656.​2103715
41.
Zurück zum Zitat Horn, T.: Model querying with FunnyQT. In: Theory and Practice of Model Transformations, pp. 56–57. Springer, Berlin (2013) Horn, T.: Model querying with FunnyQT. In: Theory and Practice of Model Transformations, pp. 56–57. Springer, Berlin (2013)
42.
Zurück zum Zitat Johnson, M., Rosebrugh, R.D.: Unifying set-based, delta-based and edit-based lenses. In: Proceedings of the 5th International Workshop on Bidirectional Transformations, Bx 2016, Co-located with The European Joint Conferences on Theory and Practice of Software, ETAPS 2016, Eindhoven, The Netherlands, 8 Apr 2016, pp. 1–13 (2016). http://ceur-ws.org/Vol-1571/paper_13.pdf Johnson, M., Rosebrugh, R.D.: Unifying set-based, delta-based and edit-based lenses. In: Proceedings of the 5th International Workshop on Bidirectional Transformations, Bx 2016, Co-located with The European Joint Conferences on Theory and Practice of Software, ETAPS 2016, Eindhoven, The Netherlands, 8 Apr 2016, pp. 1–13 (2016). http://​ceur-ws.​org/​Vol-1571/​paper_​13.​pdf
43.
Zurück zum Zitat Jouault, F., Kurtev, I.: Transforming models with ATL. In: Satellite Events at the MoDELS 2005 Conference, pp. 128–138. Springer, Berlin (2006) Jouault, F., Kurtev, I.: Transforming models with ATL. In: Satellite Events at the MoDELS 2005 Conference, pp. 128–138. Springer, Berlin (2006)
44.
Zurück zum Zitat Jouault, F., Tisi, M.: Towards incremental execution of ATL transformations. In: Theory and Practice of Model Transformations: ICMT 2010, pp. 123–137. Springer, Berlin (2010) Jouault, F., Tisi, M.: Towards incremental execution of ATL transformations. In: Theory and Practice of Model Transformations: ICMT 2010, pp. 123–137. Springer, Berlin (2010)
45.
Zurück zum Zitat Ko, H.S., Zan, T., Hu, Z.: Bigul: A formally verified core language for putback-based bidirectional programming. In: Proceedings of the 2016 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, PEPM ’16, pp. 61–72. ACM, New York (2016). doi:10.1145/2847538.2847544 Ko, H.S., Zan, T., Hu, Z.: Bigul: A formally verified core language for putback-based bidirectional programming. In: Proceedings of the 2016 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, PEPM ’16, pp. 61–72. ACM, New York (2016). doi:10.​1145/​2847538.​2847544
47.
Zurück zum Zitat Křikava, F., Collet, P., France, R.B.: Sigma: Scala internal domain-specific languages for model manipulations. In: Model-Driven Engineering Languages and Systems, pp. 569–585. Springer, Berlin (2014) Křikava, F., Collet, P., France, R.B.: Sigma: Scala internal domain-specific languages for model manipulations. In: Model-Driven Engineering Languages and Systems, pp. 569–585. Springer, Berlin (2014)
48.
Zurück zum Zitat Lauder, M., Anjorin, A., Varró, G., Schürr, A.: Efficient model synchronization with precedence triple graph grammars. In: Ehrig, H., Engels, G., Kreowski, H.J., Rozenberg, G. (eds.) Graph Transformations, Lecture Notes in Computer Science, vol. 7562, pp. 401–415. Springer, Berlin (2012). doi:10.1007/978-3-642-33654-6_27 Lauder, M., Anjorin, A., Varró, G., Schürr, A.: Efficient model synchronization with precedence triple graph grammars. In: Ehrig, H., Engels, G., Kreowski, H.J., Rozenberg, G. (eds.) Graph Transformations, Lecture Notes in Computer Science, vol. 7562, pp. 401–415. Springer, Berlin (2012). doi:10.​1007/​978-3-642-33654-6_​27
49.
Zurück zum Zitat Lawvere, F.W., Rosebrugh, R.: Sets for Mathematics. Cambridge University Press, Cambridge (2003)CrossRefMATH Lawvere, F.W., Rosebrugh, R.: Sets for Mathematics. Cambridge University Press, Cambridge (2003)CrossRefMATH
50.
Zurück zum Zitat Leblebici, E., Anjorin, A., Schürr, A., Hildebrandt, S., Rieke, J., Greenyer, J.: A comparison of incremental triple graph grammar tools. Electron. Commun. EASST 67 (2014). doi:10.14279/tuj.eceasst.67.939 Leblebici, E., Anjorin, A., Schürr, A., Hildebrandt, S., Rieke, J., Greenyer, J.: A comparison of incremental triple graph grammar tools. Electron. Commun. EASST 67 (2014). doi:10.​14279/​tuj.​eceasst.​67.​939
51.
Zurück zum Zitat Meyerovich, L.A., Rabkin, A.S.: Empirical analysis of programming language adoption. In: Proceedings of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages & Applications, pp. 1–18. ACM (2013) Meyerovich, L.A., Rabkin, A.S.: Empirical analysis of programming language adoption. In: Proceedings of the 2013 ACM SIGPLAN International Conference on Object Oriented Programming Systems Languages & Applications, pp. 1–18. ACM (2013)
52.
Zurück zum Zitat Mohagheghi, P., Gilani, W., Stefanescu, A., Fernandez, M.A.: An empirical study of the state of the practice and acceptance of model-driven engineering in four industrial cases. Empir. Softw. Eng. 18(1), 89–116 (2013)CrossRef Mohagheghi, P., Gilani, W., Stefanescu, A., Fernandez, M.A.: An empirical study of the state of the practice and acceptance of model-driven engineering in four industrial cases. Empir. Softw. Eng. 18(1), 89–116 (2013)CrossRef
53.
Zurück zum Zitat Nickel, U., Niere, J., Zündorf, A.: The FUJABA environment. In: Proceedings of the 22Nd International Conference on Software Engineering, ICSE ’00, pp. 742–745. ACM, New York (2000). doi:10.1145/337180.337620 Nickel, U., Niere, J., Zündorf, A.: The FUJABA environment. In: Proceedings of the 22Nd International Conference on Software Engineering, ICSE ’00, pp. 742–745. ACM, New York (2000). doi:10.​1145/​337180.​337620
56.
Zurück zum Zitat Schürr, A.: Specification of graph translators with triple graph grammars. In: Graph-Theoretic Concepts in Computer Science, pp. 151–163. Springer, Berlin (1994) Schürr, A.: Specification of graph translators with triple graph grammars. In: Graph-Theoretic Concepts in Computer Science, pp. 151–163. Springer, Berlin (1994)
57.
Zurück zum Zitat Sendall, S., Kozaczynski, W.: Model transformation the heart and soul of model-driven software development. Technical report (2003) Sendall, S., Kozaczynski, W.: Model transformation the heart and soul of model-driven software development. Technical report (2003)
58.
Zurück zum Zitat Staron, M.: Adopting model driven software development in industry—a case study at two companies. In: Model Driven Engineering Languages and Systems, pp. 57–72. Springer, Berlin (2006) Staron, M.: Adopting model driven software development in industry—a case study at two companies. In: Model Driven Engineering Languages and Systems, pp. 57–72. Springer, Berlin (2006)
59.
Zurück zum Zitat Stevens, P.: A landscape of bidirectional model transformations. In: Lämmel, R., Visser, J., Saraiva, J.A. (eds.) Generative and Transformational Techniques in Software Engineering II, Lecture Notes in Computer Science, vol. 5235, pp. 408–424. Springer, Berlin (2008). doi:10.1007/978-3-540-88643-3_10 Stevens, P.: A landscape of bidirectional model transformations. In: Lämmel, R., Visser, J., Saraiva, J.A. (eds.) Generative and Transformational Techniques in Software Engineering II, Lecture Notes in Computer Science, vol. 5235, pp. 408–424. Springer, Berlin (2008). doi:10.​1007/​978-3-540-88643-3_​10
61.
Zurück zum Zitat Ujhelyi, Z., Bergmann, G., Hegedús, Á., Horváth, Á., Izsó, B., Ráth, I., Szatmári, Z., Varró, D.: EMF-IncQuery: an integrated development environment for live model queries. Sci. Comput. Program. 98(Part 1), 80–99 (2015). doi:10.1016/j.scico.2014.01.004 CrossRef Ujhelyi, Z., Bergmann, G., Hegedús, Á., Horváth, Á., Izsó, B., Ráth, I., Szatmári, Z., Varró, D.: EMF-IncQuery: an integrated development environment for live model queries. Sci. Comput. Program. 98(Part 1), 80–99 (2015). doi:10.​1016/​j.​scico.​2014.​01.​004 CrossRef
62.
Zurück zum Zitat Wagelaar, D., Van Der Straeten, R., Deridder, D.: Module superimposition: a composition technique for rule-based model transformation languages. Softw. Syst. Model. 9(3), 285–309 (2010)CrossRef Wagelaar, D., Van Der Straeten, R., Deridder, D.: Module superimposition: a composition technique for rule-based model transformation languages. Softw. Syst. Model. 9(3), 285–309 (2010)CrossRef
63.
Zurück zum Zitat Wider, A.: Implementing a bidirectional model transformation language as an internal DSL in scala. In: Proceedings of the Workshops of the EDBT/ICDT 2014 Joint Conference, CEUR Workshop Proceedings, vol. 1133, pp. 63–70. CEUR (2014). http://ceur-ws.org/Vol-1133/paper-10.pdf Wider, A.: Implementing a bidirectional model transformation language as an internal DSL in scala. In: Proceedings of the Workshops of the EDBT/ICDT 2014 Joint Conference, CEUR Workshop Proceedings, vol. 1133, pp. 63–70. CEUR (2014). http://​ceur-ws.​org/​Vol-1133/​paper-10.​pdf
64.
Zurück zum Zitat Zündorf, A., George, T., Lindel, S., Norbisrath, U.: Story driven modeling library (SDMLib): an inline DSL for modeling and model transformations, the Petrinet-Statechart case. EPTCS (2013) Zündorf, A., George, T., Lindel, S., Norbisrath, U.: Story driven modeling library (SDMLib): an inline DSL for modeling and model transformations, the Petrinet-Statechart case. EPTCS (2013)
Metadaten
Titel
Change propagation and bidirectionality in internal transformation DSLs
verfasst von
Georg Hinkel
Erik Burger
Publikationsdatum
21.08.2017
Verlag
Springer Berlin Heidelberg
Erschienen in
Software and Systems Modeling / Ausgabe 1/2019
Print ISSN: 1619-1366
Elektronische ISSN: 1619-1374
DOI
https://doi.org/10.1007/s10270-017-0617-6

Weitere Artikel der Ausgabe 1/2019

Software and Systems Modeling 1/2019 Zur Ausgabe

Premium Partner