Skip to content

Adapt CIF tools other than controller properties checker for 'controller:properties' annotation

Idea

Adapt the CIF tools other than controller properties checker for the 'controller:properties' annotation. For instance, the convert-uncntrl-events-to-cntrl could check for presence of the bound properties annotation, and warn the user or delete the annotation or so.

  • Some tools already handle it correctly:
    • CIF controller properties checker
  • Some tools don't generate CIF models as output:
    • CIF to Supremica transformer
    • CIF event-based synthesis toolset (the tools that don't generate a CIF model)
    • CIF simulator
    • CIF to mCRL2 transformer
    • CIF to UPPAAL transformer
    • CIF code generator
    • CIF PLC code generator (stable and experimental one)
    • CIF to yEd transformer
  • Some tools create a completely new specification:
    • CIF event-based synthesis toolset (the tools that generate a CIF model)
    • CIF explorer
    • CIF multi-level synthesis
  • Some tools preserve the behavior
    • Other CIF to CIF transformations
  • Some tools should remove the annotation:
    • CIF data-based synthesis
    • CIF merger
    • CIF event disabler
    • CIF to CIF (un)controllable events to (un)controllable
    • CIF to CIF linearize merge
    • CIF to CIF remove requirements

Only the tools in the last category need a change.

Origin From #621 (comment 2536037):

[...]

  • A tool could check for presence of the finite-response-bounds annotation, and then consider if what it is about to do is safe wrt to the bounds.

Indeed, this is the idea for the existing controller:properties annotation, see #816 (closed).

I meant it not just for PLCgen but in a more general sense. For example convert-uncntrl-events-to-cntrl could check for presence of the bound properties annotation, and warn the user or delete the annotation or so.

Addresses #892

Edited by Dennis Hendriks