Abstract
Scalability in modeling has many facets, including the ability to build larger models and domain-specific languages (DSLs) efficiently. With the aim of tackling some of the most prominent scalability challenges in model-based engineering (MBE), the MONDO EU project developed the theoretical foundations and open-source implementation of a platform for scalable modeling and model management. The platform includes facilities for building large graphical DSLs, for splitting large models into sets of smaller interrelated fragments, to index large collections of models to speed-up their querying, and to enable the collaborative construction and refinement of complex models, among other features. This paper reports on the tools provided by MONDO that Ikerlan, a medium-sized technology center which in the last decade has embraced the MBE paradigm, adopted in order to improve their processes. This experience produced as a result a set of model editors and related technologies that fostered collaboration and scalability in the development of wind turbine control applications. In order to evaluate the benefits obtained, an on-site evaluation of the tools was performed. This evaluation shows that scalable MBE technologies give new growth opportunities to small- and medium-sized organizations.
Similar content being viewed by others
Notes
We differentiate between MainSubsystems and Subsystems because, in our case study, the code generated for the former is inherently different from the code generated for the latter.
Sources available at https://github.com/mondo-project/.
References
Ackermann, T., Söder, L.: Wind energy technology and current status: a review. Renew. Sustain. Energy Rev. 4(4), 315–374 (2000). https://doi.org/10.1016/S1364-0321(00)00004-6
Atkinson, C., Kühne, T.: Rearchitecting the UML infrastructure. ACM Trans. Model. Comput. Simul. 12(4), 290–321 (2002)
Axellience: GenMyModel.com. https://www.genmymodel.com/. Accessed Aug 2019
Barmpis, K., Kolovos, D.: Hawk: towards a scalable model indexing architecture. In: Proceedings of the Workshop on Scalability in Model Driven Engineering, BigMDE ’13, pp. 6:1–6:9. ACM, New York (2013). https://doi.org/10.1145/2487766.2487771
Barmpis, K., Kolovos, D.S.: Hawk: towards a scalable model indexing architecture. In: Proceedings of the Workshop on Scalability in Model Driven Engineering, BigMDE ’13, pp. 6:1–6:9. ACM, New York (2013)
Barmpis, K., Kolovos, D.S.: Towards scalable querying of large-scale models. In: Proceedings of the 10th European Conference on Modelling Foundations and Applications, pp. 35–50 (2014). https://doi.org/10.1007/978-3-319-09195-2_3
Barmpis, K., Shah, S., Kolovos, D.S.: Towards incremental updates in large-scale model indexes. In: Proceedings of the 11th European Conference on Modelling Foundations and Applications (2015). https://doi.org/10.1007/978-3-319-09195-2_3
Basciani, F., Rocco, J.D., Ruscio, D.D., Salle, A.D., Iovino, L., Pierantonio, A.: MDEForge: an extensible web-based modeling platform. In: CloudMDE@MoDELS (2014)
Benelallam, A., Gómez, A., Sunyé, G., Tisi, M., Launay, D.: Neo4EMF, a scalable persistence layer for EMF models. In: Modelling Foundations and Applications, pp. 230–241. Springer (2014). https://doi.org/10.1007/978-3-319-09195-2_15
Bergmann, G., Debreceni, C., Ráth, I., Varró, D.: Query-based access control for secure collaborative modeling using bidirectional transformations. In: Proceedings of the ACM/IEEE 19th International Conference on Model Driven Engineering Languages and Systems, Saint-Malo, France, October 2–7, 2016, pp. 351–361 (2016). https://doi.org/10.1145/2976767.2976793
Bergmann, G., Debreceni, C., Ráth, I., Varró, D.: Towards efficient evaluation of rule-based permissions for fine-grained access control in collaborative modeling. In: 2nd International Workshop on Collaborative Modelling in MDE. Austin, Texas, USA (2017)
Biermann, E., Ehrig, K., Ermel, C., Hurrelmann, J.: Generation of simulation views for domain specific modeling languages based on the eclipse modeling framework. In: ASE, pp. 625–629. IEEE CS (2009)
Blaha, M.: Patterns of Data Modeling. CRC Press, Boca Raton (2010)
Blaze, M., Keromytis, A.D.: The keynote trust-management system version 2 (1999). https://tools.ietf.org/html/rfc2704
Brieler, F., Minas, M.: A model-based recognition engine for sketched diagrams. J. Vis. Lang. Comput. 21(2), 81–97 (2010). https://doi.org/10.1016/j.jvlc.2009.12.002
Bryan Hunt: MongoEMF. https://github.com/BryanHunt/mongo-emf/. Accessed Nov 2019
Cezo, J., Krueger, C.: Use product line engineering to reduce the total costs required to create, deploy & maintain systems & software. https://www.embedded.com/design/prototyping-and-development/4008186/Use-product-line-engineering-to-reduce-the-total-costs-required-to-create-deploy--maintain-systems--software
Cho, H., Gray, J.: Design patterns for metamodels. In: DSM (2011). https://doi.org/10.1145/2095050.2095056
Clasen, C., Jouault, F., Cabot, J.: VirtualEMF: A model virtualization tool. In: Advances in Conceptual Modeling. Recent Developments and New Directions, pp. 332–335 (2011). https://doi.org/10.1007/978-3-642-24574-9_43
Corley, J., Syriani, E., Ergin, H.: Evaluating the cloud architecture of atompm. In: MODELSWARD 2016—Proceedings of the 4th International Conference on Model-Driven Engineering and Software Development, pp. 339–346. SciTePress (2016)
Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools, and Applications. ACM Press, New York (2000)
DARPA VehicleFORGE, Penn University TrustForge: Flexible Access Control for VehicleForge.mil Collaborative Environment (2012). http://cps-vo.org/node/6851
Debreceni, C., Bergmann, G., Búr, M., Ráth, I., Varró, D.: The mondo collaboration framework: secure collaborative modeling over existing version control systems. In: 11th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering. ACM, ACM, Paderborn, Germany (2017). https://doi.org/10.1145/3106237.3122829
Debreceni, C., Bergmann, G., Ráth, I., Varró, D.: Deriving effective permissions for modeling artifacts from fine-grained access control rules. In: 1st International Workshop on Collaborative Modelling in MDE. ACM, ACM, Saint Malo, France (2016)
Debreceni, C., Bergmann, G., Ráth, I., Varró, D.: Enforcing fine-grained access control for secure collaborative modelling using bidirectional transformations. Softw. Syst. Model. (2017). https://doi.org/10.1007/s10270-017-0631-8
Debreceni, C., Bergmann, G., Ráth, I., Varró, D.: Property-based locking in collaborative modeling. In: 20th International Conference on Model Driven Engineering Languages and Systems. Austin, Texas, USA (2017)
Debreceni, C., Ráth, I., Varró, D., Carlos, X.D., Mendialdua, X., Trujillo, S.: Automated model merge by design space exploration. In: Stevens, P., Wasowski, A. (eds.) Fundamental Approaches to Software Engineering—19th International Conference, FASE 2016, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2016, Eindhoven, The Netherlands, April 2–8, 2016, Proceedings, Lecture Notes in Computer Science, vol. 9633, pp. 104–121. Springer, Berlin (2016). https://doi.org/10.1007/978-3-662-49665-7_7
Dietzold, S., Auer, S.: Access control on RDF triple stores from a semantic wiki perspective. In: Bizer, C., Auer, S., Miller, L. (eds.) Proc. of 2nd Workshop on Scripting for the Semantic Web at ESWC, Budva, Montenegro, June 12, 2006, CEUR Workshop Proceedings ISSN 1613-0073, vol. 183 (2006). http://sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-181/paper3.pdf
Farwick, M., Agreiter, B., White, J., Forster, S., Lanzanasto, N., Breu, R.: A web-based collaborative metamodeling environment with secure remote model access. In: Web Engineering, 10th International Conference, ICWE 2010, Vienna, Austria, July 5–9, 2010. Proceedings, LNCS, vol. 6189, pp. 278–291. Springer (2010)
The Eclipse Foundation: CDO Model Repository. http://www.eclipse.org/cdo/. Accessed Nov 2019
The Eclipse Foundation: Eclipse Papyrus. https://www.eclipse.org/papyrus/. Accessed Nov 2019
The Eclipse Foundation: OpenCert. https://www.polarsys.org/projects/polarsys.opencert. Accessed Nov 2019
The Eclipse Foundation: PolarSys CHESS. https://www.polarsys.org/projects/polarsys.chess. Accessed Nov 2019
Franz, I.: AllegroGraph. http://franz.com/agraph/allegrograph/doc/security.html
Fundulaki, I., Marx, M.: Specifying access control policies for XML documents with XPath. In: 9th ACM Symposium on Access Control Models and Technologies, pp. 61–69 (2004)
Gallardo, J., Bravo, C., Redondo, M.A.: A model-driven development method for collaborative modeling tools. J. Netw. Comput. Appl. 35(3), 1086–1105 (2012)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.M.: Design Patterns. Elements of Reusable Object-Oriented Software. Addison Wesley, Boston (1994)
Garcia-Dominguez, A., Barmpis, K., Kolovos, D.S., Wei, R., Paige, R.F.: Stress-testing remote model querying apis for relational and graph-based stores. Softw. Syst. Model. (2017). https://doi.org/10.1007/s10270-017-0606-9
García-Domínguez, A., Bencomo, N., Paucar, L.H.G.: Reflecting on the past and the present with temporal graph-based models. In: Proceedings of the 13th International Workshop on Models@run.time, at MODELS’18 (2018)
Garlik: 4store Access Control. http://4store.org/trac/wiki/GraphAccessControl
Garmendia, A., Guerra, E., Kolovos, D.S., de Lara, J.: EMF splitter: a structured approach to EMF modularity. In: Proc. XM@MODELS, CEUR Workshop Proceedings, vol. 1239, pp. 22–31. CEUR-WS.org (2014). http://ceur-ws.org/Vol-1239/xm14_submission_3.pdf
Godik, S., Moses, T. (eds.): eXtensible access control markup language (XACML) version 1.0. (2003)
Gómez, A., Mendialdua, X., Bergmann, G., Cabot, J., Debreceni, C., Garmendia, A., Kolovos, D.S., de Lara, J., Trujillo, S.: On the opportunities of scalable modeling technologies: an experience report on wind turbines control applications development. In: Modelling Foundations and Applications—13th European Conference, ECMFA, Lecture Notes in Computer Science, vol. 10376, pp. 300–315. Springer (2017)
Granada, D., Vara, J.M., Bollati, V.A., Marcos, E.: Enabling the development of cognitive effective visual DSLs. In: MoDELS, vol. 8767, pp. 535–551. Springer (2014). https://doi.org/10.1007/978-3-319-11653-2_33
The Eclipse Foundation: Graphiti. http://eclipse.org/graphiti/
Green, T.R.G., Petre, M.: Usability analysis of visual programming environments: a ’cognitive dimensions’ framework. J. Vis. Lang. Comput. 7(2), 131–174 (1996)
Hutchinson, J., Rouncefield, M., Whittle, J.: Model-driven engineering practices in industry. In: Proceedings of the 33rd International Conference on Software Engineering, ICSE ’11, pp. 633–642. ACM, New York (2011). https://doi.org/10.1145/1985793.1985882
Hutchinson, J., Whittle, J., Rouncefield, M., Kristoffersen, S.: Empirical assessment of MDE in industry. In: Proceedings of the 33rd International Conference on Software Engineering, ICSE ’11, pp. 471–480. ACM, New York (2011). https://doi.org/10.1145/1985793.1985858
IKERLAN: IKERLAN, where technology is an attitude. http://www.ikerlan.es/en/ikerlan/. Accessed Nov 2019
Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-oriented domain analysis feasibility study. Technical report, CMU-SEI (90)
Kelly, S., Pohjonen, R.: Worst practices for domain-specific modeling. IEEE Softw. 26(4), 22–29 (2009)
Kelly, S., Tolvanen, J.: Domain-Specific Modeling–Enabling Full Code Generation. Wiley, Hoboken (2008)
Kelsen, P., Ma, Q., Glodt, C.: Models Within Models: Taming Model Complexity Using the Sub-model Lattice, pp. 171–185. Springer, Berlin (2011)
Kleppe, A.: Software Language Engineering: Creating Domain-Specific Languages Using Metamodels, 1st edn. Addison-Wesley, Boston (2008)
Koegel, M., Helming, J.: EMFStore: a model repository for EMF models. In: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering, vol. 2, pp. 307–308. ACM (2010). https://doi.org/10.1145/1810295.1810364
Kolovos, D.S., Paige, R.F., Polack, F.A.: The epsilon transformation language. In: Proceedings of the 1st International Conference on Theory and Practice of Model Transformations, ICMT ’08, pp. 46–60. Springer, Berlin (2008). https://doi.org/10.1007/978-3-540-69927-9_4
Kolovos, D.S., Rose, L.M., bin Abid, S., Paige, R.F., Polack, F.A.C., Botterweck, G.: Taming EMF and GMF using model transformation. In: MODELS, LNCS, vol. 6394, pp. 211–225. Springer (2010). https://doi.org/10.1007/978-3-642-16145-2_15
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, BigMDE ’13, pp. 2:1–2:10. ACM, New York (2013). https://doi.org/10.1145/2487766.2487768
Kühn, T., Böhme, S., Götz, S., Aßmann, U.: A combined formal model for relational context-dependent roles. In: SLE, pp. 113–124. ACM (2015)
de Lara, J., Guerra, E., Cuadrado, J.S.: When and how to use multilevel modelling. ACM Trans. Softw. Eng. Methodol. 24(2), 12:1–12:46 (2014)
de Lara, J., Vangheluwe, H.: Atom\({}^{\text{3}}\): A tool for multi-formalism and meta-modelling. In: FASE, LNCS, vol. 2306, pp. 174–188. Springer (2002). https://doi.org/10.1007/3-540-45923-5_12
Sparx Systems Ltd. Enterprise Architect. https://www.sparxsystems.eu/enterprise-architect. Accessed Aug 2019
Maróti, M., Kecskés, T., Kereskényi, R., Broll, B., Völgyesi, P., Jurácz, L., Levendovszky, T., Lédeczi, Á.: Next generation (meta)modeling: web- and cloud-based collaborative tool infrastructure. In: Proceedings of the 8th Workshop on Multi-Paradigm Modeling (MPM@MODELS), CEUR Workshop Proceedings, vol. 1237, pp. 41–60. CEUR-WS.org (2014)
Mernik, M., Heering, J., Sloane, A.M.: When and how to develop domain-specific languages. ACM Comput. Surv. 37(4), 316–344 (2005)
Modeliosoft: Modelio Open Source—UML and BPMN free modeling tool. https://www.modelio.org/. Accessed Nov 2019
MongoDB Inc.: MongoDB. https://www.mongodb.com. Accessed Nov 2019
Montrieux, L., Hu, Z.: Towards attribute-based authorisation for bidirectional programming. In: Proceedings of the 20th ACM Symposium on Access Control Models and Technologies, SACMAT ’15, pp. 185–196. ACM, New York (2015). https://doi.org/10.1145/2752952.2752963
Moody, D.L.: The “physics” of notations: toward a scientific basis for constructing visual notations in software engineering. IEEE Trans. Softw. Eng. 35(6), 756–779 (2009)
Neo4j, Inc.: Neo4J Graph Platform. https://neo4j.com/. Accessed Nov 2019
No Magic, Inc. Teamwork Cloud. https://www.nomagic.com/products/teamwork-cloud. Accessed Aug 2019
No Magic, Inc. Teamwork Server. https://www.nomagic.com/products/teamwork-server. Accessed Aug 2019
Obeo: Obeo designer team. https://www.obeodesigner.com/en/collaborative-features
OMG: XML Metadata Interchange (XMI), Ver. 2.5.1. https://www.omg.org/spec/XMI/2.5.1/
OpenLink Software: OpenLink Virtuoso. https://virtuoso.openlinksw.com. Accessed Nov 2019
Oracle: Database Semantic Technologies. http://docs.oracle.com/cd/E11882_01/appdev.112/e11828/fine_grained_acc.htm
Pagán, J.E., Cuadrado, J.S., Molina, J.G.: A repository for scalable model management. Softw. Syst. Model. 14(1), 219–239 (2013). https://doi.org/10.1007/s10270-013-0326-8
Papakonstantinou, V., Michou, M., Fundulaki, I., Flouris, G., Antoniou, G.: Access control for RDF graphs using abstract models. In: 17th ACM Symposium on Access Control Models and Technologies, SACMAT ’12, Newark, NJ, USA - June 20–22, 2012, pp. 103–112. ACM (2012)
Pedro, L., Amaral, V., Buchs, D.: Foundations for a domain specific modeling language prototyping environment: A compositional approach. In: 8th OOPSLA ACM-SIGPLAN Workshop on Domain-Specific Modeling (DSM) (2008). http://www.dsmforum.org/events/DSM08/Papers/4-Pedro.pdf
Pescador, A., Garmendia, A., Guerra, E., Cuadrado, J.S., de Lara, J.: Pattern-based development of domain-specific modelling languages. In: 18th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, MoDELS, pp. 166–175. IEEE Computer Society (2015). https://doi.org/10.1109/MODELS.2015.7338247
Pescador, A., de Lara, J.: Dsl-maps: from requirements to design of domain-specific languages. In: Proceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering, ASE, pp. 438–443 (2016)
Rocco, J.D., Ruscio, D.D., Iovino, L., Pierantonio, A.: Collaborative repositories in model-driven engineering [software technology]. IEEE Softw. 32(3), 28–34 (2015). https://doi.org/10.1109/MS.2015.61
Schäfer, C., Kuhn, T., Trapp, M.: A pattern-based approach to DSL development. In: DSM@SPLASH, pp. 39–46. ACM (2011). https://doi.org/10.1145/2095050.2095058
Scheidgen, M., Zubow, A.: Map/reduce on emf models. In: Proceedings of the 1st International Workshop on Model-Driven Engineering for High Performance and Cloud Computing, MDHPCL ’12, pp. 7:1–7:5. ACM, New York (2012). https://doi.org/10.1145/2446224.2446231
Selic, B.: The pragmatics of model-driven development. IEEE Softw. 20(5), 19–25 (2003). https://doi.org/10.1109/MS.2003.1231146
The Eclipse Foundation: Sirius. https://eclipse.org/sirius/
Spinellis, D.: Notable design patterns for domain-specific languages. J. Syst. Softw. 56(1), 91–99 (2001)
Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework 2.0, 2nd edn. Addison-Wesley, Boston (2009)
Strembeck, M., Zdun, U.: An approach for the systematic development of domain-specific languages. Softw. Pract. Exp. 39(15), 1253–1292 (2009)
Strüber, R., Rubin, J., Taentzer, G., Chechik, M.: Splitting Models Using Information Retrieval and Model Crawling Techniques, pp. 47–62. Springer, Berlin (2014)
Strüber, D., Selter, M., Taentzer, G.: Tool support for clustering large meta-models. In: BigMDE 2013, p. 7. ACM (2013). https://doi.org/10.1145/2487766.2487773
The Apache Software Foundation: Apache HBase. http://hbase.apache.org/. Accessed Nov 2019
The Eclipse Foundation: Eclipse—The Eclipse Foundation open source community website. https://eclipse.org/. Accessed Nov 2019
The Eclipse Foundation: Remote Application Platform (RAP). http://eclipse.org/rap/. Accessed Nov 2019
The Eclipse Foundation: Web Modeling Framework (previously genmymodel.com). https://projects.eclipse.org/proposals/web-modeling-framework/. Accessed Nov 2019
The MONDO Project: Work Package 4—Scalable Collaborative Modelling. Deliverable 4.4: Prototype Tool for Collaborative Modeling (2016). http://hdl.handle.net/20.500.12004/1/P/MONDO/D4.4
Tolone, W., Ahn, G.J., Pai, T., Hong, S.: Access control in collaborative systems. ACM Comput. Surv. 37(1), 29–41 (2005). https://doi.org/10.1145/1057977.1057979
Tolvanen, J.: MetaEdit+: Domain-specific modeling and product generation environment. In: Software Product Lines, 11th Int. Conf. SPLC 2007, Kyoto, Japan, pp. 145–146 (2007)
Trujillo, S., Garate, J.M., Lopez-Herrejon, R.E., Mendialdua, X., Rosado, A., Egyed, A., Krueger, C.W., de Sosa, J.: Coping with variability in model-based systems engineering: an experience in green energy. In: Kühne, T., Selic, B., Gervais, M.P., Terrier, F. (eds.) Modelling Foundations and Applications, pp. 293–304. Springer, Berlin (2010)
Vacchi, E., Cazzola, W., Pillay, S., Combemale, B.: Variability support in domain-specific language development. In: SLE, LNCS, vol. 8225, pp. 76–95. Springer (2013). https://doi.org/10.1007/978-3-319-02654-1_5
Vaquero-Melchor, D., Palomares, J., Guerra, E., de Lara, J.: Active domain-specific languages: Making every mobile user a modeller. In: 20th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, MODELS, pp. 75–82. IEEE Computer Society (2017)
Völter, M.: MD* best practices. J. Object Technol. 8(6), 79–102 (2009)
White, J., Hill, J.H., Gray, J., Tambe, S., Gokhale, A.S., Schmidt, D.C.: Improving domain-specific language reuse with software product line techniques. IEEE Softw. 26(4), 47–53 (2009)
Acknowledgements
This work has been supported by the MONDO (EU FP7-ICT-611125) project. The work of Gábor Bergmann was also partially supported by the János Bolyai Research Scholarship of the Hungarian Academy of Sciences, the ÚNKP-18-4 New National Excellence Program of The Ministry of Human Capacities, and the ÚNKP-19-4 New National Excellence Program of the Ministry For Innovation and Technology.
Antonio and Juan’s work was also partially supported by the Spanish Ministry of Science (RTI2018-095255-B-I00) and the Madrid Region (S2018/TCS-4314). Finally, authors would like to thank Ana Pescador, István Ráth, Dániel Varró and all the MONDO researchers for their contributions to the project.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Professor ’ A. Pierantonio, A. Anjorin, S. Trujillo, and H. Espinoza.
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
Gómez, A., Mendialdua, X., Barmpis, K. et al. Scalable modeling technologies in the wild: an experience report on wind turbines control applications development. Softw Syst Model 19, 1229–1261 (2020). https://doi.org/10.1007/s10270-020-00776-8
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-020-00776-8