问题标签 [sysml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
29 浏览

python-3.x - 解析/编写 SysML v2?

我正在尝试找到一个现有的解析器(最好在 Python 中)来编写和读取 SysML v2。

SysML v2 提交团队 (SST) 的官方 Github 存储库已经在网上放置了一些示例(例如https://github.com/Systems-Modeling/SysML-v2-Release/blob/master/sysml/src/examples/Vehicle %20Example/VehicleUsages.sysml),但我无法让 Eclipse 插件正常运行。(预览窗口中没有显示任何内容,也没有错误消息)。

我安装并执行了给定的示例代码( https://github.com/Systems-Modeling/SysML-v2-API-Python-Client )有一个 SysML-v2-API-Python-Client 的存储库,但所有我我得到的是这条消息:

我应该有什么运行吗?有没有关于如何使用它的教程或手册?

或者还有其他解析器吗?

0 投票
2 回答
46 浏览

uml - 如何表示一个复杂的用例,其中主要流程的每个步骤都可以有多个场景(替代或错误路径)?

小背景

我不熟悉编写用例并表示它们的场景。我正在处理一个复杂的系统。在分析系统的第一步中,我创建了一个用例图,其中每个用例代表系统的不同目标或价值。我已尽力保持用例独立。所有这些用例都需要系统的初始化和激活,所以我决定取出这个通用部分,并使用包含关系将其链接到主要用例。我了解仅在必要时才需要使用包含和扩展关系。现在我正在研究为每个用例定义场景,然后根据场景开发用户故事和需求。

主要问题

用例非常复杂,分析它的最简单方法似乎是将其映射到一系列步骤/活动中,其中每个活动包含多个场景,并且每个场景都使用序列图表示。我了解活动不能是使用包含关系与主要用例相关的用例;但是有活动的序列图似乎也是错误的。

什么是表示主流程的每个步骤都很复杂并且可以在参与者和系统之间进行多次交互以及具有可能导致该步骤中的序列终止或用户的可能性的错误场景的用例的最佳方式取消/中止序列?我附上了“初始化”用例的活动图的简化版本。正如我所提到的,每个活动都可以有很多场景。例如

  • “执行自检”有很多步骤,每一步都可能导致失败,从而终止序列并提醒用户(通过 HMI)。然后用户可以终止初始化或重试。
  • “验证系统配置”包括获取参考配置版本并将其与系统配置进行比较的步骤,然后在必要时下载新的配置文件,然后更新系统配置。每个步骤都可能失败,从而导致向用户发送某种消息并终止序列。在某些情况下,用户应该能够跳过失败的步骤并继续进行而不进行该活动。图中的所有其他活动也是如此;许多带有例外或替代路径的步骤。

我可以将这些映射到“初始化”用例的一个序列图上吗?我试图将所有这些放在一个序列图上的尝试失败了。我尝试将所有这些交互放在带有泳道的活动图上,但事情变得如此复杂,以至于利益相关者很难理解正在发生的事情。
也许我试图在系统级别放置太多细节。我是否应该将所有这些临时步骤和交互留给较低级别​​的设计?我应该创建一个用例层次结构并降低复杂性吗?我很困惑。:( 处理这种复杂程度的最佳方法是什么?你能提供一些很好的例子吗?

在此处输入图像描述