20.1.3 语义

信息流需要一些“信息管道”来完成从源到目的的单向信息传输。它们规定了信息管道的实现,如果有的话,并且鉴别随它流动的信息。在信息管道中流动的信息可以被抽象的信息项和具体的分类符所表示。

信息流的源和目的指定了一组可以发送(源)和接收(目的)所表达的信息项或分类符。在图20.1中,源和目的显示为NamedElements。在实际中,信息流上的约束要求源和目的必须是如下类型中的一个:执行者、节点、用例、制品、类、构件、端口、属性(Property)、接口、包、活动节点、活动划分(ActivityPartition)、行为和实例规约。而且,当源或目的是一个实例规约是,它不能是一个链接(即,实例规约不能由一个关系来归类)。

一个信息流的源和目的代表了所有类型是它们或它们所包含(拥有)的可能实例。举个例子,如果一个源或目标是一个

  • 分类符,它代表该分类符的所有可能实例。
  • 部分(Part),它代表可以扮演由该部分所规定角色的所有实例。
  • 包,它代表包内直接或间接拥有的分类符的所有实例。

根据源和目的的性质,信息管道可以以多种不同方式实现。如图20.1所示,信息轨道可以被关系、连接器、活动边和消息所实现。源和目的的类型必须与信息管道中流动的信息的类型相兼容。举个例子,如果源和目的是一些组合结构(例如协作)的一部分,那么信息管道很可能被一个它们之间的连接器所代表。或者,如果源和目标是对象(某种实例规约),那么信息管道可能被一个连接它们的链接所表示。允许多个源和目的,但是它们必须具有相容的类型。

信息项以很抽象的方式代表能够从源流向目的的许多种信息。它们代表能够在一个系统中移动的多种信息,但并不描述所传输信息的细节。所传输信息的细节是那些最终定义信息项的分类符的责任。因此,信息项不能被实例化,自身不能有特征、泛化或关联。从这个角度,信息项与接口类似——元模型中的约束限制它们不能实例化。

信息项的一个重要用途是在信息项被详细建模前表示在早期设计阶段的信息。信息项的另一目的是把复杂模型的部分抽象为不那么精确,但可能更加普遍和易于交流。

信息项可能被分解到更加特定的信息项或分类符中。它们之间的表示链接表达在特定信息流的上下文中,交换特定的信息。

信息项只能被类(所有种类,包括构件、关联类、行为等)、接口、信号(Signals)和其它信息项所实现。

信息流的主要目的是表达信息从模型中的一个地方移动到另一地方。因此,元模型对信息管道的实现和流动信息的类型很宽容。信息流可以同时被多种信息管道所实现,信息项可以表示许多不同种类的分类符。

results matching ""

    No results matching ""