Scalability is one of the biggest challenges in Model-Driven Engineering (see some of our own contributions to this area). The Mondo EU project aimed to tackle this problem.
We now present how the results of the project have benefitted the software development division of IK4-IKERLAN, a Medium-sized Enterprise which in recent years has embraced the MBE paradigm. The evaluation, conducted in the Wind Turbine Control Applications development domain, shows that scalable MBE technologies give new growth opportunities to Small and Medium-sized Enterprises.
This work will be presented at the ECMFA’17 (European Conference on Modeling Foundations and Applications) as the result of a collaboration between Abel Gómez, Xabier Mendialdua, Gábor Bergmann, Csaba Debreceni, Antonio Garmendia, Dimitrios S. Kolovos, Juan de Lara, Salvador Trujillo and myself.
The full paper is available here. You can also just keep reading for the full text or watch the slides we used during the presentation
1. Why Scalable Modeling: the Ikerlan Scenario
IK4-IKERLAN is a Spanish private Technology Centre focused on innovation and comprehensive product development, with 40 years of experience in combining and applying mechanics, electronics and computer science in industry. With a staff headcount of nearly 250 employees and a turnover of € 18.5 million in 2015 , IK4-IKERLAN is a Medium-sized Enterprise  that has carried out advanced technology transfer for a wide variety of domains, including transportation (railway and elevators), energy (wind and solar power, and storage systems), automation, industrial, health and home appliances among others. IK4-IKERLAN has been working for the last 10 years in the development of supervisory and control platforms for wind turbines for one of the world’s leading companies in the field of renewable energy.
Wind turbines, as Sect. 2 describes, are complex systems where hardware and software components need to interact in intricate ways. To tackle this complexity, Model- based Engineering (MBE)  technologies were introduced in 2009 in IK4-IKERLAN for the engineering of the supervisory and control systems. The goal for adopting and investing in MBE was to improve productivity and competitiveness of its industrial customers by enhancing their software development processes using, as Sect. 3 sketches, Domain Specific Languages (DSL) [7,11] and code generators . The experiences reported by customers showed significant productivity increases, indicating that MBE has been critical in the development of new software products faster, cheaper and with fewer errors than previous projects.
However, too often, MBE tools and methodologies have targeted the construction and processing of small models in non-distributed environments. This focus neglects common scalability challenges , considering that a more typical scenario involves different engineers working in collaboration at distributed locations. Handling these issues is a challenging task that requires specific solutions that foster scalability as we will discuss in Sect. 4.
In 2013, the MONDO project was launched with the aim of tackling some of the most prominent challenges of scalability in MBE by developing the theoretical founda- tions and open-source implementation of a platform for scalable modeling and model management. Among the technologies developed, Sect. 5.1 focuses on the ones that can provide IK4-IKERLAN the opportunity to offer its customers software development methodologies in geographically distributed scenarios where multiple users can work collaboratively; and Sect. 5.2 describes, specifically, the different solutions developed in IK4-IKERLAN using the MONDO platform.
Sect. 6 describes how the scalable MONDO technologies have been evaluated in IK4-IKERLAN and the results obtained. In a scenario where the 99% of all businesses in the EU are Small and Medium-sized Enterprises (SME), Sect. 7 draws the conclusions and discusses this experience on the application of scalable modeling technologies in a company like IK4-IKERLAN.
2. Wind Turbines
A wind turbine is a complex system composed of a set of physical subsystems whose aim is to convert wind energy into electrical energy. The Wind Turbine Control System (WTCS)  is the system which monitors and controls all the subsystems that make up the wind turbine. Its aim is to maximize the generation of electrical energy, always ensuring the correct operation of the turbine and avoiding any problem which can cause any damage to it. It monitors the status of the wind turbine and the environmental conditions, making decissions to get the highest energy production. The WTCS is a HW/SW system that runs on a dedicated hardware platform. This is connected to the wind turbine through assorted communications to receive information from inputs (sensors, device state signals, etc.) and to actuate on outputs (device actuators).
The HW/SW architecture of the WTCS is shown in Fig. 1. The two lower layers refer to the HW and the Operating System. The software layer is composed of the following components:
- The Execution Engine is the component which cyclically executes the algorithms to monitor and control the Wind Turbine.
- The Control Units Library is a set of reusable control algorithms. These are basic blocks, with well defined interfaces, which can be instantiated and interconnected to implement the Wind Turbine Control Application.
- A Wind Turbine Control Application (WTCA) comprises the set of algorithms that must be executed in order to ensure the correct operation of the wind turbine the WTCS is monitoring and controlling. The control algorithms of the wind turbine are specified by instantiating control units available in the Control Units Library and by combining those instances.
In this software architecture, the Execution Engine is a stable software component which does not vary from one wind turbine to another. The Control Units Library is also a stable component which, generally, does not vary either, unless some new device is used in a wind turbine and a custom control unit has to be implemented to control it. Finally, the WTCA is the part of the software in a WTCS that is customized for each wind turbine, depending on the specific requirements that WTCS must met.
Fig. 1. HW/SW architecture of a Wind Turbine Control System
3. Model-based Engineering for Offshore Wind Turbine Control System Development
The development of a WTCS is a process where a multidisciplinary team of hardware, software and telecommunications engineers, as well as electrical, mechanical and other engineers work in collaboration. Due to the complexity of such scenario—even consider- ing only the software development, which comprises the three software layers described above—this paper will focus on the development of the top layer (WTCA), because the WTCA is the only part that is specific for each different wind turbine.
In recent years, IK4-IKERLAN has implemented the MBE paradigm to develop the Control Applications for Wind Turbines. This development process exploits a domain- specific modeling tool, the so-called Wind Turbine Control Modeler (WTCM), devel- oped in Eclipse  and based on Eclipse Modeling Framework (EMF) . The WTCM provides the catalogue of available control units that engineers can use to develop the algorithms to monitor and control the subsystems of the wind turbine.
The control system of a wind turbine is typically composed of nearly 2000 basic control units, involving nearly about 2000 inputs and up to 1000 outputs, depending on the specific model configuration. A control unit is a basic and reusable control algorithm which may be combined with other control units to build more complex algorithms. The control system is structured into logical subsystems, each controlling different physical subsystems or parts of them. The control of a wind turbine is built through the aggregation of basic control units in order to specify those complex algorithms.
Fig. 2 shows an excerpt of the metamodel which describes the abstract syntax of the DSL provided by the WTCM. As the figure shows, a wind turbine (WT ) contains a set of Subsystems which in turn contain ControlUnits. ControlUnits—which may be parameterised—implement the algorithms which process a set of inputs to provide a set of outputs. For the sake of simplicity, Fig. 2 only shows the ControlUnit15, which processes a single input receiving a single param, and produces a single output.
Fig. 2. Metamodel of the Wind Turbine DSL
Fig. 3 shows what the initial implementation of the WTCM—which implements the Wind Turbine DSL—looks like. As it can be seen, the initial WTCM is an Eclipse application, which enables engineers to edit WTCS models using a regular EMF tree editor.
Once a model has been created using the WTCM, the actual C++ code for monitoring and controlling the physical subsystems can be generated using model-to-text transformations expressed in the Epsilon Generation Language .
Fig. 3. Screenshot of Wind Turbine Control Modeler
4. Challenges in applying MBE
Today, MBE is used by a group of 10+ developers working in the R&D area of IK4- IKERLAN developing control systems for new families of wind turbines. The aim for IK4-IKERLAN is to extend MBE technologies to other activities such as wind turbine control customization for specific customer requirements. Considering that there are more than 30 different variants of control applications that are still being developed using non-MBE methodologies, it is expected that the number of different models can grow significantly within the next years, increasing the number of developers using modeling techniques up to 20 or more in the mid-term.
The main limitation, however, of the initial WTCM presented before is the lack of features that would enable a team of engineers to work collaboratively: each engineer has to work with his own copy of the model, and model merging operations—e.g., to include changes performed by others—need to be carried out manually. This manual process is a complex, tedious and error prone activity that can take more than half an hour depending on the amount and type of changes made.
Another important limitation is that engineers do not have mechanisms to work with a subset of the model. That means that all engineers must always work with the whole model, although a small subset of elements of the model can be sometimes enough to perform a specific modeling or validation activity.
Considering these limitations for the modeling solution, the following challenges have been identified to improve the development of WTCAs:
- The first challenge is to move from a single-user modeling tool built for an engineer to work in an isolated way, to a modeling tool which enables several engineers to work collaboratively sharing models located in a central repository.
- The second challenge is the ability to edit partial models or model fragments. Such a feature allows each engineer to work with a specific part of the model (as opposed to the whole model), thereby easing modeling activities. Additionally, the use of model fragments allows minimising the volume of data transferred over the network and limits the number of merge conflicts.
- The third challenge is to graphically display and edit WTCS hierarchical models. Graphical models are more expressive for this domains as they ease the identification of relationships between model elements. This is an important enhancement with respect to the initial tree-based editor, where relationships have to be found using auxiliary views of the editor. Scalable graphical editors should include additional features like filtering facilities, hierarchies of diagrams, etc. Fig. 4 shows a mockup of what a graphical WTCM would look like.
- Finally, the fourth challenge is to enable model editing using a lightweight mobile device—instead of a laptop—to perform the modeling activities on site in the wind farm.
Fig. 4. Wind Turbine Control graphical modeling conceptual mock-up
5. Towards a Scalable MBE Development Process
The goal of IK4-IKERLAN joining the MONDO project was twofold: (i) to provide a real-world scenario where the scalable modeling technologies can be tested and evaluated; and (ii) to improve their development processes by introducing such techniques. In this section we first present the main MONDO technologies employed, and second, the solutions implemented in IK4-IKERLAN using these technologies.
5.1 The MONDO Platform
The MONDO platform is the open-source solution for scalable modeling and model management developed within the MONDO project. Its main purpose is to address the shortage of scalable and collaborative support in state-of-the art technologies within the MBE landscape. It is composed by several components for the development of scalable Eclipse-based editors and DSLs, collaborative modeling, model indexing and scalable model transformations and queries. The MONDO components that have been introduced in the IK4-IKERLAN development process are presented next.
The MONDO Collaboration Framework  is the MONDO component which enables collaboration both in offline and online scenarios.
In an offline collaboration scenario, as described in , models are stored in the so-called gold repository of a version control system (VCS) which is inaccessible to the actual users. VCS servers instead host separate front repositories dedicated to each user, that contain a copy of the gold repository, with complete version history, filtered according to the read access privileges of that user. Users are given access to a dedicated front repository so that they can read the current or historical contents of the model files (up to their read privileges) and commit their changes (which may be denied based on write permissions). In their normal day-to-day workflow, users interact with their front repository using standard VCS protocols and off-the-shelf VCS client software.
For an online collaboration scenario, MONDO provides an online collaborative modeling tool, where users can open, view and edit models stored in the VCS backends using a web browser, thus no client software needs to be installed. Multiple users can collaborate on the same model simultaneously, enjoying the same access control mechanism that underlies the offline collaboration framework. The editor is provided as an Eclipse RAP-based web application .
DSL-tao  is the component within the MONDO platform that enables the sys- tematic development of scalable graphical DSLs, exploting the idea of reusing patterns (for the domain concepts, the graphical syntax, the services of the final environment). DSL-tao profits from an extensible library of meta-modeling patterns, which are in- stantiated and combined. The patterns account for recurring domain concepts, concrete syntax representation, semantics and services for the DSL environment. In particular, patterns have been developed to define modularization strategies for DSLs—using the EMF-Splitter  component—which result in graphical modeling environments with built-in fragmentation capabilities, and services for scoping, element visibility and fil- tering, among others. Using this technology, models are no longer monolithic, but split into fragments and organized similarly to programming projects. The generated envi- ronment relies on Sirius for graphical model editing, while Hawk —the MONDO model indexer—is used for efficient look-up of model element accross fragments.
5.2 MONDO Solutions for Offshore Wind Power
Using the previous core MONDO infrastructure, three modeling solutions have been implemented in IK4-IKERLAN, which are described next.
The Online Concurrent WTCS Modeling Solution is a web modeling application which allows multiple modelers to share a modeling session. All modelers can work concurrently with the same WTCS model versioned in a model repository. All changes performed by a modeler are automatically propagated to all other modelers, having all of them an updated version of the model.
Besides allowing concurrent modeling activities, this solution also supports working with partial models. It means that each modeler can work with a different view of the same model, thus editing a different fragment of it. This is achieved by creating a custom model view containing only the model elements a user is allowed to see and edit, hiding all other elements in the model. Unauthorized editing of model elements is also prevented. The Online Concurrent WTCS Modeling solution allows modelers to commit the changes performed in the model to the model repository.
The Offline Collaborative WTCS Modeling Solution is an Eclipse application which runs locally. It enables several engineers to work with a shared model, but unlike the solution presented above, collaborative modeling is done asynchronously, i.e., each modeler working with the shared model edits a local copy of the shared WTCS model, which is checked out (or updated) from a model repository. When model editing has fin- ished—or whenever the user decides—a commit operation is requested and the MONDO Collaboration Framework carries out the operation.
This asynchronous way of working with a WTCS model may lead to conflicts when several engineers make changes to the model and try to commit them. However, to avoid this, the MONDO Collaboration Framework will assist the modeler to resolve the conflicts by merging the remote and local changes consistently using an automated search-based model merge  before the commit succeeds.
As aforementioned, in MONDO, the management of partial models in an offline manner is handled by the MONDO Collaboration Framework which performs the syn- chronization between all the front repositories and the gold repository. In the case of the Offline Collaborative WTCS Modeling solution, there exists a different front repository for each different user type which contains the partial model for that user type.
Apart from collaboration related operations, the way a model user will work with the Offline Collaborative WTCS Modeling solution is quite similar to the way the modeler was working with the tree-based single user modeling tool introduced in Sect. 3.
The Offline Graphical Collaborative WTCS Modeling Solution is a Sirius-based editor which allows editing WTCS models graphically. As mentioned above, WTCS models edited by the offline modeling solution are built with the Wind Power domain specific tree editor, but, as mentioned in Sect. 4, an important challenge is the capability of editing WTCS models graphically, with an editor which provides advanced features like drill-down, element filtering, layers, custom views, different diagrams, etc.
This Offline Graphical Collaborative editor addresses this challenge by exploiting DSL-tao. DSL-tao was used to define the graphical syntax by instantiating the pattern for concrete syntax using its dedicated wizard, and to generate the Sirius-based editor. It is noteworthy that a wind turbine model can be edited either using the classical EMF-based tree editor or the graphical editor based on Sirius.
In order to assess the success of the MONDO technologies in the IK4-IKERLAN MBE processes, an evaluation has been performed. This evaluation—whose details are extensively covered in the project deliverables —is reported next.
Three realistic scenarios, which express the four challenges presented in Sect. 4, are used for the validation of the MONDO technologies:
- Scenario S1: Wind turbine control design — Three system engineers work concur- rently on a single model, modeling different subsystems. Each system engineer works on a partial model or submodel and MONDO technologies shall merge all the partial models into a unified model.
- Scenario S2: Wind turbine commissioning — A system engineer works on a partial submodel of a model during the commissioning of a subsystem. Transformations for code generation will only take into account the artefacts contained in (and referenced from) the submodel the engineer is working on.
- Scenario S3: Maintenance activities in the wind farm using mobile devices — A maintenance operator of a wind farm detects a malfunction of a non-critical element in a wind turbine. This causes the wind turbine to be out of operation. The engineer makes a minor change in the control model and obtains new code to put the wind turbine into operation in a degraded mode. These minor changes are made using a tablet or a mobile device.
The solutions presented in Sect. 5.2 support the three aforementioned scenarios:
- Scenario S1 can be supported by two MONDO solutions: the Online Concurrent WTCS Modeling Solution and the Offline Collaborative WTCS Modeling Solution. Al- though in a different way, both solutions allow several engineers to work in parallel on the algorithms for the different subsystems of a wind turbine. Likewise, both solutions manage all changes performed by each engineer merging them in a single WTCS model.
- Scenario S2 is supported by the Offline Collaborative WTCS Modeling Solution. A specific subsystem manager is allowed to load only a fragment of the entire WTCS model. Thus she can only edit the part of the model for the subsystem under her responsibility. The subsystem manager also has the ability to generate code for the subsystem.
- Scenario S3 is supported by the Online Concurrent WTCS Modeling Solution. As this is a web based solution deployed on a web server, it can be accessed using a tablet. Thus, on-site modeling operations related to maintenance activities can be performed by the maintenance operator.
See the full paper for complete details on the evaluation of these scenarios including the metrics used to measure the success of the new scalable techniques in terms of (i) time for committing model changes; (ii) impact on performance derived from using MONDO Collaboration technology; and (iii) time reduction for building graphical domain specific modeling editors on a test environment was set up as described in . This environment consisted of a group of 6 different types of domain engineers—with different privileges—working toghether in collaborative modeling tasks using state-of- the-art tablets, desktop and laptop PCs.
Scalable modeling technologies can provide new opportunities to SME to grow their software development teams. In this document we have reported on the experience at IK4-IKERLAN after implementing the technologies developed in the MONDO project. The experience has been extremely positive, and the evaluation shows that five out of eight quantitative measures scored excellent—one of them scored good and two others scored sufficient—while seven out of nine qualitative measures were fully fulfilled—the two remaining were largely fulfilled.
From this experience, we can also learn that continuous compliance with existing development processes is a key factor for success. The MONDO scalable technologies do not impose a big change on the processes and tools that were already implemented in the company. In this sense, the new solutions enable teamwork in the offline scenario in such a way that can be integrated without changing the pre-existing single-user modeling tools. This way developers continue working in the same way they used to work, and collaboration features only come into play to automate operations that were manual before (e.g., model merging).
Part of this success has been due to, not only the technology itself, but to the method- ological guidance provided by MONDO. Specifically, the methodology supported by DSL-tao can be easily followed to construct large scale DSLs. In this sense, it is im- portant that this methodology provides a wide set of predefined design patterns, which DSL designers can take advantage of to build their custom modeling solutions.
Another important contribution of the scalable technology is the capability for concurrent model editing using web technology, enabling real-time collaboration with secure access control, even using mobile devices. While there are several emerging modeling frameworks to support web-based collaborative modeling such as AToMPM , WebGME , Web Modeling Framework —see  for an overview—security and scalability remains a major challenge for them. As demonstrated by Online Graphical Collaborative WTCS Modeling Solution the Eclipse RAP platform  is not mature enough.
Finally, this experience also evidences that web-based solutions are not best suited to carry out modeling activities in handheld mobile devices, since they present usability is- sues. In this sense, another possible avenue for research is the development of dedicated domain-specific modeling environments for mobile devices .
Acknowledgements. We would like to thank István Ráth, Dániel Varró, and all the MONDO researchers for their contributions to the project.
- Ackermann, T., Söder, L.: Wind energy technology and current status: a review. Renewable and Sustainable Energy Reviews 4(4), 315 – 374 (2000), url: https://doi.org/10.1016/ S1364-0321(00)00004-6
- Barmpis, K., Kolovos, D.: Hawk: Towards a scalable model indexing architecture. In: Proceed- ings of the Workshop on Scalability in Model Driven Engineering. pp. 6:1–6:9. BigMDE ’13, ACM, New York, NY, USA (2013), url: https://doi.org/10.1145/2487766.2487771
- 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)
- Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools, and Appli- cations. ACM Press/Addison-Wesley Publishing Co., New York, NY, USA (2000)
- 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.) Fun- damental Approaches to Software Engineering – 19th International Conference, FASE 2016, Lecture Notes in Computer Science, vol. 9633, pp. 104–121. Springer (2016)
- European Commission: What is an SME?, url: http://ec.europa.eu/growth/smes/b usiness-friendly-environment/sme-definition_es, last accessed Feb. 2017
- Fowler, M.: Domain Specific Languages. Addison-Wesley Professional, 1st edn. (2010)
- Garmendia, A., Guerra, E., Kolovos, D.S., de Lara, J.: EMF splitter: A structured approach to EMF modularity. In: Proc. [email protected] CEUR Workshop Proceedings, vol. 1239, pp. 22–31. CEUR-WS.org (2014), url: http://ceur-ws.org/Vol-1239/xm14_submis sion_3.pdf
- Gray, J., Rumpe, B.: The evolution of model editors: browser- and cloud-based solutions. Software & Systems Modeling 15(2), 303–305 (may 2016).
- IK4-IKERLAN: Efficiency in service innovation for companies | IK4-IKERLAN, url: http://www.ikerlan.es/en/ikerlan/, last accessed Feb. 2017
- Kleppe, A.: Software Language Engineering: Creating Domain-Specific Languages Using Metamodels. Addison-Wesley Professional, 1 edn. (2008)
- Kolovos, D.S., Paige, R.F., Polack, F.A.: The Epsilon Transformation Language. In: Pro- ceedings of the 1st International Conference on Theory and Practice of Model Transfor- mations. pp. 46–60. ICMT ’08, Springer-Verlag, Berlin, Heidelberg (2008)
- 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. pp. 2:1–2:10. BigMDE ’13, ACM, New York, NY, USA (2013), url: https://doi.org/10.1145/2487766.2487768
- 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) co-located with MODELS 2014. pp. 41–60 (2014), http://ceur-ws.org/Vol-1237/pa per5.pdf
- Pescador, A., Garmendia, A., Guerra, E., Cuadrado, J.S., de Lara, J.: Pattern-based develop- ment of Domain-Specific Modelling Languages. In: 18th ACM/IEEE International Confer- ence on Model Driven Engineering Languages and Systems, MoDELS. pp. 166–175. IEEE Computer Society (2015), url: https://doi.org/10.1109/MODELS.2015.7338247
- Selic, B.: The pragmatics of model-driven development. IEEE Software 20(5), 19–25 (Sept 2003)
- Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework 2.0. Addison-Wesley Professional, 2nd edn. (2009), isbn: 0321331885
- Syriani, E., Vangheluwe, H., Mannadiar, R., Hansen, C., Mierlo, S.V., Ergin, H.: AToMPM: A web-based modeling environment. In: Joint Proc. of MODELS’13 Invited Talks, Demon- stration Session, Poster Session, and ACM Student Research Competition. pp. 21–25 (2013), url: http://ceur-ws.org/Vol-1115/demo4.pdf
- The Eclipse Foundation: Eclipse – The Eclipse Foundation open source community website, url: https://eclipse.org/, last accessed Feb. 2017
- The Eclipse Foundation: Remote Application Platform (RAP), url: http://eclipse.or g/rap/, last accessed Feb. 2017
- The Eclipse Foundation: Web Modeling Framework (previously genmymodel.com), url: https://projects.eclipse.org/proposals/web-modeling-framework/, last ac- cessed Feb. 2017
- The MONDO Project: Work Package 4 – Scalable Collaborative Modelling. Deliverable 4.4: Prototype Tool for Collaborative Modeling, url: http://hdl.handle.net/20.500.12004/1/P/MONDO/D4.4
- Vaquero-Melchor, D., Garmendia, A., Guerra, E., de Lara, J.: Towards enabling mobile domain-specific modelling. In: Proceedings of the 11th International Joint Conference on Software Technologies – Volume 2: ICSOFT-PT, (ICSOFT 2016). pp. 117–122 (2016), url: https://doi.org/10.5220/0006002501170122
Featured image by Tim1337 Tim Drivas (Own work).