Approach

INTO-CPS created a family of interlinked tools, based centrally around FMI-compatible co-simulation, that support collaborative development of CPSs from requirements, through heterogeneous system models, to realisation in mechanical and electronic hardware as well as software. The overall workflow and services offered by the tool chain is illustrated in the Figure. 

At the top level, the tool chain allows requirements to be formalised using the Systems Modelling Language (SysML), supported by guidelines for capturing the requirements on a CPS. A SysML profile has been developed that allows the architecture of a CPS to be described, including both software, physical and networking elements. From the architectural model, an FMI interface can be generated, along with stub models to reduce effort in producing initial models.

Heterogeneous system models can then be built around this FMI interface, using the stub models as a starting point. A number of industry-strength tools was connected here, permitting these heterogeneous "co-models’" to contain discrete-event models of software, continuous-time models of physical elements and the networks between them. The tool chain permits static analysis of these co-models, including model checking and static analysis of the FMI interfaces.

A Co-simulation Orchestration Engine (COE) has been created by combining existing co-simulation solutions and scaling them to the CPS level, allowing these CPS co-models to be evaluated through co-simulation. The COE also allows real software and physical elements to participate in co-simulation alongside models, enabling both Hardware-in-the-Loop (HiL) and Software-in-the-Loop (SiL) simulation. A code generator helps support automated HiL simulation.

The COE also allows multiple co-simulations to be defined and executed, and the results collated and presented automatically. The tool chain allows these multiple co-simulations to be defined via Design Space Exploration (DSE) or through Test Automation (TA) based on test cases generated from the SysML requirement diagrams.

Developing a CPS produces a large number of artefacts, including requirements, models, analysis results, and generated code. The tool chain allows these artefacts to be stored, organised, and easily retrieved at a later date. It allows the provenance of all artefacts to be recorded and traced back to the requirements. This data can be used at a later stage as evidence in documenting the adequacy of a design to meet the requirements. This results in a complete engineering approach to manage, track and monitor model artefacts used in collaborative heterogeneous modelling.