从 Capella 中提取需求属性
Posted
技术标签:
【中文标题】从 Capella 中提取需求属性【英文标题】:Extracting requierement properties from Capella 【发布时间】:2019-08-11 00:30:11 【问题描述】:我想使用 m2doc 提取 capella 中的需求数据,需求(SystemFunctionalRequirement)位于系统分析中的“RequirementsPkg”包中,这要归功于我设法做到的“m:RequirementsPkg.eContents().summary”命令检索所有需求的摘要,但我想检索特定需求的名称和摘要。
你能帮帮我吗?
提前致谢
【问题讨论】:
嗨,欢迎来到 SO。你已经尝试过什么? ***.com/help/mcve 【参考方案1】:此机制已弃用。您应该使用需求扩展。
从根元素开始,你可以使用类似的东西:
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.ReqIFLongNamem:endfor
【讨论】:
以上是关于从 Capella 中提取需求属性的主要内容,如果未能解决你的问题,请参考以下文章