Continuous design control for machine learning in certified medical systems

October 17, 2022 in Software Quality Journal

Continuous software engineering has become commonplace in numerous fields. However, in regulating intensive sectors, where additional concerns need to be taken into account, it is often considered difficult to apply continuous development approaches, such as devops. In this paper, we present an approach for using pull requests as design controls, and apply this approach to machine learning in certified medical systems leveraging model cards, a novel technique developed to add explainability to machine learning systems, as a regulatory audit trail. The approach is demonstrated with an industrial system that we have used previously to show how medical systems can be developed in a continuous fashion.

Toward Multiconcern Software Development With Everything as Code

April 13, 2022 in IEEE Software

As software is becoming a central element in our lives, more stakeholders have concerns. Unlike today, when developers stop their coding activities to satisfy these stakeholder concerns, we propose dealing with them as a part of the coding workflow.

Medical Software Needs Calm Compliance

December 23, 2021 in IEEE Software Insights

DevOps practices, such as continuous integration and automated testing, enable fast delivery while keeping software quality high. Speed versus compliance is a similar tradeoff. To resolve this, the authors of this issue’s “Insights” department propose interweaving compliance checks with software change management via small but steady steps. They report how such a calm approach to compliance helps medical software development to become more agile without jeopardizing safety.

Introducing Traceability in GitHub for Medical Software Development

November 26, 2021 in PROFES 2021

Assuring traceability from requirements to implementation is a key element when developing safety critical software systems. Traditionally, this traceability is ensured by a waterfall-like process, where phases follow each other, and tracing between different phases can be managed. However, new software development paradigms, such as continuous software engineering and DevOps, which encourage a steady stream of new features, committed by developers in a seemingly uncontrolled fashion in terms of former phasing, challenge this view. In this paper, we introduce our approach that adds traceability capabilities to GitHub, so that the developers can act like they normally do in GitHub context but produce the documentation needed by the regulatory purposes in the process.

Towards Regulatory‑Compliant MLOps: Oravizio’s Journey from a Machine Learning Experiment to a Deployed Certified Medical Product

May 24, 2021 in Springer Nature Computer Science

Agile software development embraces change and manifests working software over comprehensive documentation and responding to change over following a plan. The ability to continuously release software has enabled a development approach where experimental features are put to use, and, if they stand the test of real use, they remain in production. Examples of such features include machine learning (ML) models, which are usually pre-trained, but can still evolve in production. However, many domains require more plan-driven approach to avoid hazard to environment and humans, and to mitigate risks in the process. In this paper, we start by presenting continuous software engineering practices in a regulated context, and then apply the results to the emerging practice of MLOps, or continuous delivery of ML features. Furthermore, as a practical contribution, we present a case study regarding Oravizio, first CE-certified medical software for assessing the risks of joint replacement surgeries. Towards the end of the paper, we also reflect the Oravizio experiences to MLOps in regulatory context.

Extending SOUP to ML Models When Designing Certified Medical Systems

March 17, 2021

Software of Unknown Provenance, SOUP, refers to a software component that is already developed and widely available from a 3rd party, and that has not been developed, to be integrated into a medical device. From regulatory perspective, SOUP software requires special considerations, as the developers' obligations related to design and implementation are not applied to it. In this paper, we consider the implications of extending the concept of SOUP to machine learning (ML) models. As the contribution, we propose practical means to manage the added complexity of 3rd party ML models in regulated development.

A Lightweight Platform for Web Mashups in Immersive Mirror Worlds

January 23, 2013 in IEEE Pervasive Computing

Cloud City Scene is a lightweight platform that enables visualizations of Web mashups in an immersive mirror-world environment in which annotations blend in with buildings, terrain, and objects, letting users interact with the underlying real-world scene.

Practical Web-Based Smart Spaces

July 23, 2010 in IEEE Pervasive Computing

Researchers from Nokia propose a Web-based framework that applies a resource-based HTTP style called Representational State Transfer (REST) to enable smart spaces to support pervasive applications in various devices. Mobile devices are evolving into hubs of content and context information. Therefore, our work focuses on pervasive applications in smart spaces that use locally available connectivity and device discovery. This approach allows, for example, sharing content and offering services locally with direct connections between devices. Although many research projects have shown the potential of such applications, the results of this research haven't yet become widely deployed.

Hypermedia-Driven Framework for Scalable and Adaptive Application Sharing

June 23, 2010

We designed a solution for scalable and adaptive sharing of desktop and mobile applications, using a lightweight network-based system compliant with the REST architectural style. The system delivers consistency of the rendered user interfaces with the state of the application logic using a stateless networking substrate. We describe the architecture focusing on how to model the user interfaces as a set of web resources. Then, we present the prototype that implements the functionality as an extension of the Qt framework, which works with different Qt-based user interface toolkits. Finally, we present a multi-display and multi-user Texas Hold’em application that shows how the system is used in practice.