UML Element ID's and how they are related

I am wondering if you can tell me how VP creates keys for its UML model elements - does it use the name of the element, or create an internal, immutable id value so that two model elements of the same name (and same type of element) might have separate instances in the model?

The reason I ask is that I noticed when I was creating a use case diagram, which has a lot of extension points on one use case, that I ended up with two extension use cases graphics that were representing the same model element. If I changed the name of one, then the other immediately changed to the same name. This was even though I created all of the extension use cases using the resource-centric interface’s Extend->Use Case button. I think I inadvertently gave them both the same name initially and/or I named the extension points in the base use case the same, and so they both represented the same use case on the diagram.

I am unclear on how elements are uniquely identified by VP internally, and how it relates elements together.

Also a related question - When I extend a use case, an extension point is listed in the base use case’s graphic. Is this extension point related in some way to the extension use case, or is this just an entry in the extension point text list that is created as a convenience to the designer?

Thanks,
Mark

Hi Mark,

I am sorry but I am clear about how we internally identify model elements. But I can explain to you why the use case name is changed.

This is all about our Model Sharing feature. Model Sharing promoted the reuse of a model element in other diagrams. Changes made on one model with cause other instances of the same model to update themselves (even they are put in different diagrams). This ensures your model is consistent through the development life-cycle.

Then you may ask in what way model sharing will occur? There are mainly two ways:

  1. When you drag a model from Tree onto diagram, the model newly appear on the diagram is an instance of the master model.

  2. When you create a new model, no matter via diagram palette or resource icons, a unique name will be assigned to that model. But if you change its name to one that is already in use by another model of the same model type, the new model will automatically be converted to an instance of the master model. That means, when you modify its detail, all other instances will be changed at the same time.

Is this extension point related in some way to the extension use case, or is this just an entry in the extension point text list that is created as a convenience to the designer?

An extension point is a feature of use case that identifies a point in a use case where the behavior can be extended by the behavior of another use case.

Best Regards,
Jick

Thanks that’s what I needed to know!

On the extension points listed in the use case, I guess I was wondering if I can vary the extension point list in the base use case independently from the extension use case. I know the two use cases are related using the extend relationship, rendered as a line between the two. And, the line can have a caption, but there is also an entry in the list of extension points of the base case. Is there an internal connection between these two, or are they indenpendent? There is no provision for sorting, or manual re-ordering lists in VP, and I’m wondering if I can manually reorder the list of extension points by just retyping the list in the order I want. Will I mess up anything by doing that?

Thanks!
Mark

Hi Mark,

There is a connection between extension point, connection line and the extension use case. So please do NOT reorder the items by just retyping them. This will mess up the references.

By the way, you can refer to the Extension Points tab inside the Open Specification of a use case to know which Use Case an extension point is referencing to.

There is no provision for sorting, or manual re-ordering lists in VP

I think that we should provide a function for user to shift extension point up and down. I will talk to our engineers about this.

Best Regards,
Jick

Hi Mark,

I would like to inform you that extension points can now be reordered from the Open Specification dialog box of a use case. This change is deployed as a hotfix. Please download the hotfix here:
http://files2.visual-paradigm.com/200602/HotFix/20060128a/vpplatform.jar

The following article shows you how to apply the hotfix to your VP Suite:
http://resource.visual-paradigm.com/tips_and_tricks/general/replacing_hot_fix.html

If there are any further inquiry, please do not hesitate to contact me.

Best Regards,
Jick

Wonderful! Thank you!

-Mark