UoY-RoboStar / robocert-textual

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

Consider multi-actor sequences #32

Closed MattWindsor91 closed 2 years ago

MattWindsor91 commented 3 years ago

Eventually, we're going to want sequence diagrams between multiple controllers, or multiple STMs. This is key to get the full expressivity of sequence diagrams, but complicates a lot of things:

Amusingly,

Some possible ideas and pointers:

MattWindsor91 commented 3 years ago

We can reuse some of the syntactic ideas we used to have in older versions of the language. Here's a sketch:

sequence group S
with C1: controller Ctrl1
 and C2: controller Ctrl2
 and C3: controller Ctrl3 {
    sequence S1 {
             [C1->C2]event Evt1
        then [C2->C3]event Evt2
        then [C3->C1]event Evt3
    }
}

In other words, -> and <- would become one kind of endpoint specification, and [X->Y] another. (The square brackets here are just a clue to the parser so that it knows it's dealing with an arrow, but I'm not particularly attached to them.)

MattWindsor91 commented 3 years ago

While this change will likely need a large (but not total) change in the semantics, it'll hopefully not massively impact the metamodel.

MattWindsor91 commented 2 years ago

This has now been drafted for v0.1.