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

Skip to main content
Log in

Heterogeneous megamodel management using collection operators

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

Abstract

Model management techniques help tame the complexity caused by the many models used in large-scale software development; however, these techniques have focused on operators to manipulate individual models rather than entire collections of them. In this work, we begin to address this gap by adapting the widely used map, reduce and filter collection operators for collections of models represented by megamodels. Key parts of this adaptation include the special handling of relationships between models and the use of polymorphism to support heterogeneous model collections. We evaluate the complexity of our operators analytically and demonstrate their applicability on six diverse megamodel management scenarios. We describe our tool support for the approach and evaluate its scalability experimentally as well as its applicability on a practical application from the automotive domain.

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

Access this article

Subscribe and save

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

Buy Now

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

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23
Fig. 24
Fig. 25
Fig. 26
Fig. 27
Fig. 28
Fig. 29
Fig. 30
Fig. 31
Fig. 32
Fig. 33
Fig. 34
Fig. 35
Fig. 36

Similar content being viewed by others

Notes

  1. We assume that \({\mathtt {Match}}\) is a commutative model management operator; thus, the operator application on either binding will yield the same output relationship.

  2. In this paper, we use bold font for the megamodel operators \({\mathbf {union}}\), \({\mathbf {map}}\), \({\mathbf {reduce}}\) and \({\mathbf {filter}}\) defined in this paper and italics for all other operators.

  3. Available at http://github.com/adisandro/MMINT.

  4. Detailed instructions to reproduce experiments are available at https://github.com/adisandro/MMINT/wiki/Publications:-SoSyM19.

  5. See [25] for issues concerning handling added elements.

  6. See [15] for the set of rules used for safety case slicing.

  7. The transformation \({\mathtt {SliceCriterionDecorate}}\) (See the signature in Fig. 36a) is first used to add metadata to the deleted elements to support tooling for queries over the results of CIA. We omit further discussion of this because it is outside the scope of the conceptual workflow.

  8. Maudeling: http://atenea.lcc.uma.es/index.php/Main_Page/Resources/Maudeling.

References

  1. Bernstein, P.A.: Applying model management to classical meta data problems. In: Proceedings of CIDR’03, vol. 2003, pp. 209–220 (2003)

  2. Bézivin, J., Jouault, F., Touzet, D.: An introduction to the atlas model management architecture. Tech. Rep. 05.01, Labratoire d’Informatique de Nantes-Atlantique (2005)

  3. Bézivin, J., Jouault, F., Valduriez, P.: On the need for megamodels. In: Proceedings of OOPSLA/GPCE Workshops (2004)

  4. Brunet, G., Chechik, M., Easterbrook, S., Nejati, S., Niu, N., Sabetzadeh, M.: A manifesto for model merging. In: Proceedings of GAMMA at ICSE’06, pp. 5–12 (2006)

  5. Cardelli, L., Wegner, P.: On understanding types, data abstraction, and polymorphism. ACM Comput. Surv. (CSUR) 17(4), 471–523 (1985)

    Article  Google Scholar 

  6. Dean, J., Ghemawat, S.: MapReduce: simplified data processing on large clusters. Commun. ACM 51(1), 107–113 (2008)

    Article  Google Scholar 

  7. Diskin, Z., Kokaly, S., Maibaum, T.: Mapping-aware megamodeling: design patterns and laws. In: Proceedings of SLE’13, pp. 322–343 (2013)

    Chapter  Google Scholar 

  8. Diskin, Z., König, H.: Incremental consistency checking of heterogeneous multimodels. In: Proceedings of STAF’16 Workshops, pp. 274–288. Springer (2016)

  9. Diskin, Z., Xiong, Y., Czarnecki, K.: Specifying overlaps of heterogeneous models for global consistency checking. In: Proceedings of MDI@MODELS’10, pp. 42–51. ACM (2010)

  10. El Hadji Bassirou Toure, B., Fall, I., Bah, A., Camara, M.S.: Megamodel consistency management at runtime. In: Proceedings of CNRIA’17, vol. 204, p. 257. Springer (2018)

  11. El Hamlaoui, M., Ebersold, S., Coulette, B., Nassar, M., Anwar, A.: Heterogeneous model matching for consistency management. In: Proceedings of RCIS’14, pp. 1–12. IEEE (2014)

  12. Erwig, M.: Functional programming with graphs. ACM SIGPLAN Not. 32(8), 52–65 (1997)

    Article  Google Scholar 

  13. Favre, J.M., Lämmel, R., Varanovich, A.: Modeling the Linguistic Architecture of Software Products. Springer, Berlin (2012)

    Book  Google Scholar 

  14. Favre, J.M., Lämmel, R., Varanovich, A.: Modeling the linguistic architecture of software products. In: Proceedings of MoDELS’12, pp. 151–167 (2012)

    Chapter  Google Scholar 

  15. Fung, N.L., Kokaly, S., Di Sandro, A., Salay, R., Chechik, M.: MMINT-A: a tool for automated change impact assessment on assurance cases. In: Proceedings of ASSURE@SAFECOMP’18, pp. 60–70. Springer (2018)

  16. Garey, M.R., Johnson, D.S.: Computers and intractability, vol. 29. WH freeman, New York (2002)

  17. GSN: Goal Structuring Notation Working Group. GSN Community Standard Version 1. http://www.goalstructuringnotation.info/ (2011)

  18. Guy, C., Combemale, B., Derrien, S., Steel, J.R., Jézéquel, J.M.: On model subtyping. In: Proceedings of ECMFA’12, pp. 400–415 (2012)

    Chapter  Google Scholar 

  19. Heidenreich, F., Kopcsek, J., Aßmann, U.: Safe composition of transformations. J. Obj. Technol. 7(10) (2011)

  20. ISO: ISO 26262: Road Vehicles—Functional Safety. International Organization for Standardization (2011). 1st version

  21. Jouault, F., Vanhooff, B., Bruneliere, H., Doux, G., Berbers, Y., Bézivin, J.: Inter-DSL coordination support by combining megamodeling and model weaving. In: Proceedings of the 2010 ACM Symposium on Applied Computing, pp. 2011–2018. ACM (2010)

  22. Kelly, T., Weaver, R.: The goal structuring notation—a safety argument notation. In: Proceedings of DSN’04 (2004)

  23. Kling, W., Jouault, F., Wagelaar, D., Brambilla, M., Cabot, J.: MoScript: A DSL for querying and manipulating model repositories. In: Proceedings of SLE’12, pp. 180–200. Springer (2012)

  24. Kokaly, S.: Managing assurance cases in model based software systems. Ph.D. thesis, McMaster University (2019)

  25. Kokaly, S., Salay, R., Cassano, V., Maibaum, T., Chechik, M.: A model management approach for assurance case reuse due to system evolution. In: Proceedings of MODELS’16, pp. 196–206. ACM (2016)

  26. Kokaly, S., Salay, R., Chechik, M., Lawford, M., Maibaum, T.: Safety case impact assessment in automotive software systems: an improved model-based approach. In: Proceedings of SAFECOMP’17, pp. 69–85. Springer (2017)

  27. Kolovos, D.S., Rose, L.M., Garcia-Dominguez, A., Paige, R.F.: The Epsilon Book. Eclipse, Cairo (2015)

    Google Scholar 

  28. König, H., Diskin, Z.: Advanced local checking of global consistency in heterogeneous multimodeling. In: Proceedings of ECMFA’16, pp. 19–35. Springer (2016)

  29. Lämmel, R.: Google’s mapreduce programming model—revisited. Sci. Comput. Program. 70(1), 1–30 (2008)

    Article  MathSciNet  Google Scholar 

  30. Lano, K., Rahimi, S.K.: Slicing of UML models. In: Proceedings of ICSOFT’10 Vol. 2, pp. 259–262 (2010)

  31. de Lara, J., Di Rocco, J., Di Ruscio, D., Guerra, E., Iovino, L., Pierantonio, A., Cuadrado, J.S.: Reusing model transformations through typing requirements models. In: International Conference on Fundamental Approaches to Software Engineering, pp. 264–282. Springer, Berlin (2017)

  32. de Lara, J., Guerra, E.: From types to type requirements: genericity for model-driven engineering. SoSyM 12(3), 453–474 (2013)

    Google Scholar 

  33. Lucrédio, D., Fortes, R.P.d.M., Whittle, J.: MOOGLE: A model search engine. In: Proceedings of MoDELS’08, pp. 296–310 (2008)

    Chapter  Google Scholar 

  34. Melnik, S., Rahm, E., Bernstein, P.A.: Rondo: a programming platform for generic model management. In: Proceedings of SIGMOD’03, pp. 193–204. ACM (2003)

  35. Rose, L., Guerra, E., de Lara, J., Etien, A., Kolovos, D., Paige, R.: Genericity for model management operations. SoSyM (2011)

  36. Salay, R., Chechik, M., Easterbrook, S., Diskin, Z., McCormick, P., Nejati, S., Sabetzadeh, M., Viriyakattiyaporn, P.: An eclipse-based tool framework for software model management. In: Proceedings of Eclipse Workshop @ OOPSLA’07, pp. 55–59 (2007)

  37. Salay, R., Kokaly, S., Chechik, M., Maibaum, T.: Heterogeneous megamodel slicing for model evolution. In: Proceedings of ME@MoDELS’16, pp. 50–59 (2016)

  38. Salay, R., Kokaly, S., Di Sandro, A., Chechik, M.: Enriching megamodel management with collection-based operators. In: Proceedings of MoDELS’15, pp. 236–245 (2015)

  39. Salay, R., Mylopoulos, J., Easterbrook, S.: Using macromodels to manage collections of related models. In: Proceedings of CaiSE’09, pp. 141–155. Springer (2009)

  40. Simon-Zayas, D.: A framework for the management of heterogeneous models in systems engineering. Ph.D. thesis, ISAE-ENSMA Ecole Nationale Supérieure de Mécanique et d’Aérotechique-Poitiers (2012)

  41. Steel, J., Jézéquel, J.M.: On model typing. SoSyM 6(4), 401–413 (2007)

    Google Scholar 

  42. Steinberg, D., Budinsky, F., Merks, E., Paternostro, M.: EMF: Eclipse Modeling Framework. Pearson Education, London (2008)

    Google Scholar 

  43. Stevens, P.: Towards sound, optimal, and flexible building from megamodels. In: Proceedings of the 21th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, pp. 301–311. ACM (2018)

  44. 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, 80–99 (2015)

    Article  Google Scholar 

  45. Vanhooff, B., Ayed, D., Van Baelen, S., Joosen, W., Berbers, Y.: Uniti: A unified transformation infrastructure. In: Proceedings of MODELS’07, pp. 31–45. Springer (2007)

  46. Vignaga, A., Jouault, F., Bastarrica, M.C., Brunelière, H.: Typing artifacts in megamodeling. J. Softw. Syst. Model. 12(1), 105–119 (2013)

    Article  Google Scholar 

  47. Zschaler, S.: Towards constraint-based model types: A generalised formal foundation for model genericity. In: Proceedings of the 2nd workshop on view-based, aspect-oriented and orthographic software modelling, p. 11. ACM (2014)

Download references

Acknowledgements

This work is funded by NSERC in collaboration with General Motors.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Rick Salay.

Additional information

Communicated by Dr Benoit Combemale.

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Salay, R., Kokaly, S., Di Sandro, A. et al. Heterogeneous megamodel management using collection operators. Softw Syst Model 19, 231–260 (2020). https://doi.org/10.1007/s10270-019-00738-9

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-019-00738-9

Keywords

Navigation