【问题标题】:ATL Transformation: include a third MetamodelATL 转换:包括第三个元模型
【发布时间】:2012-12-21 18:44:23
【问题描述】:

如果一个元素是另一个元模型的类型,我想检查 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;

【问题讨论】:

    标签: transformation eclipse-emf


    【解决方案1】:

    您只需要在 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;
    

    请注意,您还可以指定多个目标模型。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-04
      • 1970-01-01
      • 2015-09-20
      • 1970-01-01
      • 2010-12-10
      相关资源
      最近更新 更多