Author Topic: SysML > IBD > connectors: Is there a customary & agreed notation for data rate ?  (Read 13304 times)

avi10000

  • EA User
  • **
  • Posts: 201
  • Karma: +0/-0
  • Programmer/Writer
    • View Profile
Hi all,

I have an IBD diagram modeling a HW set up containing two blocks. Each block has a port.

The two ports (one from each block) are connected by a connector.

I want to show the specified data rate of the data flowing along the connector. E.g., maybe something like this:

  rate = 1G next to the connector line

Is there a customary & agreed annotation of the connector (something like a tag adding labeling to the connector) for this that is followed by system architects?


(I posted this on another forum and got no answer. So I am deleting it from there.)
 
Thanks
Avi

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8595
  • Karma: +256/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Hi Avi,
I'm not a SysML user, so I can't answer your specific question, but I do have an observation about the semantics of the annotation.

All rates are some form of division  data/time, distance/time, consumption/distance etc.

So you either need to add the divisor in the value (e.g. in this case 1Gb/sec - or whatever it is; since 1Gb/min is NOT the same) or you need to change the name of the value to ratepersecond.

Fun fact, in English we use the term "fuel consumption" to actually denote the rate of fuel consumption - leading to subtle confusions and errors. 

HTH,
Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

avi10000

  • EA User
  • **
  • Posts: 201
  • Karma: +0/-0
  • Programmer/Writer
    • View Profile
Hi Paolo -- Thank you for your quick response. 

I totally agree with you on your notation observation.

The format was what I saw on the sketch (repeated many times) that the product manager gave me. And in my country everybody loves abbreviations...  I will pass on the remark. I am just the dumb modeler - not a product manager or sys architect.

So I hereby correct the syntax accordingly:

  rate = 1G/s - next to the connector line

And I still have the same question, as you point out.

Thank you

PDC

  • EA User
  • **
  • Posts: 89
  • Karma: +4/-0
  • Systems Engineer
    • View Profile
Maybe different for different people, but I think an IBD is generally used for 'static' structural modelling - i.e. defining the data items that 'can' be passed between structural entities. Once you start talking about rate, you are talking more in the behavioural domain than the structural domain, so maybe an Activity Diagram would be better suited to modelling rate.
Section 11.1.2 of the SysML spec introduces Continuous Systems, where flows can have rates. Maybe that's a good place to start?

Alternatively, and especially if you aren't bothered about simulating your model and other exciting things like that, then annotating the rates as simple labels (which I think is what you're suggested) or including it as a tagged value of the ItemFlow in your IBD would certainly work fine and I don't think there is any international standard notation to worry about! :)
« Last Edit: July 18, 2024, 05:53:36 pm by PDC »
Phil

PeterHeintz

  • EA User
  • **
  • Posts: 965
  • Karma: +58/-18
    • View Profile
In such a case I just add this information as a "contraint" to the connector,, just because it is a "cheep" solution.
Best regards,

Peter Heintz

philchudley

  • EA User
  • **
  • Posts: 736
  • Karma: +20/-0
  • UML/EA Principal Consultant / Trainer
    • View Profile
One possibility is:

1) Create a Signal element with an attribute rate and default value equal to your rate
2) On the SysML Connector between the parts, use EA's Information Flow Realized and set that to your Signal

The effect is a solid black triangle pointing in the direction of the Connector labelled with the name of your signal (I do not believe however there is a way to show the attribute and initial value)

There is a cheat and name your Signal rate = 1G / sec  ;)

Phil
follow me on Twitter

@SparxEAGuru

PDC

  • EA User
  • **
  • Posts: 89
  • Karma: +4/-0
  • Systems Engineer
    • View Profile
In such a case I just add this information as a "contraint" to the connector,, just because it is a "cheep" solution.

I've had a bit of a play around and I agree this is a nice neat solution.
I can't remember if there is a way to tell EA that an ItemFlow/Connector pairing on an IBD represents an existing ObjectFlow on a related Activity Diagram, but maybe that could be one way to link the structural and behavioural views... (the same Constraint could be applied on the IBD and the AD)?
Phil

PeterHeintz

  • EA User
  • **
  • Posts: 965
  • Karma: +58/-18
    • View Profile
Well linking structural and behavioural stuff, is poorly supported in SysML anyway.
Best regards,

Peter Heintz

PDC

  • EA User
  • **
  • Posts: 89
  • Karma: +4/-0
  • Systems Engineer
    • View Profile
Well linking structural and behavioural stuff, is poorly supported in SysML anyway.

I guess that's deliberate - structure and behaviour are 2 different views of the same design, so there will be some mapping (e.g. use of SysML 'Allocate') but they are intended to represent different concepts. My suggestion was a bit cheeky really... there isn't (and shouldn't be) any direct equivalence between an IBD ItemFlow/Connector and an ActivityDiagram ObjectFlow (because they represent 2 separate concepts) but I guess I wondered if EA would allow us to 'cut the corner' and show some relationship (either formal or informal) between the 2. Naughty me! :)

Edit: apologies for thread-jacking...
Phil

PeterHeintz

  • EA User
  • **
  • Posts: 965
  • Karma: +58/-18
    • View Profile
Well I do some "freestyle". I just put e.g. SysML parts and Activities to one diagram and related than e.g. ports to parameters by a kind of dependency relationship.
Best regards,

Peter Heintz

PDC

  • EA User
  • **
  • Posts: 89
  • Karma: +4/-0
  • Systems Engineer
    • View Profile
Not a bad idea - it certainly gives you the power to query the model and work out the associations between the structural and behavioural views, and if that's what you're after then it's a valid solution :) Tthe ability to 'freestyle' stuff like that is both EA's greatest power and its biggest potential weakness.
Phil

PeterHeintz

  • EA User
  • **
  • Posts: 965
  • Karma: +58/-18
    • View Profile
Well, it depends on what you expect.
For me expressing the things is more important, than “super standard” compliance.

In newer version, Sparx did something to disallow some freestyle, e.g. now all elements need to be in the SysML frame.

But I do not like that!

E.g. if you use “Action (accept events)” it is not so easy to find the place of the corresponding “Action (send signal)”’s.

In old version I dragged the “Action (send signal)”’s outside of the frame to make clear that those are not part of the activity and added a trace link to the “Action (accept events)”.

Now I have to put those into the frame, but now it is not as clear as before that this is just a trace information.
Best regards,

Peter Heintz

PDC

  • EA User
  • **
  • Posts: 89
  • Karma: +4/-0
  • Systems Engineer
    • View Profile
Well, it depends on what you expect.
For me expressing the things is more important, than “super standard” compliance.

100% agree. I've not yet worked in an organisation where there was any kind of auditing against the SysML spec (and I'd be interested to know how many organisations actually go that far).

Interesting feedback on the diagram frame behaviour in EA17. I can see why they would do that but as you say there may be times when it is desirable to intentionally bend the rules of the SysML spec to do things like that. Would be nice if features like that had an 'off' switch a bit like the 'strict connector syntax' option.
Phil