Software interfaces play a crucial rule in component-based development. The Comma framework provides mature tool support for the specification and analysis of interfaces. An interface description in Comma contains a protocol state machine and it may specify timing constraints on the occurrence of interface events. For a component, constraints can be added on the relations between its interfaces. Using a Comma model as the single source of truth, many artifacts can be generated, such as visualization, documentation, code for middleware, monitors and tests.
At Philips Image Guided Therapy Systems, Comma is integrated into the engineering practice. As part of the continuous integration pipeline, interface conformance is checked against the Comma specification when executing automated test scenarios. Thales, too, recognizes the importance of interfaces for frequent updates of complex software. They investigate the use of Comma for evolvable interfaces and the generation of interface adapters. Together with the effort of other companies, an ecosystem around Comma has emerged.
Jozef Hooman is a senior research fellow at TNO-ESI since 2003. He participated in many “industry-as-lab” projects with the Dutch high-tech industry on performance, evolvability and reliability. Currently, he’s involved in building an ecosystem around the Comma methodology for the specification and analysis of component interfaces. This includes projects with Philips Healthcare and Thermo Fisher Scientific on the development and application of this approach. In addition to the work at ESI, he’s a full professor at the Radboud University Nijmegen on model-based development of embedded software.
Daan van der Munnik started as a software architect in Philips Healthcare. After making a sidestep as an IT director of an ISP start-up, he returned to software development in 2003. He worked on bridging the gap between the IT world and the R&D world, being globally responsible for software development tooling in Philips. Currently, he’s managing the software development in the Imaging Chain Cluster within Image Guided Therapy Systems.
Pepijn Noltes is a software architect at Thales Nederland and has been involved in different research projects concerning dynamically reconfigurable and self-healing systems in a time-critical domain for over the last five years. He has a special interest in distributed systems and software evolution. Pepijn is a member of the Apache Software Foundation and an active committer for the Apache Celix project.