Focus PAD for the Snippet 'The quick brown fox jumps over the lazy dog'

Click on the image to view it full size

At least the following SysML Blocks can be immediately elicited from the nouns (using here a convention that the name of the first letter of a Block must be capital):

- Fox, Dog

Further aspects concerning the described Fox and Dog are then considered, as shown in the PAD in Figure 4, for which a Block Definition Diagram (BDD) has been used.

There are some attributes indicated by adjectives, which in SysML may typically be modelled (amongst other modelling choices) by value properties. It seems that a Fox may be quick (it will be assumed that this is taken from a «valueType» Enumeration SpeedKind), a Fox may be brown (from a «valueType» Enumeration ColorKind) and that a Dog may be lazy (from a «valueType» Enumeration MoodKind):

We are not explicitly told what a 'dog' or 'fox' are, but the modeller may use prior knowledge about the world and the context to conclude that they are types of animal, which is indicated using the «pa:assumed» keyword on a more general abstract block Animal and thoroughly also on Generalizations from Fox and Dog to Animal. (If the application of «pa:assumed» to such Generalizations leads to diagram clutter the stereotypes keywords need not always be shown.)

It is not always clear whether «pa:assumed» or «pa:implied» should be used in such cases, the main thing is that the modeller applies at least one of those stereotypes to indicate that an additional modelling interpretation was required.

This Snippet yields some general value properties:

- Animal::speed:SpeedKind

- Animal::color:ColorKind

- Animal::mood:MoodKind

And more specific redefined value properties with default values:

- Fox::speed:SpeedKind = quick {redefines speed}

- Fox::color:ColorKind = brown {redefines color}

- Dog::mood:MoodKind = lazy {redefines mood}

There are also Behaviors and Operations. It would seem that a Fox can jump. Can any Animal jump? Surely foxes don’t only jump over dogs. For now a more general operation is introduced, where a «pa:implied» jumpee is any animal that another animal jumps over:

- Animal::jumpOver(jumpee:Animal)

There are InstanceSpecifications classified by Fox and Dog with Slot values corresponding to the described scenario:

- quick brown fox:Fox

- lazy dog:Dog

An Association named JumpsOver is used to classify an anonymous link :JumpsOver between the instances.

And in a context block there are corresponding part properties (using a slightly different naming convention) with an anonymous Connector typed by the same Association JumpsOver:

- FoxDogPangramContext::quickBrown:Fox

- FoxDogPangramContext::lazy:Dog

Two States for a StateMachine within the abstract block Animal have also been elicited:

- Jumping, Lazing

As StateMachine Diagrams are always owned by an element that should not eventually remain under the Source Input Zone they should not be used as PADs. Elicit States instead by adding them via the /member section of the ElementGroup specification dialog in MagicDraw.

Now some new model elements have been elicited they MUST be moved out of the Source Input Zone into the main project model area as shown next .

Up next
Snippets (quotes/extracts)
Visit also
Visit also (backlinks)
Related slides (includes other tutorials)
Related slides (backlinks, includes other tutorials)