action semantics和operational semantics之间有什么区别?发布于 2013-08-19 16:20:22
它们是相互关联的,但却是不同的倡议。动作语义是早期的主动权。它源于一种认识,即UML不能用于构建可执行模型,因为它缺乏描述处理操作的构造:分配、事件生成等。最初的目的是生成一种动作语言来解决这些缺陷。但是,有关方面不能就语言语法达成一致意见。因此,相反,他们产生了动作语义:仅在抽象语法级别上所需的构造的定义。然后,供应商/实现者可以自由使用他们自己的表面语法。
为UML (一些例子)生成操作语义的活动有很多种。然而,总的来说,它们不是由OMG直接生产的,也不是为OMG直接生产的。大多数是独立的研究活动。
据我所知,UML没有单一的规范操作语义。最接近的可能是fUML和相关的阿尔夫规范。fUML形式化了UML的一个子集,用于构建可执行模型的明确目的。Alf是fUML的具体语法。fUML定义了一个执行语义,它将其描述为“constraining的行为语义,它指定了随时间变化的操作操作,描述或约束了被建模域中允许的行为”。
Alf/fUML可以看作是原始动作语义工作的一种进化。尽管Alf的标题是Concrete Syntax for a UML Action Language,但它包含了构建可执行模型所需的所有元素的语法,包括类、关系、状态模型等。
每个人都有标准的规格吗?
是否有实现工具支持?
Alf & fUML 这里有一个参考实现。各种工具支持使用动作语言构建可执行模型,例如xtuml编辑器 (免费的、开源的)和MagicDraw (通过Cameo仿真工具包 (专有的))。
hth。
你可能想接受你问过的其他问题的答案.
https://stackoverflow.com/questions/18290149
复制相似问题