Book a Demo

Author Topic: socket line notation  (Read 3050 times)

PeterM

  • EA Novice
  • *
  • Posts: 13
  • Karma: +0/-0
    • View Profile
socket line notation
« on: July 07, 2009, 11:11:02 pm »
O n Page 263 of applying UML and Patterns  by Larman he describes a new interface realization called socket line nottion.

In class relationships (Toolbox) there is a relationship that looks exactly like this notation (tooltip = Assembly) but when I try and use it to connect two classes or a class and interface the resulting association is nothing like what the toolbox icon looks like.

How can one get this apear to as per the book?  :-/

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: socket line notation
« Reply #1 on: July 08, 2009, 04:00:18 pm »
I'm guessing the socket line notation is the other side of the lollipop.
In that case you can use the "exposed interface" tool on the composite or component toolbox. Drop that on a class, select "required" and the approriate interface.

But... the required interface is actually nothing more then another way to show a dependency to an interface. This is in no way a realization. If you wish to show a realization then you could use the "provided interface" (small lollipop) or a regular realization of an interface, and then change the appearance of the interface into "lollipop" (right click, Advanced/Use Circle Notation)
The difference between the provided interface and the realization is that with a provided interface you do not specify exaclty who or what is realizing the interface. It could be that only a part of the element is realizing the interface. It merely states that the interface is available from this element.
 The realization on the other hand clearly states which element is realizing the interface.

Geert
« Last Edit: July 08, 2009, 04:07:29 pm by Geert.Bellekens »

PeterM

  • EA Novice
  • *
  • Posts: 13
  • Karma: +0/-0
    • View Profile
Re: socket line notation
« Reply #2 on: July 08, 2009, 10:14:51 pm »
Using the exposed interface on a class and then making it provided I get tyhe lollipop notation. If I use another on related class and make it required I get the socket nottion. I get something similar to what Craig Larsman has on Page 263 of his book. It is not the same however as I cannot connect the two.

To quote him

Lollipop notation indicates that Clock3 implements  and provides the Timer interface to clients.
Socket line notation. Window3 has a dependancy on the Timer interface when it collbaorates  with a clock3 object.

I could e-mail someone a copy of the image I scanned in which would make it clearer.

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: socket line notation
« Reply #3 on: July 08, 2009, 10:44:55 pm »
You are on the right track. The only thing missing is a visual link between the socket and the lollipop.
Now this is something that is not supported very well by EA.
If you really which to show the connection between the required and proviced interface I would use a regular dependence between the required and the proviced interface. It may not look as nice as the assembly connector, but at least I have a hard reference to the interface used by both parts.

Geert

PeterM

  • EA Novice
  • *
  • Posts: 13
  • Karma: +0/-0
    • View Profile
Re: socket line notation
« Reply #4 on: July 09, 2009, 11:10:28 am »
Maybe in the next version they will address this as it is part of the UML 2.0 standard.

In the mean time I can live with it.  ;)