物理图与对象约束语言_第1页
物理图与对象约束语言_第2页
物理图与对象约束语言_第3页
物理图与对象约束语言_第4页
物理图与对象约束语言_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第9章物理图与对象约束语言

•。为了构造一个面向对象的软件系统必须考

虑系统的逻辑和物理两个方面。

■♦逻辑方面需要发现和描述对象类、接口、

协同、交互和状态机等事物,物理方面需

要找出组件和节点。

•h|jML提供了两种物理表示图形:组件图

和配置图。

■▼组件图表示系统中的不同物理组件及其联

系,它表达的是系统代码本身的结构。

HomeI〉

第9章物理图与对象约束语言

•,配置图由节点构成,节点代表系统的硬件,

组件在节点上驻留并执行。配置图表示系

统的软件组件与硬件之间的关系,它表达

的是运行系统的结构。

•组件图和配置图用于建立系统的实现模型。

•,对象约束语言(OCL)是用于表示对模

型元素的约束的语言,是UML的重要组成

部分。

Home

第9章物理图与对象约束语言

•9.1组件图

Home

9.1组件图

9.1.1组件

9.1.2组件的种类

9.1.3组件的联系

9.1.4组件图的应用

9.1.5UML2.0中的相关变化

Homeia

9.1.1组件

•b组件(Component)是系统的物理的

可替换的单位,它把系统的实现打包,

算提供一组接口的实现(Realization)□

■,组件代表系统的一个物理实现块,代表

逻辑模型元素如类、接口、协同等的物

理打包。

■,组件本身遵从和提供一组接口的实现,

它们代表了由驻留在组件内部的模型元

素所实现的服务。组件用于对系统配置

节点上的物理事物建立模型。

Homeia

9.1.1组件

•b常见的组件有系统的配置组件,如

COM+组件、JavaBeans等。

•,组件也可以是软件开发过程中的产物,

如软件代码(源码、二进制码和可执行

码)等。

Homeia

9.1.1组件

•▼组件的图标是一个大矩形的左边嵌二个小矩

形。组件必须有名字。

•▼简单组件:只标出组件名。

•,在组件名之后或之下,可以用括在花括号中

的文字(即标记值)说明组件的性质,如

“jversion=2.0}”等。

•,扩充组件:当需要了解组件所包含的模型元

素时,则需要把每个模型元素的名字在组件的

大矩形框里列出,这称为扩充的组件。

Homeia

9.1.1组件

,例:简单组件与扩充组件示例,如图9.1所示。

image,javaI-।―।system::dialog,dll

I|{version=2.0}

mymailer:Mailer

:Mailbox

:RcirtonwList

:MailQueue

图9.1简单组件与扩充组件示例

Home

9.1.1组件

•b组件在很多方面与对象类相似,如都有

名字,都有实例,都能实现接口,都存

在着联系等。

■,组件的实例代表运行期间的可执行软件

模块。例如,图9.1中的组件

“mymailer:Mailer”就是组件“Mailed的

一个实例,它存在于运行期间。组件的

实例只用于配置图中。

Homeia

9.1.1组件

•b组件的性质的表示法与类相同。组件所

包含的模型元素的可视性同样有“公

共”、“保护”、“私用”等。

■,但是组件和类有实质性的区别。

■,组件代表物理事物,而类代表事物的逻

辑抽象,因此组件可以用于配置图的节

点中,而类不能。

•,一般组件只有操作,外界只能通过接口

接触它们,而类可以直接有属性和操作。

Homeia

9.1.1组件

•▼组件是一组逻辑元素(如类、协同等)的物

理实现。一个类可以由一个或多个组件实现。

•,组件和类的关系是一种依赖关系,组件拥有

类,类不存在了,包含它的组件也就不存在了。

•,通常,组件与类的依赖联系不必用图形显式

表示,可以在说明文档中予以说明。

Homeia

9.1.1组件

・,例:图9.2中的组件“Mailer”依赖于类

“Mailbox"、“RoutingList”和“MailQueue”。

Mailer

i----------------------------1

________w

MailboxRoutingList

图9.2组件与类的关系示例

Homeia

9.1.1组件

■,组件提供接口的实现,一个组件可以实

现一个或多个接口。

■,例:在图9.3中的组件“字典”实现两

个接口:“拼写检查”和“同义词”。

0拼写检查

Q同义词

图9.3组件与接口示例

Homeia

9.1.2组件的种类

・,按照组件的作用可以把组件分为以下3种:

•1.配置组件(DeploymentComponent)

•♦配置组件是构成一个可执行的系统的必需的组

件,如动态连接库(DLL)、执行程序(EXE)等。

•♦UML的组件可以表达典型的对象模型,如

COM+、CORBA、JAVABeans>Web页、数据

库表等内容。

HomeI〉

9.1.2组件的种类

•2.工作产品组件(WorkProductComponent)

•,工作产品组件是在软件开发阶段使用的组件,

它们包括源程序文件、数据文件等。

•,配置组件是根据工作产品组件建立的。

•3.执行组件(ExecutionComponent)

•,执行组件是执行系统的部件,如COM+的一个

对象,它是一个动态连接库(DLL)的实例。

Home

9.1.2组件的种类

•«UML的所有扩展机制都可以用于组件。例如,

可以在组件上加上标记值描述组件的性质,使

用构造型规定组件的种类。

•,UML定义了以下5个用于组件的标准构造型:

•1.«executable»

•构造型"executable〉〉说明一个组件可以在

系统的节点上执行。

•2.«library»

•构造型〈〈library〉〉说明一个组件是一个静态

的或动态的对象库。

Homeia

9.1.2组件的种类

•,UML定义了以下5个用于组件的标准构造型:

•3.«table»

•构造型v〈table>>说明一个组件代表的是一

个数据库表。

•4.«file»

•构造型vv巾le>>说明一个组件代表的是一个

文档,它包含的是源代码或数据。

•5.«document»

•构造型"document〉〉说明一个组件代表的

是一个文档。

Homeia

9.1.3组件的联系

•▼组件之间可以有依赖联系。组件之间的依赖

是指,一个组件的模型元素使用另一个组件的

模型元素。

•,组件也可以通过接口实现依赖联系。

•,组件通过接口依赖的图形表示方式有两种,

一种是简单的表示法,另一种通过扩充的接口

来袤达,如图9.4所示。

•▼由一个组件实现的接口称为输出接口

(ExportInterface),意指该接口是组件提供

给其他组件的服务。一个组件可以提供多个输

出接口。

Homeia

9.1.3组件的联系

・,为一个组件所使用的接口称为输入接口

(ImportInterface),意指该组件遵从该接口,

建立在该接口上。

•,一个组件可以遵从多个输入接口。一个组件

可以既有输入接口,又有输出接口。

•,通过输入接口和输出接口所实现的组件之间

的依赖称为输入依赖(ImportDependency)。

Home

9.1.3组件的联系

•b例:组件的依赖接口示例,如图9.4所

7KO

(a)

《interface〉

ImageObserver

—>■abort:int{fanalstatic}

error:int{fanalstatic!

imageUpdate():Boolean

(b)

图9.4组件的依赖接口示例

Home

9.1.3组件的联系

•丁根据组件的种类的不同,组件之间的依

赖可以分为两种:开发期间的依赖和调

用依赖。

•▼开发期间的依赖是指在编译阶段和连接

阶段的组件之间的依赖。

Home

9.1.3组件的联系

•,例如,在图9.5中,客户组件依赖于供

应者组件。供应者组件在开发期间存在,

但并不需要在运行期间存在。

图9.5组件的开发期间的依赖

Homeia

9.1.3组件的联系

•b调用依赖(Call

Dependency)是指一个组

件调用或使用另一个组件

的服务,如图9.6所示。

•,客户组件调用或使用供应

者组件的服务,调用可以

直接进行,或通过接口进

行。供应者组件的元素可

以是组件的型或对象。

■,调用依赖可以发生在开发

期间的组件的型之间,用

组件图表示;调用依赖也

可以发生在运行期间的组

件的实例之间,可在配置图9.6组件的调用依赖

图中表不。

Home

9.1.4组件图的应用

•,组件图由组件、接口和组件之间的联系

构成,其中的组件可以是源码、二进制

码或可执行程序。

■,组件图表示系统中的不同物理部件及其

联系,它表达的是系统代码本身的结构。

•,组件图只有型(Type)的形式,没有

实例形式。为了显示组件的实例需要使

用配置图。

Homeia

9.1.4组件图的应用

•b组件图用于下列事物建立模型:系统的

源代码、系统的发布版本、物理数据库、

自适应系统等。

■,组件图也可以用于建立业务模型,此时

的组件是业务的过程和文档。

•,组件图还可以用于建立开发期间的软件

产物的依赖关系,用于系统开发的管理。

Homeia

9.1.4组件图的应用

・,例:一个组件图的

示例,如图9.7所示。

它由组件“调度程

序”、“计划程序”、

“GU『(图形界面),

接口“注册登记”、

“更新”,以及它们

的联系构成。

图9.7组件图示例

Homeia

9.1.4组件图的应用

•,建立一个可执行系统的组件图可按以下

步骤进行:

•(1)确定组件。

•(2)对组件加上必要的构造型。如标

准构造型〈〈executable〉〉、«library»>

«table»>«file»>«document»,

或自定义新的构造型。

Homeia

9.1.4组件图的应用

•。建立一个可执行系统的组件图可按以下

步骤进行:

•(3)确定组件之间的联系。最常见的

组件之间的联系是通过接口依赖。一个

组件使用(输入)某个接口,另一个组

件实现(输出)该接口。

・(4)必要时把组件组织成包。

•(5)绘制组件图。

Home

9.1.4组件图的应用

•,例:一个软件产品的系统构成模型,如

图9.8所示。它由可执行程序和动态连接

库构成。

1animator,exe

]{version=5.0.1}

I

w

raytrce.dll

图9.8可执行程序和动态连接库建模示例

Home

9.1.4组件图的应用

•,采用同样的方法可以

为报表、文件与文档建

।।animator,exe

模。「{version=5.0.1}

-

•,例如,图9.9是在图w

9.8的基础上增加了程animator,hip

序的初始化文件

“animator.ini”、数据眉render,dllshapes,tbl/

表“shapes.tb『和帮助

文件“animator.hlp,它t

们都用注释节点表示。raytree,dll

图9.9报表、文件与文档建模

Homeia

9.1.4组件图的应用

•,例:项目与资源管理系统PRMS的一个系统组件图,如图

9.10所示,它表示了开发期间和运行期间的实现系统的对象。

9.1.5UML2.0中的相关变化

•,在UML2.0中规定的组件图标,如图9.11所示。

•,在UML1.X中,组件用于代表物理结构,特别是运行时的系统

物理块,如动态连接库(DLL)等。在UML2.0中,组件代表系

统的一个模块化部分,可以是指逻辑的,也可以是指物理的。

■,按照基于组件的开发方法,一个系统可以看作是由若干个组件

通过接口连接而成的。

图9.11UML2.0的组件图标

Home

9.1.5UML2.0中的相关变化

•,组件通过供给接口和需要接口定义其行

为。

•,组件的服务是一种型(Type)o

•▼组件在其环境中是一个可替换的单元。

不论是在系统的分析设计阶段或运行时,

只要型相合(TypeConformant),即接

口的功能等价,一个组件可以重用,也

可以被另一个组件完全代替。

Home

9.1.5UML2.0中的相关变化

■▼在组件中,供给接口和需要接口可以组

织成端口(port),它们常在运行时被访

问。

■,对于包含复杂内容的组件,常使用复合

结构把组件的内容进行划分和聚集,使

得结构关系更为清晰。

Home

9.1.5UML2.0中的相关变化

•▼例:一个按照UML2.0规定图标绘制的

简单的组件图,如图9.12所示。

Home1a图9.12组件图示例

9.2复合结构

▼复合结构(CpmpositeStructure)和复合结构图是

UML2.0中的新成分。

▼复合结构描述系统中某一部分(复合结构)的内部

结构,包括该部分与系统的其它部分的交互。复合

结构图能够展示这些部分的“内部”参与者的配置

情况。

V通过复合结构可以把一个复杂类或组件等分解成若

干部分,便于清晰地描述它们(系统)的内部组织

构造情况,明确地说明了支持该复合结构所包含的

分类符(类、组件等)的结构特性(Property)o

这里说的分类符可以是类、对象、组件等。

Homeia

9.2复合结构

,复合结构与包都是一种聚组机制。

,复合结构是模型元素在运行时刻的聚组,包

是编译时刻的聚组。

b复合结构图常用于组件图,适宜表示组件,

以及如何把组件分解为不同的部件。

,复合结构图类似于类图,但它所表示的是内

部结构所包含的部件和连接符。

h部件(Part)是分类符将扮演的角色

(Role),不代表特定的实例(Instance)。

Homeia

g2复合结构

,部件的图标与力象的图层吴似,也是一个矩形

框,它的命名形式为:部件名:类名,但是名

称之下不带下划线。

b部件之间可以有连接符(Connector)连接,

连接符用一条直线表示。连接符使得两个部件

(或模型元素)之间能够通信。

b委托连接符(DelegationConnector)是一种

连接该复合结构的对外委托端口和内部实现部

件的连接符,委托连接符用一条虚箭线表示。

,连接符的实现可以是一个简单指针,或是复杂

H徽ome峰连接。

9.2复合结构

,例:一个表示对象类的复合结构的示例,如图9.13所示。

,其中,“轮胎”类是一个简单类。“轿车”类的内部结

构是一种复合结构,它包含四个部件:“左前轮”、

“右前轮”、“左后轮”、“右后轮”,代表轿车的四

个轮子,它们的型都是“轮胎”。两个前轮部件和两个

图9.13类的复合结构示例

Homeia

9.2复合结构

在复合结构图中还常需要表示复合结构和部

件所需要的接口和端口,以及部件的多重性。

,例:一个组件“订货”的复合结构,如图

9.14所不,它有两个端口。

HomeI〉图9.14组件的复合结构图示例

9.3配置图

9.3.1节点

9.3.2节点的联系

9.3.3配置图的应用

9.3.4UML2Q中的相关变化

Bl[Home

9.3.1节点

•,节点(Node)是存在于运行期间的系

统的物理元素,节点代表计算机资源,

通常为处理器(Processor)或其他硬件

设备,系统的组件可以配置在节点上。

•,节点的图标为一个三维立方体图形,如

图9.15所示。

图9.15简单节点与扩充节点示例

Homeia

9.3.1节点

•,节点必须有名字。节点的名字可以是一

个简单名,或用路径名。

•▼与对象类一样,节点可以用标记值说明

名字的性质。

■,节点和对象类一样可以区分为型和实例。

节点的型代表计算资源的不同类型,节

点的实例代表特定的具体的计算机资源。

Home

9.3.1节点

•▼对象和组件实例可以驻留在节点实例上,

而且可以从一个节点向另一个节点迁移。

■。节点执行组件,组件是被节点执行的事

物。

•。一个节点可以与其它的节点、组件、对

象有关联。

■。节点和对象类、协同、组件等模型元素

一样可以组织成包。

Homeia

9.3.1节点

•b例:在节点上安置组件,如图9.16所示。

图9.16用节点安置组件

Homeia

9.3.2节点的联系

•▼节点与节点通过物理连接(Connection)发

生联系,物理连接如以太网络、共享总线等,

从硬件方面保证了系统的节点协同运行。

•,节点与节点、节点与组件之间存在着多种类

型的联系,包括关联(通信联系)和依赖(支

持联系、成为联系)。

Homeia

9.3,2节点的联系

•,1.通信联系

•,通信联系是节点之间的一种关联,是节点之

间的通信路径或连接的模型。

•,通信联系的表示法是用一条实关联线连接两

个节点,如图9.17所示。在实关联线上可以加

构造型以表达节点间的通信路径或连接的性质。

Homeia

9.3.2节点的联系

图9.17通信联系表示法示例

Homeia

9.3.2节点的联系

•2.支持联系

•♦支持联系是节点与组件或对象之间的依赖联

系。如果一个节点与一个组件或对象存在着支

持联系,说明该节点上驻留着该组件或对象,

该组件或对象能够在该节点上执行。

•♦支持联系的表示法是用一条虚箭线从节点指

向所连接的组件或对象,并可在虚箭线上加有

构造型〈〈supports〉>,如图9.18所示。

Home1a

9.3.2节点的联系

图9.18支持联系表示法

Homeia

9.3.2节点的联系

•3.成为联系

•♦成为联系是组件与组件、组件与对象、

对象与对象之间的依赖联系。成为联系

不是节点之间的联系,但是它是组件或

对象在节点之间的迁移的模型。

•^成为联系的表示法是用一条虚箭线从一

个节点中的组件指向另一个节点中的组

件或从一个节点中的对象指向另一个节

点中的对象,并可在虚箭线上加有构造

型vvbecomes>>,如图9.19所示。

HomeI〉

9.3.2节点的联系

•b成为联系表示法,如图9.19所示。

图9.19成为联系表示法

Homeia

9.3.2节点的联系

•3.成为联系

•▼成为联系可以用标记值“{time=...『说

明其时间性质,即组件或对象在什么时

间发生迁移活动。

•成为联系说明源对象(或组件)和目标

对象(或组件)是在不同时间点的同一

个对象(或组件),而且它们的状态和

向心不同。

Home

9.3.3配置图的应用

・,配置图由节点与节点之间的联系构成。

在配置图中也可以有组件,以及节点与

组件之间、组件与组件之间的联系。

■,配置图表示分布式系统的软件组件与硬

件之间的关系,它表达的是运行系统的

结构。

■,配置图主要用于对在网络环境运行的分

布式系统建立系统物理模型,或者对嵌

入式系统建模。

Homeia

9.3.3配置图的应用

•,配置图也可以用于建立业务模型,此时

的“运行系统”就是业务的组织机构和

资源(人力、设备等)。

•b例:项目与资源管理系统PRMS的配置

图,如图9.20所示。

Homeia

Qa2西?音图的后田

数据库服务需

DB:数据库

打E|3机打印机

应用

服务招

/

资涯营理

桌面资3原错埋

容尸(执行码、

图9.20项目与资源管理系统PRMS的配置图

Homeia

9.3.3配置图的应用

•b建立一个客户机/服务器系统或web应用系

统的配置图一般可按以下步骤进行:

•(1)确定节点。

•(2)对节点加上必要的构造型。

•(3)确定联系。

•把系统的组件如可执行程序、动态连接库等

分配到节点上,并确定节点与节点之间、节点

与组件之间、组件与组件之间的联系,以及它

们的性质。

•(4)绘制配置图。

Homeia

b例:一个它是一个对

象配置图,其中每一个节点都是可视的特定节点实例:

"DatabaseUnitServer”(数搪库服务器)、“HeartUnit

Server"(心血管病服务器)与"aWindowsPC”(客户机),

它们通过TCP/IP网络连接。

•,节点上的组件及组件间的联系:

1)uDatabaseUnitServer":"Objectdatabase"(对象数据

库);”:HeartCareDomain”(心血管病领域)。依赖大素

2)“HeartUnitServer":“HeartUnitServerApplication”

(心血管病应用程序);"Objectdatabase”(对象数据

库);”:HeartCareDomain”(心血管病领域);

”:ConfigureKnowledge"(参数配置)接口依赖aHeartUnit

ServerApplication^^

3)“aWindowsPC":uHeartUnitClientFacade"(心血管病

客户),通过接口依赖“HeartUnitServer”中的组件“Heart

UnitServerApplication”

Home

PattabaseUnitServer

rr~i:Obiact

i|IDatabase

।----------------------------------A

L--J:HealthCax~aJ

i:■】Domairt

L;-」:Object

L」Database

:;::HealtkCaye

i-j-】Domain

A

:Con£ignra

[1I:HeartUnitKnowTedme

I;Ser-r

I_1ADPILicatLon

:ConEigtureUsei-w

图9.21医院诊疗系统配置图(客户机/服务器系统)

Homeia

9.3.4UML2.0中的相关变化

•在UML2.0中规定,配置图的节点所代

表的计算机资源,不仅是指硬件设备

(Device),如处理器、读卡机、移动

设备、通信设备等;而且可以是指包含

在设备内的执行环境。

•始执行环境是其它软件的宿主,如操作系

统、J2EE容器、工作流引擎、数据库等。

Homeia

9.3.4UML2.0中的相关变化

•h制品(Artifact)配置在节点上。在配

置图中的制品就是系统开发过程中最终

产生的各种可执行代码文件。

•实际上,制品代表组件(或任何可包装

模型元素,如简单的类)的物理形式,

组件由制品实现。

■制品的图标为一个矩形,在制品的名称

u,,

上方给出构造型«artifact»;或者,

在矩形的右上角贴上一个图标“”。

HomeI〉

9.3.4UML2.0中的相关变化

•b例:图922中有一个组件“Order"和一

个制品“Order.ja己制品“Order.jad是

一个可执行的Java代码文件。组件

“Orded由制品“Orderjad实现。

<<component>>«

o-Order-c

itemjava.sql.connection

|<<manifest>>

<<artifact>>|~

Order.jar

Home

9.3.4UML2.0中的相关变化

•,例:节点”应用服务器”上的配置,如

图9.23配置有执行环境和制品的节点

Homeia

9.4对象约束语言

•h对象约束语言(ObjectConstraint

Language,OCL)是一种形式语言,用

于表示UML模型中施加于模型元素上的

约束。

•,OCL是一种纯表达式语言,它用表达

式表示约束。

•,OCL的表达式确保没有副作用,对一

个OCL表达式进行求值将返回一个值,

它在系统模型中不改变。

HomeI〉

9.4对象约束语言

•,OCL是一种规格说明语言

(SpecificationLanguage)。所有有关

实现的问题都不能用OCL表达。

•bOCL不是一种程序设计语言,不能用

OCL编写程序,不能用OCL编写程序逻

辑和控制流程。

Homeia

9.4对象约束语言

Home

9.4.1标准型

•,OCL预定义的

标准型定义了一

组基本型和集合

型(Collection

Type)o

•,OCL标准型定

义为一个层次结

构,用类图套示,

如图9.18所不。

图9.18OCL标准型

Homeia

9.4.1标准型

•bOCL基本型的含义与Java语言中的数

据类型的含义类似。

•^OCL基本型的例子如下:

•1,3,5.4

•true,false

•'appleTorange','strawberry'

Home

9.4.1标准型

•,对OCL基本型能施加的运算如下:

•OCL基本型运算

•Integer*,+/,abs

•Real*,+-,/,floor

•Booleanand,or,xor,not,

implies,if-then-else

•Stringtollpper,toLower,

substring,concat

Homeia

9.4.1标准型

•▼集合型是抽象型,它预定义了大量的运算,

可以维护集合。

•▼UML定义了3种集合型:“Set”、“Bag”、

“Sequence”。

•,集合型本身又可以构成集合型,形成集合型

的嵌套。

•,“Set”型是一个数学的集合,它包含的元素

不重复。

•▼“Bag”型类似“Set”型,但它包含的元素允

许重复。

Homeia

9.4.1标准型

,“Sequence”型类似“Bag”型,但它包含的元

素有序。

•♦“Set”、“Bag”和“Sequence”型的表示方

法是分别用关键字“Set”、“Bag”和

“Sequence",后跟一个花括号,其中有组成

该型的元素值。

♦例:集合型的一些例子如下:

Set{1,3,5,7,9}

Sequence{1,3,4,5,2,3}

Bag{1,3,4,3,5)

Set{Set{1,3},Set{5,7},Set{9,11}}

Homelailection”型嵌套

9.4.1标准型

•,集合型的预定义运算主要有“select”(选

择)、“reject"(剔除)、“collect"(集合)、

“forAII"(全体)、“exists"(存在)等。

•Collection->select(...)

•Collection->reject(...)

•Collection->collect(...)

•Collection->forAII(...)

•Collection->existsl(...)

Homeia

9.4.1标准型

•▼集合型的预定义运算主要有“select”(选

择)、“reject"(剔除)、“collect"(集合)、

“forAII"(全体)、“exists"(存在)等。

•Collection->select(...)

•Collection->reject(...)

•Collection->collect(...)

•Collection->forAII(...)

•Collection->existsl(...)

•,例:集合型运算的一些例子如下:

•self.employee->select(age>50)->

notEmpty

HomeicK/larriorl\_>

9.4.2表达式

,OCL表达式对一个OCL型求值。

▼OCL的基本表达式的扩展巴斯科范式EBNF

定义如下:

PrimaryExpression:=literalcollection|literal

|pathNametimeExpression?Qualifier?

FeatureCallParameters?

|expression|ifExpression

literal:=<string>|<number>|<name>

Homeia

9.4.2表达式

•timeExpression:="@”<name>

•featureCallParameters:="("(declarator)?

(actualParameterList)?

•ifExpression:="if'expression“then”

expression“else”expressionuendif5

•▼最简单的OCL基本表达式是一个literal(文

字),literal可以是一个字符串,或一个数字,

或在“毋号后跟一个模型元素或操作的名字。

•,OCL基本表达式也可以是literalcollection,

即literal的集合型。

Homeia

942表达式

•,OCL基本表达式可以是一个路径名,后面可有

选项:时间表达式、限定符(Qualifier)或特征

调用参数。

•,时间表达式的格式是在符号“@”后面跟一个

名字,它确定性质的时间值。

•b特征调用参数是运算的实在参数表。

•,OCL基本表达式可以是一个条件表达式,其值

为一个Boolean值“True”或“False”。

•把一个OCL表达式用圆括号括起来也是一个

OCL基本表达式。

Home回

•,OCL表达式也臬解自素油或行,运算符的优

先级规定由高到低依次为:

圆点“「和箭头的优先级最高;

一元运算符“not"和“」';

乘除运算符…和“/”;

加减运算符“+”和“」';

逻辑运算符“and”、“0广和。0广;

逻辑运算符“

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论