Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - Uffe

Pages: 1 2 3 [4] 5 6 ... 74
General Board / Project MDG Technology options storage
« on: December 07, 2017, 02:57:08 am »
Hi all,

Anyone know where the project set of required / disabled MDG Technologies is stored?
Can't find an obvious candidate table.


General Board / Audit: document generation
« on: December 06, 2017, 02:43:58 am »
Hey all,

Auditing can audit XMI import/export. Can it also audit document generation? Who, what, when?
No, right?


qwerty's point is that the element structure is complex, and the API does not have a Clone() feature. The simple workaround is to create a temp package and clone that, as Q suggested.


I could use the diagram stereotype to show different tagged values. This shape script will go into a mdg profile later, so it may be better to use Type or MdgType.

If you use Type or MdgType, you can create custom diagram types which are preconfigured to show/hide relevant sets of tags. Downside with that is you have to change diagram type in order to change what's shown in it. If instead you use the diagram stereotype, you can change it on the fly, but you can't create a custom diagram type that only shows a specific subset of tags. So that's a question of how you prefer to work.

Either way though, changing diagram type or stereotype constitutes a modification of the diagram which may require you to unlock it etc.

Right now I am trying to find out the best way to do this. We can still change the way we work. Is custom compartments a better way?

With this approach, you move the different specialized sets of tags to different elements (either child elements or other elements connected to the core element), then select custom compartments in each diagram. You can also create linked notes which show custom compartments. Custom compartments are a bit wonky at least in version 11, and IIRC you have to select custom compartments individually for each element. So it's all down to how you want to work.


Is there another (better) way to do this?

In brief: don't.

Do not allow a metamodel where one element type represents different aspects of some concept. You will end up tearing your hair out.
I know you won't listen to that -- no one ever does -- but just for the record.

I'm with qwerty on this one, it's better to use some property of the diagram, rather than the element, to determine which tagged values you show. I'd suggest the .Type or .MdgType rather than the .Stereotype because the diagram stereotype can only be set manually and is not really a true property of the diagram, but it depends on how you set up your diagrams.

If you hadn't bunched all the unrelated tags into the same element, you could have used custom compartments with ChildElement or RelatedElement sub-scripts.


Uml Process / Re: Tagged values
« on: December 01, 2017, 10:28:07 pm »
I was pointed to this by a recent question in StackOverflow: tagged values do no longer exist in the UML 2.5 specs. The only real mention is on p. 205
When a Stereotype is applied to a model element, the values of the Properties have traditionally been referred to as tagged values.
That's it!

Now, what would that mean to EA? A concept that is used vastly in MDG does basically not exist in UML. How does that fit?

Well, they're actually mentioned in 19.2.3 as well. But that's neither here nor there.

The point is that the term "tagged value" may be considered obsolete, but the concept is most definitely not. It actually says as much at the beginning of same paragraph.

Quote from: UML 2.5,
Just like a Class, a Stereotype may have Properties, which have traditionally been referred to as Tag Definitions. When a Stereotype is applied to a model element, the values of the Properties have traditionally been referred to as tagged values.

Stereotypes may have properties. Says so right there. The rest is just a clarification that what this version of the specification refers to as properties and property values, is what has traditionally been referred to as tag definitions and tagged values, respectively.

So no. Tagged values have not been removed from the standard. They're referred to as property values, and function the same as before.


Suggestions and Requests / Re: Relationship between/to Attributes
« on: December 01, 2017, 07:58:48 pm »
Hi Tom, and welcome to the forum.

Am I expecting too much?

In brief: yes.

This isn't an EA issue, but the way UML works: Attributes Do Not Have Relationships.

EA has a function called "link to element feature," with which you can fake connections to attributes and operations (which is what qwerty's talking about and something you've already tried). However, this is mainly visual. Crucially, these fake (well, semi-fake) attribute connections are not available to other core functions like basic document generation or relationship matrices: these functions only see relationships between elements (classes, components, etc).

That said, the semi-fake links are stored in the database (every EA project is a database, even an .EAP file) and it is quite possible for a skilled document template wizard to create an advanced template which pulls that information out of there. But in order to get that done, the wizard would need a complete understanding of what else you want in your document -- a requirement spec, in other words.

I don't think you could get attribute links to work in a relationship matrix. With document templates, it's possible to use "template fragments" which can query the database directly, but that option is not available to relationship matrices.



Actually, I just notice that it does indeed work if I create a toolbox-item for MyAttribute and from there drop a MyAttribute on a MyElement which confirms my suspicion above. So I guess my question now is, how do i get MyElement to always define attributes as MyAttribute no matter which way of adding attributes to an element I'm using?

The only way to do that is with an Add-In, which sets the stereotype and adds the tags when the attribute is created.


Hej Mats,

Not with a regular XMI export. If you've got the Reusable Asset Service set up, its upload function checks for dependencies and prompts you to include them. Main selling point of that service right there.

I think an XMI import includes references (GUID) to out-of-scope elements, so that they can be resolved if the referenced elements are present in the target project, but I think the import ignores those that cannot be resolved. I may be wrong on this.




Using the enumeration type approach, you can of course reuse the same enumeration as a tagged value type for both class stereotypes and attribute stereotypes.

In general, it doesn't quite make sense to inherit tagged values from an element to its attributes. UML inheritance doesn't work that way. You should note, however, that if you create a stereotyped class with a set of tagged values and (in another class) add attributes whose types are that class, then the class' tagged values are inherited to the attributes and can be overridden if you wish. The attributes need not themselves be stereotyped for this mechanism to work.


Uml Process / Re: Action pins and instances of artifacts
« on: November 28, 2017, 11:06:29 pm »
Why does UML prohibit this connection? (Or, why does EA claim that it does?)

It sounds like EA's validation code saying "it's an artifact" and using the artifact rules rather than "it's an instance" and using the instance rules. Probably worth a bug report.

Done. Btw, EA does the same thing for activity parameters: object flows between parameters and objects are allowed, but those between parameters and artifact instances are not.


Bugs and Issues / Re: EA 11 and Windows 10
« on: November 27, 2017, 10:57:22 pm »
If you've already upgraded and are in a bind, as a holdover solution you might consider using a virtual machine. Oracle's VirtualBox is free for at least personal use (don't know about professional) and simple to set up. You can make it integrate pretty seamlessly with your local network and even your host desktop if you like.

Of course, you also need a Windows 7 license for this approach to work.


Uml Process / Re: Action pins and instances of artifacts
« on: November 27, 2017, 10:19:57 pm »
EA lets me draw object flows between actions or action pins and instances of classes (objects). This is useful for when you want to show the object states explicitly in your activity diagram.

But if I make an instance of an artifact, EA says the requested connection is not UML compliant. Why is this?

I can work around it and force EA to accept this construction. That's not the question. The question is, why does UML say I should not make instances of artifacts and have them be the endpoints of object flows, like I can with instances of classes?
It may be because Artifacts are always instances.

That doesn't answer the question. I'm aware that in EA artifacts are a hybrid of classifier and instance: an artifact instance can itself be the classifier of another instance, which an object (or class instance) cannot -- but if anything that should prevent me from creating instances of artifacts, not restrict which connectors I can draw to those instances once I've created them.

Why does UML prohibit this connection? (Or, why does EA claim that it does?)


Hi Guillaume,

Just a quick hit to say I've done Add-In WiX installers before. I don't have one here, but I'll have a look tonight.

I spent this weekend trying to create a Visual Studio template for EA Add-Ins. It almost almost works -- but Studio creates an extraneous directory between the solution directory and the two projects that I create (for the Add-In DLL and the WiX installer). If anyone's got any input on that, it'd be a lot of help.


General Board / Re: Defined variables / string interpolation
« on: November 18, 2017, 03:32:31 am »
Hi Colin,

The nearest thing I can think of is the word substitution feature, which allows you to replace a number of predefined terms in generated documents. It does not apply to diagram rendering nor to HTML reports, and you can't add your own terms for substitution. (Although that could probably be hacked around somehow.)

Related to this is the project constants feature, which allows you to define your own constants for use in report generation, but these are referred to from within document templates and are not substituted in the text pulled from the model.

Each element and connector has an alias, which can be presented instead of (or in addition to) the name, but this won't get you very far if you need multiple substitutions for a single term.

A set of AddIn-calling shape scripts could do it, but those only apply to diagrams and the performance would be atrocious. Simply put, this is not a concept that exists in EA's design. Trying to add it would be a lot of work and would result in a patchy solution at best.

Maybe something could be done with the cloud server and WebEA, but I doubt it.


Pages: 1 2 3 [4] 5 6 ... 74