从Capella提取需求属性

时间:2019-03-20 10:31:48

标签: m2doc

我想使用m2doc在Capella中提取需求数据,由于我设法管理了“ m:RequirementsPkg.eContents()。summary”命令,因此需求(SystemFunctionalRequirement)位于系统分析的“ RequirementsPkg”包中。检索所有需求的摘要,但我想检索特定需求的名称和摘要。

你能帮我吗?

预先感谢

1 个答案:

答案 0 :(得分:0)

不建议使用此机制。您应该使用需求扩展。

从根元素开始,您可以使用类似以下内容的

{m:system.ownedArchitectures-> filter(la :: LogicalArchitecture).ownedRequirementPkgs.ownedRequirements.name}

通过需求扩展,最简单的方法是创建服务:

    public List<Requirement> getRequirements(ExtensibleElement element) {
    List<Requirement> res = new ArrayList<>();

    for (ElementExtension extension : element.getOwnedExtensions()) {
        if (extension instanceof Requirement) {
            res.add((Requirement) extension);
            break;
        } else if (extension instanceof CapellaOutgoingRelation) {
            res.add(((CapellaOutgoingRelation) extension).getTarget());
        }
    }

    return res;
}

并调用它,例如在图上:

{m:for req | '[LAB] IFE系统-所有组件,CE'.representationByName()。eAllContents(viewpoint :: DRepresentationElement).semanticElements-> filter(emde :: ExtensibleElement).getRequirements()}

  • {m:req.ReqIFLongName}

{m:endfor}