# Activity 5: Add a time constraint

Interface specifications can be extended with constraints on time and data.

1. As example, after the state machine in IService.interface, add the following time constraint with name loadProduct_reply :

    timing constraints
    loadProduct_reply
    command LoadProduct - [ 1000.0 ms .. 1100.0 ms ] -> reply to command LoadProduct

It specifies that after a command LoadProduct, the reply to this command should occur in the interval [1000, 1100], so after 1000 ms and before 1100 ms have elapsed. Note that a real is denoted in CommaSuite with a dot, e.g. 7.0, or exponential notation, e.g. 3.4e-5.

2. Use the GUI to create a .event file where the command LoadProduct is called a number of times, e.g. interleaved with other events.

3. Run the monitoring and inspect the results; note that violations to time constraints lead to warnings.

4. When a trace is checked against time constraints, statistical information is collected. This information can also be found in file dashboard.html in folder comma-gen.