Flexible and Scalable Modelling in the MONDO Project: Industrial Case Studies Alessandra Bagnato1, Pedro Malo2, Salvador Trujillo3, Xabier Mendialdua3, Xabier de Carlos3, Etienne Brosse1, Andrey Sadovykh1. 1 SOFTEAM, 8 Parc Ariane 78284 Guyancourt, France {alessandra.bagnato, etienne.brosse, andrey.sadovykh}@softeam.fr, 2 UNINOVA, Pedro Maló, Campus da FCT/UNL, Caparica, Portugal pmm@uninova.pt, 3 IKERLAN Paseo J.M. Arizmendiarrieta 2, 20500 Mondragon, Spain { STrujillo, XMendialdua, XDeCarlos}@ ikerlan.es Abstract. Today, system designs and their management are crucial parts of most systems development processes. To stay competitive engineers from several expertise domains use Model-Based engineering (MBE) to design the systems they intend to implement in order to specify, test, simulate, validate and iterate their design as soon as possible. System designs are living and evolving artefacts this imply to be able to manage them in an efficient and agile way. The MONDO FP7 EU project aims to comprehensively tackle the challenge of scalability in system design and management by developing the theoretical foundations and an open-source implementation of a platform and will offer to Model-Driven Engineering (MDE) users advanced flexibility in their different modeling approaches. This paper describes three different industrial demonstrators and three different modelling approaches that will be utilised to evaluate the capabilities of the MONDO technologies. For each demonstrator the interests of the industrial user partners are described along with their current and desired improvements in technologies to support MBE in a much more flexible way. Specific evaluation scenarios are specified for each of the targeted industrial domains as well. Keywords: scalable modelling, Model-Driven Engineering, software engineering, qualitative evaluation.. 1 Introduction Model-Driven Engineering (MDE) has been shown to increase productivity and reuse and it has significantly enhanced important aspects of software engineering development such as consistency, maintainability and traceability [5]. MDE is therefore increasingly applied to larger and more complex systems. However, the current generation of modelling and model management technologies is being stressed to their limits in terms of their capacity to accommodate, in an agile way, collaborative development, efficient management and persistence of large models ( larger than a few hundreds of megabytes in size) . Thus, recent research has focused on scalability and flexibility across the MDE technical space to enable MDE to remain relevant and to continue delivering its widely recognized productivity, quality and maintainability benefits. The MONDO [1] project proposes to look into the scalability issues for MDE in order to give more flexibility in processes and to help into the agile definition and management of large models. The purpose of this paper is to provide a description of the challenges targeted by three of the industrial demonstrators that will be utilised to evaluate the capabilities of the MONDO technologies. The selected demonstrators are depicting typical MDE issues found in industry and describe the the benefits to be achieved in the selected scenarios. The Use Cases that will be described herewith are the following: • Use Case for Modelling Tool domain. • Use Case for the Offshore Wind Power domain. • Use Case for Open-BIM Construction domain. In the next sections we briefly outline the challenges tackled by the MONDO project. We then describe three of the MONDO case studies and summarize the general feedback received from the three industries on the expected benefits to be put in place within the different contexts to achieve better flexibility during engineering and storage of large models. Finally, the paper is concluded along with plans on our future work. 2 The MONDO project Typically, achieving scalability involves being able to construct large models and associated DSLs or meta-models in a systematic manner; enabling large teams of modellers to construct and refine large models in a collaborative manner; advancing the state of the art in model querying and transformations tools so that they can cope with large models (of the order millions of model elements); and providing an infrastructure for efficient storage, indexing and retrieval of such models [5]. In particular, the maintenance and manipulation of large models unique scenarios addressed by a novel class of model transformations (MT) able to extend the capabilities of traditional MT approaches is under study within the MONDO project [13] and a prototype tool supporting scalable concrete visual syntax enabling the rapid construction of Domain Specific Languages (DSLs) with built-in capabilities to navigate, explore and abstract large models is foreseen and under study by the project. The MONDO research roadmap towards achieving scalability in model driven engineering is described in [4] and briefly summarized in Figure 1. The project builds on MDE research issues aiming at dealing with industrial scale models that need to be persisted in a way that allows for their seamless and efficient manipulation [6][7], often by multiple stakeholders simultaneously and will tackle scalable queries and transformations, scalable DSLs, scalable collaborative modelling [10][11][12] within scalable model persistence [6]. All the project advances will be reported within the main project web site at [1] for the whole project duration and all technologies developed by research partners will be released as open-source software under EPL [9]. As such, industrial partners within the project and outside it will be able develop proprietary extensions on top of this infrastructure without having to open-source them. Fig. 1. Tackling the challenge of scalability in MDE As part of the MONDO project, this paper looks closely into the needed efficient and flexible engineering, storage, indexing and retrieval of large models within three different industrial case studies selected to evaluate the project results. 2 The Modelling Tool domain case study SOFTEAM aims at applying scalability in MDE technologies within the SOFTEAM Modelio [2] modelling tool. Modelio is an open source modelling tool, providing support for many kind of modelling e.g. UML2 modelling, Enterprise Architecture modelling, Business Process modelling, and SOA modelling. The MONDO technologies are expected to make possible to enhance Modelio capabilities in an agile way and to allow it to manage very large models by gaining speed in the overall design carried out. In particular the production chain that includes, the DSL engineering, the DSL persistence, the model (conforms to a given DSL) engineering and the model persistence, that is currently in place within Modelio and the Eclipse Modeling Framework (EMF)[14] world is considered too much rigid and constrained by MDE users e.g. modellers, architect and developers. The MONDO research and results will be key to meet the increasing need from SOFTEAM customers to support a more agile production chain that considers larger and larger models, and larger teams of developers. SOFTEAM will evaluate the MONDO improvements through an modelled application called Voyages Discount. This modelled application uses TOGAF modelling [3] which aims at improving business efficiency ensuring consistent standards, methods, and communication among enterprise architecture professionals. The model has been chosen since it provides an industrial business process that required multiple stockholders communications to be completed where the modelling flexibility provided within MONDO will be helpful. Currently the Modelio Teamwork Manager feature endows Modelio with a distributed collaborative modelling environment through a Subversion (SVN) repository. The model fragments [8], composing the Modelio project, are managed by Modelio Teamwork Manager and the enhancement of an improved collaboration environment will be very helpful in increasing productivity. In Table 1 we present and summarize the expected targeted flexibility benefits and we consider in particular the need to reduce the time to complete the production chain above mentioned by means of structured EMF modularity and collaborations. Table 1. Overview of the scenarios within Modelling Tool use case of MONDO. Scenario Purpose Specific expected MONDO/Extreme Modelling benefits Scenario 1: This scenario focusses on the MONDO technology will MONDO comparison of the query facilities and improve the Modelio querying framework performances provided by both facilities to better meet end user’s querying Modelio and MONDO frameworks. In needs in terms of performance facility the MBE approach, queries are often (time and memory). A defined and performed to extract methodology specific and relevant information from whereby the performance of model. Modelio store offers a set of model queries can be predefined scripts among thus the systematically “Simple Statistics Reporting” script evaluated, and relevant provides model statistics on objects performance predictor metrics present under selected element. This can be identified is under study latter will be used as reference to within MONDO [15]. More compare both technologies in terms of advances in this direction are also querying. under study within [10][11][12]. Scenario 2: The actual model usage across several MONDO technology will MONDO domains, several teams and several improve end users’ experience of framework peoples implies to be able to modelling gaining speed in the collaborating collaborate during the model overall design in large team and modelling specification. This scenario aims at large model context. MONDO integrating the MONDO technologies will provide management within the Modelio modelling tool for techniques for collaborative supporting large and complex models modelling adapted from version and large collaborating teams. control systems including locking, transaction handling with commit, conflict management and resolution [10][11][12]. Scenario 3: Specification and execution of MONDO technology will MONDO ModelToText transformations are the overcome the lack of framework aim of this third evaluation scenario. documentation by improving the support in Capability provided by both scalability and performances of transforming environment (MONDO and Modelio Modelio ModelToText model to text. tool ) will be evaluated in term of transformations in a large model possibility, performance and easiness context. First results in this to use. Modelio document publisher direction can be found at [13]. extension provides by default a set of existing transformation including the analysis and design one’s which will be used as benchmark. Scenario 4: The purpose of this scenario is to MONDO technology will MONDO compare the ModelToModel improve the scalability and framework transformation support by both performances of Modelio support in frameworks. Among all existing ModelToModel transformations transforming ModelToModel transformation in a large model context by model to specified inside Modelio or its reducing the amount of needed another extension, the performance analysis time and ressources . An EMF model. will take EMF UML2 XMI Splitter with a structured import/export facilities as reference. Approach to EMF modularity is under study within the project to bring more agility in the overall production chain and will be evaluated. 3 The Offshore Wind Power domain case study MONDO technology is designed to support collaborative domain specific modelling for offshore wind turbines. Modelling tools will enable engineers to specify concurrently control systems of wind turbines and to share different specifications (model versions). This is expected to raise productivity during the development and customization of software for wind turbine control systems. Wind turbines are complex systems composed by a set of physical subsystems. Different subsystems must work in a coordinated manner to transform wind energy into electrical energy. The purpose of a wind turbine control system is to supervise and control all those subsystems for their correct operation. The Wind Turbine Control System Modelling Tool is a tool that the engineers use for specifying behaviour of the system that will control the wind turbine. Software code responsible for turbine control will be generated automatically from models. Control system development entails collaboration between engineers of different disciplines. Engineers of each discipline have different skills and they develop specific-parts of the wind turbine subsystems. Consequently, model specification implies the use of collaborative modelling tools. Moreover, since wind turbines’ control models are large and complex, modelling tools should be scalable and provide agile mechanisms for model development (i.e. advanced queries, load-on-demand, partial load of models, etc.). Wind Turbine Control System Modeling Tool has been developed based on existing Open-source Eclipse modeling technology. Unfortunately, existing modeling frameworks in which tools are based are not conceived to be used in an agile and collaborative manner. This is the case of the design of a wind turbine in which several engineers collaborate together step by step to define, integrate and validate models incrementally that form subsystems and then complete systems. In contrast to the work process described above, existing tools are conceived for a single engineer to work on a complete specification, preventing collaboration beyond the tool and the engineer. MONDO pursues to expand existing tools to support such collaborative modeling of teams of engineers working together. MONDO collaborative tools are expected to foster agility and collaboration in the modeling of wind turbines. Results obtained on the MONDO Project will be the key to provide collaborative modelling tools enabling to turn the wind turbine design process into a more agile and flexible process. MONDO Project will enable to add new features to the modelling tools such as concurrent model edition, partial load of models, advanced querying capabilities, etc. Additionally, technology developed within the MONDO Project will support modelling from mobile devices. It will allow performing modelling activities also in environments where the conditions are not bests (in-situ maintenance of the wind turbine). Table 2. Overview of the scenarios within Offshore Wind Power use case of MONDO. Scenario Purpose Specific expected MONDO/Extreme Modelling benefits Scenario 1: This scenario is focused on the design of Technology provided by Wind turbine wind turbines’ control systems. Several MONDO will provide control system system engineers participate at the same mechanisms that allow working collaborative time on the specification of wind turbine concurrently on model modelling control system. Generally, each system elements. This will provide the engineer focuses in one subsystem and flexibility for different specifies the control of the subsystem. modeling engineers to work at All those parts together specify the the same time on different behaviour of the control system that is subsystems or even on the responsible to control and supervise the same subsystem. As a result, wind turbine. this will ease teamwork when modeling a complete system. Apart from improving communication among engineers, it will favor an early identification of potential design flaws. Scenario 2: This scenario is focused on the wind MONDO technology will allow Partial load turbine commissioning process in which system engineers to work only and load-on- different physical subsystems (or sets of with specific parts of the demand of subsystems) are commissioned model, providing features that models related separately. allow partial load and to subsystems This entails a scenario that from the load/unload on demand of parts view-point of system control, only a of the model where different fragment of the whole model must be subsystems are specified. taken into account. System engineer only MONDO will provide needs the part of the model concerning technology to enable a team of to the subsystem. engineers to work on parts of Therefore, system engineers involved on models that can be validated the subsystem commissioning must be partially. Enabling partial work able to work with a partial view of the will make the process more whole model, having the ability to load agile and flexible. and unload models fragments concerning to subsystems or parts of a subsystem. Scenario 3: This scenario is located on the MONDO technology will Modelling installation and maintenance activities provide engineers solutions to from mobile performed within a wind farm. Often perform installation and devices during these activities, wind turbine maintenance activities of the control systems require small wind turbines within a wind adjustments (i.e. modify parameters’ farm. values or activation/deactivation of non- These solutions should support critical control algorithms). These modelling from lightweight adjustments will be performed using devices such as mobiles or handy devices. However, these changes tablets. In this way, these imply also (i) re-generate code for the solutions will facilitate control system and (ii) add the new fieldwork where commonly model version to the repository. conditions are not good. Besides Offshore Wind Power domain, IKERLAN-IK4 also plans to use technology developed within the MONDO Project on other domains such as transportation and capital goods. 4 The Open-BIM Construction domain case study A Building Information Model (BIM) is an instance of a populated data model of buildings that contains multi-disciplinary data specific to a particular building, which it describes unambiguously. BIM offers easier use of interoperable industry software tools, fewer errors and omissions, and time and cost savings that can cumulatively result in earlier building delivery. It can facilitate discussion, checking, analysis and communication about a project much earlier and in much clearer and precise terms than standard practice. The IFC (Industry Foundation Classes aka Information For Construction) is the neutral and freely available specification (model) to describe, exchange and share information typically used within the building and facility management industry sector. As such, the IFC provides an Open-BIM as any single vendor or group of vendors does not control it, is openly accessible and used free of charge, and it is a standard de facto (in industry) and de jure (ISO 16739). BIM is a key enabler for Model-Based Engineering in construction-related ICT industries. ICT solutions for construction industries take advantage of MBE methods and practices to properly manage and exploit BIM models. The key solution to take advantage of MBE in BIM is the so-called Model Servers. Model Servers are a technological concept that was coined by the AECO software industry that designates a specialised ICT solution capable of providing BIM capabilities and services. A Model Server provides supports for modelling, storing, sharing, inspect, visualise, and operate BIM models. Model Servers of today are generically using the Open-BIM IFC model. An Open- BIM/IFC Model Server is thus a data repository/store with supporting services that provide multi-user access, storage and management, and allow the use of the IFC data model as the underlying representation structure (schema). A BIM-IFC data model of a not-so-complex building comprehends a huge number of modelling elements (to the millions scale). A comprehensive building information model enclosing all the building disciplines can rapidly go from few millions to many dozens of million modelling elements. Moreover, BIM-IFC data models are shared (serialized) using the text-based ISO10303 STEP Part#21 representations that rapidly escalate file sizes to many Megabytes to Gigabytes. The trouble is that today’s breed of Model Servers exhibits problems in presence of big-to-huge BIM data models. Tools considerably degrade performance in presence of large-size BIM models (i.e. with some few millions of modelling elements) or simply “break” in presence of huge-size BIM models (in the scale of tens of millions of modelling elements). This led to very inefficient solutions for BIM-based collaboration like sharing partial models done by construction project designers and engineers that then requires time consuming model aggregation by some person (“model coordinator”) and make it difficult for model users (model designers/engineers but also model clients) to get a comprehensive integral view of the model (building or set of buildings in a landscape). The idea is for MONDO technologies to be able to take charge of addressing the performance and scalability issues of BIM data models that are presently dealt directly by its users (designers, engineers). The vision is that of a solution that enables an efficient management and exploitation of BIM large-to-huge-scale data models by both using best-of-breed MBE solutions and incorporating AECO domain knowledge for the best possibly experience and performance. Table 3. Overview of the scenarios within Open-BIM Construction case study. Scenario Purpose Specific expected MONDO/Extreme Modelling benefits Scenario 1: The file-based collaboration scenario is one Technology provided by File- (huge-) where model designers work on separate MONDO will allow based models and share models (as huge files) with designers & engineers to collaboration a model coordinator (that aggregates models work on a specific part of altogether) and then with some model the model, but with the clients. Here the Heterogeneous Model added flexibility of having Server exists especially at the Model all parts merged together Coordinator that can “upload” models and within a single model. merge models together as well as doing Technology is to allow some validations and checks to provided users to perform off-line models. Data models are then exported in work and then be able to designated formats to be shared with model readily reconvene for clients. review and development. Scenario 2: The shared-model collaboration scenario is MONDO technology will Shared- one where all users (model designers, model, allow system engineers to (huge-) model model coordinator, model clients) interact work only with specific collaboration using a share-model hosted in a Model parts of the model, with the Server. Users are provided with data models added flexibility of views of the huge data models in the Model providing features that Server and can check-in/check-off model allow partial load and parts for off-line manipulation. load/unload on demand of parts of the model where different subsystems are specified. Scenario 3: Quantity take-off’s (QTO) is a key process On huge BIM data models Quantity in construction. QTO are a detailed performing QTO is a non- Take-Off measurement of the materials needed to trivial task due to the (QTO) in complete a construction project. These complexity of the query huge IFC measurements are used to format a bid on and need to traverse the models the scope of construction. Estimators review whole of the data model. drawings and specifications to find these The scenario tests then the quantities, which is a very time consuming, ability of MONDO to and erroneous process. BIM provides a report out of large-to-huge direct way to extract the quantities of a data models using complex building. It is done using a complex query to queries situations.[10] [11] the BIM model. [12] 5 Conclusion and future work The case studies and evaluation scenarios selection presented herein was performed during the first ten months of the MONDO project (with a total duration of 30 months). As a general conclusion from the use case and scenario descriptions and the subsequent requirement gathering and prioritization phase form industry, it is believed that adopting MONDO technologies will bring benefits to the current software development processes used by all the involved industries, helping designers to work with large models. In particular the MONDO technologies are expected to enable the Modelio tool to provide scalability in modelling, being able to construct large models and to enable large teams of modelers to construct and refine large models in a collaborative manner. Moreover, MONDO technologies will provide a solution for collaborative modelling within modelling tools to specify control systems for wind turbines. In this way these modelling tools will support features that ease collaboration. Finally MONDO technologies will be utilized within all the three case studies in the context of large model transformations. More specifically being able to generate documentation and to apply transformation on large models have been found as key aspects of scalable Model-Based Engineering. The MONDO technologies evaluations within is planned for the end of second year of MONDO Project (October 2015). These will be both a qualitative and quantitative evaluations aimed at assessing the usefulness and ease of use when actually performing scalable modelling on real case studies through supporting tools. Acknowledgements The research leading to these results has received funding from the European Community Seventh Framework Programme (FP7/2007-2013) under grant agreement no FP7-611125. We would also like to acknowledge all the members of the MONDO Consortium for their valuable help and in particular Scott Hansen (The Open Group), and Dimitris Kolovos (University of York) for their support in the case studies scenarios and expected benefits definition. References 1. MONDO Project Consortium: MONDO Project Homepage, http://www.mondo-project.org 2. Modelio Modelling Tool: Homepage, http://www.modeliosoft.com 3. TOGAF® Version 9.1 Enterprise Edition Web Site: http://www.opengroup.org/togaf/ 4. Dimitrios S. Kolovos, Louis M. Rose, Nicholas Matragkas, Richard F. Paige, Esther Guerra, Jesús Sánchez Cuadrado, Juan De Lara, István Ráth, Dániel Varró, Massimo Tisi, and Jordi Cabot. 2013. A research roadmap towards achieving scalability in model driven engineering. In Proceedings of the Workshop on Scalability in Model Driven Engineering (BigMDE '13) 5. Mohagheghi, P., Fernandez, M., Martell, J., Fritzsche, M., Gilani, W.: MDE Adoption in Industry: Challenges and Success Criteria. In: Models in Software Engineering. Volume 5421 of Lecture Notes in Computer Science. Springer (2009) 54–59 6. Comparative analysis of data persistence technologies for large-scale models, K. Barmpis, Dimitrios S. Kolovos, Proceeding XM '12 Proceedings of the 2012 Extreme Modeling Workshop Pages 33-38 ACM New York, NY, USA ©2012 7. Hawk: towards a scalable model indexing architecture, K. Barmpis, D. Kolovos, BigMDE '13 Proceedings of the Workshop on Scalability in Model Driven Engineering Article No. 6 ACM New York, NY, USA ©2013 8. OMG: World Wide Modeling: The Agility of the Web Applied to Model Repositories SOFTEAM-Modelio: http://www.omg.org/news/member-news/SOFTEAM-ModelioWhite- Paper-WorldWideModeling.pdf 9. Eclipse Public License - v 1.0 - http://www.eclipse.org/org/documents/epl-v10.php 10. Ujhelyi, Z., Bergmann, G., Hegedüs, Á., Horváth, Á., Izsó, B., Ráth, I., Szatmári, Z., and Varró, D., "EMF-IncQuery: An Integrated Development Environment for Live Model Queries", Science of Computer Programming, 2014. 11. Debreceni, C., Horváth, Á., Hegedüs, Á., Ujhelyi, Z., Ráth, I., and Varró, D., "Query-driven incremental synchronization of view models", Proceedings of the 2nd Workshop on View- Based, Aspect-Oriented and Orthographic Software Modelling, York, ACM, pp. 31, 07/2014. 12. Szárnyas, G., Ráth, I., and Varró, D., "Scalable Query Evaluation in the Cloud", STAF Doctoral Symposium, 07/2014. 13. Dávid, I., Ráth, I., and Varró, D., "Streaming Model Transformations By Complex Event Processing", ACM/IEEE 17th International Conference on Model Driven Engineering Languages and Systems, MODELS 2014, Valencia, Spain, Springer, 2014. 14. The Eclipse Project, “Eclipse Modeling Framework,” http://www.eclipse.org/emf/. 15. Izsó, B., Szatmári, Z., Bergmann, G., Horváth, Á., and Ráth, I., "Towards Precise Metrics for Predicting Graph Query Performance", 2013 IEEE/ACM 28th International Conference on Automated Software Engineering (ASE), Silicon Valley, CA, USA, IEEE, pp. 412--431, 11/2013.