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

29.01.2019 | Regular Paper

An extensible approach to implicit incremental model analyses

verfasst von: Georg Hinkel, Robert Heinrich, Ralf Reussner

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

Einloggen

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

search-config
loading …

Abstract

As systems evolve, analysis results based on models of the system must be updated, in many cases as fast as possible. Since usually only small parts of the model change, large parts of the analysis’ intermediate results could be reused in an incremental fashion. Manually invalidating these intermediate results at the right places in the analysis is a non-trivial and error-prone task that conceals the codes intention. A possible solution for this problem is implicit incrementality, i.e., an incremental algorithm is derived from the batch specification, aiming for an increased performance without the cost of degraded maintainability. Current approaches are either specialized to a subset of analyses or require explicit state management. In this paper, we propose an approach to implicit incremental model analysis capable of integrating custom dynamic algorithms. For this, we formalize incremental derivation using category theory, gaining type-safety and correctness properties. We implement an extensible implicit incremental computation system and validate its applicability by integrating incremental queries. We evaluate the performance using a micro-benchmark and a community benchmark where the integration of explicit query incrementalization was multiple orders of magnitude faster than rerunning the analysis after every change.

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!

Anhänge
Nur mit Berechtigung zugänglich
Fußnoten
1
Here, we mean collection queries inspired by SQL as we see them in a variety of programming languages nowadays. This is opposed to queries as in the query-or-command pattern where queries are side effect-free methods.
 
2
Some approaches exist that may automatically detect such performance problems by automatically conducting experiments [28].
 
3
http://​msdn.​microsoft.​com/​en-us/​library/​bb394939.​aspx; SQO is a set of language-independent standard APIs for queries, specifically defined for the .NET platform.
 
4
apply is actually a family of natural transformations indexed by \(\varDelta \varOmega \).
 
5
A performance comparison of different algorithms was done by Cattaneo et al. [32].
 
7
The unit transformation of an incrementalization system is not natural, therefore incrementalization is not a monad in the sense of category theory, only a functor. However, this construct is often still called a monad in programming.
 
8
That is, generic type arguments matter for the identity of a type, unlike for instance in Java.
 
9
The interface INotifyCollectionChanged is only used in the extension for incremental queries in Sect. 6.
 
10
The support for these two interfaces can even be generated automatically using aspect-oriented programming [34].
 
11
C# has an option to instruct the compiler to generate a model of the code instead of compiling the code to Intermediate Language (IL) code. The usage of this language feature to build internal DSLs has been discussed first by Martin Fowler [35, p. 455] under the term Parse Tree Manipulation.
 
12
For example, consider the repeated-diamonds-shape problem illustrated on http://​rystsov.​info/​warp9/​pages/​competitors/​diamond/​diamond.​html.
 
13
One may circumvent this problem by extending the compiler. Using technologies such as Roslyn, this seems possible, even though one then also has to extend the IDE support.
 
14
In case of nested predicates, the inner lambda expressions need to remain lambda expressions to respect type system laws.
 
15
Called modifiable reference in [9].
 
16
However, the generated method should be stored in order to avoid repeated JIT-compilation.
 
17
The wrapper is not necessary for instance if the function parameter is a constant.
 
18
Here, we consider an overload of Average that takes as input a function what the value of an element shall be.
 
19
The real implementation is refactored to share code with similar aggregation functions and catches error cases. A few names have been simplified.
 
20
The implementations are aware of cardinalities larger than 1 so that effectively, the DDG is removed if the cardinality of the removed element is 0.
 
22
It is indeed possible to suggest the system to perform a garbage collection but it is not guaranteed when that happens.
 
23
In the context of functional programming, monads are often defined without the requirement that the unit transformation must be natural.
 
24
http://​adapton.​org/​, retrieved 18 Jul 2017.
 
27
It is common to index projections with indices. However, in the scope of this paper, projections will be indexed with the space they are projecting to, as there is no case of confusion.
 
28
We treat a type and its set of instances as two different objects to account for axiomatic set theory, to account for self-descriptive metamodels where some model elements represent their own type [78].
 
29
Note that a morphism may be implemented by multiple methods according to the mapping of Crole.
 
Literatur
1.
Zurück zum Zitat Choi, K., Hwang, S.Y., Blank, T.: Incremental-in-time algorithm for digital simulation. In: Proceedings of the 25th ACM/IEEE Design Automation Conference, pp. 501–505. IEEE Computer Society Press (1988) Choi, K., Hwang, S.Y., Blank, T.: Incremental-in-time algorithm for digital simulation. In: Proceedings of the 25th ACM/IEEE Design Automation Conference, pp. 501–505. IEEE Computer Society Press (1988)
2.
Zurück zum Zitat Salz, A., Horowitz, M.: IRSIM: an incremental MOS switch-level simulator. In: 26th Conference on Design Automation, 1989, pp. 173–178. IEEE (1989) Salz, A., Horowitz, M.: IRSIM: an incremental MOS switch-level simulator. In: 26th Conference on Design Automation, 1989, pp. 173–178. IEEE (1989)
3.
Zurück zum Zitat De Lemos, R., Giese, H., Müller, H.A., Shaw, M., Andersson, J., Litoiu, M., Schmerl, B., Tamura, G., Villegas, N.M., Vogel, T., et al.: Software engineering for self-adaptive systems: a second research roadmap. In: Software Engineering for Self-Adaptive Systems II, pp. 1–32. Springer (2013) De Lemos, R., Giese, H., Müller, H.A., Shaw, M., Andersson, J., Litoiu, M., Schmerl, B., Tamura, G., Villegas, N.M., Vogel, T., et al.: Software engineering for self-adaptive systems: a second research roadmap. In: Software Engineering for Self-Adaptive Systems II, pp. 1–32. Springer (2013)
4.
Zurück zum Zitat Szvetits, M., Zdun, U.: Systematic literature review of the objectives, techniques, kinds, and architectures of models at runtime. Softw. Syst. Model. 15, 1–39 (2013) Szvetits, M., Zdun, U.: Systematic literature review of the objectives, techniques, kinds, and architectures of models at runtime. Softw. Syst. Model. 15, 1–39 (2013)
6.
Zurück zum Zitat Smith, J.: PATTERNS-WPF apps with the model-view-viewmodel design pattern. MSDN Mag. 24(2), 72 (2009) Smith, J.: PATTERNS-WPF apps with the model-view-viewmodel design pattern. MSDN Mag. 24(2), 72 (2009)
7.
Zurück zum Zitat Ben-Menachem, M., Marliss, G.S.: Software Quality: Producing Practical, Consistent Software. International Thomson Computer Press, New York (1997) Ben-Menachem, M., Marliss, G.S.: Software Quality: Producing Practical, Consistent Software. International Thomson Computer Press, New York (1997)
8.
Zurück zum Zitat Sutherland, J.: Business objects in corporate information systems. ACM Comput. Surv. CSUR 27(2), 274–276 (1995)CrossRef Sutherland, J.: Business objects in corporate information systems. ACM Comput. Surv. CSUR 27(2), 274–276 (1995)CrossRef
9.
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
10.
Zurück zum Zitat Willis, D., Pearce, D.J., Noble, J.: Caching and incrementalisation in the java query language. ACM SIGPLAN Not. 43(10), 1–18 (2008)CrossRef Willis, D., Pearce, D.J., Noble, J.: Caching and incrementalisation in the java query language. ACM SIGPLAN Not. 43(10), 1–18 (2008)CrossRef
11.
Zurück zum Zitat Bergmann, G., Horváth, Á., Ráth, I.,Varró, D., Balogh, A., Balogh, Z., Ökrös, A.: Incremental evaluation of model queries over EMF models. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) Model Driven Engineering Languages and Systems, pp. 76–90. Springer (2010) Bergmann, G., Horváth, Á., Ráth, I.,Varró, D., Balogh, A., Balogh, Z., Ökrös, A.: Incremental evaluation of model queries over EMF models. In: Petriu, D.C., Rouquette, N., Haugen, Ø. (eds.) Model Driven Engineering Languages and Systems, pp. 76–90. Springer (2010)
12.
Zurück zum Zitat Bergmann, G., Ökrös, A., Ráth, I., Varró, D., Varró, G.: Incremental pattern matching in the VIATRA model transformation system. In: Proceedings of the Third International Workshop on Graph and Model Transformations, pp. 25–32. ACM (2008) Bergmann, G., Ökrös, A., Ráth, I., Varró, D., Varró, G.: Incremental pattern matching in the VIATRA model transformation system. In: Proceedings of the Third International Workshop on Graph and Model Transformations, pp. 25–32. ACM (2008)
13.
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, pp. 543–557. Springer (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, pp. 543–557. Springer (2006)
14.
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
15.
Zurück zum Zitat Hammer, M.A., Phang, K.Y., Hicks, M., Foster, J.S.: Adapton: Composable, demand-driven incremental computation. ACM SIGPLAN Not. 49, 156–166 (2014)CrossRef Hammer, M.A., Phang, K.Y., Hicks, M., Foster, J.S.: Adapton: Composable, demand-driven incremental computation. ACM SIGPLAN Not. 49, 156–166 (2014)CrossRef
16.
Zurück zum Zitat Hammer, M.A., Dunfield, J., Headley, K., Labich, N., Foster, J.S., Hicks, M., Van Horn, D.: Incremental computation with names. In: Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 748–766. ACM (2015) Hammer, M.A., Dunfield, J., Headley, K., Labich, N., Foster, J.S., Hicks, M., Van Horn, D.: Incremental computation with names. In: Proceedings of the 2015 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications, pp. 748–766. ACM (2015)
17.
Zurück zum Zitat Hinkel, G.: NMF: A Modeling Framework for the .NET Platform, Karlsruhe Institute of Technology, Technical Report (2016) Hinkel, G.: NMF: A Modeling Framework for the .NET Platform, Karlsruhe Institute of Technology, Technical Report (2016)
18.
Zurück zum Zitat Hinkel, G.: NMF: a multi-platform modeling framework. In: Proceedings of the Theory and Practice of Model Transformations: 11th International Conference, ICMT 2018, Held as Part of STAF 2018, Toulouse, France, June 25–29, 2018. Springer (2018) (accepted, to appear) Hinkel, G.: NMF: a multi-platform modeling framework. In: Proceedings of the Theory and Practice of Model Transformations: 11th International Conference, ICMT 2018, Held as Part of STAF 2018, Toulouse, France, June 25–29, 2018. Springer (2018) (accepted, to appear)
19.
Zurück zum Zitat Szárnyas, G., Semeráth, O., Ráth, I., Varró, D.: The TTC 2015 train benchmark case for incremental model validation. In: Proceedings of the 8th Transformation Tool Contest, A Part of the Software Technologies: Applications and Foundations (STAF 2015) Federation of Conferences, L’Aquila, Italy, July 24, 2015, pp. 129–141 (2015) Szárnyas, G., Semeráth, O., Ráth, I., Varró, D.: The TTC 2015 train benchmark case for incremental model validation. In: Proceedings of the 8th Transformation Tool Contest, A Part of the Software Technologies: Applications and Foundations (STAF 2015) Federation of Conferences, L’Aquila, Italy, July 24, 2015, pp. 129–141 (2015)
20.
Zurück zum Zitat Staron, M.: Adopting model driven software development in industry—a case study at two companies. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) Model Driven Engineering Languages and Systems, pp. 57–72. Springer (2006) Staron, M.: Adopting model driven software development in industry—a case study at two companies. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) Model Driven Engineering Languages and Systems, pp. 57–72. Springer (2006)
21.
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
22.
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)
23.
24.
Zurück zum Zitat Hinkel, G.: Change propagation in an internal model transformation language. In: Proceedings of the Theory and Practice of Model Transformations: 8th International Conference, ICMT 2015, Held as Part of STAF 2015, L’Aquila, Italy, July 20–21, 2015, pp. 3–17. Springer (2015) Hinkel, G.: Change propagation in an internal model transformation language. In: Proceedings of the Theory and Practice of Model Transformations: 8th International Conference, ICMT 2015, Held as Part of STAF 2015, L’Aquila, Italy, July 20–21, 2015, pp. 3–17. Springer (2015)
25.
Zurück zum Zitat Hinkel, G., Burger, E.: Change propagation and bidirectionality in internal transformation DSLs. Softw. Syst, Model (2017) Hinkel, G., Burger, E.: Change propagation and bidirectionality in internal transformation DSLs. Softw. Syst, Model (2017)
26.
Zurück zum Zitat Hinkel, G.: An NMF solution to the Smart Grid Case at the TTC 2017. In: Proceedings of the 10th Transformation Tool Contest, A Part of the Software Technologies: Applications and Foundations (STAF 2017) Federation of Conferences, series CEUR Workshop Proceedings, CEUR-WS.org (2017) Hinkel, G.: An NMF solution to the Smart Grid Case at the TTC 2017. In: Proceedings of the 10th Transformation Tool Contest, A Part of the Software Technologies: Applications and Foundations (STAF 2017) Federation of Conferences, series CEUR Workshop Proceedings, CEUR-WS.org (2017)
27.
Zurück zum Zitat Hinkel, G.: An NMF solution to the Families to Persons case at the TTC 2017. In: Proceedings of the 10th Transformation Tool Contest, A Part of the Software Technologies: Applications and Foundations (STAF 2017) Federation of Conferences, series CEUR Workshop Proceedings, CEUR-WS.org (2017) Hinkel, G.: An NMF solution to the Families to Persons case at the TTC 2017. In: Proceedings of the 10th Transformation Tool Contest, A Part of the Software Technologies: Applications and Foundations (STAF 2017) Federation of Conferences, series CEUR Workshop Proceedings, CEUR-WS.org (2017)
28.
Zurück zum Zitat Wert, A., Happe, J., Happe, L.: Supporting swift reaction: Automatically uncovering performance problems by systematic experiments. In: Proceedings of the 2013 International Conference on Software Engineering, series ICSE ’13, pp. 552–561. IEEE Press (2013) Wert, A., Happe, J., Happe, L.: Supporting swift reaction: Automatically uncovering performance problems by systematic experiments. In: Proceedings of the 2013 International Conference on Software Engineering, series ICSE ’13, pp. 552–561. IEEE Press (2013)
29.
Zurück zum Zitat Tarjan, R.E.: A class of algorithms which require nonlinear time to maintain disjoint sets. J. Comput. Syst. Sci. 18(2), 110–127 (1979)MathSciNetCrossRefMATH Tarjan, R.E.: A class of algorithms which require nonlinear time to maintain disjoint sets. J. Comput. Syst. Sci. 18(2), 110–127 (1979)MathSciNetCrossRefMATH
31.
Zurück zum Zitat Holm, J., De Lichtenberg, K., Thorup, M.: Poly-logarithmic deterministic fully-dynamic algorithms for connectivity, minimum spanning tree, 2-edge, and biconnectivity. J. ACM JACM 48(4), 723–760 (2001)MathSciNetCrossRefMATH Holm, J., De Lichtenberg, K., Thorup, M.: Poly-logarithmic deterministic fully-dynamic algorithms for connectivity, minimum spanning tree, 2-edge, and biconnectivity. J. ACM JACM 48(4), 723–760 (2001)MathSciNetCrossRefMATH
32.
Zurück zum Zitat Cattaneo, G., Faruolo, P., Petrillo, U.F., Italiano, G.: Maintaining dynamic minimum spanning trees: an experimental study. Discrete Appl. Math. 158(5), 404–425 (2010)MathSciNetCrossRefMATH Cattaneo, G., Faruolo, P., Petrillo, U.F., Italiano, G.: Maintaining dynamic minimum spanning trees: an experimental study. Discrete Appl. Math. 158(5), 404–425 (2010)MathSciNetCrossRefMATH
33.
Zurück zum Zitat Acar, U.A., Blelloch, G., Ley-Wild, R., Tangwongsan, K., Turkoglu, D.: Traceable data types for self-adjusting computation. ACM SIGPLAN Not. 45, 483–496 (2010)CrossRef Acar, U.A., Blelloch, G., Ley-Wild, R., Tangwongsan, K., Turkoglu, D.: Traceable data types for self-adjusting computation. ACM SIGPLAN Not. 45, 483–496 (2010)CrossRef
34.
Zurück zum Zitat Fraiteur, G.: User-friendly aspects with compile-time imperative semantics in .net: an overview of postsharp. In: Seventh International Conference on Aspect-Oriented Software Development (AOSD) (2008) Fraiteur, G.: User-friendly aspects with compile-time imperative semantics in .net: an overview of postsharp. In: Seventh International Conference on Aspect-Oriented Software Development (AOSD) (2008)
35.
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)
36.
Zurück zum Zitat Acar, U.A.: Self-adjusting computation. Ph.D. thesis, Carnegie Mellon University, Pittsburgh, USA (2005) Acar, U.A.: Self-adjusting computation. Ph.D. thesis, Carnegie Mellon University, Pittsburgh, USA (2005)
37.
Zurück zum Zitat Cai, Y., Giarrusso, P.G., Rendel, T., Ostermann, K.: A theory of changes for higher-order languages. ACM SIGPLAN Not. 49, 145–155 (2014)CrossRef Cai, Y., Giarrusso, P.G., Rendel, T., Ostermann, K.: A theory of changes for higher-order languages. ACM SIGPLAN Not. 49, 145–155 (2014)CrossRef
38.
Zurück zum Zitat Grust, T.: Monad Comprehensions: A Versatile Representation for Queries. Springer, New York (2004) Grust, T.: Monad Comprehensions: A Versatile Representation for Queries. Springer, New York (2004)
39.
Zurück zum Zitat Hinkel, G.: Implicit Incremental Model Analyses and Transformations. Ph.D. thesis, Karlsruhe Institute of Technology (2017) (to appear) Hinkel, G.: Implicit Incremental Model Analyses and Transformations. Ph.D. thesis, Karlsruhe Institute of Technology (2017) (to appear)
40.
Zurück zum Zitat Hinkel, G.: An NMF solution to the TTC 2018 Social Media Case. In: Proceedings of the 11th Transformation Tool Contest, A Part of the Software Technologies: Applications and Foundations (STAF 2018) Federation of Conferences, series CEUR Workshop Proceedings, CEUR-WS.org (2018) Hinkel, G.: An NMF solution to the TTC 2018 Social Media Case. In: Proceedings of the 11th Transformation Tool Contest, A Part of the Software Technologies: Applications and Foundations (STAF 2018) Federation of Conferences, series CEUR Workshop Proceedings, CEUR-WS.org (2018)
41.
Zurück zum Zitat Hinkel, G.: The TTC 2018 Social Media Case. In: Proceedings of the 11th Transformation Tool Contest, A Part of the Software Technologies: Applications and Foundations (STAF 2018) Federation of Conferences, Series CEUR Workshop Proceedings, CEUR-WS.org (2018) Hinkel, G.: The TTC 2018 Social Media Case. In: Proceedings of the 11th Transformation Tool Contest, A Part of the Software Technologies: Applications and Foundations (STAF 2018) Federation of Conferences, Series CEUR Workshop Proceedings, CEUR-WS.org (2018)
42.
Zurück zum Zitat Hinkel, G., Happe, L.: An NMF solution to the TTC train benchmark case. In: Proceedings of the 8th Transformation Tool Contest, A Part of the Software Technologies: Applications and Foundations (STAF 2015) Federation of Conferences, Series CEUR Workshop Proceedings, vol. 1524, CEUR-WS.org, pp. 142–146 (2015) Hinkel, G., Happe, L.: An NMF solution to the TTC train benchmark case. In: Proceedings of the 8th Transformation Tool Contest, A Part of the Software Technologies: Applications and Foundations (STAF 2015) Federation of Conferences, Series CEUR Workshop Proceedings, vol. 1524, CEUR-WS.org, pp. 142–146 (2015)
43.
Zurück zum Zitat Szárnyas, G., Izsó, B., Ráth, I., Varró, D.: The train benchmark: cross-technology performance evaluation of continuous model queries. Softw. Syst. Model. 17(4), 1365–1393 (2017)CrossRef Szárnyas, G., Izsó, B., Ráth, I., Varró, D.: The train benchmark: cross-technology performance evaluation of continuous model queries. Softw. Syst. Model. 17(4), 1365–1393 (2017)CrossRef
44.
Zurück zum Zitat Horn, T.: Solving the TTC train benchmark case with funnyqt. In: Proceedings of the 8th Transformation Tool Contest, A Part of the Software Technologies: Applications and Foundations (STAF 2015) Federation of Conferences, L’Aquila, Italy, July 24, 2015, pp. 147–151 (2015) Horn, T.: Solving the TTC train benchmark case with funnyqt. In: Proceedings of the 8th Transformation Tool Contest, A Part of the Software Technologies: Applications and Foundations (STAF 2015) Federation of Conferences, L’Aquila, Italy, July 24, 2015, pp. 147–151 (2015)
45.
Zurück zum Zitat Wagelaar, D.: The ATL/EMFTVM solution to the train benchmark case. In: Proceedings of the 8th Transformation Tool Contest, A Part of the Software Technologies: Applications and Foundations (STAF 2015) Federation of Conferences, L’Aquila, Italy, July 24, 2015, pp. 152–156 (2015) Wagelaar, D.: The ATL/EMFTVM solution to the train benchmark case. In: Proceedings of the 8th Transformation Tool Contest, A Part of the Software Technologies: Applications and Foundations (STAF 2015) Federation of Conferences, L’Aquila, Italy, July 24, 2015, pp. 152–156 (2015)
46.
Zurück zum Zitat Krikava, F.: Solving the ttc’15 train benchmark case study with SIGMA. In: Proceedings of the 8th Transformation Tool Contest, A Part of the Software Technologies: Applications and Foundations (STAF 2015) Federation of Conferences, L’Aquila, Italy, July 24, 2015, pp. 167–175 (2015) Krikava, F.: Solving the ttc’15 train benchmark case study with SIGMA. In: Proceedings of the 8th Transformation Tool Contest, A Part of the Software Technologies: Applications and Foundations (STAF 2015) Federation of Conferences, L’Aquila, Italy, July 24, 2015, pp. 167–175 (2015)
47.
Zurück zum Zitat Szárnyas, G., Izsó, B., Ráth, I., Harmath, D., Bergmann, G., Varró, D.: Incquery-d: a distributed incremental model query framework in the cloud. In: Proceedings of the Model-Driven Engineering Languages and Systems—17th International Conference, MODELS 2014, Valencia, Spain, September 28–October 3, 2014, pp. 653–669 (2014) Szárnyas, G., Izsó, B., Ráth, I., Harmath, D., Bergmann, G., Varró, D.: Incquery-d: a distributed incremental model query framework in the cloud. In: Proceedings of the Model-Driven Engineering Languages and Systems—17th International Conference, MODELS 2014, Valencia, Spain, September 28–October 3, 2014, pp. 653–669 (2014)
48.
Zurück zum Zitat Pugh, W., Teitelbaum, T.: Incremental computation via function caching. In: Proceedings of the 16th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 315–328. ACM (1989) Pugh, W., Teitelbaum, T.: Incremental computation via function caching. In: Proceedings of the 16th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 315–328. ACM (1989)
49.
Zurück zum Zitat Acar, U.A.: Self-adjusting computation: (an overview). In: Proceedings of the 2009 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, pp. 1–6. ACM (2009) Acar, U.A.: Self-adjusting computation: (an overview). In: Proceedings of the 2009 ACM SIGPLAN Workshop on Partial Evaluation and Program Manipulation, pp. 1–6. ACM (2009)
50.
Zurück zum Zitat Hammer, M.A., Acar, U.A., Chen, Y.: CEAL: a C-based Language for self-adjusting computation. ACM SIGPLAN Not. 44, 25–37 (2009)CrossRef Hammer, M.A., Acar, U.A., Chen, Y.: CEAL: a C-based Language for self-adjusting computation. ACM SIGPLAN Not. 44, 25–37 (2009)CrossRef
51.
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. ACM SIGPLAN Not. 46, 427–444 (2011)CrossRef Burckhardt, S., Leijen, D., Sadowski, C., Yi, J., Ball, T.: Two for the price of one: a model for parallel and incremental computation. ACM SIGPLAN Not. 46, 427–444 (2011)CrossRef
52.
Zurück zum Zitat Harkes, D., Groenewegen, D.M., Visser, E.: Icedust: Incremental and eventual computation of derived values in persistent object graphs. In: 30th European Conference on Object-Oriented Programming, ECOOP 2016, July 18–22, 2016, Rome, Italy, pp. 11:1–11:26 (2016) Harkes, D., Groenewegen, D.M., Visser, E.: Icedust: Incremental and eventual computation of derived values in persistent object graphs. In: 30th European Conference on Object-Oriented Programming, ECOOP 2016, July 18–22, 2016, Rome, Italy, pp. 11:1–11:26 (2016)
53.
Zurück zum Zitat Harkes, D., Visser, E.: Icedust 2: derived bidirectional relations and calculation strategy composition. In: 31st European Conference on Object-Oriented Programming, ECOOP 2017, June 19–23, 2017, Barcelona, Spain, pp. 14:1–14:29 (2017) Harkes, D., Visser, E.: Icedust 2: derived bidirectional relations and calculation strategy composition. In: 31st European Conference on Object-Oriented Programming, ECOOP 2017, June 19–23, 2017, Barcelona, Spain, pp. 14:1–14:29 (2017)
54.
Zurück zum Zitat Bainomugisha, E., Carreton, A.L., Cutsem, T.V., Mostinckx, S., Meuter, W.D.: A survey on reactive programming. ACM Comput. Surv. 45(4), 52:1–52:34 (2013)CrossRef Bainomugisha, E., Carreton, A.L., Cutsem, T.V., Mostinckx, S., Meuter, W.D.: A survey on reactive programming. ACM Comput. Surv. 45(4), 52:1–52:34 (2013)CrossRef
55.
Zurück zum Zitat Cooper, G.H., Krishnamurthi, S.: Embedding dynamic dataflow in a call-by-value language. ESOP 3924, 294–308 (2006)MATH Cooper, G.H., Krishnamurthi, S.: Embedding dynamic dataflow in a call-by-value language. ESOP 3924, 294–308 (2006)MATH
56.
Zurück zum Zitat Meyerovich, L.A., Guha, A., Baskin, J., Cooper, G.H., Greenberg, M., Bromfield, A., Krishnamurthi, S.: Flapjax: a programming language for Ajax applications. ACM SIGPLAN Not. 44, 1–20 (2009)CrossRef Meyerovich, L.A., Guha, A., Baskin, J., Cooper, G.H., Greenberg, M., Bromfield, A., Krishnamurthi, S.: Flapjax: a programming language for Ajax applications. ACM SIGPLAN Not. 44, 1–20 (2009)CrossRef
57.
Zurück zum Zitat Meijer, E.: Reactive extensions (RX): curing your asynchronous programming blues. In: ACM SIGPLAN Commercial Users of Functional Programming, Series CUFP ’10, ACM, p. 11:1 (2010) Meijer, E.: Reactive extensions (RX): curing your asynchronous programming blues. In: ACM SIGPLAN Commercial Users of Functional Programming, Series CUFP ’10, ACM, p. 11:1 (2010)
58.
Zurück zum Zitat Ramalingam, G., Reps, T.: A categorized bibliography on incremental computation. In: Proceedings of the 20th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 502–510. ACM (1993) Ramalingam, G., Reps, T.: A categorized bibliography on incremental computation. In: Proceedings of the 20th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 502–510. ACM (1993)
59.
Zurück zum Zitat Reiss, S.P.: An approach to incremental compilation. In: Proceedings of the 1984 SIGPLAN Symposium on Compiler Construction, Series, SIGPLAN ’84, pp. 144–156. ACM (1984) Reiss, S.P.: An approach to incremental compilation. In: Proceedings of the 1984 SIGPLAN Symposium on Compiler Construction, Series, SIGPLAN ’84, pp. 144–156. ACM (1984)
60.
Zurück zum Zitat Bergmann, G., Dávid, I., Hegedüs, Á., Horváth, Á., Ráth, I., Ujhelyi, Z., Varró, D.: Viatra 3: a reactive model transformation platform. In: Theory and Practice of Model Transformations. Springer, pp. 101–110 (2015) Bergmann, G., Dávid, I., Hegedüs, Á., Horváth, Á., Ráth, I., Ujhelyi, Z., Varró, D.: Viatra 3: a reactive model transformation platform. In: Theory and Practice of Model Transformations. Springer, pp. 101–110 (2015)
61.
Zurück zum Zitat Reps, T.: Optimal-time incremental semantic analysis for syntax-directed editors. In: Proceedings of the 9th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Series, POPL ’82, pp. 169–176. ACM (1982) Reps, T.: Optimal-time incremental semantic analysis for syntax-directed editors. In: Proceedings of the 9th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Series, POPL ’82, pp. 169–176. ACM (1982)
62.
Zurück zum Zitat Hoffman, K.: Continuous linq. Dr. Dobbs J. 33(2), 55–58 (2008) Hoffman, K.: Continuous linq. Dr. Dobbs J. 33(2), 55–58 (2008)
63.
Zurück zum Zitat Blakeley, J.A., Larson, P.-A., Tompa, F.W.: Efficiently updating materialized views. SIGMOD Rec. 15(2), 61–71 (1986)CrossRef Blakeley, J.A., Larson, P.-A., Tompa, F.W.: Efficiently updating materialized views. SIGMOD Rec. 15(2), 61–71 (1986)CrossRef
64.
Zurück zum Zitat Gupta, A., Mumick, I.S., et al.: Maintenance of materialized views: problems, techniques, and applications. IEEE Data Eng. Bull. 18(2), 3–18 (1995) Gupta, A., Mumick, I.S., et al.: Maintenance of materialized views: problems, techniques, and applications. IEEE Data Eng. Bull. 18(2), 3–18 (1995)
65.
Zurück zum Zitat Kuno, H.A., Rundensteiner, E.A.: Using object-oriented principles to optimize update propagation to materialized views. In: Proceedings of the Twelfth International Conference on Data Engineering, 1996, pp. 310–317. IEEE (1996) Kuno, H.A., Rundensteiner, E.A.: Using object-oriented principles to optimize update propagation to materialized views. In: Proceedings of the Twelfth International Conference on Data Engineering, 1996, pp. 310–317. IEEE (1996)
66.
Zurück zum Zitat Giarrusso, P.G., Ostermann, K., Eichberg, M., Mitschke, R., Rendel, T., Kästner, C.: Reify your collection queries for modularity and speed! In: Proceedings of the 12th Annual International Conference on Aspect-Oriented Software Development, pp. 1–12. ACM (2013) Giarrusso, P.G., Ostermann, K., Eichberg, M., Mitschke, R., Rendel, T., Kästner, C.: Reify your collection queries for modularity and speed! In: Proceedings of the 12th Annual International Conference on Aspect-Oriented Software Development, pp. 1–12. ACM (2013)
67.
Zurück zum Zitat Forgy, C.L.: Rete: a fast algorithm for the many pattern/many object pattern match problem. Artif. Intell. 19(1), 17–37 (1982)CrossRef Forgy, C.L.: Rete: a fast algorithm for the many pattern/many object pattern match problem. Artif. Intell. 19(1), 17–37 (1982)CrossRef
68.
Zurück zum Zitat Ujhelyi, Z., Bergmann, G., Hegedús, Ábel, Horváth, Ákos, Izsó, B., Ráth, I., Szatmári, Z., Varró, D.: EMF-IncQuery: an integrated development environment for live model queries, Part 1. Sci. Comput. Program. 98, 80–99 (2015) Ujhelyi, Z., Bergmann, G., Hegedús, Ábel, Horváth, Ákos, Izsó, B., Ráth, I., Szatmári, Z., Varró, D.: EMF-IncQuery: an integrated development environment for live model queries, Part 1. Sci. Comput. Program. 98, 80–99 (2015)
69.
Zurück zum Zitat Ráth, I., Hegedüs, Á., Varró, D.: Derived features for EMF by integrating advanced model queries. In: Vallecillo, A., Tolvanen, J.P., Kindler, E., Störrle, H., Kolovos, D. (eds.) Modelling foundations and applications, pp. 102–117. Springer (2012) Ráth, I., Hegedüs, Á., Varró, D.: Derived features for EMF by integrating advanced model queries. In: Vallecillo, A., Tolvanen, J.P., Kindler, E., Störrle, H., Kolovos, D. (eds.) Modelling foundations and applications, pp. 102–117. Springer (2012)
70.
Zurück zum Zitat Bergmann, G.: Translating OCL to graph patterns. In: Dingel, J., Schulte, W., Ramos, I., Abrahão, S., Insfran, E. (eds.) Model-Driven Engineering Languages and Systems, pp. 670–686. Springer (2014) Bergmann, G.: Translating OCL to graph patterns. In: Dingel, J., Schulte, W., Ramos, I., Abrahão, S., Insfran, E. (eds.) Model-Driven Engineering Languages and Systems, pp. 670–686. Springer (2014)
71.
Zurück zum Zitat Cabot, J., Teniente, E.: Incremental integrity checking of UML/OCL conceptual schemas. J. Syst. Softw. 82(9), 1459–1478 (2009)CrossRef Cabot, J., Teniente, E.: Incremental integrity checking of UML/OCL conceptual schemas. J. Syst. Softw. 82(9), 1459–1478 (2009)CrossRef
72.
Zurück zum Zitat Reder, A., Egyed, A.: Incremental consistency checking for complex design rules and larger model changes. In: France, R.B., Kazmeier, J., Breu, R., Atkinson, C. (eds.) Model Driven Engineering Languages and Systems, pp. 202–218. Springer (2012) Reder, A., Egyed, A.: Incremental consistency checking for complex design rules and larger model changes. In: France, R.B., Kazmeier, J., Breu, R., Atkinson, C. (eds.) Model Driven Engineering Languages and Systems, pp. 202–218. Springer (2012)
73.
Zurück zum Zitat Uhl, A., Goldschmidt, T., Holzleitner, M.: Using an OCL impact analysis algorithm for view-based textual modelling. Electron. Commun. EASST 44, 1–20 (2011) Uhl, A., Goldschmidt, T., Holzleitner, M.: Using an OCL impact analysis algorithm for view-based textual modelling. Electron. Commun. EASST 44, 1–20 (2011)
74.
Zurück zum Zitat King, V., Sagert, G.: A fully dynamic algorithm for maintaining the transitive closure. In: Proceedings of the Thirty-First Annual ACM Symposium on Theory of Computing, pp. 492–498. ACM (1999) King, V., Sagert, G.: A fully dynamic algorithm for maintaining the transitive closure. In: Proceedings of the Thirty-First Annual ACM Symposium on Theory of Computing, pp. 492–498. ACM (1999)
75.
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
76.
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
77.
Metadaten
Titel
An extensible approach to implicit incremental model analyses
verfasst von
Georg Hinkel
Robert Heinrich
Ralf Reussner
Publikationsdatum
29.01.2019
Verlag
Springer Berlin Heidelberg
Erschienen in
Software and Systems Modeling / Ausgabe 5/2019
Print ISSN: 1619-1366
Elektronische ISSN: 1619-1374
DOI
https://doi.org/10.1007/s10270-019-00719-y

Weitere Artikel der Ausgabe 5/2019

Software and Systems Modeling 5/2019 Zur Ausgabe