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 - Paolo F Cantoni

Pages: [1] 2 3 ... 549
General Board / Re: Does Database Builder work with MS Access 365
« on: September 18, 2022, 12:30:35 pm »
I can only use the 64-bit Setup. I have just tried it with ODBC, but I still receive the same result. Must I specify something special in the Connection string? In the ODBC setting, there is the parameter UID set to admin. In the database, I have not specified any special role like admin.
I think we downloaded a special driver for use with the v16 64-bit to give access to access (pun intended).  I just checked, and I can reverse engineer the above database with the 64 -bit version 16.

The best I can do is offer our ODBC DSN
Code: [Select]
DRIVER=Microsoft Access Driver (*.mdb, *.accdb)
FIL=MS Access

I hope this helps.

In EA 13, when I double-clicked on an object in a diagram or in the browser, the properties window would open.  In EA 16 the only way to open the properties window is to right-click and use the context menu.  Is there a setting somewhere in EA16 to set double-click as open properties?  I looked and could not find it.
Hi Richard,
What happens when you double-click?  I must admit, I haven't noticed any change in v16, but then almost all our vertices have attached diagrams, so double-click will open the diagram.  Don;t forget you can select the vertex and use [Alt+Enter] to open the properties window.


General Board / Re: Does Database Builder work with MS Access 365
« on: September 17, 2022, 04:59:57 pm »
Hi, Thomas,

We've been using both v15.2 and the 32-bit v16 to reverse engineer *.accdb databases via an ODBC connection with Database Builder.

Can you try any of those alternatives?


I think the usual thing is that you have elements in more than one diagram simply to shed light on them from different perspectives. In contrast, there should be a better way to see orphans in the browser (you can search for them, but nobody uses this function in practice).

Since Diagrams don't really exist in UML, it's a bit hard to call items, not on any diagrams, "orphans".
It's all part of EA's misnaming of things.


Hi Bob,
Interesting Idea!
However, for us, each item gets its own Neighborhood diagrams, so it is always in multiple diagrams.
Perhaps, if we limited the "multiples" to those diagrams that aren't composite diagrams of items.

Have you submitted a Feature Request using one of the links below?

Uml Process / Re: Can a Package Component be used to Generalize
« on: September 10, 2022, 11:12:36 am »
I have a UML Structural Component Diagram that has multiple departments, each department may have an instances of a given software.
Do you see any problem to use a Packaging Component as a means of Generalization?
I don't recommend using Packaging Components at all. They are both a package and an element and this presents multiple problems. There are several threads in these forums about Packaging Components.

We tried using them to represent Information Systems and abandoned them.

You may also want to consider what you mean with an instance, there are also plenty of threads about it.
Wot 'e sed!
Modesto beat me to it!


Thanks for all the help.
We managed to get Database Builder to see the DB.  However, as we finally realised, this is a Databricks entity,` and all the tables are SQL Server External Tables and thus not amenable to Reverse-engineering via ODBC (AFAIK).

Does anyone know of any mechanism to get at SQL Server external tables with Database Builder?

We ended up copying and pasting the INFORMATION_SCHEMA.COLUMNS into our MS Access Helper application and processing that to create the EA objects and relationships we needed behind the scenes.


From Sparx:

We have confirmed that this is an issue, and it should be fixed in the next build of EA.
Issue ID: 22082487


Is anyone using Decision Modelling Notation (DMN) in a serious way?  We've started playing with it, and it sort of works, but we'd really appreciate being able to talk to someone who's "been through the pain".

We got a small Business Knowledge Model (BKM) going and then tried to get it to talk to a Decision (invocation) by using the QuickLinker to add a "Knowledge requirement to" relationship.  When we validate the Decision Model, we get a message saying we are missing a "Knowledge Requirement" link!

Can anyone help?  We need to get some clarity on the fundamentals.


As we move to the cloud, we need to reverse-engineer Azure Synapse SQL databases. Is there some secret sauce to do this? Is it even possible?
Yes, I believe it is possible since I successfully reverse-engineered Azure SQL DBs using the "Import DB Schema" function found under Develop->Data Modelling->Import. Then on the "..." button (for the DB source), I selected "Direct Native Connection". In the next window, under the "DBMS" option, "Microsoft SQL Server" and "OLEDB" connection methods. Then specify the usual suspects for a SQL authentication connection, and hit the "Test" button to ensure the connection is good. And away EA went and got information for the tables, columns, stored procedures and indexes.
Thanls, Michael, it seems like it might work if I "get all my ducks in a row".  I'm having login problems with the synapse DB.  I'll have to check with the infrastructure group to ensure I have access.


Hi Paolo,

We have tried extending EAUML::table with very limited success; with version 15, we could not get the extension to show in any toolbars. I am curious about how you have tackled this problem.
Hi Modesto,
As I mentioned, our extension involved adding a stereotype to EAUML::table. We then created a "pattern" for that new element.  The Patterned element was able to be added to the toolbars we wanted.
A couple of other points:
1) Keep in mind that EAUML::table is not a shape like class or package (it is a special shape full of Sparx Systems idiosyncrasies, and Sparx Systems does not want to touch it, despite the fact they can be improved.
Yes, but that's what gave hope that it would still display the indicators even after we applied the shapescrtipt.  I was surprised when they didn't appear.
2) From memory PKs and FKs are operations; their definitions are stored in all the operation-related tables. As I think I mentioned in another thread, I would not have implemented them as operations.
Yes, that's not the problem here.  The element is set up correctly (and without our "overlay", it all renders as expected).


Hi Paolo,

I haven't tried to extend the EA table within a profile, and it would be interesting to know if it disables EA table implementation of DB tables with the custom rendering (PK, FK, Not null, etc.).
Have you tried to manually set up tables with and without the profile to get at least in the native profile all visual indicators, i.e. PK, FK, PfK (if both PK and FK), and * (not null)?
For PKeys, you need to get an attribute property + create a PK operation.
For FKeys, you need to create an association in addition to the PK setup.

Hi Guillaume,
In our setup, the Table has two stereotypes, EAUML::table and <profile>:: DBTbl.  We can set up the attributes as needed.  If we remove the DBTbl stereotype, all functions as it should.  When we add the DBTbl stereotype, the rendering of the indicators visible on the simple Table disappears.


As we move to the cloud, we need to reverse-engineer Azure Synapse SQL databases.  Is there some secret sauce to do this?  Is it even possible?
If so, could some kind soul "spill the beans"?


The setpenwidth only works for lines you draw yourself. It does not work on the native shape's lines. I for myself would regard it as a bug. But usually, it's futile to report such errors to Sparx :-/

I didn't know that.  Probably because (like Modesto) we use other techniques (in our case, MDG default rendering for the basic shape and legends for dynamic) for rendering of native shape.



I defined a SysML block stereotype within an MDG with a Type enum tagged value.
I'm trying to change the border colour and width according to the selected type value.

The colour is properly updated, yet I can't get the line width as expected.

Below is an example. I also tried moving DrawNativeShape at the beginning.

Code: [Select]
shape main{
      if (HasTag('Type','TypeA'))
      SetPenColor(190, 30, 0);
      if (HasTag('Type','TypeB'))
      SetPenColor(255, 30, 0);
Hi Guillaume,
I don't think we've had trouble with pen width in our shapescripts (and we use it a lot, both for vertex and arc shapescripts), but a couple of points to think about.
Firstly, since you already know the colour and width for each condition.  Change the function to setpen(R,G,B,with).  See if that works.  If so, then report a defect.  Also, maybe try changing the order, setting colour then pen width.
Also, I hope you've got the closing bracket in your code.  I've had all sorts of issues with the trailing "}" accidentally missing!


Pages: [1] 2 3 ... 549