6.3.2 语义域

第2章对工具遵循UML的(具体和抽象)语法和遵循它的语义进行了区分。

UML语法与UML模型如何构造、表示和互换相关。UML规范定义了UML的抽象和具体语法。然而,UML的语法是在MOF框架内被规定的,用于工具符合性目的的模型语法含义是在MOF Coer规范和相关的XMI以及图交换规范中给出的。

相比之下,UML自身的语义与被建模系统的UML模型上的声明的标准含义有关。这有时也被称作运行时UML语义,尤其是在可执行软件或可运行过程的UML模型的上下文中。然而,在这个意义上并不是所有的UML模型都是可运行的,也并不是所有的UML语义都与运行的软件或其它过程相关。

实际上,通常把UML建模构造分为两个语义类:

  • 结构语义定义了所建模域中关于个体的结构化模型元素的含义,它们可能在某个时间点上是正确的。(该类别有时也被称作“静态语义”。然而,在编程语言定义中,术语“静态语义”通常用于指示超出语言基本的上下文无关文法之外的上下文敏感的命名解析和类型约束,这与UML抽象语法规范中的良构约束是相对应的。为了避免混淆,这里使用了“静态语义”这个术语。)
  • 行为语义定义了所建模域中关于个体如何随时间变化做出声明的UML行为模型元素的含义。(这有时也被称作“动态语义”。)

图6.1展示了这些分类中UML语义域的更为详细的划分和这些于的图示化层次。

图6.1 Semantic Areas of UML

UML的结构语义为行为语义提供了基础。这反映了通过结构化建模规定的状态变化而导致的行为语义的概念。UML中的结构化建模构造构筑在一个公共的基础概念之上,例如类型、命名空间、关系和依赖(参见第7章)。特定的建模构造包含一系列不同的分类符:数据类型、类、信号、接口和构件(参见第9章第11章),对应建模值和实例的构造(参见第8章)、打包和profiling的构造(参见第12章)。

构建在这个基础结构之上的UML基本行为语义为行为的执行提供了一个基本框架(参见第13章)。公共行为语义还产生了结构化对象之间通过相关行为产生的通信。注意这个框架只处理事件驱动或离散的行为。然而,UML语义并不指示时间之间的时间(除了使用时间约束来规定外,参见8.5)。因此,某些事件间的间隔可以被认为很小(依应用而定);例如,模拟连续行为。

动作是UML中的基本行为单元,用于定义细粒度的行为(参见第16章)。它们的解析和表达能力可媲美传统编程语言中的可执行指令。动作可用于任何用于描述详细行为的高层形式化机制中。这种高层行为构造在UML中是状态机、活动和交互(分别参见第14章第15章第16章)。

此外,还有一些既有结构化又有行为方面的辅助建模构造,它们包括用例、部署和信息流。(分别参见第18章第19章第20章)。

results matching ""

    No results matching ""