[T2] Modeling and checking state-based component interfaces with CommaSuite
Given the importance of interfaces for component-based development, this tutorial introduces a modeling approach for state-based software interfaces. Interface models include the signature, a protocol state machine and constraints on timing and data. Also, constraints on relations between component interfaces can be specified in the context of a component model. Based on these models, a state diagram, a Word document, a monitor (based on runtime verification techniques), and test cases can be generated. The monitor and the test cases are used to check if a software implementation complies with the behavior specified in the model. The approach is supported by open-source tooling called CommaSuite, see https://www.eclipse.org/comma/. After an introduction to the approach and the modeling language, the participants will be asked to download the tool and perform a few exercises to get hands-on experience with the tool. Finally, we discuss how the method is used in a few high-tech companies for specifying and monitoring interfaces of reactive components.
Participants of the course are kindly requested to install the CommaSuite tool before the start of the tutorial, see https://www.eclipse.org/comma/site/download.html (the easiest way is to download the product).