Software components interact via interfaces, which are often specified using imprecise, incomplete, and ambiguous text documents. These interface specifications typically describe only the signatures, but lack crucial details, such as the allowed order of events, timing information (e.g., the allowed time between events) and allowed data values (e.g., ranges for integer values). Challenges arise when interface specifications are interpreted differently. The missing information can cause issues during system integration, leading to costly redesigns and project delays. These challenges arise especially when third-party suppliers are involved. Tools are needed to prevent such integration issues, and to diagnose integration issues when they arise.

Together with its industry partners, TNO-ESI has developed the ComMA approach, and contributed the supporting tool open-source as Eclipse CommaSuite®. The CommaSuite tool replaces the informal documents with unambiguous interface models, thus reducing potential misinterpretation. The following capabilities of ComMA are designed to prevent issues during system integration and quickly diagnose issues when they do occur:
Model Quality Checks
During the design phase, ComMA’s quality checks can verify models and detect common modeling errors.
Early Behavior Simulation
Before implementation begins, a simulator can be generated by ComMA to validate whether the ComMA models accurately capture the intended behavior.
Automated Docs
ComMA generates an MS Word document using a company-specific template, automatically filling it with model information, visuals, and constraints to keep documentation aligned with the models.
Model-Based Testing
Before integration, ComMA generates a model-based tester to verify that both providing and requiring components conform to the specified interface behavior, enabling independent testing.
Runtime Monitoring
During system integration, a ComMA-generated runtime monitor checks component interactions for compliance. For deployed systems, it can analyze logs and produce a dashboard showing violations, coverage, and constraint statistics.
Log Checking
For systems already deployed, the runtime monitor can process collected log files to verify all interactions to ensure compliance with the ComMA models.

Main benefits
ComMA has already provided substantial industry impact. It has been adopted by Philips Image Guided Therapy (IGT) and Thales Netherlands. For example, Philips IGT systems are installed in operating rooms and need to be integrated with a patient support table. These tables can be provided by Philips or by another supplier. For the integration with two of these tables, ComMA helped to identify and prevent dozens of issues on both sides of the interface, finding problems in both the Philips and the supplier’s implementations. When such issues go unnoticed, they would be very costly to fix after deployment. Philips prescribes and enforces the use of ComMA through its Quality Management System (QMS), the design document templates, and the software development handbook. Philips IGT has two dozen key system-level software interfaces, and these are modelled using ComMA. Thales has modelled a few interfaces and made a generator for its own middleware. Thus, these companies prevent integration issues, ultimately saving money and making projects more predictable. Both Philips and Thales include a ComMA training in the onboarding program for all newly hired software designers and architects. As a result, a few hundred software designers and architects have been trained and are now able to apply ComMA in their daily work. To increase awareness of model-based engineering approaches and to prepare students for future careers in the high-tech equipment field, ComMA has also been integrated into master courses at both the University of Amsterdam (circa 80 students per year) and Radboud University. In total, over 500 students have been trained in this way.
Open-source project
The ComMA approach and tool have been developed in collaboration with Philips IGT and Thales Netherlands. To allow widespread use of ComMA, it has been open-sourced under the EPL license.
