Exercise 4: tackling large/complex systemsΒΆ

For this exercise, you’ll continue working with the results from the third exercise. The goal is to ensure that as soon as pneumatic cylinder reaches the ‘opposite’ side, a lamp goes on, and as soon as it starts moving back, the lamp goes off again.

First, extend the plants with an additional plant for the lamp. Then add one or more requirements to get the desired behavior. Synthesize a supervisor, and use simulation-based visualization to validate your new supervisor.

Once you’re have a new working supervisor, try to split the plants/requirements file into two files. The first file will contain exactly that what it contained at the end of the third exercise. The second file will contain the additions to ensure the lamp is properly controlled. See the Using multiple plants/requirements files section of the specification phase page, as well as the synthesis phase page, for more information on working with multiple plants/requirements files. As before, make sure your new supervisors (multiple, one for each plants/requirements file) work correctly, by using simulation-based visualization.

Splitting your plants/requirements into multiple files, and synthesizing multiple supervisors, is essential when working with larger and more complex systems. For this relatively small example however, it is not really necessary. However, learning the ideas behind the approach is much simpler when working with smaller systems.