首页 > 解决方案 > 从 Capella 中提取需求属性

问题描述

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

你能帮助我吗 ?

提前致谢

标签: m2doc

解决方案


此机制已弃用。您应该使用需求扩展。

从根元素开始,您可以使用以下内容:

{ 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;
}

并调用它,例如在图表上:

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

  • { m:req.ReqIFLongName }

{ 米:结束 }


推荐阅读