Eclipse CommaSuite

The domain-specific language of Eclipse CommaSuite allows the specification of the provided and required interfaces of a software component. Each interface is described by means of (1) a signature, i.e., the set of commands, signals and notifications that are offered by a server, (2) a protocol state machine which describes the allowed sequences of interaction events between clients and server, (3) timing constraints on the occurrence of the events, and (4) data constraints on the values communicated.  For a component, constraints can be added on the relations between its interfaces.

Based on an instance of the domain-specific language, a number of artefacts can be generated. This includes visualization based on PlantUML and GraphML, documentation, and interface monitoring. Monitoring allows frequent checks on interface conformance. For instance, during nightly tests and after components updates. Monitoring is based on traces of client-server interactions, e.g., obtained via logging or sniffing. It checks whether these traces conform to the state machine behavior of the interfaces and the additional constraints.

The tooling is available as Eclipse plugin and as command line tooling for integration in the industrial workflow.

See https://eclipse.dev/comma/ for more information such as download, installation and user guide.

State
Mature
Latest Releases

From 2024-09-06 to 2021-05-07

Name Date Review
2.1.1 2024-09-06
2.1.0 2024-06-27
2.0.0 2023-10-03
1.2.0 2022-09-07
1.1.2 2022-07-25
1.1.1 2022-06-08
1.1.0 2022-04-14
1.0.4 2022-02-23
1.0.3 2022-02-15
1.0.2 2022-01-26
1.0.1 2022-01-18
1.0.0 2021-12-21
0.4.0 2021-10-15
0.3.0 2021-08-25
0.2.0 2021-06-21
0.1.0 2021-05-07
Licenses
Eclipse Public License 2.0

The content of this open source project is received and distributed under the license(s) listed above. Some source code and binaries may be distributed under different terms. Specific license information is provided in file headers and in NOTICE files distributed with the project's binaries.

Active Member Companies

Member companies supporting this project over the last three months.

    Contribution Activity
    Commits on this project (last 12 months)