SysML Internal Block Diagram

Abstract exploration of initial values

Abstract exploration of initial values
This is a hybrid diagram, supported in the MD SysML Plugin of MagicDraw™ UML, where the initialValues compartment can be shown on a property symbol in the structure compartment on a BDD.

The Type has 5 value properties, only 4 of which have a UML Property.defaultValue, and only 2 of which are re-initialised in a higher usage context UseType:

The class-level default values of v2[1] and v3[0..*] will be "overridden" (on/after construction) with an explicit property-specific initial value, and SysML1.2 specifies that these may by shown in the initialValues compartment for property t:Type of context UseType in an IBD.

Vallue property v5[0..1] has no initial value (since it has neither a class-level default value nor a property-specific initial value).

Dr Darren has suggested that v1[1] and v4[0..1] should take their class-level default values as initial value - although, AFAIK, SysML tools do not (yet) support this. In other words, the static values should "show through" to the initialValue compartment.

PsychoMediumBoxWithSmallBallBox (IBD): the initial values compartment

PsychoMediumBoxWithSmallBallBox (IBD): the initial values compartment

And so we come to one of the potentially most confusing and least understood aspects of SysML, the infamous IBD initialValues compartment1

Although a SmallBallBox normally has by default (and so will usually be constructed with) ball oBall:Ball with color orange, in the context of the PsychoMediumBoxWithSmallBallBox (which endows some elements with psychedlic colours), the ball:Ball will become red, because the InstanceSpecification psycho_sbb:SmallBallBox (which is assigned via an InstanceValue as the Property.defaultValue: ValueSpecification [0..1] of sbb:SmallBallBox within PsychoMediumBoxWithSmallBallBox) has a red Ball in its ball:Ball Slot. Phew !

The related SysML1.2 specification snippets are:

In addition to the form of default value specifications that SysML supports on properties of a block (with an optional “=” <value-specification> string following the rest of a property definition), SysML supports an additional form ..

..

If a property belonging to a block has a specification of initial values for any of the properties belonging to its type, then the default value of that property must be a UML InstanceValue element. This element must reference a UML InstanceSpecification element created to hold the initial values of the individual properties within its usage context.

This last part can be "translated" to the case above thus:

If a property [psycho_sbb:SmallBallBox] belonging to a block [PsychoMediumBallBoxWithSmallBallBox] has a specification of initial values for any of the properties [ball:Ball, color:Color, length:mm] belonging to its type [SmallBallBox], then the default value of that property [psycho_sbb:SmallBallBox] must be a UML InstanceValue element. This [InstanceValue] element must reference a UML InstanceSpecification element [psycho_sbb:SmallBallBox] created to hold the initial values [ball=rBall, color=purple] of the individual properties [ball:Ball, color:Color, length:mm] within its usage context [PsychoMediumBallBoxWithSmallBallBox].

  • 1. Since SysML1.2 known as initialValues compartment, previously known as the defaultValue compartment, which was too easily confused with the UML Property.defaultValue, which acts at one context level higher up, and in fact carries the initial values.

MediumBoxWithSmallBallBox (IBD): a container with deep nesting

MediumBoxWithSmallBallBox (IBD): a container with deep nesting

Because the MediumBoxWithSmallBallBox does not assign a Property.defaultValue to its sbb:SmallBallBox, it ends up on construction containing a blue box with and orange ball.

Let's liven things up a bit with some more psychedelic colours; we'll need to be able to override the color of the deeply nested ball ..

Default multiplicities

This content area is UNDER CONSTRUCTION or MIGRATION

Initial values compartment

This content area is UNDER CONSTRUCTION or MIGRATION

Nested connector end

This content area is UNDER CONSTRUCTION or MIGRATION

Property path name

This content area is UNDER CONSTRUCTION or MIGRATION

Compartments on internal properties

This content area is UNDER CONSTRUCTION or MIGRATION

8.3.1.2 Internal Block Diagram

This content area is UNDER CONSTRUCTION or MIGRATION

Contents of: 8.3.1.2 Internal Block Diagram

Box.ibd: part property and value property symbols

Box.ibd: part property and value property symbols

Introduces the IBD symbols for the SysML™ part property and value property (which the MD SysML extensions encapsulate as the explicit, yet hidden, stereotypes *PartProperty and *ValueProperty).

Syndicate content
randomness