Sparx Systems Forum
Enterprise Architect => General Board => Topic started by: ebeb on November 19, 2009, 12:27:47 am
-
Hi,
the title explained it already: I currently wondering how to connect an activty diagram from one package/model with a use case from a different other pkg/model? I think, making it composite would be the handiest way by making it clickable. But I don't think inter-package composites are working.
What other way would be possible? using the relationship matrix...? Is there any more direct way, like "create link" but for elements/packages outside the current package? :-?
Thanks,
jan
-
Jan,
Well, I just tried the following (which is what you are asking) and it works. I'm not sure I would recommend structuring a model in this manner, however.
Say you want to make a use case composite such that it links to an activity diagram in another package. Create a use case diagram in one package and add the use case. Create an activity diagram in another package. OK, now drag the activity diagram underneath the use case in the model (temporarily). Right click on the use case in the diagram and choose Advanced...Make Composite from the pop-up menu, thus establishing the desired link. Now drag the activity diagram back to its own package in the model. The link remains in force.
Paul
-
Paul - I've used that process too, but in this case ebeb seems to want to do this between models rather than just between packages.
-
Jan,
Rather then trying to connect an activity diagram to a usecase, shouldn't you think about what it is exactly that you are trying to link to a usecase?
What does that activity diagram represent? I'm guessing it represent the behavior of the implementation of the usecase.
In my models activity diagram never live alone in a package, they are always nested under a "Behavior" type of element. (Usually an Activity)
So I think you better nest that activity diagram (and all the Actions and transitions depicted on that diagram) under a Behavioral type of element, and create a relation between the usecase and that Behavior.
This relation could be a dependency with the <<trace>> stereotype, or any other classification.
Now it doesn't matter anymore if the usecase and the behavior are defined in the same package.
Geert
-
@Paul
Thanks for your reply! Actually, I though about trying that and then dismissed the thought :) . Good to know that I works but as you already suggested, it's more a hack than a common workflow.
@Graham
Model...I'm not sure... I think a high-level package is called a model in EA, so: yes, a model
@Geert
You are absolutely right! But I love the "clickability" that comes with composite elements. That is a really nice thing. I'd appreciate if sparx would implement some advance behaviour like setting that a inter-package/model dependency could also provide "clickability".
But for now, is there any other way than the relationship matrix to apply such a dependeny? And why would you suggest using the trace stereotype? Isn't it more like realize (Just a feeling)? Or is this in terms of ULM simply wrong?
Thanks,
Jan
-
Jan,
It might be correct to use a "Realization" relation between those two element, but personally I'm a bit careful with that relation. I keep it only for the relation between interfaces and their implementation.
That is just a personal thing, but I've noticed that it makes things easier to understand if a certain relation has a specific semantic. If you are using it for several things then the semantics of the relation become dependent on on the context they are used in, which makes it difficult to explain.
Geert
-
hmm...yeah, you're probably right.
I just tried it, but in the realization matrix (in this case it was use case / requirements) i couldn't find the "trace" relationship.
Do you mean "link" or are we talking about two different things? :)
-
Jan,
The "trace" link is actually just a regular depencency with stereotype <<trace>>. So I guess you'll have to look for depencency iso trace.
Geert
-
The Trace relationship is in the Relationship Matrix, in the Link Type drop-down list. I don't think there is any difference between editions. Possibly a version difference - what version of EA are you using?
-
7.5.846 (Corporate)
(http://stashbox.org/710755/ea_rel_matrix_dep.PNG)
Jan
-
OK - Neil worked this out. I think he is looking at a fix, because it is a bug, but perhaps you could submit a bug report to make sure the issue is logged?
You cannot see the Trace connector, and you should be able to in any edition of EA. That is what requires fixing.
I can see the Trace connector because I am using the Ultimate edition, in which the Relationship Matrix gets the connector from the MDG Technology for SysML 1.1, which is integrated with the Ultimate edition.
Thanks to SuperNeil. Funny, I didn't realise who he really was until he took his glasses off...
-
:-?
Work-around for now is to create a profile with the "trace" stereotype and give it the _metatype attribute with initial value "Trace". Load profile in the Resources tree or add it to a technology...
-
I think he is looking at a fix, because it is a bug, but perhaps you could submit a bug report to make sure the issue is logged?
Consider this done.
-
Hi, I got the following answer to my bug report:
A "trace" relationship is a stereotyped Dependency. You should be able to see these relationships in the Matrix by selecting "Dependency" as the Link Type.
Unfortunately there is no way at this time to further filter the Matrix based on a specific stereotype (E.g. "trace"). This will mean that all Dependency connectors (including other types of stereotyped
dependencies) will also be visible in the Matrix.
It seems, as if there never was such a relationship exept in this SysML featured versions of EA.
-
Hmm, looks like we're getting mixed signals from down under...
On the one hand they consider it a bug, and on the other hand they way it works as designed... :-/
Maybe however handled your support request should talk to Roy or Neil...
Geert