我想使用m2doc在Capella中提取需求数据,由于我设法管理了“ m:RequirementsPkg.eContents()。summary”命令,因此需求(SystemFunctionalRequirement)位于系统分析的“ RequirementsPkg”包中。检索所有需求的摘要,但我想检索特定需求的名称和摘要。
你能帮我吗?
预先感谢
答案 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:endfor}