Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

MoDisco/Components/Java/Composition/Architecture

< MoDisco‎ | Components‎ | Java‎ | Composition
Revision as of 11:11, 16 August 2010 by Nguyomar.sodifrance.fr (Talk | contribs) (Benchmark)

DEPRECATED use Template:MoDiscoTabs and Template:MoDiscoTab as explain here : Wiki Template for MoDisco

Java Composition Metamodel

JavaApplication MetaModel

Benchmark

Java Composition Model, weaving KDM Model Source and Java Model, can easily become a big model, in terms of XMI size as well as number of model elements.

First implementation resulted in a single XMI file containing all the weaving elements between both models.

Second implementation results in a root XMI file, referencing other xmi fragment


Splitting was done following this repartition :

  • First resource contains the JavaApplication itself
  • Second resource contains all Java2Directory
  • One resource per package/directory

This splitting enable the browser to perform lazy loading when browsing a composite model in the MoDisco Model Browser It has been decided to split after realizing a benchmark on the memory consumption of the MoDisco model browser.

Three levels of resource


This figure show the memory used by the MoDisco Model Browser on several resource xmi obtained with the Java Composition Discoverer. The gain of memory thanks to the lazy loading is significant.

MoDiscoOpeningBrowserCompositeBenchmark.png

To decide which solution of splitting to choose, we made another benchmark on the time spent on serializing the resource on the hard drive.

MoDiscoSavingCompositeBenchmark.png

Back to the top