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.

Topics - Hurra

Pages: [1] 2 3
General Board / Hide element name on diagram?
« on: November 01, 2018, 09:30:12 pm »

I was looking for a way to only show the classifier name on a diagram, but didn't find any. Is there a way to hide element name, to only show the classifier?

I was thinking of show alias, and perhaps make a script that sets the alias to the classifier name, but the instances have no alias?


General Board / When to use instance and property
« on: October 29, 2018, 06:49:13 pm »

We are modelling with the UAF-mdg, and we would say we follow the framework correctly.

I do wonder though, is there any "correct" situation when to use instance instead of property or vice versa?

The new objects which are created when making an instance/property are not the same. Is there any "golden rule" for when to create an instance or property?

The problem we encountered was when setting multiplicity on inherited roles.

Situation A use role 1 (inherited), with multiplicity 3.

In situation B role 1 (inherited) is used as well but with multiplicity 2. Since the role is inherited it changes the role 1 in situation A multiplicity to 2 also. This is a situation where we decided to create instances instead.

Is the use of instances/properties situational? Use what best fits your demands?

I would appreciate guidance!

Thank you!


I have an SQL query where I collect roles which are inherited, denoted with the ^-sign.

Code: [Select]
select roll.ea_guid as CLASSGUID, roll.Object_Type as CLASSTYPE, roll.Name as rName, roll.Note as rNote, rollclassifier.Name as rcName, rollclassifier.Note as rcNote, org.Name as oName, org.Note as oNote, instans.Name as iName, instans.Note as iNote

from (((t_object roll
inner join t_object org on roll.parentid = org.object_id)
inner join t_object instans on org.parentid = instans.object_id)
left join t_object rollclassifier on rollclassifier.Object_ID = roll.pdata1)

where instans.Object_ID = #OBJECTID#
and roll.stereotype = 'ResourceRole'

roll.Note is empty, although when I select it in the project browser, or on a diagram, the Notes section has text. My best guess is that it is an inherited property and therefore not displayed?

Also I try to find the classifier/pdata1 of this role, with no results, i.e. rollclassifier.Name and .Note is empty. Perhaps wrong type of join?

org.Name and .Note as well as instans.Name and .Note are displayed.

Thank you for your time!

Automation Interface, Add-Ins and Tools / SQL to find classifier
« on: October 18, 2018, 06:51:13 pm »

I don't really get why I don't get any results for this SQL-query...

Code: [Select]
select o.ea_guid as CLASSGUID, o.Object_Type as CLASSTYPE, o.Name
from t_object o, t_object o2
where o2.Object_ID = #OBJECTID#
and o.ea_guid = o2.Classifier_guid

If I change the and statement to
Code: [Select]
and o.Object_ID = o2.ParentID

I get the correct parent, but it doesn't work with classifier?

What am I missing? It's such a small and simple search  :-\

and what does o2.Classifier return? I googled and found:

Quote from: Inside Enterprise Architect by Thomas Kilian
NULL or 0 where not defined. If > 0 then it is the
    primary key of the element which classifies the element

Tried to use it as a returning object ID with no result.


Automation Interface, Add-Ins and Tools / Get what element is classifier of?
« on: September 28, 2018, 12:14:03 am »

When handling an element there are a lot of attributes (?) to use in order to get classifier information, e.g. ClassifierID, ClassifierName, ClassifierType.

How do I go the other way?

Element A is a classifier for a, aa and aaa. I don't see any link/relation to the instances.

The reason I want this is because I have used Post elements as classifier of ActivityPartitions. I have all my Posts accesible in my script, all I want to do is collect all the ActivityPartitions and list all owned actions.

Can I do this an easy way?  8)


I've run in to some problems with a SQL query.

I have defined some roles to an OperationalPerformer (UAF) in a package named x Organisation where x is the alias of the element OperationalPerformer.

I find all the elements I need with

Code: [Select]
select o.ea_guid as CLASSGUID, o.Object_Type as CLASSTYPE, o.Name, p.Name as PName
from t_object o, t_package p
where p.Package_ID = o.Package_ID and p.Name = "x Organisation"

I want to make this more generic for documentation. Therefore my thought was I add the element of interest and use its alias, something like:

Code: [Select]
select o.ea_guid as CLASSGUID, o.Object_Type as CLASSTYPE, o.Name, p.Name as PName, o2.Alias
from t_object o, t_package p, t_object o2
where p.Package_ID = o.Package_ID and o2.Object_ID = 8451 and p.Name = o2.Alias + ' Organisation'
and setting the o2.Object_ID to #OBJECTID#.

However I can't get this to work. I tried all kinds of combinations with parenthesis, brackets, '', "", wildcards (using like).

I guess this has a simple solution, but my SQL skills are not the best.

Thank you!


I usually work with ArchiMate, but the last 6 month switch to UAF, which can be implemented with SysML.

The main difference, for me, between ArchiMate and SysML is the idea with definition and usage which SysML implements. Although I get the concept and know how to use it, I don't fully get the purpose of this.

Lets say I create a block diagram defining car (from ):

Great, now I know the main components of the car. If I have a look in the traceability window I see the relations to these subsystems.

What I don't get, is WHY do I create part properties/instances of these blocks where they are used. Have a look at the internal block diagram:

Why not use the blocks from the previous diagram? If I would like to see the relations I have to find the instance of the block and then look at the relations, instead of just going straight to the block definition. Some relations, like reference associations are documented in the block diagram.

All the examples I looked at, also read Delligatti's SysML Distilled, use this pattern:

Block name: Example Block
Instance name: eb, or exampleblock - sometimes just blank

If the instance have the same name as the block, why not just use the block? I get the obvious examples like:

Block: Volvo XC90
Instance: myVolvoXC90:VolvoXC90

I think what is confusing me a bit if the go down yet another level, have a look at the block diagram for the PowerSubsystem:

Lets say that the ElectricalPowerController also is used in the LigthningSubsystem (see fig 16). In the IBD:s, do I re-use the instance of ElectricalPowerController, epc, or do I create a new, epc2? If I re-use the instance, why not use the block definition?

I guess what I want is an explanation motivating me to create part properties/instances of blocks to use in IBD:s instead of mindlessly create and use them. And also when I should re-use/create new these.

Compared to ArchiMate, where I create an element and only use that element. Why is instances better?


I have some questions regarding EA's implementation of UAF. I'm not really sure if I'm using some parts wrong or there is something with the MDG.

I have a high-level operational scenario described in an Operational Structure view, UAF Operational::Structure, composed of OperationalPerformers.

I show information transfer with OperationalExchange and with OperationalPorts.

Now I want to detail an OperationalPerformer to show internal parts, thus using OperationalRole-elements, and the UAF Operational::Structure diagram. However, this is not an IBD and can't show ports on the border/boundary of the block-diagram.

I can create an IBD, but then the diagram is not UAF Operational::Structure. Can I create an UAF Operational::Structure and convert to IBD? How can I place ports on the boundary if the diagram is not IBD?

Am I implementing UAF wrong?

Thanks for any guidance.

General Board / Sort elements in Gantt?
« on: April 09, 2018, 05:58:07 pm »

I am trying to organize a project with EA. No problem creating a Gantt, I would however like to change the order of the elements by end (or start) date. Now it always sorted in alphabetical order.

Can I somehow add milestones in this Gantt? Or only by creating element, assign resource? I can't easily visually distunguish "work" from milestones.

I also saw a post on the forum, without answers, regarding linking element w resources together, e.g. if I delay one element, the next moves as well. Is this possible?

Thank you.


General Board / Office MDG and SharePoint
« on: April 06, 2018, 05:39:41 pm »

I did some googling but mostly found questions regarding using SharePoint as repository which is not what I'm looking for.

I can't find out what the SharePoint integration is. There is Publish to SharePoint. Is this a HTML-export? Images? Should I use it on diagrams? Packages? Root nodes?

Also, I can't seem to be able to connect to our SharePoint URL. Do I have to log in as admin? What URL should I use?

Where can I find more information?

Thank you!



I use a SQL search to find my elements that I want in a table in my report.

I made it easy for me and put the desired elements in a diagram and my search has diagram name as input and lists all the elements on the diagram which was found:

Code: [Select]
SELECT o.ea_guid AS CLASSGUID, o.Object_Type AS CLASSTYPE, AS Name, o.Note AS description
FROM (( t_object o
INNER JOIN t_diagramobjects do ON do.Object_ID = o.Object_ID)
INNER JOIN t_diagram d ON d.Diagram_ID = do.Diagram_ID)
WHERE LIKE '#WC#<Search Term>#WC#'

The result is correct according to the SQL search/output window, however in the report, only the first element of that list is generated.

What am I missing?


General Board / Element name on default iamge
« on: March 16, 2018, 07:09:04 pm »

I was requested to use an image as background image for a certain type of element. We have not made a custom MDG and can therefore (?) not add a background through shape script. I added the image by right clicking: Appearance: Set Default Image.

The problem is that I now only can place the name under the element, or hide it. Can I somehow still have the name in the same place in the element, just on top of the background image?

I tried to do some googling but didn't find anything.

I guess the problem also is that this has to be done to all element "instances" of this type. I guess I might be able to script it..

I know I have played around with editing shape scripts through: UML Types, but I cant find any elements from ArchiMate there? I do see two ArchiMate relations: ArchiMate3::ArchiMate_Association and ArchiMate3::ArchiMate_Composition, but no elements.

Thank you!

Automation Interface, Add-Ins and Tools / EA Element class .Elements
« on: March 08, 2018, 02:00:57 am »

I am building a rather complex document spanning down four levels and collecting various neighbouring elements.

I have run into a problem, which I first thought might be a bug, but probably is some error in the code.

I start the documentation with a diagram with elements. For each element I get child elements with the built in sections: package>element>child elements>, and then continue with a custom script.

Quote from: enterprise architect user guide: EA Element Class


Notes: Read only

Returns a collection of child elements (sub-elements) attached to this element as seen in the tree view.

Collection Class

I had no problem continuing the document documenting relevant neighbours and further child elements. However, we added a child diagram which caused problems and I don't understand why. According to the documentation elem.Elements should only collect child elements, not all childs like child diagrams.

The strange thing also is that some elements which have child diagrams have correct documentation, but one element with child diagram only generates correctly if the child diagram is removed.

Snippet of the code which cause error SOMETIMES when there is a child diagram:
Code: [Select]
element = Repository.GetElementByID( objectID );
childElems = element.Elements;
for ( i = 0; i < childElems.Count; i++ )
currentElement = childElems.GetAt( i );
relatedRoles = getNeighbour( currentElement.ElementID, "stereotype", "ArchiMate_BusinessRole" );
if ( relatedRoles.length == 0 )

I think the problem is that childElems sometimes include a child diagram. Is that even possible??

Any help where to start debugging is appreciated! Perhaps it is enough to add
Code: [Select]
if ( childElems.Count == 0 )
? But I doubt that is the problem since there are child elements..


I'm creating some documentation and usually find elements via scripting, not SQL, which I know, is not the best idea. I've run into some problems sorting an array in JScript, I don't know what really..

Therefore I thought I might try to create a SQL query instead and of course ran in to problems due to my lack of experience..

I want a search where I collect all neighours of a certain stereotype.

My first thought was some kind of JOIN of t_object.stereotype = #<Search Term># and t_connector.End(or Start)_ObjectID=#OBJECTID#. I will have the ObjectID through the script. I'm guessing I somehow have to use xref also?

SELECT obj.ea_guid AS CLASSGUID, obj.Object_Type AS CLASSTYPE, obj.Name AS Name, obj.Note as Description
FROM t_object obj JOIN t_connector con..?
WHERE obj.Stereotype LIKE '#WC#<Search Term>#WC#' AND..?

All help appreciated!


As topic.

If I ask for element Notes, and nothing is added. What is the return?


I use JScript.

Is it the same result for all note? Diagram etc.

Pages: [1] 2 3