当前位置: 首页 > 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(…...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题&#xff1a;3564. 季节性销售分析 题目&#xff1a; 表&#xff1a;sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战

在现代战争中&#xff0c;电磁频谱已成为继陆、海、空、天之后的 “第五维战场”&#xff0c;雷达作为电磁频谱领域的关键装备&#xff0c;其干扰与抗干扰能力的较量&#xff0c;直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器&#xff0c;凭借数字射…...

jmeter聚合报告中参数详解

sample、average、min、max、90%line、95%line,99%line、Error错误率、吞吐量Thoughput、KB/sec每秒传输的数据量 sample&#xff08;样本数&#xff09; 表示测试中发送的请求数量&#xff0c;即测试执行了多少次请求。 单位&#xff0c;以个或者次数表示。 示例&#xff1a;…...

永磁同步电机无速度算法--基于卡尔曼滤波器的滑模观测器

一、原理介绍 传统滑模观测器采用如下结构&#xff1a; 传统SMO中LPF会带来相位延迟和幅值衰减&#xff0c;并且需要额外的相位补偿。 采用扩展卡尔曼滤波器代替常用低通滤波器(LPF)&#xff0c;可以去除高次谐波&#xff0c;并且不用相位补偿就可以获得一个误差较小的转子位…...

前端中slice和splic的区别

1. slice slice 用于从数组中提取一部分元素&#xff0c;返回一个新的数组。 特点&#xff1a; 不修改原数组&#xff1a;slice 不会改变原数组&#xff0c;而是返回一个新的数组。提取数组的部分&#xff1a;slice 会根据指定的开始索引和结束索引提取数组的一部分。不包含…...

协议转换利器,profinet转ethercat网关的两大派系,各有千秋

随着工业以太网的发展&#xff0c;其高效、便捷、协议开放、易于冗余等诸多优点&#xff0c;被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口&#xff0c;具有实时性、开放性&#xff0c;使用TCP/IP和IT标准&#xff0c;符合基于工业以太网的…...

0x-3-Oracle 23 ai-sqlcl 25.1 集成安装-配置和优化

是不是受够了安装了oracle database之后sqlplus的简陋&#xff0c;无法删除无法上下翻页的苦恼。 可以安装readline和rlwrap插件的话&#xff0c;配置.bahs_profile后也能解决上下翻页这些&#xff0c;但是很多生产环境无法安装rpm包。 oracle提供了sqlcl免费许可&#xff0c…...

基于鸿蒙(HarmonyOS5)的打车小程序

1. 开发环境准备 安装DevEco Studio (鸿蒙官方IDE)配置HarmonyOS SDK申请开发者账号和必要的API密钥 2. 项目结构设计 ├── entry │ ├── src │ │ ├── main │ │ │ ├── ets │ │ │ │ ├── pages │ │ │ │ │ ├── H…...

轻量级Docker管理工具Docker Switchboard

简介 什么是 Docker Switchboard &#xff1f; Docker Switchboard 是一个轻量级的 Web 应用程序&#xff0c;用于管理 Docker 容器。它提供了一个干净、用户友好的界面来启动、停止和监控主机上运行的容器&#xff0c;使其成为本地开发、家庭实验室或小型服务器设置的理想选择…...