Signal Action to and from Metamodel Exploration Tech Note - modelint/shlaer-mellor-metamodel GitHub Wiki
mint.sm-meta.action.tn.8 / Leon Starr / Version 0.1.0 / 22-2-10
We'll start with some simple signal action language and see if we can populate it into the signal subsystem metamodel and then take a round trip and see if we can reconstruct the very same action language (or something close enough).
Using tn.7 as a guide, let's start with the first example Scrall action:
Serviced stop -> my destination floor
Assuming we have parsed the Scrall properly, we should identify that we have the following:
- A
Signal Instance Set Action
- A destination Instance Flow:
my destination floor
- An Event Specification providing a Signal name
Serviced stop
We can then populate all of these elements into our Signal subsystem metamodel.
But we're not done since we need to construct a data flow graph for our Activity which includes this particular action language statement.
We need that data flow graph since it tells us what data dependencies exist in our Activity so that we can determine the order of execution of all of our Actions (even though we only have one Action at the moment).
Since we are using a primitive Action, we know that its structure is predefined (as opposed to some computation that we custom build for each case).
This means that we have pre-populated the Data Flow domain with a Process Specification corresponding to our primitive Action.