我想检查一个ATL转换,如果一个元素是另一个元模型的类型,既不是源模型也不是目标元模型。 (在本例中为JavaModelMM)。
这是错误消息: org.eclipse.m2m.atl.engine.emfvm.VMException:找不到参考模型JavaModelMM
有人如何“包括”其他模特?
非常感谢
-- @nsURI JavaModelMM=http://www.eclipse.org/MoDisco/Java/0.2.incubation/java
-- @nsURI Javapp=http://www.eclipse.org/MoDisco/Java/Composition/0.1.incubation /javaApplication
-- @nsURI SMM=http://www.eclipse.org/MoDisco/SMM/1.0.Beta2/smm
module JavaApp2LOC;
create Metrics: SMM from JavaApplication: Javapp;
rule name {
from
region: Javapp!JavaNodeSourceRegion (
region.javaNode.isMethodDeclaration()
)
to
loc: SMM!NamedMeasure (
name <- region.javaNode.toString()
)
}
helper context OclAny def: isMethodDeclaration() : Boolean =
if self.oclIsTypeOf(JavaModelMM!MethodDeclaration.oclType()) then true
else false
endif;
答案 0 :(得分:0)
您只需要在create语句的from子句中列出第三个。
-- @nsURI JavaModelMM=http://www.eclipse.org/MoDisco/Java/0.2.incubation/java
-- @nsURI Javapp=http://www.eclipse.org/MoDisco/Java/Composition/0.1.incubation/javaApplication
-- @nsURI SMM=http://www.eclipse.org/MoDisco/SMM/1.0.Beta2/smm
-- @nsURI ECore=http://www.eclipse.org/emf/2002/Ecore
module JavaApp2LOC;
create Metrics: SMM from JavaApplication: Javapp, anotherInput: ECore;
请注意,您还可以指定多个目标模型。