第七章 块为结构建模 P5|系统建模语言SysML实用指南学习
仅供个人学习记录
应用泛化对分类层级建模
继承inherit更通用分类器的公共特性,并包含其他特有的附加特性。通用分类器与特殊分类器之间的关系称为泛化generalization
泛化由两个分类器之间的线条表示,父类端带有空心三角形箭头
块的分类与结构化特性
并非所有再子类中添加的特性都是新的,一些特性被引入以覆盖或改变现有特性的定义,被称为重定义redefinition,以《redefines》
通常子类中特性名称与父类中特性名称相同。重定义特性可以限制其多重性、添加或更改默认值、修改现有的分布、将特性的类型更改为更受限制的类型
《interval》表示概率分布,没有像书上直接很明确的显示{redefines weight}
分类与行为特性
块对行为特性请求的响应可以特殊化,多态性由分派机制处理,确保调用适当的方式来处理请求
应用泛化集为重叠分类建模
一个子类可以包括多个父类的特性,称为多重泛化multiple generalization 多重继承multiple inheritance
泛化集generalization有两个属性,可用来描述其成员之间的覆盖和重叠
覆盖coverage规定父类所有实例是否是泛化集成员的一个或另一个实例。属性分别为complete和incomplete。
重叠overlap规定父类的一个实例是否只能是泛化中最多一个子类的一个实例
绑定引用
绑定引用bound reference是块的一种引用属性,该属性使用绑定连接器与块组合层级中的其他嵌套属性绑定。
使用绑定连接器连接的属性必须有相互兼容的类型和多重性。绑定引用可以成为组合树中高层块的一个属性,该属性被限制为与组合树中深嵌套组成或属性相等。
作为引用属性,绑定引用的标记与引用属性相同,《boundReference》区分,块针对绑定引用有单独的分区,标签为bound references,分区的每个入口都有下面的前缀:
{/bindingPath=property list;lower=integer;upper=integer}
属性列表中,绑定引用的属性路径以分号分隔
现在的显示如上,可能是SysML更新过
块Camera以名为sensor传感器的引用属性为特性,该引用属性被绑定到属性Camera::cm.ia.sensor
绑定后可允许不同的配置,如通过修改sensor的类型来定义Low Fidelity Camera和High Fidelity Camera
应用特定属性类型对特定情境的块特征建模
特定属性类型 property-specific type用于指定块或值类型的属性,这些块或值类型将进一步特殊化,在内部块图的本地化使用。特定属性类型隐式创建了块的子类,该类将对组成分类,从而增加了唯一性特征。
将块配置作为特殊块建模
块配置block configuration描述了一个特定的结构和特定的属性值,表示某个已知情境中块的唯一实例。例如,块配置通过呼叫标志识别航空公司机队中的特定飞机,提供该飞机的其他特征。本例中呼叫标志始终如一地识别同一架飞机,即使其他属性的值可能随时间而变化。
块配置还可以用来识别某个实体在给定时间点的状态。扩展飞机的例子,对空中交通管制份真而言,在特定的关键分析阶段描述飞机的位置、速度、燃料负荷等的快照snapshot是非常重要的。
块配置只能描述一组有限的特性和值,取决于建模者,要确保准确地理解情境,并且任何模糊性都不会损害模型的值。该块通常包含一个值属性,其值可用于标识情境中的单个实例,如车牌号码。
块定义图中的配置建模
块通常用一个代表唯一标识符的属性定义,如车辆标识号,当为配置建模时可以使用该属性。通常,为块配置引入泛化集非常有用,用以将它们与该块的其他特殊化区分开来。
SysML属性概念的一个有用的特征是表述某个属性可以是子集化Subset为一个或多个属性,无论是在其归属类中还是一个父类中
内部块图中的配置细节建模
块用来描述某个配置,该块的内部块图可用来捕捉具体的内部结构和针对该配置项属性的唯一值
应用实例对块配置建模
之前讨论的是通过对块特殊化,并增加特定配置信息,可以对块的配置建模。如果配置增加了在通用块中不存在的结构或数据约束,这是很有用的。
但如果配置仅包含值属性的一组值,则可以使用实例规范instance specification
块定义图中矩形标识,包含带下划线的名称字符串,格式:
instance name:block name
该标识包含一个单独分区,列出了任何具体属性的值,覆盖所有初始值。实例规范可以嵌套以反映块的组合。当实例规范标识被嵌套时,其名称字符串也可以使用下面的标记标识该实例规范对应的组成或引用的名称:
instance name/property name:block name
下图表示在不同情况下的操作周期
实力规范可以通过链接连接,此链接代表块之间关联的实例。块定义图中链接用两实力规范之间的连线表示
块的语义
参考fUML子集等,没有概念性的东西
相关文章:

第七章 块为结构建模 P5|系统建模语言SysML实用指南学习
仅供个人学习记录 应用泛化对分类层级建模 继承inherit更通用分类器的公共特性,并包含其他特有的附加特性。通用分类器与特殊分类器之间的关系称为泛化generalization 泛化由两个分类器之间的线条表示,父类端带有空心三角形箭头 块的分类与结构化特性…...

java算法学习索引之动态规划
一 斐波那契数列问题的递归和动态规划 【题目】给定整数N,返回斐波那契数列的第N项。 补充问题 1:给定整数 N,代表台阶数,一次可以跨 2个或者 1个台阶,返回有多少种走法。 【举例】N3,可以三次都跨1个台…...

ChatGPT重磅升级 奢侈品VERTU推出双模型AI手机
2023年11月7日,OpenAI举办了首届开发者大会,CEO Sam Altman(山姆奥尔特曼)展示了号称“史上最强”AI的GPT-4 Turbo。它支持长达约10万汉字的输入,具备前所未有的长文本处理能力,使更复杂的互动成为可能。此外,GPT-4 Turbo还引入了跨模态API支持,可以同时处理图片、视频和声音,从…...

mac配置双网卡 mac同时使用内网和外网
在公司办公通常都会连内网,而连内网最大的限制就是不可以使用外网,那遇到问题也就不能google,而当连接无线的时候,内网的东西就不可以访问,也就不能正常办公,对于我这种小白来说,工作中遇到的问…...

深度探究深度学习常见数据类型INT8 FP32 FP16的区别即优缺点
定点和浮点都是数值的表示(representation),它们区别在于,将整数(integer)部分和小数(fractional)部分分开的点,点在哪里。定点保留特定位数整数和小数,而浮点…...

C++——const成员
这里先用队列举例: #define _CRT_SECURE_NO_WARNINGS 1 #include <iostream> #include <assert.h> using namespace std; class SeqList { public:void pushBack(int data){if (_size _capacity){int* tmp (int*)realloc(a, sizeof(int) * 4);if (tm…...

使用阿里云服务器学习Docker
首先我这里选择的系统服务器是CentOS 7.9 64位 因为centos系统里面的安装指令是:yum,而非apt-get. yum install docker -y试着建立一个容器: docker run -d -p 80:80 httpd启动docker的守护进程: sudo systemctl start docker 查看Docke…...

通信原理板块——线性分组码之汉明码
微信公众号上线,搜索公众号小灰灰的FPGA,关注可获取相关源码,定期更新有关FPGA的项目以及开源项目源码,包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等 1、汉明码 (1)常见概念 代数码&…...

Hive 常用存储、压缩格式
1. Hive常用的存储格式 TEXTFI textfile为默认存储格式 存储方式:行存储 磁盘开销大 数据解析开销大 压缩的text文件 hive 无法进行合拆分 SEQUENCEFILE sequencefile二进制文件,以<key,value>的形式序列到文件中 存储方式:行存储 可…...

搞懂它,就可以把结构体玩活了~
正文 大家周末好,我是bug菌~ 今天主要是跟大家详细聊聊container_of这个宏定义,非常经典的宏,只是一直没有抽时间细细品味,今天就跟大家一起来看看有何神奇之处: 1 offsetof 首先我们需要简单看看offsetof(TYPE, MEMBER) 这个宏定…...

基于SpringBoot+Redis的前后端分离外卖项目-苍穹外卖(四)
编辑员工和分类模块功能开发 1. 编辑员工1.1 需求分析与设计1.1.1 产品原型1.1.2 接口设计 1.2 代码开发1.2.1 回显员工信息功能1.2.2 修改员工信息功能 1.3 功能测试 2. 分类模块功能开发2.1 需求分析与设计2.1.1 产品原型2.1.2 接口设计2.1.3 表设计 2.2 代码实现2.2.1 Mappe…...

dcat admin 各种问题
样式问题 如何根据条件给表格数据栏添加背景色 use Illuminate\Support\Collection;protected function grid(){return Grid::make(new BookArticle(), function (Grid $grid) {... 其他代码// Collection的完整路径:Illuminate\Support\Collection;$grid->row…...

数据结构与算法(二)动态规划(Java)
目录 一、简介1.1 什么是动态规划?1.2 动态规划的两种形式1)自顶向下的备忘录法(记忆化搜索法)2)自底向上的动态规划3)两种方法对比 1.3 动态规划的 3 大步骤 二、小试牛刀:钢条切割2.1 题目描述…...

颜值实力“C位出道”:起亚EV6综合实力究竟怎么样?
作为起亚电动化转型的标杆之作,起亚EV6已在全球赢得广泛赞誉,连续斩获“2022欧洲年度汽车”及“2023北美年度汽车”等多项国际大奖,其GT版本更是荣获“2023年度世界性能车”,这些荣誉不仅标志着其设计和技术的国际认可,…...

继承和多态_Java零基础手把手保姆级教程(超详细)
文章目录 Java零基础手把手保姆级教程_继承和多态(超详细)1. 继承1.1 继承的实现(掌握)1.2 继承的好处和弊端(理解) 2. 继承中的成员访问特点2.1 继承中变量的访问特点(掌握)2.2 sup…...
AI:85-基于深度学习的自然场景生成与渲染
🚀 本文选自专栏:人工智能领域200例教程专栏 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 ✨✨✨ 每一个案例都附带有在本地跑过的代码,详细讲解供大家学习,希望可以帮到大家。欢迎订阅支持,正在不断更新中,…...

Windows电脑训练 RT-DETR 改进算法 (Ultralytics) 教程,改进RTDETR算法(包括使用训练、验证、推理教程)
手把手从零开始训练 RT-DETR 改进项目 (Ultralytics版本) 教程,改进RTDETR算法 本文以Windows服务器为例:从零开始使用Windows训练 RT-DETR 算法项目 《芒果剑指 RT-DETR 目标检测算法 改进》 适用于芒果专栏改进RT-DETR算法 文章目录 百度 RT-DETR 算法介绍改进网络代码汇…...

flask框架报错解决方法
1、报错 jinja2.exceptions.TemplateNotFound 解决方法:报错jinja2.exceptions.TemplateNotFound,template没找到,由于我之前直接将.html文件和.py文件直接放在同一目录下,经了解,需要新增一个 templates目录ÿ…...

Ubuntu18.04 安装docker教程
Ubuntu18.04 安装docker教程 1、前言 Docker Engine-Community 支持以下的 Ubuntu 版本: Xenial 16.04 (LTS)Bionic 18.04 (LTS)Cosmic 18.10Disco 19.04 Docker Engine-Community 支持以下CPU架构: x86_64(或 amd64)armhfarm…...
深入理解Git
目录 一、Git 的基本构造 1.1 关键对象类型 1.2 存储机制 二、Git 的内部工作 2.1 哈希和数据完整性 2.2 引用和可达性 2.3 分支和合并 2.4 垃圾回收 三、Git 高级特性 3.1 垃圾回收 3.2 钩子(Hooks) 3.3 子模块 四、常用命令 五、最佳实践…...

JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...

微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...

Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...

C# 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...

视觉slam十四讲实践部分记录——ch2、ch3
ch2 一、使用g++编译.cpp为可执行文件并运行(P30) g++ helloSLAM.cpp ./a.out运行 二、使用cmake编译 mkdir build cd build cmake .. makeCMakeCache.txt 文件仍然指向旧的目录。这表明在源代码目录中可能还存在旧的 CMakeCache.txt 文件,或者在构建过程中仍然引用了旧的路…...

嵌入式学习笔记DAY33(网络编程——TCP)
一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化
缓存架构 代码结构 代码详情 功能点: 多级缓存,先查本地缓存,再查Redis,最后才查数据库热点数据重建逻辑使用分布式锁,二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...

Qemu arm操作系统开发环境
使用qemu虚拟arm硬件比较合适。 步骤如下: 安装qemu apt install qemu-system安装aarch64-none-elf-gcc 需要手动下载,下载地址:https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x…...