Skip to main content
Log in

Query-driven soft traceability links for models

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

Abstract

Model repositories play a central role in the model driven development of complex software-intensive systems by offering means to persist and manipulate models obtained from heterogeneous languages and tools. Complex models can be assembled by interconnecting model fragments by hard links, i.e., regular references, where the target end points to external resources using storage-specific identifiers. This approach, in certain application scenarios, may prove to be a too rigid and error prone way of interlinking models. As a flexible alternative, we propose to combine derived features with advanced incremental model queries as means for soft interlinking of model elements residing in different model resources. These soft links can be calculated on-demand with graceful handling for temporarily unresolved references. In the background, the links are maintained efficiently and flexibly by using incremental model query evaluation. The approach is applicable to modeling environments or even property graphs for representing query results as first-class relations, which also allows the chaining of soft links that is useful for modular applications. The approach is evaluated using the Eclipse Modeling Framework (EMF) and EMF-IncQuery in two complex industrial case studies. The first case study is motivated by a knowledge management project from the financial domain, involving a complex interlinked structure of concept and business process models. The second case study is set in the avionics domain with strict traceability requirements enforced by certification standards (DO-178b). It consists of multiple domain models describing the allocation scenario of software functions to hardware components.

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. Fully implemented and documented at http://incquery.net/incquery/new/examples/query-driven-soft-links.

  2. The authors affiliated with Budapest University of Technology and Economics are also committers of the project.

  3. For comparison of the query language with other formalisms, see [6, 8].

  4. For detailed performance evaluation of EMF-IncQuery as a query evaluation framework see [65].

  5. All measurements were carried out on a PC with Intel Core i5-2410M 2.3 GHz processor, Windows 8, Java 1.6 64 bit with 512 MB heap space (DDR3 memory), wall-time measurement with nanotime precision. The measurements are taken after a warm-up phase in order to eliminate other factors such as class loading, JIT compiler, disk access. The final values are taken as the average of at least 10 measurements.

  6. The numerical results of the measurements are included in Fig. 18 in the Appendix.

  7. Details on integration with existing EMF-based technologies are discussed in Sect. 9.

  8. For usage details , see http://incquery.net/incquery/new/examples/derivedfeatures.

  9. http://wiki.eclipse.org/EMF/Recipes#Recipe:_Derived_Attribute_Notifier.

References

  1. Anwar, A., Ebersold, S., Coulette, B., Nassar, M., Kriouile, A.: A rule-driven approach for composing viewpoint-oriented models. J. Object Technol. 9(2), 89–114 2010. doi:10.5381/jot.2010.9.2.a1. http://www.jot.fm/contents/issue_2010_03/article1.html

  2. AUTOSAR Consortium: The AUTOSAR Standard. http://www.autosar.org/ (2012)

  3. Bąk, K., Czarnecki, K., Wąsowski, A.: Feature and meta-models in clafer: mixed, specialized, and coupled. In: 3rd International Conference on Software Language Engineering, Eindhoven, The Netherlands (2010). doi:10.1007/978-3-642-19440-5_7

  4. Balsters, H.: Modelling database views with derived classes in the UML/OCL-framework. In: Stevens, P., Whittle, J., Booch, G. (eds.) \(\ll \) UML \(\gg \) 2003—The Unified Modeling Language. Modeling Languages and Applications, LNCS, vol. 2863, pp. 295–309. Springer, Berlin (2003)

  5. Bergmann, G.: Incremental model queries in model-driven design. Ph.D. dissertation, Budapest University of Technology and Economics, Budapest (2013)

  6. Bergmann, G.: Translating OCL to graph patterns. In: Dingel, J., Schulte, W. (eds.) ACM/IEEE 17th International Conference on Model Driven Engineering Languages and Systems, MODELS 2014. Springer, Valencia (2014)

    Google Scholar 

  7. 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: MODELS’10, Springer, LNCS, vol. 6395 (2010)

  8. Bergmann, G., Ujhelyi, Z., Ráth, I., Varró, D.: A graph query language for EMF models. In: Proceedings of ICMT’11, Springer, Berlin (2011)

  9. Bergmann, G., Ráth, I., Szabó, T., Torrini, P., Varró, D.: Incremental pattern matching for the efficient computation of transitive closures. In: Sixth International Conference on Graph Transformation, Bremen, Germany (2012)

  10. Biermann, E., Ermel, C., Taentzer, G.: Precise semantics of EMF model transformations by graph transformation. In: MoDELS’08, Springer, Berlin (2008)

  11. Bürger, C., Karol, S., Wende, C., Aßmann, U.: Reference attribute grammars for metamodel semantics. In: Malloy, B., Staab, S., van den Brand, M. (eds.) Software Language Engineering, LNCS, vol. 6563, pp. 22–41. Springer, Berlin (2011). doi:10.1007/978-3-642-19440-5_3

  12. Cabot, J., Teniente, E.: Incremental integrity checking of UML/OCL conceptual schemas. J. Syst. Softw. 82(9), 1459–1478 (2009). doi:10.1016/j.jss.2009.03.009

    Article  Google Scholar 

  13. Champeau, J., Rochefort, E.: Model Engineering and Traceability. In: SIVOES-MDA Workshop, UML 2003 Conference (2003).

  14. Clasen, C., Jouault, F., Cabot, J.: Virtual composition of EMF models. In: 7èmes Journées sur l’Ingénierie Dirigée par les Modèles (IDM 2011), Lille, France. http://hal.inria.fr/inria-00606374 (2011)

  15. Debreceni, C., Horváth, Á., Hegedüs, Á., Ujhelyi, Z., Ráth, I., Varró, D.: Query-driven incremental synchronization of view models. In: Proceedings of the 2nd Workshop on View-Based, Aspect-Oriented and Orthographic Software Modelling, ACM, ACM, York, UK (2014). doi:10.1145/2631675.2631677

  16. Diskin, Z.: Model synchronization: mappings, tiles, and categories. In: Fernandes, J., Lämmel, R., Visser, J., Saraiva, J. (eds.) Generative and Transformational Techniques in Software Engineering III, LNCS, vol. 6491, pp. 92–165. Springer, Berlin (2011). doi:10.1007/978-3-642-18023-1_3

  17. Diskin, Z., Maibaum, T., Czarnecki, K.: Intermodeling, queries, and kleisli categories. In: FASE 2012, Springer, Tallinn, Estonia (2012)

  18. Drivalos, N., Kolovos, D., Paige, R., Fernandes, K.: Engineering a DSL for software traceability. In: Gaševic, D., Lämmel, R., Van Wyk, E. (eds.) Software Language Engineering, LNCS, vol. 5452, pp. 151–167. Springer, Berlin/Heidelberg (2009). doi:10.1007/978-3-642-00434-6_10

  19. Drivalos-Matragkas, N., Kolovos, D.S., Paige, R.F., Fernandes, K.J.: A state-based approach to traceability maintenance. In: Proceedings of the 6th ECMFA Traceability Workshop, ACM, New York, NY, USA, ECMFA-TW’10, pp. 23–30 (2010). doi:10.1145/1814392.1814396

  20. Eclipse Model Development Tools Project: Eclispe OCL website. http://www.eclipse.org/modeling/mdt/?project=ocl (2011)

  21. Eclipsepedia: MDT/OCLinEcore. http://wiki.eclipse.org/MDT/OCLinEcorel (2012)

  22. Ehrig, H. (ed.): Handbook on Graph Grammars and Computing by Graph Transformation, vol. 2. World Scientific, Singapore (1999)

  23. Giese, H., Hildebrandt, S., Seibel, A.: Improved flexibility and scalability by interpreting story diagrams. In: Proceedings of GT-VMT 2009, ECEASST, vol. 18 (2009)

  24. Groher, I., Reder, A., Egyed, A.: Incremental consistency checking of dynamic constraints. In: FASE 2009, Springer, LNCS, vol. 6013 (2010)

  25. Gupta, A., Mumick, I.S.: Maintenance of materialized views: problems, techniques, and applications. IEEE Data Eng. Bull. 18(2), 3–18 (1995)

    Google Scholar 

  26. Hegedüs, Á., Horváth, Á., Ráth, I., Branco, M.C., Varró, D.: Quick fix generation for DSMLs. In: IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCC 2011, IEEE Computer Society (2011). doi:10.1109/VLHCC.2011.6070373

  27. Hegedüs, Á., Horváth, Á., Ráth, I., Varró, D.: Query-driven soft interconnection of EMF models. In: ACM/IEEE 15th International Conference on Model Driven Engineering Languages and Systems, Springer, Innsbruck, Austria, LNCS, vol. 7590 (2012). doi:10.1007/978-3-642-33666-9_10

  28. Heimbigner, D., McLeod, D.: A federated architecture for information management. ACM Trans. Inf. Syst. 3(3), 253–278 (1985). doi:10.1145/4229.4233

    Article  Google Scholar 

  29. Izsó, B., Szatmári, Z., Bergmann, G., Horváth, Á., Ráth, I.: Towards precise metrics for predicting graph query performance. In: 28th IEEE/ACM International Conference on Automated Software Engineering (ASE 2013), pp. 412–431 (2013)

  30. Jeusfeld, M.A., Jarke, M., Mylopoulos, J.: Metamodeling for Method Engineering. The MIT Press, Cambridge (2009)

    MATH  Google Scholar 

  31. Jouault, F.: Loosely coupled traceability for atl. In: Proceedings of the European Conference on Model Driven Architecture (ECMDA) workshop on traceability, Nuremberg, Germany, vol. 91 (2005)

  32. Kolovos, D.S.: Establishing Correspondences between Models with the Epsilon Comparison Language. In: Proceedings of the 5th European Conference on Model Driven Architecture—Foundations and Applications, Springer, Berlin, ECMDA-FA’09, pp. 146–157 (2009). doi:10.1007/978-3-642-02674-4_11

  33. Kolovos, D.S., Paige, R.F., Polack, F.A.: On-demand merging of traceability links with models. In: Proceedings of 2nd EC-MDA Workshop on Traceability, Bilbao, Spain (2006, July)

  34. Kolovos, D.S., Rose, L.M., Matragkas, N., Paige, R.F., Guerra, E., Cuadrado, J.S., De Lara, J., Ráth, I., Varró, D., Tisi, M., Cabot, J.: A research roadmap towards achieving scalability in model driven engineering. In: Proceedings of the Workshop on Scalability in Model Driven Engineering, ACM, New York, NY, USA, BigMDE’13, pp. 2:1–2:10 (2013). doi:10.1145/2487766.2487768

  35. Lara, J., Guerra, E.: Deep meta-modelling with metadepth. In: Vitek, J. (ed.) Objects, Models, Components, Patterns. Lecture Notes in Computer Science, vol. 6141, pp. 1–20. Springer, Berlin (2010). doi:10.1007/978-3-642-13953-6_1

  36. Limón, A.E., Garbajosa, J.: The need for a unifying traceability scheme. In: ECMDA Traceability Workshop (ECMDA-TW), pp. 47–56 (2005)

  37. Del Fabro, Marcos Didonet, Valduriez, Patrick: Towards the efficient development of model transformations using model weaving and matching transformations. Software and Systems Modeling Special section paper. Springer, Berlin (2008). doi:10.1007/s10270-008-0094-z

    Google Scholar 

  38. MathWorks: Matlab Simulink. http://www.mathworks.com/products/simulink/ (2013)

  39. Merks, E.: Xcore: Ecore meets Xtext. http://wiki.eclipse.org/Xcore (2013)

  40. Nickel, U., Niere, J., Zündorf, A.: The FUJABA environment. In: Proceedings of ICSE 2000, pp. 742–745 (2000)

  41. OpenLink Software: Virtuoso Universal Server. http://virtuoso.openlinksw.com/ (2013)

  42. Paige, R., Drivalos, N., Kolovos, D., Fernandes, K., Power, C., Olsen, G., Zschaler, S.: Rigorous identification and encoding of trace-links in model-driven engineering. In: Software and Systems Modeling pp. 1–19 (2010). doi:10.1007/s10270-010-0158-8

  43. 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, LNCS, vol. 7349, pp. 102–117. Springer, Berlin (2012). doi:10.1007/978-3-642-31491-9_10

  44. RDF Core Working Group: Resource Description Framework (RDF). http://www.w3.org/RDF/ (2004)

  45. Rensink, A.: Representing first-order logic using graphs. In: International Conference on Graph Transformations (ICGT), LNCS 3256, pp. 319–335. Springer, Berlin (2004)

  46. Rensink, A.: Time and space issues in the generation of graph transition systems. In: Mens, T., Schürr, A., Taentzer, G. (eds.), Proceedings of the International Workshop on Graph-Based Tools (GraBaTs 2004), Electronic Notes in Theoretical Computer Science, vol. 127, pp. 127–139 (2005)

  47. Rose, L., Kolovos, D., Drivalos, N., Williams, J., Paige, R., Polack, F., Fernandes, K.: Concordance: a framework for managing model integrity. In: Kühne, T., Selic, B., Gervais, M.P., Terrier, F. (eds.) Modelling Foundations and Applications, LNCS, vol. 6138, pp. 245–260. Springer, Berlin (2010). doi:10.1007/978-3-642-13595-8_20

  48. Ráth, I., Bergmann, G., Ökrös, A., Varró, D.: Live model transformations driven by incremental pattern matching. In: Theory and Practice of Model Transformations, Springer, Berlin, LNCS, vol. 5063, pp. 107–121. doi:10.1007/978-3-540-69927-9_8 (2008)

  49. SAE International: Architecture Analysis and Design Language (AADL). http://standards.sae.org/as5506a/ (2009)

  50. Scheidgen, M.: On Implementing MOF 2.0-New Features for Modelling Language Abstractions (2005)

  51. Schürr, A.: Introduction to PROGRESS, an attribute graph grammar based specification language. In: Nagl, M. (ed.) Graph-Theoretic Concepts in Computer Science, LNCS, vol. 411, pp. 151–165. Springer, Berlin (1990). doi:10.1007/3-540-52292-1_11

  52. Sesame: RDF API and Query Engine. http://www.openrdf.org/ (2013)

  53. The Eclipse Project: Eclipse Modeling Framework. http://www.eclipse.org/emf (2012)

  54. The Eclipse Project: EMF Model Query 2. http://wiki.eclipse.org/EMF/Query2 (2012)

  55. The Eclipse Project: EMFStore. http://www.eclipse.org/emfstore/ (2012)

  56. The Eclipse Project: EMFT Search. http://www.eclipse.org/modeling/emft/?project=search (2012)

  57. The Eclipse Project: The CDO Model Repository. http://www.eclipse.org/cdo/ (2012)

  58. The Eclipse Project: Xtend: Modernized Java. http://www.eclipse.org/xtend/ (2013)

  59. The Eclipse Project: Xtext: Language development made easy! http://www.eclipse.org/Xtext/ (2013)

  60. The Object Management Group: Object Constraint Language, v2.0. http://www.omg.org/spec/OCL/2.0/ (2006)

  61. The Object Management Group: OMG System Modeling Language (SysML). http://www.omg.org/spec/SysML/index.htm (2010)

  62. TIBCO Developer Network: TIBCO Business Studio. http://developer.tibco.com/business_studio/ (2012)

  63. Tolvanen, J.P., Rossi, M.: MetaEdit+: defining and using domain-specific modeling languages and code generators. In: Companion of the 18th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, ACM, New York, NY, USA, OOPSLA’03, pp. 92–93 (2003)

  64. TopQuadrant Inc: SPIN support in TopBraid. http://www.topquadrant.com/products/SPIN.html (2013)

  65. Ujhelyi, Z., Hegedüs, Á., Bergmann, G., Horváth, Á., Ráth, I., Varró, D.: EMF-IncQuery: an integrated development environment for live model queries. Sci. Comput. Program. (2014). doi:10.1016/j.scico.2014.01.004

  66. Vanhooff, B., Berbers, Y.: Supporting modular transformation units with precise transformation traceability metadata. In: ECMDA-TW Workshop, SINTEF, pp. 15–27 (2005)

  67. Varró, D., Balogh, A.: The model transformation language of the VIATRA2 framework. Sci. Comput. Program. 68(3), 214–234 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  68. Varró, D., Pataricza, A.: VPM: a visual, precise and multilevel metamodeling framework for describing mathematical domains and UML. J. Softw. Syst. Model. 2(3), 187–210 (2003)

    Article  Google Scholar 

  69. W3C: SPARQL Inferencing Notation. http://spinrdf.org/ (2013)

  70. W3C: SPARQL Query Language for RDF. http://www.w3.org/TR/rdf-sparql-query/ (2013)

  71. Walderhaug, S., Johansen, U., Stav, E., Aagedal, J.: Towards a Generic Solution for Traceability in MDD. In: 5th ECMDA workshop on traceability, ECMDA conference (2006)

  72. Willink, E.D.: Aligning OCL with UML. ECEASST 44 (2011)

  73. Workflow Management Coalition: XML Process Definition Language, v2.1. http://www.wfmc.org/xpdl.html (2008)

  74. Xiong, Y., Liu, D., Hu, Z., Zhao, H., Takeichi, M., Mei, H.: Towards automatic model synchronization from model transformations. In: Proceedings of the Twenty-Second IEEE/ACM International Conference on Automated Software Engineering, ACM, New York, NY, USA, ASE’07, pp. 164–173 (2007). doi:10.1145/1321631.1321657

Download references

Acknowledgments

We would like to thank the anonymous reviewers for their valuable comments.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ábel Hegedüs.

Additional information

Communicated by Prof. Perdita Stevens.

This work was partially supported by the CERTIMOT (ERC_HU-09-01-2010-0003) and the Trans-IMA (industrial) projects, the TÁMOP (4.2.2.B-10/1-2010-0009) Grant and the János Bolyai Scholarship.

Appendix 1: Integration of soft links with EMF-based tools

Appendix 1: Integration of soft links with EMF-based tools

1.1 Integration with Ecore

In the prototype implementation of our proposal, we integrated our approach to the EMF tooling by a code generator that supports the automatic derivation of integration code for our components ( EMF-IncQuery soft link feature handlers). The input of code generation is a generator model (referencing the EMF genmodel for the domain) that crosslinks derived features with EMF-IncQuery query specifications (stored as EMF models thanks to the Xtext-based tooling [59]).

Fig. 18
figure 18

Performance measurement results

figure o

The generated integration code (Listing 7) consists of (a) the instantiation of derived feature handlers (in the constructor of EObjects), which ensures that their lifecycle is tied to the hosts, to enable their garbage collection together with the instance model itself; (b) getter implementations that delegate calls to the appropriate function of the feature handler object, and wrap the result in unmodifiable ELists to ensure that any attempt to write to derived features will result in a runtime exception.

1.2 Integration with legacy derived features

In practice, a complete refactoring of an EMF-based tool to exclusively use EMF-IncQuery-based derived features might not be realistic, as derived features have been extensively implemented using Java code or OCL-based approaches such as OCLinEcore [21] supported by Eclipse OCL [20]. As these implementations provide only getter functionality and do not provide change notifications, we implemented an additional derived feature adapter [43] as a lightweight add-on component for EMF model plugins,Footnote 8 which can be used to augment existing derived feature implementations (regardless of whether Java or OCL is used).

The basic concept motivated by a suggestion in the Eclipse FAQFootnote 9 is analogous to the previous discussion. The language engineer can add a few lines of Java code to the generated EMF model plugin: these derived feature adapters attach listeners (through the EMF Notification API) to the (explicitly specified) features a derived feature depends on, and receive notifications when model changes are registered. These notification objects are then processed and converted into new notification objects for the derived feature, propagating through the manager to application code.

This approach has additional key advantages: (1) notification support can be added – with a small implementation effort – to “legacy” derived features, without having to re-write them in EMF-IncQuery; (2) queries specified in EMF-IncQuery (whether for derived features, or on-the-fly validation purposes, or within model transformations) can reference derived features seamlessly. However, performance implications need to be taken into consideration if the original getter (Java code or OCL expression) involves complex logic, or if the derived feature computation has many dependencies but they change only rarely – in those cases, rewriting the Java code or OCL expression into EMF-IncQuery may be a better option.

1.3 Integration with Xcore

Xcore [39] is a textual syntax extension to Ecore, based on Eclipse Xtext. Xcore provides textual constructs for all (static) Ecore concepts such as EClasses, EAttributes and EReferences, and it also can be used to define the dynamic aspects of the modeling language using EOperations and derived features that contain imperative code segments written in Xbase expression language.

As both the pattern specification language of EMF-IncQuery and Xcore are based on Xtext, they can be integrated in a straightforward way. Listing 8 illustrates an extended Xcore syntax that includes some new language elements so that query-based soft links can be seamlessly integrated into the language definition.

figure p

In this case, the definition of the EClass Block imports the query definitions of Listing 4, which is indicated by the import-incqueries keyword, and a new query-based soft link sourceBlock is defined using the incquery- derived keyword, by specifying a reference to the simulink.sourceBlock pattern definition of Listing 4. These concepts can be applied to derived scalar attributes (conforming to EDatatypes) in a straightforward way.

1.4 Processing n-ary traceability queries

In Sect. 5.2, we introduced the query Ternary that represents a traceability hyper-edge between data elements that are read by the task of a given check list element (see Listing 6). Such a query can be used in an application for processing such hyper-edges. This approach shares the functional benefits of soft links, with the one exception that it is not integrated into the EMF model layer and as such, it is not API-transparent to EMF-based tools. Instead, the query results can be accessed through an additional API provided by EMF-IncQuery (illustrated in Listing 9 using Xtend [58]).

figure q

Here, the results of the Ternary pattern are processed using a generated TernaryMatch data transfer class (which is the class of match) and the MatchProcessor visitor interface (that has a single process method inlined in the forEachMatch method). The EMF-IncQuery API also exposes match update facility (Sect. 6.1) that allows to track the changes in the result of such a query. The second part of Listing 9 shows that a change listener is registered and added (or removed) matches can be handled.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Hegedüs, Á., Horváth, Á., Ráth, I. et al. Query-driven soft traceability links for models. Softw Syst Model 15, 733–756 (2016). https://doi.org/10.1007/s10270-014-0436-y

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-014-0436-y

Keywords

Navigation