Be Advised: Classified, FOUO, and PII Content is Not Permitted

SysML: small customizations to lower level components, while maximizing reuse of higher level assembly common structures

What's the best way to make small customizations (e.g. IP addresses) to lower level components of a common subassembly (block) in SysML?  Key consideration is maximizing reuse of higher level assembly common structures (e.g. internal connectivity).

Case in-point:

Common Server Rack used in several places on-board a ship.  Each application has unique IP addresses, each assigned down to a lower level component (several layers below the Common Server Rack level of definition.

Here's a simplified outline of the scenario:

 - Server Rack <<block>>

-- Display Computer <<block>> (part of Server rack)

--- Display Computer IP Address (value property of Display Computer)

-- Server Computer <<block>> (part of Server rack)

--- Server Computer IP Address (value property of Server Computer)

-- Network Switch <<block>> (part of Server rack)

--- Network Switch IP Address (value property of Network Switch)

 The actual definition of the Server Rack is much more complex (many more value / part properties and internal / external connections), but I'm simplifying it for this discussion.

 There's one server rack on the port side, and one server rack on the starboard side.  However, I don't want to make "copies" of the server rack in the model.  I'd rather use inheritance (via generalization); so that both the port/starboard racks inherit the common features of the server rack architecture, but also allow for customization of the IP addresses at the lower levels.

This has sweeping implications across the entire system model, as I have many common items that have slight customizations across 4 or 8 different applications within the shipset.

Any help on this is greatly appreciated!

Parents
  • Per SysML 1.6 See section 8.3.1.2.8 Initial Values Compartment

    This would allow you to assign IP addresses specifically to the parts of the Server rack without having to assign them, as default values, to the Blocks that type those parts.

    "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 of value specification for properties using initialValue compartments on an internal block diagram (see Internal Block Diagram on page 4). An entire tree of context-specific values can be specified on a containing block to carry values of nested properties as shown on an internal block diagram."

    docs.nomagic.com/.../Initial Values
    Note: I have found that you do not need to have a Default Value assigned to the Block property as specified in NoMagic URL.. it works even without that in 19.0 sp3 (however I didn't double check before writing this, going from memory). Showing this data on something other than an IBD is convoluted however, as you need to access the default value of the part and then the slot for the property you are looking for. But that should work in all fully conformant SysML 1.6 tools.

    See also:
    blog.ricksteiner.net/ (Has good example)

    www.youtube.com/watch (I did not watch video.. so may be wrong about relevance)

    www.sparxsystems.com/.../index.php
Reply
  • Per SysML 1.6 See section 8.3.1.2.8 Initial Values Compartment

    This would allow you to assign IP addresses specifically to the parts of the Server rack without having to assign them, as default values, to the Blocks that type those parts.

    "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 of value specification for properties using initialValue compartments on an internal block diagram (see Internal Block Diagram on page 4). An entire tree of context-specific values can be specified on a containing block to carry values of nested properties as shown on an internal block diagram."

    docs.nomagic.com/.../Initial Values
    Note: I have found that you do not need to have a Default Value assigned to the Block property as specified in NoMagic URL.. it works even without that in 19.0 sp3 (however I didn't double check before writing this, going from memory). Showing this data on something other than an IBD is convoluted however, as you need to access the default value of the part and then the slot for the property you are looking for. But that should work in all fully conformant SysML 1.6 tools.

    See also:
    blog.ricksteiner.net/ (Has good example)

    www.youtube.com/watch (I did not watch video.. so may be wrong about relevance)

    www.sparxsystems.com/.../index.php
Children
No Data