Software Development Kit for the Open Surgical Communication Protocol

We are developing a software development kit (SDK) for the Open Surgical Communication Protocol (OSCP) that supports the development of interconnected medical devices according to the recent IEEE 11073 standards for interoperable medical device communication. Our tool, the OSCP Device Modeler, allows the specification of temporal assertions for the respective data streams of the systems and generates automatically corresponding monitors that may be used during testing, but also during the application in field to ensure adherence to the interface specification. A further tool, the OSCP Swiss Army Knife, allows subscribing to the services provided via the interfaces of the system under development and thereby supports its debugging.

Screenshot of modeling a pulse oximeter in the Device Modeler’s GUI.Screenshot of inspecting the running pulse oximeter with the Swiss Army Knife.Screenshot of modeling a pulse oximeter in the Device Modeler’s GUI (left) and inspecting the running pulse oximeter with the Swiss Army Knife (right).

Open Surgical Communication Protocol (OSCP)

OSCP consists of the data transmission technology Medical Device Profile for Web Services (MDPWS), standardized as IEEE 11073-20702, and the domain information and service model, standardized as IEEE 11073-10207. MDPWS is based on a SOA and allows devices to find each other in a local network using WS-Discovery.

Device Modeler

The Device Modeler supports the process of developing network interfaces for medical devices: It provides a graphical user interface to design a MD description and it generates source code which publishes the interface description and the current values to the network. The generated code is also capable of handling incoming requests changing the devices parameters and controlling the device and contains synthesized monitors continuously enforcing the (temporal) constraints by rejecting requests which would lead to invalid states. The generated code can either be used as network interface for a real medical device or without further need of writing any code as a stand-alone simulator.

Our tools support several temporal logics for the specification of the correctness properties:

  • ω-regular expressions,
  • Linear Temporal Logic (LTL),
  • Smart Assertion Logic for Temporal Logic (SALT), which adds syntactic sugar to LTL and
  • regular LTL (RLTL), which offers the expressiveness of regular expressions while being as applicable to the domain of temporal specifications as LTL.

For the monitor generation the library LamaConv is used.

The device modeller will be made available for evaluation and educational use. Until then you can already use the device template.

Device Template

The OSCP device template can be seen as an example on how to use openSDC. You can either download and run the compiled version below and use it as an example OSCP device or you can use the source code as a basis for your own medical device. Contact us (see below) if you are interested in the source code.

In order to run the device template on your machine you may need to exchange the name of your network adapter in the configuration file config/mdpws.properties. The adapter name is en4 on my machine which may needs to be replaced with the name of you network adapter in three positions in the configuration file. (Simply search for en4.) You can use the provided script info.(bat|sh) to print the names of the network adapters available on your machine and run.(sh|bat) to start the device.

You may use the provided software for evaluation and educational purpose.

Swiss Army Knife

The Swiss Army Knife is a generic client which can connect to all available medical devices in an OSCP network. It allows the user to inspect the devices’ descriptions and current states as well as watch the state changes over time, either manually or with synthesized monitors checking the adherence of the system to user defined correctness properties.

You may download and run the current version below. Simply exeute the self-contained jar file. Since this generic client discovers OSCP devices available in your local network, using it is way more fun if there is an OSCP device available in your local network. You may use the above device template for this purpose.

Requirements: Java 8 with JavaFX. On windows currently only the 32 Bit JVM is supported.

You may use the provided software for evaluation and educational purpose.

Literature

More details on the tools described on this page can be found in our paper Runtime Verification for Interconnected Medical Devices (Presentation) which we presented at the ISoLA 2016.

Contact

If you have further questions, problems using the software provided on this page or want to extend it in some way, feel free to contact Malte Schmitz.

OR.NET

OR.NET – Safe Interconnection of Medical Devices in Operation Rooms

This project was undertaken partly in the scope of our engagement in the project OR.NET.