Method - modelint/shlaer-mellor-metamodel GitHub Wiki
A method is a Synchronous Activity defined on some Class and invocable on individual instances of that Class. Methods are not defined as part of the Shlaer-Mellor Method. That said, the concept of common processing, in which the same set of actions may be invoked from multiple states, is prescribed by Shlaer-Mellor in [OOA96] .
The key motivation for including Methods is that they can simplify State Activities by consolidating common processing that might be invoked from more than one State.
A Method also provides a way to define instance based processing on a Class that doesn't define a Lifecycle.
If the Class can be thought of as always being in the same state Exists
, for example, there isn't much point in
defining that State Model.
Methods aren't the only soultion, however, and in many cases, a Derived Attribute is a better choice.
All Methods are instance based.
Identifiers
- ID + Domain
- Name + Class + Domain
Attributes
Name
Type: Method Name, based on String