UoY-RoboStar / robocert-textual

Textual plugin and CSP generator for RoboCert
Eclipse Public License 2.0
2 stars 0 forks source link

Consider allowing specialised instantiation of sequence groups #53

Open MattWindsor91 opened 3 years ago

MattWindsor91 commented 3 years ago

Currently, targets have a default instantiation that can only be overridden in assertions. However, there is at least one scenario where I can imagine it being useful to be able to define a sequence group that is exactly the same as an existing sequence group modulo further instantiations: being able to template up properties of the Segway then test them on lots of PID settings.

This might also make it easier to mix targets/sequences into CSP refinements, but I'm increasingly less convinced that having that functionality is good (after talking with Ana, and also after spending a lot of time trying to work out what it'll look like). Hmm.

MattWindsor91 commented 3 years ago

I quite like the idea of having a notion of inheritance:

sequence group Base : module -> world {
}

instantiate NoPid: Base {
    AnglePID::P and AnglePID::D and SpeedPID::P and SpeedPID::I and RotationPID::D set to 0
}

then ideally you'd be able to distinguish the Base instantiations from the NoPid instantiations, but I'm unsure precisely how one would do that in EMF.