Version: [release notes]

Module 5.9: Course conclusion

And with the completion of this last module, you've completed the SBE course! You learned to model plants using discrete event models, add requirements to them, and synthesize a supervisory controller. You also learned how to create hybrid plant models for simulation, to validate the synthesized controller and check that the specified requirements accurately reflect the intended behavior. You applied what you learned in the course to the water lock case, getting practical experience with a real-life application.

Now that you've learned the basics of SBE and obtained some experience applying it using CIF, you can start applying it in practice. Do note that this course did not cover everything and you will likely have to learn more and practice more before you become fully proficient in applying SBE using CIF.

If you would like to learn more about SBE in general, you can check out the Synthesis-Based Engineering manual. It compares the SBE approach to other approaches in more detail than in this course, highlighting the advantages of the approach. In addition, it includes an entire section on how to apply SBE in practice, with useful hints per step of the SBE development process. That also covers the later steps in the SBE development process, including controller implementation.

Furthermore, the Synthesis-Based Engineering manual includes the 'FIFO example', an example that shows the power of synthesis. This example is worked out in detail, first conceptually and then also by modeling it using CIF. The example is part of a larger set of example models that are shipped with CIF. You can look at them for further inspiration.

This course covered quite a few concepts for modeling discrete event and hybrid systems using CIF. However, CIF features additional concepts, such as channels, stochastics, and print declarations. It also features more data types and expressions than covered in this course. You can learn about them in the CIF language tutorial and find further details in the CIF language reference manual. In particular, the CIF language tutorial features an entire section on SVG visualization and interaction, which were only briefly discussed in the course. The CIF language tutorial covers this topic in more detail, including information on how to make your own SVG images. It also has various examples and practical hints.

During this course, you used several CIF tools from CIF's extensive toolset. You can learn more about these tools, as well as the other tools from the toolset, in the CIF tool manual. It covers each tool in detail. For instance, the simulator documentation explains the various ways to perform automatic and interactive simulation, the different visualizers that are available, and so on. Also, the documentation of the data-based supervisory controller synthesis tool can help you to configure the tool to make synthesis more efficient, control the output of synthesis, and more.

During this course, you used ToolDef scripts to automatically run CIF tools. You can learn more about scripting CIF tools in the scripting section of the CIF tool manual. You can also check out the ToolDef website for more information on ToolDef itself.

CIF has extensive documentation that will likely answer various questions that you may still have. If it does not answer your questions, or you can't find the information you're looking for, feel free to contact the ESCET community for assistance. However, the community can also help if you don't know how to model something, or if you're stuck in applying SBE in other ways. Just reach out and we'll try to help you.