Book a Demo

Author Topic: Very slow at adding a part to a composition  (Read 5688 times)

Dave.B

  • EA User
  • **
  • Posts: 94
  • Karma: +0/-0
    • View Profile
Very slow at adding a part to a composition
« on: September 15, 2009, 02:17:14 am »
I'm using EA Build 847 with the SysML add-on to model a complex system with many IBD's for a specific composite block. As my model has grown I'm finding that EA has progressively slowed down when a new part is created.

I'm creating a part by dragging the required block from the project browser on to the composite block in an IBD and selecting add as part in the pop-up dialog.

My guess would be that EA is churning needless through the list of existing parts rather just simply adding it. (Our model is on a MySQL database.)

I've found a short cut for adding ports with the context menu's 'embedded elements | embedded elements...' dialog. Simply click on new and in the 'Insert new embedded element' dialog uncheck the 'close dialog on OK' option. Enter the port's name and click OK. Click OK on the subsequent properties dialog, and then click cancel on the 'Insert new embedded element' when it reappears. Then... you can click on 'new' and add your next port.

This, some how, proves to be a lot quicker than the 'embedded elements | Add port' method when adding more than one port. Presumably it avoids some unnecessary SQL lookups.

Unfortunately this doesn't help when adding new parts.

My point being that it is demonstrably possible to create and add a port to an IBD far faster than the more obvious methods would do. I would guess that adding a part could be similarly quick. So why can't EA make this the general case?

Regards
Dave B.
« Last Edit: September 15, 2009, 06:23:00 pm by Dave.B »

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Very slow at adding a part to a composition
« Reply #1 on: September 15, 2009, 03:51:31 pm »
I suggest you report this as a bug to Sparx Support.
Use the link on the bottom of the page.

Geert

Dave.B

  • EA User
  • **
  • Posts: 94
  • Karma: +0/-0
    • View Profile
Re: Very slow at adding a part to a composition
« Reply #2 on: October 09, 2009, 12:32:37 am »
Just thought I'd post a follow up to this problem as I'm currently waiting for EA to add yet another part to my model >:(

I have submitted a bug report and have been given a tracker ID of 09093497 on 17-9-2009. I've chased this up recently and had nothing back.

When I first reported this problem EA was taking 80s to add a new part my SysML IBD model. Today I have timed it at 127s! >:( >:(

I'm creating a part by dragging the required block from the project browser on to the composite block in an IBD and selecting add as part inthe pop-up dialog.

My guess would be that EA is churning needless through the list of existing parts rather just simply adding it. (Our model is on a MySQL database.)

I've found a short cut for adding ports with the context menu's 'embedded elements | embedded elements...' dialog. Simply click on new and in the 'Insert new embedded element' dialog uncheck the 'close dialog on OK' option. Enter the port's name and click OK. Click OK on the subsequent properties dialog, and then click cancel on the 'Insert new embedded element' when it reappears. Then... you can click on 'new' and add your next port.

This, some how, proves to be a lot quicker than the 'embedded elements | Add port' method when adding more than one port. Presumably it avoids some unnecessary SQL lookups.

Unfortunately this doesn't help when adding new parts.

My point being that it is demonstrably possible to create and add a port to an IBD far faster than the more obvious methods would do. I would guess that adding a part could be similarly quick. So why can't EA make this the general case?

I should also state that my model is big. It has a composite block with 50+ A4 IBD diagrams and 380+ embedded elements. And before anyone states the obvious that this breaks all the modelling rules regarding complexity, it has been done this way to follow the application domain that my client works with.

What are others experiences with working with large composite models?

Regards
Dave B.

PS EA v7.5.846

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Very slow at adding a part to a composition
« Reply #3 on: October 09, 2009, 12:49:04 am »
We have a pretty large model on an SQL server backend.
- 5000 packages
- 4000 diagrams
- 50000 elements

The overall performance is pretty much OK, we don't see the wait times like you reported.
I did however notice that EA is considerably slower when dealing with classes that have a lot of operations.
For reasons I don't want to go into right now (because I'll get all upset again >:() we have some classes that contain 100+ operations.
Opening the properties dialog of such a class usually takes about 25 seconds.
I'm afraid that EA retrieves all operations (one by one) from the database before opening the properties dialog.

Another thing I've noticed is that some collections are slowers then others. I've reported this when working in a C# addin on the issues connected to elements.

Geert

Dave.B

  • EA User
  • **
  • Posts: 94
  • Karma: +0/-0
    • View Profile
Re: Very slow at adding a part to a composition
« Reply #4 on: October 09, 2009, 01:38:46 am »
Geert,
I don't think that the overall size of the model is the problem. My particular SysML model is just one of a large number of packages in the model and it all runs from a MySQL back-end. I'm convinced that the problem lies solely with the embedded parts in a composite element, because I can add a SysML block (i.e. a class) in real time.

Regards
Dave B.

Dave.B

  • EA User
  • **
  • Posts: 94
  • Karma: +0/-0
    • View Profile
Re: Very slow at adding a part to a composition
« Reply #5 on: October 23, 2009, 11:36:07 pm »
I'm pleased to report that I found a short-cut method for adding a part to my SysML IBD (composition) model that is faster than drag and dropping a block (classifier) onto the diagram. (This now takes EA in excess of 150s to complete.)

It's quite simple; drag a line out from the quick-linker on an existing part or port and drop it onto an empty part of the diagram. EA then prompts what you want to do, so select "part" and then the type of connection to be created. EA the creates a part and opens the part's properties dialog where you can rename it. A type-less part results. Right click on it and select the "Advanced -> set part type" command in the context menu. Then select the block classifier for the part from the selection tree dialog.

A bit clumsy, but a lot quicker to implement than the drag-drop method.

Ironically, using the quick linker to create a port is slow. So the previously stated short-cut for creating new ports still stands.

Regards
Dave B.

PS My troublesome composite block (aka class) has 617 embedded elements (comprising 207 parts, 370 ports, and 40 notes) - its a SysML domain model of a real world system!
PPS EA v7.5.849


Dave.B

  • EA User
  • **
  • Posts: 94
  • Karma: +0/-0
    • View Profile
Re: Very slow at adding a part to a composition
« Reply #6 on: October 30, 2009, 09:20:00 pm »
Status update:

Sparx asked me to send them my troublesome package and provided me with a model obfuscation tool to enable all of the IP to be removed whilst leaving the model structure intact.

BTW, I did find that when I cloned my package from the MySQL back-end production system into a free standing .eap file that the performance problems disappeared. I don't believe the problem is due to the performance of our MySQL server as no other part of the model has such performance problems and I have found work arounds that are much faster than the normal method for adding ports and parts to composition models.

Anyway, Sparx have responded:
Quote
Hello Dave,
 
Thanks for the reply and for the .eap file.
 
I believe that we've found the problem. This issue should be fixed when we release 8.0.
 
If you have any further questions please let us know.
 
Best Regards,

Allan Butt
Sparx Systems Pty Ltd
[email protected]

So that is good, but now raises the question of when v8.0 will be released. I can sense you all fidgeting in anticipation already!  :P

Regards
Dave B.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Very slow at adding a part to a composition
« Reply #7 on: October 30, 2009, 09:32:09 pm »
Quote
[size=18]...[/size]
and provided me with a model obfuscation tool to enable all of the IP to be removed whilst leaving the model structure intact.  [size=18]...[/size]
Is this tool more freely available?

This obviously makes it easier to send stuff to Sparx without IP...

Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

Dave.B

  • EA User
  • **
  • Posts: 94
  • Karma: +0/-0
    • View Profile
Re: Very slow at adding a part to a composition
« Reply #8 on: October 30, 2009, 11:35:20 pm »
They sent it to me without me asking for it. So I guess that the next time you have the need to send them a model that illustrates the problem you could ask them for their model obfuscation tool.

Regards
Dave B.