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 - philchudley

Pages: [1] 2 3 ... 50
1
Hi All

I have achieved this via a Model Based add-in, but as Geert says it is NOT trivial.

In addition to creating a Text element with a subtype = 76, all the legend stuff is located in t_xref with a specific ; delimited string and the RGB values must be stored in EA's own integer values this entry is then cross referenced to the Text element. This requires a new entry per legend to be created in t_xref with each having its own GUID.

Phil

2
I presented two videos on how to build MDGs in two EA Global Summits 2020 and 2021, videos also on YouTube.

https://www.youtube.com/watch?v=385d7bv7GUE&list=PLsiYAecFNMTyfPw7cX_NwyUsyYmhW04Ho&index=6&t=1791s
https://www.youtube.com/watch?v=yk4vj-UNnms&list=PLzgMKV20hWv_b-RHQSTvdmF12PFnYV2lu&index=19&t=197s

but again I guess no download links to my EA repositories and any supporting files

Please send me a Personal Message, and I will reply with my personal e-mail, by which you can request my repositories and any supporting files which I can then send to you.

These are both *eapx files but I will migrate them to *qea

Hope this helps

Phil

3
Bugs and Issues / Re: Not able to set stereotype 'struct' on C++ class
« on: December 03, 2024, 08:07:42 pm »
It works on Class with language C++ in EA v 17 with Code Engineering added to the current perspective.

Phil

4
General Board / Re: I cannot resize a port in a diagram
« on: December 02, 2024, 11:13:09 pm »
Right-click the Port
Select Advanced | Port Size Customizable

Then you can re-size your port

Phil

5
Happy to help.

I have checked my Relationship Matrix in my SysML models and the allocate relationship is set:

source is Block
target is Use Case


So if creating the allocate on a diagram I would quicklink from block to use case and select allocate to

Al the best

Phil

6
Not Sure if this will help but in SysML (and I assume similar would work as well), I use the relationship matrix to allocate blocks to use cases using the SysML allocate relationship. (In UML another relationship would work).

Then in the scenario, if the name of a block that is allocated to the Use Case owing that scenario the name is underlined and a hyperlink s created allowing the block to located in the Browser.

Certainly, setting a classifier for the Use Case (Ctrl +L) displays the classifier on the Use Case diagram but does not create an hyperlink in the scenario.

Phil

7
General Board / Re: Generate parts by associations through scripting
« on: October 04, 2024, 05:22:04 pm »
Yes its an embedded element (child of the block).

You will have to create the part element in your script and set its Parent_ID equal to the owning Block Element_ID.

BUT ... the "EA magic" that keeps the part association role name and multiplicity in sync is handled within our good old friend t_xref. The exact details I don't remember, its something like

XrefID,Name,Type,Visibility,Namespace,Requirement,Constraint,Behavior,Partition,Description,Client,Supplier,Link,

{BF1D8DE6-5274-40b0-AD03-7B05C4B6B036},CustomProperties,element property,Public, , , , ,0,@PROP=@NAME=_connectorRef@ENDNAME;@TYPE=string@ENDTYPE;@VALU=<SOURCE>@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;@PROP=@NAME=isReference@ENDNAME;@TYPE=boolean@ENDTYPE;@VALU=0@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;,{31294601-A49A-438f-AD49-59030143FD21},{DD41CA65-BE91-481b-919C-17AB0DFDB25D}, ,


In your script you will have to create this entry in t_xref which will involve you creating a new guid for the new t_xref record.

Have fun!

Phil


8
General Board / Re: Class operation parameter types
« on: September 05, 2024, 09:01:00 pm »
Here's what I found in t_xref for a test parameter multiplicity of 1..*

XrefID,Name,Type,Visibility,Namespace,Requirement,Constraint,Behavior,Partition,Description,Client,Supplier,Link,

{D8433594-6904-416a-B247-DA7EC76655B5},CustomProperties,parameter property,Public, , , , ,0,@PROP=@NAME=lower@ENDNAME;@TYPE=Integer@ENDTYPE;@VALU=1@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;@PROP=@NAME=upper@ENDNAME;@TYPE=UnlimitedNatural@ENDTYPE;@VALU=*@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;@PROP=@NAME=isUnique@ENDNAME;@TYPE=Boolean@ENDTYPE;@VALU=0@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;,{4E9BC795-3D5A-4eb7-A916-65648B6F004E},<none>, ,

The multiplicity encapsulated within the Description field is here:

@PROP=@NAME=lower@ENDNAME;@TYPE=Integer@ENDTYPE;@VALU=1@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;@PROP=@NAME=upper@ENDNAME;@TYPE=UnlimitedNatural@ENDTYPE;@VALU=*@ENDVALU;@PRMT=@ENDPRMT;@ENDPROP;

t_xref.Client is the GUID of the operation parameter

t_xref.Type = parameter property

So

1) Extract required row(s) from t_xref using a SQL Query
2) Split t.xref.Description into its parts using ; storing in a String[]
3) Extract the info you want from the String[] using subscripts (you can work out the value from the above example) ...


Hope this helps

Phil

9
One possibility is:

1) Create a Signal element with an attribute rate and default value equal to your rate
2) On the SysML Connector between the parts, use EA's Information Flow Realized and set that to your Signal

The effect is a solid black triangle pointing in the direction of the Connector labelled with the name of your signal (I do not believe however there is a way to show the attribute and initial value)

There is a cheat and name your Signal rate = 1G / sec  ;)

Phil

10
Hi

Yes me too!

I developed a Model based Add-in which uses Session.Prompt in addition to Session.Output

Both "freeze" with the "blue circle of death" ... eventually EA will respond to the user click, say OK in the Session.Output.

I have found, that when "freeze" happens, clicking the EA title bar, springs EA back into life and the user interact with the dialog. Not ideal.

As this was for a client, I reverted to write the addin as a conventional C# dll

Phil

11
Wot qwerty said plus you may find the following fields useful as well to filter out baselines for other documents stored within the t_document table

t_document.DocID       : which despite its name is actually a GUID (the guid of the actual document entry?)
t_document.ElementID : which despite its name is actually a GUID (the GUID of the baseline?)
t_document.DocName  : the name of the baseline
t_document.DocType    : this has the value Baseline for a Baseline in the t_document table

Phil

12
Hi

In EA v16, you can create an Association between two Blocks and then use Information Flows Realized to specify what is flowing between the blocks:

BUT

You can only use classifiers such as Blocks and Value types, You cannot use any classified type and such as a Value Property like liquid : Water

I cannot find a way round this, unless I name a Value Type as liquid : Water (which I don't like).

Phil

13
Hi Jan

Apologies I found your JavaScript version just after posting my previous message :)

Thanks again for both versions of this script

Phil

14
Hi Jan

Fantastic! Thanks a lot.

Does anyone out there have a JavaScript version of this?

Phil

15
Hi

Sparx EA does not enforce the structure you describe. By default when you add a BPMN 2.0 diagram to a package you should see a dialog asking whether you want to

a) Create the diagram as a child of "model" element (as you have done)

OR

b) Create the diagram directly in the package (this is what I do)

If you choose option b) then Time Aware modelling should work fine.

BUT there is a checkbox Do Not Show this Dialog Again (or similar wording), if in the past you have checked this, then that would explain why you always get option a)

I am unsure how to "uncheck" the Do Not Dialog Again option, but maybe someone else here has that answer  :)

Of course, having created your structure, as per option a), you could always move things around to get option b).

Phil

Pages: [1] 2 3 ... 50