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.
Similar content being viewed by others
Notes
We assume that \({\mathtt {Match}}\) is a commutative model management operator; thus, the operator application on either binding will yield the same output relationship.
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.
Available at http://github.com/adisandro/MMINT.
Detailed instructions to reproduce experiments are available at https://github.com/adisandro/MMINT/wiki/Publications:-SoSyM19.
See [25] for issues concerning handling added elements.
See [15] for the set of rules used for safety case slicing.
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.
References
Bernstein, P.A.: Applying model management to classical meta data problems. In: Proceedings of CIDR’03, vol. 2003, pp. 209–220 (2003)
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)
Bézivin, J., Jouault, F., Valduriez, P.: On the need for megamodels. In: Proceedings of OOPSLA/GPCE Workshops (2004)
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)
Cardelli, L., Wegner, P.: On understanding types, data abstraction, and polymorphism. ACM Comput. Surv. (CSUR) 17(4), 471–523 (1985)
Dean, J., Ghemawat, S.: MapReduce: simplified data processing on large clusters. Commun. ACM 51(1), 107–113 (2008)
Diskin, Z., Kokaly, S., Maibaum, T.: Mapping-aware megamodeling: design patterns and laws. In: Proceedings of SLE’13, pp. 322–343 (2013)
Diskin, Z., König, H.: Incremental consistency checking of heterogeneous multimodels. In: Proceedings of STAF’16 Workshops, pp. 274–288. Springer (2016)
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)
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)
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)
Erwig, M.: Functional programming with graphs. ACM SIGPLAN Not. 32(8), 52–65 (1997)
Favre, J.M., Lämmel, R., Varanovich, A.: Modeling the Linguistic Architecture of Software Products. Springer, Berlin (2012)
Favre, J.M., Lämmel, R., Varanovich, A.: Modeling the linguistic architecture of software products. In: Proceedings of MoDELS’12, pp. 151–167 (2012)
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)
Garey, M.R., Johnson, D.S.: Computers and intractability, vol. 29. WH freeman, New York (2002)
GSN: Goal Structuring Notation Working Group. GSN Community Standard Version 1. http://www.goalstructuringnotation.info/ (2011)
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)
Heidenreich, F., Kopcsek, J., Aßmann, U.: Safe composition of transformations. J. Obj. Technol. 7(10) (2011)
ISO: ISO 26262: Road Vehicles—Functional Safety. International Organization for Standardization (2011). 1st version
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)
Kelly, T., Weaver, R.: The goal structuring notation—a safety argument notation. In: Proceedings of DSN’04 (2004)
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)
Kokaly, S.: Managing assurance cases in model based software systems. Ph.D. thesis, McMaster University (2019)
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)
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)
Kolovos, D.S., Rose, L.M., Garcia-Dominguez, A., Paige, R.F.: The Epsilon Book. Eclipse, Cairo (2015)
König, H., Diskin, Z.: Advanced local checking of global consistency in heterogeneous multimodeling. In: Proceedings of ECMFA’16, pp. 19–35. Springer (2016)
Lämmel, R.: Google’s mapreduce programming model—revisited. Sci. Comput. Program. 70(1), 1–30 (2008)
Lano, K., Rahimi, S.K.: Slicing of UML models. In: Proceedings of ICSOFT’10 Vol. 2, pp. 259–262 (2010)
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)
de Lara, J., Guerra, E.: From types to type requirements: genericity for model-driven engineering. SoSyM 12(3), 453–474 (2013)
Lucrédio, D., Fortes, R.P.d.M., Whittle, J.: MOOGLE: A model search engine. In: Proceedings of MoDELS’08, pp. 296–310 (2008)
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)
Rose, L., Guerra, E., de Lara, J., Etien, A., Kolovos, D., Paige, R.: Genericity for model management operations. SoSyM (2011)
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)
Salay, R., Kokaly, S., Chechik, M., Maibaum, T.: Heterogeneous megamodel slicing for model evolution. In: Proceedings of ME@MoDELS’16, pp. 50–59 (2016)
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)
Salay, R., Mylopoulos, J., Easterbrook, S.: Using macromodels to manage collections of related models. In: Proceedings of CaiSE’09, pp. 141–155. Springer (2009)
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)
Steel, J., Jézéquel, J.M.: On model typing. SoSyM 6(4), 401–413 (2007)
Steinberg, D., Budinsky, F., Merks, E., Paternostro, M.: EMF: Eclipse Modeling Framework. Pearson Education, London (2008)
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)
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)
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)
Vignaga, A., Jouault, F., Bastarrica, M.C., Brunelière, H.: Typing artifacts in megamodeling. J. Softw. Syst. Model. 12(1), 105–119 (2013)
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)
Acknowledgements
This work is funded by NSERC in collaboration with General Motors.
Author information
Authors and Affiliations
Corresponding author
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
About this article
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-019-00738-9