R825 - modelint/shlaer-mellor-metamodel GitHub Wiki
R825 / Generalization
Activity is a Method or State Activity
In the original Shlaer-Mellor methodology, the only type of Activity that could be specified was a State Activity called a procedure in the pre-UML days.
There was the additional concept of common processes which specified a data flow diagram snippet that could be invoked from multiple Real States. With the advent of UML, the common processing idea was rebranded by the supporting tools as instance Methods.
Unfortunately, Methods bring a lot of object oriented programming baggage that was never intended in Shlaer-Mellor's platform independent specifications. But until we reformulate common processing as it was originally intended, we'll have to put up with Methods a while longer. But, ultimately, they should probably be eliminated to preserve the original platform independence feature of Shlaer-Mellor.
For now, we offer policy suggestions to limit the kinds of Actions can be used in a Method. For example, you should never signal an instance or send a completion signal within a Method.
A complete set of guidelines and/or an alternative to methods should be formulated eventually. 25-12-29 - LS