Open modelling for faster systems development
OPENPROD Innovation report
A general tendency in product development is the increasing complexity of technical systems and the distributed networks in which they are designed and manufactured. This complexity involves a higher degree of automation, a greater number of technologies and strong coupling of software and hardware development, including hardware such as mechanical and fluid systems. Moreover, strong market trends are towards more complex products that include software and hardware components, requiring more integrated whole-product development approaches. In addition, software and hardware component suppliers are increasingly involved in the design process of the overall system, and they are expected to validate the functionality of components in the system context at the design stage, long before the system itself is actually built.
The ITEA 2 project OPENPROD set out to develop an open whole-product, model-driven systems development, modelling and simulation (M&S) environment that integrates the leading open industrial software development platform Eclipse with open-source modelling and simulation tools such as OpenModelica and industrial M&S tools and applications. The result is a more formalised validation of production that cuts time to market and ensures higher quality through using open solutions with high impact. Twenty-eight partners (11 large industries, 7 SMEs, 5 research institutes and 5 universities) from five countries were involved in the project.
Paradigm shift
One of the most important paradigm shifts now occurring is the adoption of common system models as a foundation for product and system design, an approach that results in a much more effective product development process, since a system can be tested at all stages of the design. The integrated holistic environment developed in OPENPROD generalises model-driven approaches to include most aspects of product development via three key concepts: a holistic whole-product model-driven rapid development and design environment for both software and hardware, open-source tools and components for open reusable solutions, and standardised model representation of products primarily based on Modelica and the unified modelling language (UML).
The uses of modelling languages are steadily increasing. The OPENPROD focus on the new generation of Modelica and the development of new releases of the open-source OpenModelica tool have given both small and large enterprises new possibilities to quickly adapt new technology for supporting the innovation processes. During the period of the OPENPROD project, interest has grown in Asia and the US; the acquisition of MathCore Engineering by Wolfram Inc has already resulted in new, updated commercial products. Modelon started up a regional sales office in the US with a new software product portfolio while a new US company – CyDesign Labs based in Palo Alto, California – initiated operations focusing on cloud-based Modelica simulation tools. Furthermore, Siemens’ acquisition of its partner, LMS International, is an example of how market leaders in the PLM area are positioning themselves towards advanced integrated simulation capabilities.
Before and after
Compared with the pre-OPENPROD situation and the end of the project, major progress has been achieved with a whole-product (SW/HW) open model-driven modeling, simulation and development environment, an enhanced OpenModelica model compiler with innovations and vendor specific tool additions as well as advanced industrial application demonstrators and vendor tools.
In fact, the achievements frequently exceeded the goals. For instance, while it was not an initial aim to have full Modelica 3.1 language compilation and simulation due the lack of resources in OPENPROD, what was actually achieved was 80% (211/262) of MSL 3.2.1 (alpha) compilation and 69% (180/262) simulation.
This was made possible by resource contributions from other projects. Another extra achievement was the development of a tool-independent open standard for the exchange and co-simulation of dynamic models in which the required C-code, binaries and description files are packed in a Functional Mock-up Unit (FMU). Instances of simulation models are created by calling the set of functions defined in the FMI standard. The FMU may be either self-integrating (co-simulation standalone) or tool coupling (co-simulation tool) or require the simulator to perform numerical steps.
Contributions to the Modelica ecosystem include:
- Language extensions: requirement specification and verification, uncertainty language extensions, collection and recursive data types, parallel Modelica and improved modularity/connectors
- Compilation/code generation: generation of parallel code for multicore computers, compiling models with uncertainty, real-time code generation, compiling collection and recursive data types, compiling UML to Modelica
- Solvers: Jacobian support in solvers, Quantized State System (QSS) solvers, solvers for multicore computers
- Development environment: iintegrated environment from business process models via requirement models, to design models and simulation and/or products, efficient debugging of large algorithm in Modelica codes, transformational debugger for equation-based models, requirement handling and verification
- Tool coupling:FMI design and implementation, Modelica representation - Flat and XML, PLM integration
Improved capabilities
The new OpenModelica release provides an improved OMC model compiler that simulates substantially more models than previous versions. It also contains the full OMPython functionality that allows Python scripting with OpenModelica, and a new ModelicaML version with verification of requirements as opposed to design models in requirements-driven modelling updated to the latest Eclipse and Papyrus releases. The new release includes an improved Full Mock-up Interface (FMI) import to prepare for FMI co-simulation. The integration of the 3D graphics animation library from Fraunhofer FIRST into OpenModelica has been accomplished. Moreover, support for the Fluid library is improving greatly with the new symbolic instantiation module now mostly completed with the goal of completion for the final OpenModelica 1.9.0 release.
The improved speed of Modelica applications generates many new possibilities, with Siemens, IFP and Bosch Rexroth having improved their respective Gas Turbine, Engine and Hydraulic Simulators and models. These simulations run in real time together with the hardware from the control system (hardware-in-the-loop system). This will boost future development and enhance performance tuning to comply with the green technology requirements from the market.
The innovative OPENPROD whole-product model-driven platform approach with new development methodologies is very well aligned to the new complex functionality needs and the increasing competition for faster time-to-market processes. An example of very interesting prototypes and demonstrators emanating from the OPENPROD project is the methodology that uses UML integrated with Modelica and which is translated to Modelica for whole-product modelling to support whole-product simulation. Another example is FMI for efficient real-time multicore processing of explicitly partitioned models.Delivery highlights
In terms of integrated open whole-product rapid development and lifecycle support for complex products, which is based on hardware and software models, team features and requirement capture, OPENPROD delivered a range of solutions, namely the ModelicaML Modelica-UML profile, Modelica3D, ontology-based simulation, simulation PDM/ PLM integration using business product modelling and model-driven product optimisation. Full model compiler support for future Modelica, with selected UML and novel extensions, includes stronger early consistency checking of model library components and certainties handling. Improvements in separate compilation enable the shipping of binary model components and synchronicity support for embedded systems applications.
Code generation and run-time issues were addressed through the automatic translation of high-level specifications – written in Modelica – into efficient numerical schemes, efficient methods for parallelisation of both continuous-time and discrete-time model-based code as well as efficient run-time system and numerical solver schemes to interact with the generated code. Interoperability between tools and better re-use of tool components has enhanced modelling and simulation with model components in different formalisms. The faster design process using modelling and simulation and more optimised product results developed in the project were demonstrated and validated on industrially relevant applications.
Scheduled and actual performance and progress could be monitored on an OPENPROD project website while coordination was facilitated through regular management and technical meetings. The annual ModProd workshop in Linköping, Sweden, helped to disseminate the OPENPROD results.
In respect of standardisation activities, the Open Source Modelica Consortium (OSMC) will disseminate and maintain open-source results from the project, with the OMG (Object Management Group) responsible for standardisation of results related to UML/SysML and their integration with Modelica. A paper has been written and accepted on enhancing the ModelicaML UML/Modelica profile for vVDR – virtual Verification of Design Requirements. The Modelica libraries can now be accessed and used from ModelicaML. The Modelica Association has contributed to the new FMI standard for simulation collaboration. Work done in OPENPROD will support new versions of Modelica such as Modelica 3.2, Modelica 3.3 as well as basic properties for the future Modelica 4.
Exploiting the results
Closed proprietary solutions are often a hindrance to widespread dissemination and uptake. The use of open-source and open solutions in OPENPROD makes it more adaptable and more affordable for users – especially small and medium-sized enterprises – to integrate results in their products. This is apparent in some of the opportunities that have been taken by project partners to exploit the results of the project.
In handling uncertainties (e.g. for plant diagnostics, system monitoring and reliability analyses), EDF has reused simulation models for studying uncertainties via the OPENPROD prototypes, extending this to state estimation algorithms and to multi-mode systems. Furthermore, EDF has applied the improvement of validation methodology during system design to plant subsystem control. LMS Imagine intends to exploit some of the results within the AMESim solution, enabling a new level of compositional system description and allowing technical progress of the MODELICA compiler.
Bosch Rexroth used the HiL (Hardware in the Loop) demonstrator to testing inside the in-house simulation environment. IFPEN integrated variable step integration capabilities with FMI import in the commercial version of xMOD. VTT is employing the System Dynamics Tool in Contract research and jointly funded projects together with customers for system dynamics consultation projects. Siemens is monitoring OpenModelica's capabilities for fluid modelling as a possible basis for a Modelica centred in-house tool chain for the longer term. In the academic arena, universities are looking to exploit OpenModelica open-source software disseminated through OSMC and as a research platform for research projects and papers in relation to university courses on modelling and simulation.
The success of the Modelica next-generation language and tools is dependent on the co-operation between many partners, both at European and international level, to enable it to become a widespread international standard exchange format for reusable object-oriented model components in multi-domain simulation. To ensure its adoption by European industry and society, the OPENPROD consortium will perform a systematic open-source dissemination effort combined with exploitation by industrial users and tool-providers in the consortium.
The project's significant impact comes in the shape of improved competitiveness of whole-product systems engineering in Europe through the delivery of a next-generation OpenModelica platform with integrated UML/ SysML-Modelica-Eclipse support and proactive dissemination towards and coordination with the whole-product systems engineering communities in Europe