Author Topic: How to use IBD and properties  (Read 2481 times)

jamookmhun

  • EA Novice
  • *
  • Posts: 1
  • Karma: +0/-0
    • View Profile
How to use IBD and properties
« on: November 23, 2016, 09:02:32 am »
Hi all,

I am very new to EA and SysML, and I want to find out more information about connector property and participant property.
1. I created an association block, but I could not find a way to put property from the reference block to the association block.
2. I am not sure when I should use connector property, distributed property and flow property.

Is there any book or manual that I could read to understand this? or please kindly explain it to me.

Thanks

Helmut Ortmann

  • EA User
  • **
  • Posts: 884
  • Karma: +37/-1
    • View Profile
Re: How to use IBD and properties
« Reply #1 on: November 25, 2016, 05:10:56 pm »
Hi,

a 'Practical Guide to SysML: The Systems Modeling Language' (Book by Alan Moore, Rick Steiner, and Sanford Friedenthal) explains it and has an example. The examples association block and participant property you can do with EA.

SysML in EA is sometimes a bit tricky. e.g have a look on:
- http://www.sparxsystems.com/enterprise_architect_user_guide/10/systems_engineering/parts_from_association.html

In my opinion the concepts you mention are advanced concept you only use after some time practising EA SysML - if at all.

Flow: Property
You use Flow properties if you want to model in or out coming Flows in ibd. In SysML you can put Flow Properties on the connector and in EA you can only put blocks like classifiers on the connector (Information Flow realized).

Type of a connector.
Make a block as Association Type, Right Click on Block, Choose Association Class and select the association you want to type by the Association Block.

Connector Type on a ibd.
- Make a bdd with two blocks and a named association
- Make the associated ibd with the two parts derived from the two blocks of the bdd.
- Make a connector between parts
- Right Click on the connector, Advanced, Set Connector type
-- You can choose the name of the association of the bdd

Distributed Properties:
I usually use the Contraint possibility of the Property, Value to define the distribution. You may also use a stereotype or a tagged value to define the type of distribution.

You see it's somehow tricky in EA. Search the forum for SysML and you'll see some experiences and who has knowledge about EA and SysML.

In my personal view a good start for structure in EA/SysML only needs:
- Types
- Blocks with values and operations/receptions
- Parts and references
- Ports and Interfaces to define the points and rules of communication
- Know how to connect structure and behaviour

If you have some practice you may experience more advanced concepts. After seeing some limitations of modelling it's often easier to understand and practice advanced concepts.

I've seen a lot terrible models with intense using of advanced concepts.

Regards,

Helmut


Coaching, Training, Workshop (Addins: hoTools, Search&Replace, LineStyle)

natvig

  • EA User
  • **
  • Posts: 53
  • Karma: +7/-0
  • I love YaBB 1G - SP1!
    • View Profile
Re: How to use IBD and properties
« Reply #2 on: November 29, 2016, 04:50:05 am »
Helmut, I agree on what you wrote, with one exception:

In SysML you can put Flow Properties on the connector and in EA you can only put blocks like classifiers on the connector (Information Flow realized).

EA is actually capable of handling item properties. Look at tagged values of your item flow. There you will be able to assign an item property to the flow. The flow can subsequently be realized by a connector.

(Also, I could live without Interfaces. Why would you want to use them?)

/Hans

Helmut Ortmann

  • EA User
  • **
  • Posts: 884
  • Karma: +37/-1
    • View Profile
Re: How to use IBD and properties
« Reply #3 on: November 30, 2016, 05:54:03 pm »
Hello Hans,

of course, you can live without interfaces.

I like them because they make contracts between parties more explicit. Another thing is that you can change implementation but stick to the same Interface. Interfaces are also a great source to test against it.

Also, you may have a look at modern languages and frameworks.

Well, your are right it's possible to assign a tagged value (refGUID) to a connector and assign a property to a connector. I've forgotten about this feature. Thanks, for the reminder. The drawback is as far as I know:
- no list of properties
- visualization is a bit complicated (via note, linked to connector tagged value)
Therefore, I would stick to conveyed items and live with the shortcomings in most circumstances.

Personally, I can live with the restriction of only using blocks as conveyed items. It says which type can by conveyed and most often it's enough. The benefit: It's easy and intuitive to use.

In my view modeling in most areas is to define goals and model accordingly. If it fits and isn't a too big deviation from pure SysML/UML it's ok for me.

Helmut

Coaching, Training, Workshop (Addins: hoTools, Search&Replace, LineStyle)

natvig

  • EA User
  • **
  • Posts: 53
  • Karma: +7/-0
  • I love YaBB 1G - SP1!
    • View Profile
Re: How to use IBD and properties
« Reply #4 on: November 30, 2016, 07:56:15 pm »
To be honest I haven't much experience with interfaces. I just think diagrams get cluttered with "lollipops". I haven't understood what interfaces add that cannot be achieved with ordinary blocks and interface blocks. If you turn to modern architectural frameworks such as the UAFP interfaces are not used.

I think you may have misunderstood my point about item properties. Everything is already in EA 12 (and EA 13). If you define your
properties on a block, item properties can be visualised exactly in the same way as item flows. No specials necessary. Follow these steps:
  • Define one or more flow properties under your block.
  • Create an item flow between two parts of the block.
  • Go to Properties | Tags of the item flow and choose your flow property created under step 1. (Only one item property is allows per item flow, as per the SysML spec.)
  • Add a connector between the parts of the block.
  • Right click the connector and choose Information Flows Realized...
  • Now select your item flows, and the item property will be displayed just lite any item flow.

/Hans

Helmut Ortmann

  • EA User
  • **
  • Posts: 884
  • Karma: +37/-1
    • View Profile
Re: How to use IBD and properties
« Reply #5 on: December 01, 2016, 04:53:46 pm »
Hi Hans,

I usually use Interface in SysML as a type of a port. You can decide whether to visualize the type or not. The Interface may contain a lot of things and is easily extensible without touching the diagram.

The so-called lollipop depiction is useful for things like Client / Server or Service-based architecture.

There are a lot of ways to make useful models. If you have good experiences with Item Flow, use it. Personally, I've seen overuse of so-called conveyed items. If you use them carefully, it's also a good way to express the thing at hand.

Regards,

Helmut
Coaching, Training, Workshop (Addins: hoTools, Search&Replace, LineStyle)

marke

  • EA User
  • **
  • Posts: 37
  • Karma: +0/-0
    • View Profile
Re: How to use IBD and properties
« Reply #6 on: May 04, 2017, 09:45:02 pm »
Hi,

Connector Type on a ibd.
- Make a bdd with two blocks and a named association
- Make the associated ibd with the two parts derived from the two blocks of the bdd.
- Make a connector between parts
- Right Click on the connector, Advanced, Set Connector type
-- You can choose the name of the association of the bdd


Hi,

I have been trying to do the above. However, when I right-click on a connector & select Advanced I do not see "Set Connector Type". Instead I see "Change Type ..." which just offers up UML connector types, not a means to navigate to an association type. I have carried out all the preceding steps. This is in EA13.

Am I missing something or has the UI changed in this respect?

Regards,

Mark

Helmut Ortmann

  • EA User
  • **
  • Posts: 884
  • Karma: +37/-1
    • View Profile
Re: How to use IBD and properties
« Reply #7 on: June 21, 2017, 10:22:17 pm »
Hi Mark,

I have just redone it. It works. I have done it this way:
0. Create Block Definition Diagram with:
1. Create Block 3
2. Create Block 1 + Block 2 as composite part of Block 3
3. Make Association between Block 1 and Block2
3. Name the Association 'MyAssociation'

4. Create Internal Block Diagram from Block 3
5. Drag Block 1 as Property into Diagram (new)
6. Drag Block 2 as Property into Diagram  (new)
7. Make Connector between Properties of Block1 and Block2
8. Right Click on Connector,  Advanced, Set Connector Type
    You can select an Association from BDD or 'none' for the connector in IBD

You may use multiple Associations and connectors. The usefulness is in your responsibility.

Kind regards,

Helmut


Coaching, Training, Workshop (Addins: hoTools, Search&Replace, LineStyle)

marke

  • EA User
  • **
  • Posts: 37
  • Karma: +0/-0
    • View Profile
Re: How to use IBD and properties
« Reply #8 on: August 15, 2017, 01:10:36 am »
Hi Helmut,

Sorry for the delayed reply. (Other forums notify of replies automatically and I forget that you have to ask for it on this one).

Thank you for your reply. That does indeed work.

Kind regards,

Mark