Current Results

The first half of the MODMED project was dedicated to the identification of requirements for the DSL and the trace library (WP6/D1), and then to a first definition of the DSL (WP1/D1), and the development of two versions of the trace library (WP2/D1), and of a prototype monitoring tool for the DSL (WP3/D1).


The requirements study was based on the TKA product of Blue Ortho. TKA is designed to guide Total Knee Arthroplasty surgeries, i.e. the replacement of both tibial and femoral cartilages with implants. This MCPS is used worldwide and has acquired more than 7000 traces of execution, recording events such as sensors acquisitions or interactions with the surgeon. These traces provide a rich raw material for the MODMED DSL.

The partners held about 15 meetings including presentations of the product, a hands-on session, and the review of design documents and sample traces. They reviewed a variety of requirements and listed 15 properties considered representative of what should be verified on the traces. We found that these properties express not only requirements on the TKA MCPS, but also assumptions about its environment and its expected usage which can only be investigated on the deployed system..


Based on these properties, a first version of the DSL was defined and implemented. This DSL is more usable than usual monitoring languages, and supports temporal properties between several parametric events. Further study of the requirements showed that the language should provide a mechanism to call external predicates defined by other means, such as a Python or C++ library, in order to express geometrical or GUI properties. Finally, despite our expectations, the physical time is rarely involved in the properties.

The related scientific production is as follows:

  • A short paper reporting on this requirements study was published at the AFADL 2016 conference : Yoann Blein, Identification de propriétés pour la validation d’un système cyber-physique médical, Actes de AFADL 2016, pages 8-10, Besançon, juin 2016.
  • Three conference papers (RV 2017, QRS 2017- industrial track, Qt World Summit 2017) and one poster (Journées du GDR GPL 2017) are being submitted.
  • The prototype monitoring tool was released on the project’s Gitlab ( as an open source tool, as well as two releases of the C++ structured trace library.

The tools were informally presented to a panel of prospective users from the MCPS industry. They received positive and encouraging feedback.

Future Prospects

The first part of the project has been largely dedicated to the requirements study and the understanding of the TKA MCPS specificities. This study provides a solid basis for the advances of the MODMED project. A first version of the DSL, a prototype monitoring tool, and two releases of the trace library were produced.

The next tasks of the project are:

  • Provide coverage metrics (WP4) to measure how much of a property expressed in the DSL has been exercised by a given trace, or a set of traces. This study helps us better understand the semantics of the property language. The associated tool will assist the engineers in the system testing phases to identify a wide variety of test cases.
  • Consider properties of a possibly large set of traces (WP5). Although the DSL is designed to express properties on a single trace, it can be adapted to select all traces satisfying a given property, and to retrieve values of parameters from these traces in order to submit these to a statistical analysis.
  • Build an integrated environment for the DSL, which will support the expression of properties, their monitoring on a given trace, and explanations of why a property is satisfied or not by the trace.
  • Further define the semantics of the DSL, and the capabilities of the trace library, based on the feedback from the first versions.
  • Publish the definition of the DSL, and report on its associated toolset in scientific and industrial conferences.
  • Define a medical and CPS taxonomy to further help the insertion of trace points while standardizing MCPS traces.
  • Advocate the use of structured trace libraries to software engineering communities.