当前位置: 首页 > 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规定块必须提供一个或多个操作。均用球形与凹形表示。
内部块图中基于服务的端口连接

相关文章:

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

仅供个人学习记录 这部分感觉很模糊,理解的不好,后面的图也没画了,用到的时候再来翻书 应用端口实现接口建模 端口port表示了块边界上的一个访问点,也可以是由该块分类的任何组成或引用边界上的可访问点。一个块可以有多个端口规…...

提升中小企业效率的不可或缺的企业云盘网盘

相比之大型企业,中小型企业在挑选企业云盘工具更注重灵活性和成本。那么市面上有哪些企业云盘产品更适合中小企业呢? 说起中小企业不能错过的企业云盘网盘,Zoho Workdrive企业云盘绝对榜上有名! Zoho Workdrive企业云盘为用户提…...

Web 安全之时序攻击 Timing Attack 详解

目录 什么是 Timing Attack 攻击? Timing Attack 攻击原理 Timing Attack 攻击的几种基本类型 如何防范 Timing Attack 攻击 小结 什么是 Timing Attack 攻击? Timing Attack(时序攻击)是一种侧信道攻击(timing s…...

【objectarx.net】定时器的使用

【objectarx.net】定时器的使用...

C++:容器list的介绍及使用

目录 1.list的介绍及使用 1.1 list的介绍 1.2 list的使用 1.2.1 list的构造 1.2.2 list iterator 的使用 1.2.3 list capacity 容量 1.2.4 list element access 访问list元素 1.2.5 list modifiers 修改 1.2.6 迭代器失效 1.list的介绍及使用 1.1 list的介绍 C官网 …...

元核云亮相金博会,智能质检助力金融合规

11月初,第五届中新(苏州)数字金融应用博览会|2023金融科技大会在苏州国际博览中心举办,围绕金融科技发展热点领域及金融行业信息科技领域重点工作,分享优秀实践经验,探讨数字化转型路径与未来发…...

Harmony 应用开发的知识储备

Harmony 应用开发的知识储备 前言正文一、DevEco Studio版本二、手机版本① 环境变量 三、API版本四、开发语言五、运行调试 前言 这里先说明一点,如果你对Android应用开发很熟悉,那么做Harmony应用开发也可以驾轻就熟,只不过在此之前你需要知…...

(层次遍历)104. 二叉树的最大深度

原题链接&#xff1a;(层次遍历)104. 二叉树的最大深度 思路&#xff1a; 使用层序遍历模板&#xff0c;遍历每一层 hight1 返回hight即可 全代码&#xff1a; class Solution { public:int maxDepth(TreeNode* root) {queue<TreeNode*> que;int hight 0;if(root NU…...

【api_fox】ApiFox简单操作

1、get和post请求的区别&#xff1f;2、接口定义时的传参格式&#xff1f;3、保存接口文档 apifox当中接口文档的设计和接口用例的执行是分开的。 1、get和post请求的区别&#xff1f; 2、接口定义时的传参格式&#xff1f; 3、保存接口文档 就生成如下的接口文档。...

给CAD中添加自定义菜单CUIX

本文以AutoCAD2020为例&#xff0c;介绍如何添加自定义菜单。 打开AutoCAD2020&#xff0c;在命令行执行CUI并回车&#xff0c;出现菜单 进入菜单编辑界面 点击传输&#xff0c;然后新建 在菜单上右键&#xff0c;添加自定义菜单 点击保存&#xff0c;即可存为cuix文件。之后…...

Qt重启windows服务

日常开发中&#xff0c;会遇到改变某个服务的参数&#xff0c;并进行重启&#xff08;例如Redis断电恢复机制&#xff09; 需要程序拥有UAC权限&#xff0c;并且调用如下API才能对windows服务进行重启&#xff1a; #include "windows.h"#pragma comment(lib, "…...

OD机考真题:宜居星球改造计划

题目 2XXX 年,人类通过对火星的大气进行宜居改造分析,使得火星已在理论上具备人类宜居的条件; 由于技术原因,无法一次性将火星大气全部改造,只能通过局部处理形式; 假设将火星待改造的区域为 row * column_row_∗_column_ 的网格,每个网格有 3 个值,宜居区、可改造区、…...

Python每日练习:20个常用代码,初学者也可以自己实现!

文章目录 前言20个代码1.重复元素判定2.字符元素组成判定3.内存占用4.字节占用5.打印 N 次字符串6.大写第一个字母7.分块8.压缩9.解包10.链式对比11.逗号连接12.元音统计13.首字母小写14.展开列表15.列表的差16.通过函数取差17.链式函数调用18.检查重复项19.合并两个字典20.将两…...

GitHub Copilot Chat将于12月全面推出;DeepLearning.AI免费新课

&#x1f989; AI新闻 &#x1f680; GitHub Copilot Chat将于12月全面推出&#xff0c;提升开发者的生产力 摘要&#xff1a;GitHub宣布将于12月全面推出GitHub Copilot Chat&#xff0c;这是GitHub Copilot的一个新功能&#xff0c;旨在帮助开发者编写代码。它能够集成到开…...

Java的流操作:让数据处理更简单,更高效

Java 8引入了一种新的抽象概念——流&#xff08;Stream&#xff09;&#xff0c;它允许我们以声明式方式处理数据集合。通过使用流&#xff0c;可以更简洁、更易读地编写代码来对集合进行复杂的操作&#xff0c;如过滤、映射、排序等。本文将介绍Java 8的流操作的基本概念和使…...

3D渲染原理及朴素JavaScript实现【不使用WebGL】

在网页中显示图像和其他平面形状非常容易。 然而&#xff0c;当涉及到显示 3D 形状时&#xff0c;事情就变得不那么容易了&#xff0c;因为 3D 几何比 2D 几何更复杂。 为此&#xff0c;你可以使用专用技术和库&#xff0c;例如 WebGL 和 Three.js。 但是&#xff0c;如果你只…...

解决《荒野大镖客》提示emp.dll文件丢失问题,总结5个修复方法

在当今数字时代&#xff0c;游戏已经成为人们休闲娱乐的重要方式。作为一名游戏爱好者&#xff0c;笔者在近期体验《荒野大镖客》这款游戏时&#xff0c;遇到了一个令人苦恼的问题——emp.dll文件丢失。这个问题让游戏的无法启动进行。本文将围绕这一问题&#xff0c;探讨其原因…...

maven重新加载后Target bytecode version总是变回1.8

现象 Load Maven Changes后 Settings - Build, Execution, Deployment - Java Compiler - Target bytecode version总是变为1.8 Project Structure - Modules - Language level总是变为1.8 解决方法 方法一 pom.xml中包含 <project>[...]<build>[...]<plug…...

react+星火大模型,构建上下文ai问答页面(可扩展)

前言 最近写的开源项目核心功能跑通了&#xff0c;前两天突发奇想。关于项目可否介入大模型来辅助用户使用平台&#xff0c;就跑去研究了最近比较活火的国内大模型–讯飞星火大模型。 大模型api获取 控制台登录 地址&#xff1a;https://console.xfyun.cn/app/myapp 新建应…...

python---设计模式

python中设计模式-单例模式 基于__new__方法实现 第一个设计&#xff1a; class MySingleton:def __init__(self):passdef __new__(cls, *args, **kwargs):passmysingleton1 MySingleton() mysingleton2 MySingleton() print(mysingleton1) print(mysingleton2) print(id(…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

Admin.Net中的消息通信SignalR解释

定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...

(二)原型模式

原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局&#xff1a;刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断"&#xff0c;医生需通过显微镜观察组织切片&#xff0c;在细胞迷宫中捕捉癌变信号。某省病理质控报告显示&#xff0c;基层医院误诊率达12%-15%&#xff0c;专家会诊…...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...

苹果AI眼镜:从“工具”到“社交姿态”的范式革命——重新定义AI交互入口的未来机会

在2025年的AI硬件浪潮中,苹果AI眼镜(Apple Glasses)正在引发一场关于“人机交互形态”的深度思考。它并非简单地替代AirPods或Apple Watch,而是开辟了一个全新的、日常可接受的AI入口。其核心价值不在于功能的堆叠,而在于如何通过形态设计打破社交壁垒,成为用户“全天佩戴…...

通过 Ansible 在 Windows 2022 上安装 IIS Web 服务器

拓扑结构 这是一个用于通过 Ansible 部署 IIS Web 服务器的实验室拓扑。 前提条件&#xff1a; 在被管理的节点上安装WinRm 准备一张自签名的证书 开放防火墙入站tcp 5985 5986端口 准备自签名证书 PS C:\Users\azureuser> $cert New-SelfSignedCertificate -DnsName &…...

spring Security对RBAC及其ABAC的支持使用

RBAC (基于角色的访问控制) RBAC (Role-Based Access Control) 是 Spring Security 中最常用的权限模型&#xff0c;它将权限分配给角色&#xff0c;再将角色分配给用户。 RBAC 核心实现 1. 数据库设计 users roles permissions ------- ------…...

sshd代码修改banner

sshd服务连接之后会收到字符串&#xff1a; SSH-2.0-OpenSSH_9.5 容易被hacker识别此服务为sshd服务。 是否可以通过修改此banner达到让人无法识别此服务的目的呢&#xff1f; 不能。因为这是写的SSH的协议中的。 也就是协议规定了banner必须这么写。 SSH- 开头&#xff0c…...