Tags and keywords
The slide shows a more realistic example of using an ElementGroup:
The quick brown fox jumps over the lazy dog.Just nine little words. Let's see how much we can elicit from those nine little words.
Let's look first at the elicited Types. There are blocks
Dog, and some ValueTypes represented (as a modelling choice) using Enumerations:
ColorKind (carries literal 'brown'),
SpeedKind (carries literal 'quick), and
MoodKind (carries literal 'lazy').
Those enumerations have corresponding value properties:
Fox), with defaults that correspond to the description in the pangram.
There also some instances
quick brown fox with classifier
lazy dog with classifier
Dog, with their Slots populated with the defaults.
What's that abstract base block
Animal doing there? Nobody has even told us yet whether dogs and foxes are animals!
If we had additional information about animals we might know whether all animals have a mood, speed, and color. For now we'll assume this is correct, and so there are Generalizations from
Dog to the abstract
Animal and the value properties have versions in the abstract
Animal with no defaults; the versions in
Dog are re-definitions that carry specific defaults.
jumpOver(jumpee) has also been placed "up" in the abstract
Animal from the start, where the 'in' Parameter
jumpee represents any
Animal that gets jumped over. The Operation is then redefined in
Fox to have the default for its
jumpee Parameter set to be the
lazy dog instance.
Such concerns are a matter for a fully-fledged parsing analysis recipe, and beyond the scope of this trail section on the basic SysML ElementGroup. The quick answer is that as one processes relevant text snippets from more domain source documents such wrinkles in the model do get ironed out well.
In any case, that's 14 elicited model elements already and a nice starting point for a robust model!