仅供个人学习记录
这部分感觉很模糊,理解的不好,后面的图也没画了,用到的时候再来翻书
应用端口实现接口建模
端口port表示了块边界上的一个访问点,也可以是由该块分类的任何组成或引用边界上的可访问点。一个块可以有多个端口规定不同的访问点。在内部块图中端口可通过连接器相互连接,从而支持组成间的交互。
SysML1.3 引入了两种新型端口,分别为完整端口和代理端口。
完整端口fullport等同于父块边界上的一个组成,该组成可作为块的进出访问点。完整端口由块分类,并可以有嵌套的组成和行为,能够如同其他组成一样修改输人/输出流。
完整端口可以表示一个物理组件,如电连接器或者机械接口装置,因此是系统组成树的一部分。
代理端口proxy port,代理端口并非其父块的组成,而仅提供了对父块或父块组成的特性的外部访问,该访问并不修改其输人/输出。代理端口本质上作为一个通过或接力传递,规范了所属块的哪些特性可以在端口被访问。
代理端口由接口块分类,该接口块规定了通过端口可以访问的特性。接口块不能有内部行为或组成(或完整端口),但可以包含嵌套代理端口。
完整端口和代理端口均支持同一特性集,即行为特性和任何一种属性(除了代理端口不支持组成)。在任何一种情況下,块的使用者仅仅关注其端口的特性,而无须考虑特性是由代理端口表示还是直接由完整端口处理。
代理端口通常用于将系统作为黑盒规范,接口规范并不规定系统的任何内部结构
完整端口通常根据系统的实际组成来规范端口,从而使得该组成能够修改归属块的输人/输出
完整端口和代理端口之间的选择由设计决策决定。为支持该方法,端口可以被创建和连接,无须被指定为完整端口或代理端口,这使得决策能够被延后。
代理端口与完整端口的概念在SysML1.3中被加入,替代SysML1.2中的流端口与标准端口概念。总的来说,代理端口提供了 SysML 1.2 流端口和标准端口的所有功能,并且新增了嵌套端口和规定非流属性的能力。不主张使用流端口和标准端口
完整端口
完整端口以矩形框表示在其父标识的边框上。即使父块被封装,外部连接器也可以与完整端口连接。标签名为full ports的单独分区仅表示完整端口。
格式:《full》port name:block name[multiplicity]
当端口类型具有流属性时,用端口标识内部的箭头表示方向信息,如果方向混杂或所有流属性均为输入/输出方向,则应用双向箭头。
块标识分区中的各种端口均标记为ports端口,并采用如下字符串:
direction port name:block name[multiplicity]
完整端口可以包括嵌套端口,嵌套端口又可以包括端口自身,因此可以产生任意深度的嵌套完整端口层级。
嵌套端口以父端口标识边界的矩形标识,可置于边界的任何地方,但不可以与表示端口嵌套层级中更高元素的标识有交叉
代理端口
代理端口不代表系统的组成,而是具有其归属块或块组成特性的一个建模结构,以《interfaceBlock》标识
代理端口由接口块interface block分类,接口块作为特殊形式不包含任何内部结构或行为,格式如下:
《proxy》port name:interface block name[multiplicity]
块标识可以在proxy ports代理端口分区内列出其代理端口,使用如下字符串:
direction port name:interface block[multiplicity]
下图是摄像头与其环境物理连接所需的物理接口
下图是上图而来的接口块,描述了Wired Camera有线摄像头的物理接口,拥有ethernet以太网power电源和video视频三个代理端口和mount完整端口
端口连接
端口可以通过连接器连接到其他端口或直接连接到组成
完整端口连接
完整端口连接与组成连接具有相同的含义和约束。当完整端口代表某个具有子结构的物理部件时,端口可对自身的组成和端口进一步分解
有报错
代理端口连接
完整端口之间的内部连接器关注于将一个组成的向外流匹配到另一组的向内流,但是进出代理端口的内部连接器关注的是代理端口类型的特性与所归属块或其组成的相应特性相匹配。
3管脚AC插座接口的定义,以及他们之间Plug To Socket的关联。给出了有线摄像头墙底座,描述电源如何提供给摄像头。墙和摄像头之间的外部连接器由Plug To Socket分类
结对端口
SysML提供了结对端口conjugate机制,对于两个端口可复用单接口块。一个端口被设置为另一个端口的结对,这表示接口块中的行为特性和流属性的方向对于这个端口是相反的。
完整端口不能被结对
结对端口以端口分类前添加波浪线~表示:
port name:~Interface Block Name
端口和连接器分解
上图的关联被一个关联块替代,以显示嵌套端口之间的连接。同时加了一个约束plug的max current必须大于或等于socket的max current
红框内应该有一个虚线连接,前面章节也遗留过这个问题。不知道虚线是怎么弄出来的
完整端口之间的连接器可以通过关联块分类,显示连接如何实现的结构细节
还可以采用结对的嵌套端口定义、嵌套端口连接
单端口与多个端口连接
单个端口可以与其他多个端口连接,连接器本身就可以表示多个链接
不画图了
端口间流的建模
项流既可以在组成之间的连接器上表示,也可以在端口到端口的连接器上表示
带有端口的接口应用
描述一组由端口支持的行为特性的另一种方法在接口interface中对其定义 一个或多个接口可以与端口相关,以定义它提供或请求的行为特性。
接口建模
矩形标识,关键词《interface》。接口标识有一个类似块符号的operations操作分区
端口添加接口
请求接口required interface规定由块或其组成行为请求的一个或多个操作。端口上的提供接口provided interface规定块必须提供一个或多个操作。均用球形与凹形表示。