当前位置: 首页 > news >正文

第七章 块为结构建模 P4|系统建模语言SysML实用指南学习

仅供个人学习记录
这部分感觉很模糊,理解的不好,后面的图也没画了,用到的时候再来翻书

应用端口实现接口建模

端口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

end=plug
关联块内的代理端口连接

红框内应该有一个虚线连接,前面章节也遗留过这个问题。不知道虚线是怎么弄出来的

完整端口之间的连接器可以通过关联块分类,显示连接如何实现的结构细节
应用关联块定义结构化连接
还可以采用结对的嵌套端口定义、嵌套端口连接

单端口与多个端口连接

单个端口可以与其他多个端口连接,连接器本身就可以表示多个链接
不画图了

端口间流的建模

项流既可以在组成之间的连接器上表示,也可以在端口到端口的连接器上表示

带有端口的接口应用

描述一组由端口支持的行为特性的另一种方法在接口interface中对其定义 一个或多个接口可以与端口相关,以定义它提供或请求的行为特性。

接口建模

矩形标识,关键词《interface》。接口标识有一个类似块符号的operations操作分区

端口添加接口

请求接口required interface规定由块或其组成行为请求的一个或多个操作。端口上的提供接口provided interface规定块必须提供一个或多个操作。均用球形与凹形表示。
内部块图中基于服务的端口连接

http://www.lryc.cn/news/226224.html

相关文章:

  • 提升中小企业效率的不可或缺的企业云盘网盘
  • Web 安全之时序攻击 Timing Attack 详解
  • 【objectarx.net】定时器的使用
  • C++:容器list的介绍及使用
  • 元核云亮相金博会,智能质检助力金融合规
  • Harmony 应用开发的知识储备
  • (层次遍历)104. 二叉树的最大深度
  • 【api_fox】ApiFox简单操作
  • 给CAD中添加自定义菜单CUIX
  • Qt重启windows服务
  • OD机考真题:宜居星球改造计划
  • Python每日练习:20个常用代码,初学者也可以自己实现!
  • GitHub Copilot Chat将于12月全面推出;DeepLearning.AI免费新课
  • Java的流操作:让数据处理更简单,更高效
  • 3D渲染原理及朴素JavaScript实现【不使用WebGL】
  • 解决《荒野大镖客》提示emp.dll文件丢失问题,总结5个修复方法
  • maven重新加载后Target bytecode version总是变回1.8
  • react+星火大模型,构建上下文ai问答页面(可扩展)
  • python---设计模式
  • Java编写xml文件时,文件中特殊字符如何解决?
  • vue3 ts pinia openapi vue-query pnpm docker前端架构小记
  • ARM day4
  • 3.30每日一题(多元函数微分学)
  • 《OSTEP》条件变量(chap30)
  • MySQL的索引和复合索引
  • 关于mac下pycharm旧版本没删除的情况下新版本2023安装之后闪退
  • Django中如何让DRF的接口针对前后台返回不同的字段
  • 【机器学习】Kmeans聚类算法
  • getid3 获取视频时长
  • 如何知道一个程序为哪些信号注册了哪些信号处理函数?