In defining a Profile for Progress ABL, I am finding a couple of points where I am wondering about what is considered best practice in stereotype usage.
This relates primarily to the fact that we have two different sorts of top level elements. One is source code and is called «oeProgram» and is a Component and the other is the compiled unit which is actually executed and that is called «oeCompileUnit» and is a Package.
One question arises from the fact that there are certain of these general elements which we want to have a special stereotype, e.g., «oeMenuProgram» instead of just «oeProgram». It seems to me that there should be two stereotypes here, one for each original type, e.g., «oeProgram» and «oeProgramCU» or some such. So, I am pretty clear on that question.
The other question relates to connectors between these elements, e.g., one element can execute another element. These links are always within kind, i.e., source to source or compiled to compiled. So the question is whether it is reasonable practice to use one stereotype, e.g., «oeRunProgram» for the links between both types of elements on the basis that it is the same relationship which is being indicated or should it be two different stereotypes to indicate the difference in the elements being connected?
The latter will result in rather more stereotypes being defined, of course, but might also result in greater clarity.
Opinions?