从 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.ReqIFLongName

m:endfor

【讨论】:

以上是关于从 Capella 中提取需求属性的主要内容,如果未能解决你的问题,请参考以下文章

如何从字符串中提取熊猫索引的属性

从数组中提取嵌套属性

从 xml 的元素中提取命名空间属性

按顺序从 Java 属性文件中提取值?

从文本文件中提取属性值

从 Modelica 模型中提取具有 start 属性的变量列表