Author Topic: Creating responsibility diagrams  (Read 8620 times)

dbJav

  • EA Novice
  • *
  • Posts: 12
  • Karma: +0/-0
  • A picture speaks a thousand words !
    • View Profile
Creating responsibility diagrams
« on: December 13, 2006, 07:22:31 am »
Hi there,

I'm trying to produce "responsibility diagrams" showing the relationships of a given actor.  Now when a swimlane in an activity diagram (or BPMN diagram in my case) is used as an instance of an Actor. The instance does not appear in the project view and can therefore not be dragged to a responsibility diagram.

If I drag the Actor instead, it shows no relationships.  The fact that an activity or task is drawn within a swimlane should however be considered as having a relationship with the Actor (or Actor instance?).

I would like the possibility to reuse Actors (or Actor instances?) as swimlanes in some diagrams and as the usual Actor icon in other diagrams.

Denis.

«Midnight»

  • EA Guru
  • *****
  • Posts: 5651
  • Karma: +0/-0
  • That nice Mister Grey
    • View Profile
Re: Creating responsibility diagrams
« Reply #1 on: December 13, 2006, 10:05:45 am »
Denis,

AFAIK, neither EA nor UML imply a relationship between swimlanes and elements. So you're out of luck as far as this is concerned. This is a bit like boundaries, where there is no formal 'ownership' relationship as there is with (packages) packages.

As far as instances showing up in the Project Browser, check your settings for tree depth. It is possible for elements - particularly instances - to be at too low a level in the model to show up. You'll find the right settings from the main menu via Tools | Options. They are at the bottom of the main Options page.

David
No, you can't have it!

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8607
  • Karma: +257/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Creating responsibility diagrams
« Reply #2 on: December 13, 2006, 12:43:33 pm »
Quote
Hi there,

I'm trying to produce "responsibility diagrams" showing the relationships of a given actor.  Now when a swimlane in an activity diagram (or BPMN diagram in my case) is used as an instance of an Actor. The instance does not appear in the project view and can therefore not be dragged to a responsibility diagram.

If I drag the Actor instead, it shows no relationships.  The fact that an activity or task is drawn within a swimlane should however be considered as having a relationship with the Actor (or Actor instance?).

I would like the possibility to reuse Actors (or Actor instances?) as swimlanes in some diagrams and as the usual Actor icon in other diagrams.

Denis.
Hi Denis,

As you may know many EA vertexes (Classifiers, behavioural elements etc)  Can be rendered in more than one way.  For example, a control entity can be rendered as a either the circle based notation or the rectangular notation.

If a vertex had an option:  Use Partition notation (for this diagram - Partition is the UML 2 name for a swimlane) would this help you?  That way the partition and the Actor would be the same thing - just rendered differently.

Now, the next step is to define that you indicate relationships between other vertexes and the partitioning vertex by either an explicit edge between the partition and another vertex, or by placing the other vertex within the partition.  This placement would create a relationship between the two vertexes.  What would be the nature of the relationship, type, stereotype?

If Sparx implemented such an approach it would make your (and others) lives a lot easier; would it not?

HTH,
Paolo
[size=0]©2006 Paolo Cantoni, -Semantica-[/size]

[Edit: previous afterthought was incorrect]
« Last Edit: December 14, 2006, 02:14:37 am by PaoloFCantoni »
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

dbJav

  • EA Novice
  • *
  • Posts: 12
  • Karma: +0/-0
  • A picture speaks a thousand words !
    • View Profile
Re: Creating responsibility diagrams
« Reply #3 on: December 14, 2006, 01:31:45 am »
Hi David,

Quote
AFAIK, neither EA nor UML imply a relationship between swimlanes and elements.

The UML 2.0 and 2.1 specs really show an association named "represents" from ActivityPartition to Element. Please also take a look at the semantics section for ActivityPartition.  

Quote
As far as instances showing up in the Project Browser, check your settings for tree depth. It is possible for elements - particularly instances - to be at too low a level in the model to show up. You'll find the right settings from the main menu via Tools | Options. They are at the bottom of the main Options page.


I have modified the "Max Hierarchy View Depth" and "Open hierarchy view to" options but they have no impact on the "project browser".  They only concern the Hierarchy window.  Unfortunately the actor instances created for the partitions are visible neither in the Project Browser nor in the Hierarchy window.   :'(

In the end here's what I'd like to achieve with EA: retrieve the information that a given actor (represented the normal way or as a partition) has been used in different diagrams,  and produce a diagram which shows an Actor and all of its usages in these diagrams (usage represented by a link between the actor and a diagram).

Denis
« Last Edit: December 14, 2006, 02:01:34 am by dbJav »

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8607
  • Karma: +257/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Creating responsibility diagrams
« Reply #4 on: December 14, 2006, 02:10:16 am »
Quote
Hi David,

The UML 2.0 and 2.1 specs really show an association named "represents" from ActivityPartition to Element. Please also take a look at the semantics section for ActivityPartition.
[size=13][SNIP][/size]
Denis
Hi Denis,

Thanks for the pointer.  Looking back at my post, I see I made an error in the after thought.  (What happens when you rush it... :))  I've now gone back and corrected it...

However, the represents association isn't the one I was talking about.  That association is the ability to use partition notation.

What I was asking about (obviously not too clearly) was...

Say I have a previously unrelated classifier and I drag it onto a partition that represents another classifier, what is the nature of the relationship you have now created between the two classifiers?

Paolo
« Last Edit: December 14, 2006, 02:20:24 am by PaoloFCantoni »
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

«Midnight»

  • EA Guru
  • *****
  • Posts: 5651
  • Karma: +0/-0
  • That nice Mister Grey
    • View Profile
Re: Creating responsibility diagrams
« Reply #5 on: December 14, 2006, 06:12:05 am »
Quote
If I drag the Actor instead, it shows no relationships.  The fact that an activity or task is drawn within a swimlane should however be considered as having a relationship with the Actor (or Actor instance?).

I would like the possibility to reuse Actors (or Actor instances?) as swimlanes in some diagrams and as the usual Actor icon in other diagrams.

and
Quote
The UML 2.0 and 2.1 specs really show an association named "represents" from ActivityPartition to Element. Please also take a look at the semantics section for ActivityPartition.

As I understand it, the various "represents" relationships you mention are between swimlane headers class or attribute elements. These relate a particular swimlane to a given element in the sense that the element is the 'topic' of the swimlane. The element must appear elsewhere in the model. The "represents" relationship is not meant to relate the swimlane to other elements 'between the lines' as it were. If you want to define relationships between the 'header' element and other elements in the model, use the appropriate UML connectors. Simply including them within a swimlane does not constitute a semantically meaningful relationship.

David
No, you can't have it!

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8607
  • Karma: +257/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Creating responsibility diagrams
« Reply #6 on: December 14, 2006, 08:29:13 am »
Quote
As I understand it, the various "represents" relationships you mention are between swimlane headers class or attribute elements. These relate a particular swimlane to a given element in the sense that the element is the 'topic' of the swimlane. The element must appear elsewhere in the model. The "represents" relationship is not meant to relate the swimlane to other elements 'between the lines' as it were. If you want to define relationships between the 'header' element and other elements in the model, use the appropriate UML connectors. Simply including them within a swimlane does not constitute a semantically meaningful relationship.

David
I do believe, Sir David, that you are contradicting me...   ???   ;D

I did imply that including one classifier within a a partition representing another created some semantically meaningful relationship...  However, I did observe that I was at a loss to formally define it...  So maybe we are both right...

To paraphrase a very old advertisement for a non-alcoholic beverage maybe there's a: "Clayton's" relationship - the relationship you have when you don't have a relationship...

Anyway, we're agreed that the represents relationship is what provides the name in the header of the partition (if there is one) and doesn't link the partition to its contents.

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

«Midnight»

  • EA Guru
  • *****
  • Posts: 5651
  • Karma: +0/-0
  • That nice Mister Grey
    • View Profile
Re: Creating responsibility diagrams
« Reply #7 on: December 14, 2006, 09:23:59 am »
Quote
I do believe, Sir David, that you are contradicting me...   ???   ;D

I did imply that including one classifier within a a partition representing another created some semantically meaningful relationship...  However, I did observe that I was at a loss to formally define it...  So maybe we are both right...

I suspect that any contradiction, real or implied, may be caused by limitations in the specification...

If they'd just get around to formalizing these things then this area would (or at least could) sort itself out. In the process there might even be a solution to the problem Denis reported in the first place, which we still don't have a solid attack on.

Mom always said there'd be those days.

David
No, you can't have it!

KP

  • EA Administrator
  • EA Expert
  • *****
  • Posts: 2919
  • Karma: +54/-3
    • View Profile
Re: Creating responsibility diagrams
« Reply #8 on: December 14, 2006, 04:49:20 pm »
One thing you (the OP) might like to try is defining a custom search to extract the implied relationships (Wikipedia:Clayton's).

You will need to define a search that will find all actors that are used as classifier for an activity partition and return all elements owned by that partition. I think a single SQL command should do the job, joining a couple of selects on the t_object table, but it's beyond my limited SQL abilities, I'm afraid.

If you also want to find elements not owned by the partition but just positioned inside the partition, then it gets a whole lot more complicated. That would involve searching the t_diagramobject table to find instances of the partition and comparing the left, right, top and bottom values of all other objects on the same diagram, then looking up any wholly contained objects in the t_object table. This is probably a job for an add-in, not the custom search facility.

Of course, all this will give you your results in a table, not diagram, but at least you get your results.
The Sparx Team
[email protected]

dbJav

  • EA Novice
  • *
  • Posts: 12
  • Karma: +0/-0
  • A picture speaks a thousand words !
    • View Profile
Re: Creating responsibility diagrams
« Reply #9 on: December 15, 2006, 06:10:13 am »
Well I'm afraid this discussion is drifting away from my actual need.  Sorry if I didn't state my problem very precisely.  In fact there're two facets to the problem, namely:

  • relationships between a container (swimlane) and the elements it contains
  • relationship between a swimlane, the element it represents and the diagrams in which it is used

Contrary to what I may have written, I'm not so much concerned by the 1st topic than by the 2nd.

The real topic of interest is being able to produce responsibility diagrams.  I'm looking for a means in EA to add an existing actor to a diagram (dragging it from the Project Browser) then add all diagrams in which the actor intervenes. Each diagram would appear as an icon linked to the actor.  Diagram icons would be clickable in the generated HTML pages to display the diagram.

I haven't found a solution to that problem in EA yet and I would really appreciate getting it as a new feature in a future version of the tool.

Denis
« Last Edit: December 15, 2006, 06:11:10 am by dbJav »

thomaskilian

  • Guest
Re: Creating responsibility diagrams
« Reply #10 on: December 15, 2006, 06:47:21 am »
Hi Denis,
there's probably no simple solution. Except you write an add-in to do the following.
- Select the Actor
- Use Ctrl-U to see in which diagrams it appears
- Open the diagrams one by one
- Use Diagram/Show in Project View
- Drag them to the new Responsibilty Diagram

I don't know of any easier way to do what you want.
« Last Edit: December 15, 2006, 06:48:36 am by thomaskilian »

dbJav

  • EA Novice
  • *
  • Posts: 12
  • Karma: +0/-0
  • A picture speaks a thousand words !
    • View Profile
Re: Creating responsibility diagrams
« Reply #11 on: December 15, 2006, 07:40:21 am »
Hi Thomas,

Unfortunately step 2 is not working.

If you define a swimlane in an Activity diagram for instance and the Classifier refers to an Actor,  Ctrl-U on that actor does not show the usage in your activity diagram...

Can we enter that as a Bug ?

Denis

thomaskilian

  • Guest
Re: Creating responsibility diagrams
« Reply #12 on: December 15, 2006, 07:52:51 am »
I think so, since Ctrl-U should show all diagram usages. And if it doesn't it's a bug...

«Midnight»

  • EA Guru
  • *****
  • Posts: 5651
  • Karma: +0/-0
  • That nice Mister Grey
    • View Profile
Re: Creating responsibility diagrams
« Reply #13 on: December 15, 2006, 01:45:38 pm »
If it's not a bug it certainly is a limitation. Either way it is worth requesting, and something Sparx could probably address quickly.
No, you can't have it!

KP

  • EA Administrator
  • EA Expert
  • *****
  • Posts: 2919
  • Karma: +54/-3
    • View Profile
Re: Creating responsibility diagrams
« Reply #14 on: December 17, 2006, 01:37:23 pm »
Quote
Unfortunately step 2 is not working.

If you define a swimlane in an Activity diagram for instance and the Classifier refers to an Actor,  Ctrl-U on that actor does not show the usage in your activity diagram...

If you use activity partitions instead of swimlanes then Ctrl+U does find the classifiers. Custom searches can find activity partitions too. I would recommend you use activity partitions instead of swimlanes.
The Sparx Team
[email protected]