Skip to main content
Jump to: navigation, search

Difference between revisions of "MoDisco/Components/KDMSourceExtension/Documentation/0.9"

(How to create a composition metamodel between Code models and KDM Inventory models)
 
(60 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{MoDiscoKDMSourceExtensionTabs}}
+
#REDIRECT [[MoDisco/Moved To Help Center]]
 
+
== KDM.Source extension : a metamodel for weaving Code models and KDM Inventory models ==
+
 
+
The component proposes a small framework for building weaving information between code models (Java, C++, ...) and physical resources (disk files and directories).
+
 
+
This framework reuses the [http://wiki.eclipse.org/MoDisco/Components/KDM KDM] "Source" subpackage, which proposes a model for physical resources, known as "Inventory Model" (see figure [[http://wiki.eclipse.org/MoDisco/Components/KDM/Documentation/0.9#Details here]])
+
 
+
KDM inventory model also proposes ''SourceRegion''/''SourceRef'' concepts for weaving other kdm models (kdm code models, ...) with physical representation. Some references exist from other KDM subpackages to the ''SourceRef'' concept.
+
 
+
[[Image:Kdmsourceregion.JPG|frame|center|KDM Source Metamodel (from the KDM Specification v 1.1)]]
+
 
+
MoDisco proposes to compose KDM inventory models with non-KDM models. For technical reasons (generic reuse), a new metamodel extending KDM Source has been created.
+
 
+
A subpart of KDM Source model is extended for linking the ''SourceRegion'' concept with non-KDM elements, via the ''ASTNodeSourceRegion'' metaclass.
+
 
+
Moreover a recurrent pattern, in such a model composition, is to link KDM ''SourceFile'' with a code model element. Such a link is represented with ''CodeUnit2File'' metaclass.
+
 
+
[[Image:Kdmsourceextension.JPG|frame|center|MoDisco KDM Source extension Metamodel]]
+
 
+
== How to create a composition metamodel between Code models and KDM Inventory models ==
+
 
+
Given a particular code metamodel (Such as the Java one), MoDisco proposes to extend KDMSourceExtension to define a metamodel composition between inventory models and code models.
+
 
+
The ''ASTNodeSourceRegion'' should be subclassed, and a reference to one concrete code metaclass should "specialize" the ''ASTNodeSourceRegion->node:EObject'' reference (one simple way is to set the new reference as derivated from the generic one).
+
 
+
In most cases the ''CodeUnit2File'' will be subclassed.
+
 
+
A reference example of such a composition metamodel is the [http://wiki.eclipse.org/MoDisco/Components/Java/Composition/Architecture#Java_Composition_Metamodel Java Application example].
+
 
+
== How to develop a discoverer for the composition metamodel ==
+
 
+
=== Instrumenting the leaf code discoverers for retrieving visited source regions ===
+
 
+
=== Instantiate source region nodes ===
+
 
+
=== Resources Distribution and memory usage ===
+

Latest revision as of 11:43, 2 April 2012

  1. REDIRECT MoDisco/Moved To Help Center

Back to the top