Book a Demo

Author Topic: Instantiating Association Blocks in SysML  (Read 5180 times)

Ralph Hains

  • EA Novice
  • *
  • Posts: 8
  • Karma: +0/-0
    • View Profile
Instantiating Association Blocks in SysML
« on: July 12, 2023, 08:17:23 pm »
First time post (please be kind!). In particular apologies for the very textual nature of this post - I made pngs of bdd and ibd but haven't yet found out how to attach them (Attachments and other options only gives me other options!)
I'm modelling a system and one aspect I need to model is the comms network aspect. I've done this many times in many tools but this is my first time to need to do it in depth and at scale in Sparx EA. My full method would be quite an essay but one aspect of it is the following simplified example (the real thing has generalisations, loop back associations and more in the mix). Here are steps to show my dilemma:
On a BDD create two classes "RS232 Transmitter" and "RS232 Receiver", plus an association block between them, naming the association "RS232 Cable" and association block "RS232 Characteristics" (EA appears to treat the two as separate model elements with separate names). Give the Association Block a Value Property "baud rate" (You'll need a Value Type I'd call "Baud rate").
Now create one more Block called "My System" and a composition to "RS232 Transmitter" and another to "RS232 Receiver"
Create an IBD for "My System" and Synchronize the Structural Elements to get the two parts. Draw a connector between them. Right click the connector and chose "Advanced>Set Connector Type" and in the resulting dialog select "RS232 Cable". Now I'm stuck - I should now be able to set the baud rate (a value for the value property) on this connector - ideally directly (according to specification they are one not two model elements) but I would settle for having a third property node for "RS232 Characteristics" that must be linked to the connector in a similar way to the way EA handles the definitions. There is something called "Connector Property" that looks like it might the the thing I need but does not seem to work as expected (and the documentation I can find on it is minimal and not helpful). Either way I would want both to be able to show this on the diagram AND have the underlying model match.
My workaround: Create Tags (and give them values) on the connector (and don't bother with the association class) and show the tag values using a call out note. There are all sorts of reasons this isn't really satisfactory. I'll only cover one: the set of characteristics we might want a communications link to have is not fixed, baud rate is a bad example here as it is pretty ubiquitous even if we more often quote "bandwidth" on faster technologies, basically I am pointing out that using a tag (and stereotype if you want to be more compliant) mechanism is the wrong abstraction level.

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: Instantiating Association Blocks in SysML
« Reply #1 on: July 12, 2023, 09:07:41 pm »
You need to upload you pictures to a public server and use the link (in hope that others won't be blocked from looking at them). Welcome to the future of BBs.

q.