Commit 91fa89af authored by Gerson Sunyé's avatar Gerson Sunyé
Browse files

first rule

parent dd054ab4
.DS_Store
/bin/
target/
.project
......
......@@ -7,9 +7,9 @@ Bundle-Version: 1.0.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.emf.ecore;visibility:=reexport,
org.eclipse.xtext.xbase.lib,
org.eclipse.emf.ecore.xcore.lib
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
......@@ -50,3 +50,12 @@ Chaque demande doit contenir au moins une règle ATL claire et bien commentée,
Comme niveau de difficulté de chaque ticket est estimé, il est possible que la difficulté d'une règle ait été mal évaluée.
Si après avoir écrit une règle, vous pensez que sa difficulté a été sur or sous-estimée, demandez à changer l'étiquette du ticket.
== Configuration
Ce projet a été préparé en Eclipse Oxygène, avec les logiciels suivants:
* ATL
* EMF
* EMF XCore
* Modisco
-- @path MM=/Source%20Code%20Analyzer/src/main/model/java.ecore
-- @path MM1=/Source%20Code%20Analyzer/src/main/model/smm.ecore
-- @nsURI smm=http://www.eclipse.org/MoDisco/SMM/1.0.Beta2/smm
-- @nsURI java=http://www.eclipse.org/MoDisco/Java/0.2.incubation/java
module analysis;
create OUT : MM1 from IN : MM;
create OUT: smm from IN: java;
rule Java2SMM {
from
project: java!Model
to
model: smm!SmmModel (
name <- project.name,
librairies <- lib
),
lib: smm!MeasureLibrary (
name <- 'Java metrics',
measureElements <- thisModule.allMeasures(project)
)
}
helper def: allMeasures(project : java!Model): Set(smm!Measure) =
Set{
thisModule.numberOfClasses()
--
-- Placeholder for other Measures
--
};
rule numberOfClasses() {
to
om: smm!ObservedMeasure (
measure <- noc,
measurements <- measurement
),
noc: smm!DimensionalMeasure (
name <- 'Number of Classes'
),
measurement: smm!DirectMeasurement (
value <- java!ClassDeclaration.allInstances() -> reject(each | each.isProxy()) -> size()
)
do {
noc;
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment