4
  1. UML 模型action semantics之间有什么区别?operational semantics

  2. 每一种都有标准规范吗?是否有实施工具支持?

4

1 回答 1

3
  1. UML 模型的动作语义和操作语义有什么区别?

它们是相关但独立的倡议。动作语义是较早的倡议。它源于承认 UML 不能用于构建可执行模型,因为它缺乏用于描述处理操作的构造:赋值、事件生成等。最初的意图是产生一种动作语言来解决这些缺陷。但是:相关人员无法就语言语法达成一致。因此,他们产生了动作语义:仅在抽象语法级别所需的构造定义。然后供应商/实施者可以自由使用他们自己的表面语法。

已经有各种举措来为 UML 生成操作语义(一些示例)。然而,总的来说,它们不是由 OMG 直接制作或为 OMG 制作的。大多数是独立的研究计划。

据我所知,UML 没有单一的、规范的操作语义。最接近的可能是fUML和相关的Alf规范。fUML 将 UML 的一个子集形式化,以明确构建可执行模型的目的。Alf 是 fUML 的具体语法。fUML 定义了一个执行语义,它被描述为“UML 构造的行为语义,它随着时间的推移指定操作动作,描述或约束正在建模的域中允许的行为”。

Alf/fUML 可以看作是原始动作语义工作的演进。虽然 Alf Spec 的标题是Concrete Syntax for a UML Action Language它包含构建可执行模型所需的所有元素的语法,包括类、关系、状态模型等。

每一种都有标准规范吗?

  • 动作语义最初是作为一个单独的规范发布的,然后在此处的 1.5 版规范中合并到主 UML 规范中。
  • AlffUML(如上链接)

是否有实施工具支持?

这里有 Alf & fUML 的参考实现。各种工具支持使用动作语言构建可执行模型,例如xtuml 编辑器(免费、开源)和通过Cameo 模拟工具包(专有)的MagicDraw 。

hth。

PS:您可能想考虑接受您提出的其他问题的答案...

于 2013-08-19T16:20:22.550 回答