R842 - modelint/shlaer-mellor-metamodel GitHub Wiki

R842 / Mc:Mc-1

Parameter flows data into zero, one or many Activity

Activity inputs data from zero, one or many Parameter


When we specify the content of an Activity, it is essential to define an input Data Flow for each Parameter required by the Activity's Signature. There is no requirement that the incoming Data Flow actually be used inside the Activity. Presumably a use will be found for the input eventually or it will be removed from the Signature at some point.

Consider a State Signature shared between two Real States in the same State Model. In the Elevator Case Study, for example, the ( dir: Direction ) State Signature is shared between the Registering floor call and Clear floor request states in the Accessible Shaft Level State Model.

There is only one Parameter, but a distinct Data Flow must be populated in each of the two State Activities.

We can think of each usage of Parameter in an Activity as an Activity Input. And we can then define a distinct Data Flow for each.

So a given Parameter may apply to multiple Activities. That said, this only applies to State Activities. Methods and other activity types do not share Signatures. Nonetheless this is just a simple case. In other words, it will just turn out that a Parameter of a Method Signature will never require more than one Data Flow.

And a given Activity may or may not take any number of Parameters, regardless of Activity type.