Author Topic: Basic question regarding block definition and usage [SysML]  (Read 1545 times)

Hurra

  • EA User
  • **
  • Posts: 123
  • Karma: +0/-0
    • View Profile
    • Find me at LinkedIn!
Basic question regarding block definition and usage [SysML]
« on: August 10, 2018, 06:33:04 pm »
Hi!

I usually work with ArchiMate, but the last 6 month switch to UAF, which can be implemented with SysML.

The main difference, for me, between ArchiMate and SysML is the idea with definition and usage which SysML implements. Although I get the concept and know how to use it, I don't fully get the purpose of this.

Lets say I create a block diagram defining car (from https://www.omg.org/ocsmp/HSUV.pdf ):


Great, now I know the main components of the car. If I have a look in the traceability window I see the relations to these subsystems.

What I don't get, is WHY do I create part properties/instances of these blocks where they are used. Have a look at the internal block diagram:


Why not use the blocks from the previous diagram? If I would like to see the relations I have to find the instance of the block and then look at the relations, instead of just going straight to the block definition. Some relations, like reference associations are documented in the block diagram.

All the examples I looked at, also read Delligatti's SysML Distilled, use this pattern:

Block name: Example Block
Instance name: eb, or exampleblock - sometimes just blank

If the instance have the same name as the block, why not just use the block? I get the obvious examples like:

Block: Volvo XC90
Instance: myVolvoXC90:VolvoXC90

I think what is confusing me a bit if the go down yet another level, have a look at the block diagram for the PowerSubsystem:


Lets say that the ElectricalPowerController also is used in the LigthningSubsystem (see fig 16). In the IBD:s, do I re-use the instance of ElectricalPowerController, epc, or do I create a new, epc2? If I re-use the instance, why not use the block definition?


I guess what I want is an explanation motivating me to create part properties/instances of blocks to use in IBD:s instead of mindlessly create and use them. And also when I should re-use/create new these.

Compared to ArchiMate, where I create an element and only use that element. Why is instances better?
always learning!

PeterHeintz

  • EA User
  • **
  • Posts: 817
  • Karma: +49/-17
    • View Profile
Re: Basic question regarding block definition and usage [SysML]
« Reply #1 on: August 10, 2018, 08:04:21 pm »
Hi Hurra,
BDDs and IBDs have their root in UML. BDD ~ Class Diagram and IBD ~ Composit Structure Diagrams.

The BDD you can somehow regard as a structured bill of material, it focuses on what a thing consist of.

IBD focuses on how the different things within a thing interact with each other.

Let’s say you have a block representing a special kind of wheel. This wheel will be part of a car type A typically with multiplicity 4. Further on this wheel could be part of many other car types.

If you want to express how wheels interact e.g. with the power train, you need to differentiate the four wheels somehow like left-font, right-rear,…, and these are the “instances” or more correct in SysML "the right-front wheel is a property of car type A with the role to be the right front wheel of type "Wheel".

If you would only use BDD you would need to duplicate the "Wheel Types" (Blocks) as many times as wheels you have. The wheel block could even be a complex thing (wheel rim, tire, valve,…), you would need to double as well. In other words BDD and IBD is all about OO in SysML.
Best regards,

Peter Heintz

Hurra

  • EA User
  • **
  • Posts: 123
  • Karma: +0/-0
    • View Profile
    • Find me at LinkedIn!
Re: Basic question regarding block definition and usage [SysML]
« Reply #2 on: August 16, 2018, 07:38:49 pm »
Thank you for your time Peter!

When you say duplicate, you don't mean re-use? A mean create a new block called "Wheel Types"? If so, why?

I have Dellegatti's DellSat-77 example and the use of parts confuses me a bit.

The DellSat-77 have a lot of parts, on of which is Electrical Power Subsystem. This block definition, is used in two IBDs hence two "instances" named eps.

Why have two? Wouldn't it be easier with one? And re-use that instance? Isn't this a duplication? Each time Electrical Power Subsystem is used by another block we have to create a new instance? And also define dataOut flows? Or is this flow inherited from the block definition of Electrical Power Subsystem?

always learning!

qwerty

  • EA Guru
  • *****
  • Posts: 10579
  • Karma: +232/-191
  • I'm no guru at all
    • View Profile
Re: Basic question regarding block definition and usage [SysML]
« Reply #3 on: August 16, 2018, 08:49:58 pm »
There are two concrete [font=couriereps[/font] of type Electrical Power System. One in the CDHS and one in the DS77S.

q.

Hurra

  • EA User
  • **
  • Posts: 123
  • Karma: +0/-0
    • View Profile
    • Find me at LinkedIn!
Re: Basic question regarding block definition and usage [SysML]
« Reply #4 on: August 16, 2018, 08:59:02 pm »
There are two concrete [font=couriereps[/font] of type Electrical Power System. One in the CDHS and one in the DS77S.

q.

Thank you q, makes sense..

What if a subsystem shares an eps? Where would I put the instance in the model hierarchy (project browser). Or is that just bad architecture and should be avoided?
always learning!

qwerty

  • EA Guru
  • *****
  • Posts: 10579
  • Karma: +232/-191
  • I'm no guru at all
    • View Profile
Re: Basic question regarding block definition and usage [SysML]
« Reply #5 on: August 16, 2018, 10:18:15 pm »
Hmm. My SysML is quite rusted. But I'd see an association to a single instantiated EPS from both systems. You should probably wait for Peter since he's more an expert in SysML.

q.