Open MattWindsor91 opened 7 years ago
This again becomes an interesting idea in the case of modularity: anything that uses a mutex generally needs to be a thread FSM with an attached ID.
The syntax here is probably not what we need, though. First, some FSM views can be parametric on things other than thread IDs. Second, we don't always want to bound the thread IDs.
I think it'd be nice (not necessary, but nice!) to have a more concise and high-level syntax for encoding
n
-thread state machines in Starling.My immediate syntax thought was eg.
For example, in Peterson's algorithm you might have:
automatically encoding into into (assuming we have conjunctive predicate support):
My main feeling here is that doing this would A) save a lot of space in the paper for these sorts of examples, and B) have a nice story of showing that high-level patterns similar to those in iCAP etc. map into Starling's small proof core quite nicely.