Error with reverse in version 2.1.00
|Status:||New||Start date:||09 June 2012|
Tested reverse with different JDK 7 packages/subpackages.
- reverse full JDK – failed Out of Memory (used max possible Xmx settings (1350M) – higher values caused JVM not to start )
- reverse full java package – reverse finished, but no mode elements created (reverse on Core i5 2,4GHz with 4GB ram lasted more than a hour)
- rverese java.util package – reverse finished, but no model elements created
- reverse java.util.concurrent package – reverse finished, but no elements created (log attached)
- reverse java.util.logging packge – reverse was OK.
Error log for case 4. is in the attachment.
#1 Updated by Marijan Matic almost 8 years ago
Previous tests were performed with Modelio 2.1.1. New tests have been performed with Modelio 2.2, and now the reverse works better. Subpackages of package java have been individually successfully reversed, but when trying to reverse the complete java package the error remains. The adding and update of the elements works fine, but when reverse comes to deleting elements it takes more than 90% of total time. At the end the elements are not imported and the exception in the log is the same as one attached with Modelio 2.1.1.
#2 Updated by Christophe Malgouyres almost 8 years ago
First, about your Modelio 2.1.1 tests, I’m not surprised they failed: JavaDesigner 2.1.xx needs the Modelio 2.2 metamodel for Enumerations. It probably explains those “reverse finished, but no elements created”, but I’m surprised you do not have an audit error instead…
Back to the out of memory: we currently have a few memory issues with Modelio 2.x under windows, coming from the C++ part of the application… Won’t change before Modelio 3 as far as I can tell.
As you guessed, the best way to workaround those issues is doing several partial reverses instead of a huge one, by saving and leaving Modelio before each reverse.
Switching to Linux also helps avoiding those errors.
#3 Updated by Marijan Matic almost 8 years ago
You may wonder why I persist testing to reverse the JDK. I found out that the JDK ramc files are not complete in sense of containig information about the class relationships. For example, take the JTable class and try to display all associations. The ramc contains the inheritance and realization relationships for JTable, but no associations. I would expect from ramc to contain all these informations. JTable is not uniqe, there are other JDK classes whihc has the same problem. Maybe the ramc files should be updated too.