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

仅供个人学习记录

概述

块是SysML结构中的模块单元,用于定义一类系统、部件、部件互连,或者是流经系统的项,也用于定义外部实体、概念实体或其他逻辑抽象

块定义图用于定义块以及块之间的相互关系,如层级关系,也用于规定块的实例,包括配置和数据值。内部块图用于根据块的组成如何互连来描述块的结构

属性是块的主要结构特性

端口是块的结构化特性,规定块和其他块交互的访问点

块定义图

块定义图block definition diagram用于根据块的特性以及与其他块的结构关系定义图
完整标题bbd [model element kind] model element name [diagram name],model element kind可以是包、块或者约束块

内部块图

内部块图internal block diagram
完整标题ibd [Blcok] block name [diagram name]

应用块定义图对块建模

是SysML中描述系统结构的基本模块单元,它可以定义一类逻辑或概念实体、物理实体(如某系统)、硬件、软件或数据部件、人、设备、流经系统的实体或自然环境中的某一实体(如空气、海洋)

块是对相似实例instance对象object特点的一组特性的描述。

结构特性定义了块的内部结构和属性。行为特性定义了块如何与环境交互或者修改自身状态

块定义图中的名词遵从与包图相同的约定

块标识表示一个可分隔为多个分区的矩形,名称分区位于标识的顶部,是唯一强制性分区。块特性的其他类型在其他矩形块分区表示,有各特性类型的标签,以小写斜体表示,为复数形式,包括单词间的空格符号

应用属性对块结构与特征建模

属性properties是块的结构化特性。

  • 组成属性:块至其组合元素的分解
  • 引用属性:值引用其他块的组成
  • 值属性:描述块的量化特征

应用组成对块的组合层级建模

组成parts块之间的组合关系

组成标识了其类型在情境中的用法

(不懂这一段话)组成与块实例之间的关键区别在于:组成描述了在其组合块的实例情境下块的一个或者多个实例;实例并不需要有情境

组合块的实例可以包括在组成端块的多个实例。实例的潜在数量是由组成的多重性所规定:下边界可以是0或任意正整数,下边界是0的时候用optional表示多重性;上边界可以是1也可以是多个,用*表示,或是大于下边界的正整数。用lower bound…upper bound格式表示

组成分区以关键词parts表示,包含块中每个组成的入口。
每个入口有以下格式:part name: block name [multiplicity]

组合关联

组合关联composite association联系整体-部分。
整体端的多重性上边界始终为1,因为某个组成的实例仅能存在于一个整体中,但下边界可以是0或1。1表示组成端的块实例必须一直包含于整体端的块实例中,0表示在没有整体端块实例存在情况下组成端块实例也可以存在(组成端的块实例也可以包含在其他块实例中,但仍然要求该块实例在任何时刻只能是某一实例的组成,如发动机的实例在任何时刻都是物理存在的)。

未显示多重性时,默认整体端多重性0…1,组成端多重性为1。

组合关联以两块间的连线来表示,末端可以有不同的形式。整体端以黑色菱形表示,一个黑色菱形链接多个连线的简化符号表示该整体块有多个组合关联。通常情况,整体端不命名,组成端有组成名称,并以开放箭头表示。组成端如无箭头则表示为引用属性。

组成或显示于组成分区或显示于关联端,只能二选一

内部块图中的组成连接

连接器connector用于连接两个组成,并提供组成间的互操作,也可以连接端口,虽然并不能说明互操作的本质

connector name:association name

连接器的末端可以有箭头,表示分类连接器关联了相同的表示物,但该箭头通常不表示。连接器末端包括多重性,默认为1,表示可由链接link连接的实例数量,该链接通过连接器类型描述。在连接器标识交叉情况下,交叉部分以半圆区分两个连接器

嵌套结构与连接器的建模

就是嵌套,没什么其他好说的

绑定连接器

绑定连接器binding connector,约束连接器两端具有相同值。

应用引用属性标识块间关系

引用属性reference properties简称引用reference,使得包含引用属性的块实例可以引用该引用属性分类的块实例。

如果关联为双向,两端均有引用属性,则两方均无箭头。引用关联的一端可以以白色菱形箭头表示。无论白色菱形是否存在,SysML都指定了相同含义。

内部块图中,除了块边框以虚线代替实线表示外,引用属性的表示与组成属性表示相同

应用关联分类组件间连接器

关联association可作为连接器类型用于对组成间的连接建模
这一部分不是很透彻,比较模糊概念

通过关联分类连接器以维护兼容性

通过要求连接器任何一端的组成必须满足关联所施加的约束实现。一个兼容的组成类型或者关联端类型类型相同,或者是该类型的特例

一个规范的过程可要求对所有连接器分类,确保连接器端的兼容性。在此过程中,需提供具有可兼容末端类型的关联库,每个连接器都必须由该库中的某个关联分类

例子:ACME监视网络
引用关联

异步数字用户线路ADSL用于连接Surveillance System监视系统与Command Center指挥网络,表示为ADSL Connection关联,其末端表示了各引用属性,分别命名为adsl dte与adsl dce表示相关块各自的角色
关联分类的连接器

应用关联块定义连接器结构

关联块association block将连接器分类,关联块各端由一类特殊属性表示,称为参与属性participant property,支持关联块末端被关联块所引用,而不必要成为关联块的组成

关联块在块定义图中以一个带有块标识、虚线连接的关联路径标识

实现这种关联块不能直接块图上实现,需要内部块图进行绑定。参与属性以虚线矩形标识,用关键词《participant》与其他属性区分。通过大括号中的字符串end=property name也可以表示关联末端。

书上在红框中还有虚线连接,但是我不知道怎么操作的,是要把之前的粗略版本删了重新构建还是有其他绑定形式,不清楚

块间关联块应用
先实现ADSL Connection关联块的内部细节
adsl dte : Surveillance System表示参与属性adsl dte其类型为 Surveillance System
关联块的内部结构
下图是ADSL Connection和SDSL Connection的应用
拥有两个控制中心的ACME监视网络

SysML允许由关联块分类的连接器通过连接器属性connector property来表示,在块定义图中由块至关联块的组合关联表示。组成端的名称表示了整体端的块所拥有的连接器属性

应用值属性建立块的量化特征模型

值属性value properties用于建立与块相关的量化特征模型,也可以建立矢量量化模型。值属性可以有默认值,也可以定义值的概率分布
值类型 value type类型:

  • 支持标量值定义的基本类型primitive type,包括SysML预定义的基本类型、Integer、String、Boolean、Real。
  • 定义了一组文字名称值的枚举类型enumeration,如颜色和星期
  • 表示数据结构规范的结构类型structure type,数据结构中包括多个数据元素,每个数据元素以一个值属性表示。如SysML提供的Complex、Position值类型

值类型都是表示值,而不是实体。**一个值类型的两个实例如果值相同,则这两个实例必定一致,而块实例并不是这样。

块定义图中,值类型以实边框的盒标识表示,关键词《valueType》

值类型中增加单位和数量

数量种类quantity kind确定了一类物理数量,其值根据定义的单位unit来确定。

开发系统模型的时候,保证系统数据单位的兼容性非常重要。多组织或项目并行开发的时候,仅仅用某个名称甚至某个模型库并不能唯一识别单位和数量种类。SysML单位和数量种类也包括定义URI definitionURI,可将其与某个唯一网址引用相关,进行定义的比较。

单位与数量种类的国际单位系统标准

国际单位系统SI是国际标准化组织ISO发布的关于单位和数量种类的标准
ISO 80000模型库中所有单位和数量种类都有定义URI

属性相关

属性设置为只读,则表示在归属方的生命周期内不能更改。关键词readOnly表示
属性设置为静态,表示在该块描述的所有实例中,其值均相同。静态属性以属性名称字符串下划线表示
属性设置为派生,表示值可以由其他值派生得到。派生属性以属性名称前的符号斜杠/表示

属性值与分布建模

属性可以有默认值default value,该值可以在块分区内作为属性字符串一部分表示
语法:property name:type name=default value
组成的初始值initial value可通过标签为initial Values的分区设置

对于值范围以概率分布probability distribution而非单值描述的值属性成为分布属性distribution property
《distributed property》{p1=value,p2=value…}property name:type name
p1和p2表征了概率分布,如正态分布,这两个值为mean和standard deviation,对均匀分布为min和max
属性值和分布示例

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/117506.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue+elementUI 设置el-descriptions固定长度并对齐

问题描述 对于elementUI组件&#xff0c;el-descriptions 在以类似列表的形式排列的时候&#xff0c;上下无法对齐的问题。 问题解决 在el-descriptions 标签中&#xff0c;添加属性&#xff1a; :contentStyle"content_style" 控制其内容栏长度 <el-descripti…

【快速解决】Android Studio ERROR: Read timed out

目录 前言 回顾我查到过的解决方案&#xff08;这里是我自己解决时候的经历&#xff0c;赶时间的可以直接跳过看文章最后&#xff0c;快速进行解决&#xff09; 快速解决方案如下 总结 前言 当我们新建一个安卓项目出现Read timed out时候不要慌&#xff0c;这篇文章会打开…

PHP进销存ERP系统源码

PHP进销存ERP系统源码 系统介绍&#xff1a; 扫描入库库存预警仓库管理商品管理供应商管理。 1、电脑端手机端&#xff0c;手机实时共享&#xff0c;手机端一目了然。 2、多商户Saas营销版 无限开商户&#xff0c;用户前端自行注册&#xff0c;后台管理员审核开通 3、管理…

[LeetCode]-链表中倒数第k个结点-CM11 链表分割-LCR 027. 回文链表

目录 链表中倒数第k个结点 题目 思路 代码 CM11 链表分割 题目 思路 代码 LCR 027.回文链表 题目 思路 代码 链表中倒数第k个结点 链表中倒数第k个结点_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/529d3ae5a407492994ad2a246518148a?tpId…

YOLO目标检测数据集大全【含voc(xml)、coco(json)和yolo(txt)三种格式标签+划分脚本+训练教程】(持续更新建议收藏)

一、作者介绍&#xff1a;资深图像算法工程师&#xff0c;YOLO算法专业玩家&#xff1b;擅长目标检测、语义分割、OCR等。 二、数据集介绍&#xff1a; 真实场景的高质量图片数据&#xff0c;数据场景丰富&#xff0c;分享的绝大部分数据集已应用于各种实际落地项目。所有数据…

Technology strategy Pattern 学习笔记4 - Creating the Strategy-Corporate Context

Creating the Strategy-Corporate Context 1 •. Stakeholder Alignment 1.1 要成功&#xff0c;要尽可能获得powerful leader的支持 1.2 也需要获得最高执行层的支持 1.3 Determining&#xff08;确定&#xff09; Stakeholders 需要建立360度组织图&#xff0c;确认三类人…

GEE数据集——原住民土地(原住民土地地图)数据集

原住民土地&#xff08;原住民土地地图&#xff09; 土地承认是人们在日常生活中融入原住民存在和土地权利意识的一种方式。这通常在仪式、讲座或教育指南开始时进行。它可以是一种明确但有限的方式来认识殖民主义和第一民族的历史以及定居者殖民社会变革的需要。在这种情况下…

美团面试:Redis 除了缓存还能做什么?可以做消息队列吗?

这是一道面试中常见的 Redis 基础面试题,主要考察求职者对于 Redis 应用场景的了解。 即使不准备面试也建议看看,实际开发中也能够用到。 内容概览: Redis 除了做缓存,还能做什么? 分布式锁:通过 Redis 来做分布式锁是一种比较常见的方式。通常情况下,我们都是基于 Re…

【Mybatis小白从0到90%精讲】03:编写Mapper,第一个入门程序

文章目录 前言一、创建mysql user表二、注解方式三、XML方式四、编写main方法调用前言 映射器Mapper是 MyBatis 中最重要的文件,简单的讲主要用来映射SQL语句。 映射器有两种实现方式:注解方式、XML文件方式(推荐)。 接下来演示通过两种方式,开发Mybatis第一个入门程序,…

Python基础入门例程49-NP49 字符列表的长度

最近的博文&#xff1a; Python基础入门例程48-NP48 验证登录名与密码&#xff08;条件语句&#xff09;-CSDN博客 Python基础入门例程47-NP47 牛牛的绩点&#xff08;条件语句&#xff09;-CSDN博客 Python基础入门例程46-NP46 菜品的价格&#xff08;条件语句&#xff09;…

在Google Kubernetes集群创建分布式Jenkins(一)

因为项目需要&#xff0c;在GKE的集群上需要创建一个CICD的环境&#xff0c;记录一下安装部署一个分布式Jenkins集群的过程。 分布式Jenkins由一个主服务器和多个Agent组成&#xff0c;Agent可以执行主服务器分派的任务。如下图所示&#xff1a; 如上图&#xff0c;Jenkins Ag…

48基于matlab的经验傅里叶分解,适用于非线性及非平稳时间序列分析,将信号进行精确分解。程序已调通,可直接运行。

基于matlab的经验傅里叶分解&#xff0c;适用于非线性及非平稳时间序列分析&#xff0c;将信号进行精确分解。程序已调通&#xff0c;可直接运行。

3.26每日一题(线性非齐次的特解如何设)

1、非齐次方程有e的2x次幂&#xff1a;特解也有e的2x次幂 2、e的2x次幂前面有特殊的一元方程&#xff1a;特解要设为一般的特征方程&#xff08;axb&#xff09; 3、求线性齐次特征方程的特征根&#xff1b; 4、判断e的 rx 次幂中的 r 和特征根有没有重合的个数&#xff1a;…

私有化部署大模型:5个.Net开源项目

从零构建.Net前后端分离项目 今天一起盘点下&#xff0c;10月份推荐的5个.Net开源项目&#xff08;点击标题查看详情&#xff09;。 1、BootstrapBlazor企业级组件库&#xff1a;前端开发的革新之路 BootstrapBlazor是一个用于构建现代Web应用程序的开源框架&#xff0c;它基…

Netty第二部

一、EventLoop和EventLoopGroup 一个Channel可以近似的理解成一个Socket的包装&#xff0c;EventLoop管理这些Channel的 1、EventLoop EventLoop作为线程&#xff0c;具体Channel由EventLoop管理&#xff0c;在AbstractChannel类的register()方法可以体现 Override public …

观察者模式——解决解耦的钥匙

● 观察者模式介绍 观察者模式是一个使用频率非常高的模式&#xff0c;它最常用的地方是GUI系统、订阅——发布系统。因为这个模式的一个重要作用就是解耦&#xff0c;将被观察者和观察者解耦&#xff0c;使得它们之间依赖性更小&#xff0c;甚至做到毫无依赖。以CUI系统来说&a…

Linux安装配置awscli命令行接口工具及其从aws上传下载数据

官网技术文档有全面介绍&#xff1a;安装或更新 AWS CLI 的最新版本 - AWS Command Line Interface在系统上安装 AWS CLI。https://docs.aws.amazon.com/zh_cn/cli/latest/userguide/getting-started-install.html#getting-started-install-instructionsawscli常用命令参考&…

uni-app学习笔记

目录 一、前期准备 1、项目认识 2、pages.json基本配置 3、创建页面 二、tabBar 1、获取图标 2、代码配置 三、基础认识 1、页面生命周期 2、App.vue应用生命周期 四、基础组件 1、scroll-view可滚动视图区域 2、提示框 3、swiper滑块视图容器 4、form表单组件 一…

番外---9.0 firewall 网络

### 网络配制方式&#xff1a; 00&#xff1a;依据图形界面形式配置&#xff08;nmtui&#xff09;&#xff1b; 01&#xff1a;命令形式配置(nmcli)&#xff1b; 02&#xff1a;使用系统菜单配置&#xff1b; 00&#xff1a;依据图形界面形式配置&#xff08;nmtui&#xff0…

解决方案中word中分页符的使用

在投标方案中要善于使用“分页符”&#xff0c;尽可能少使用分节符号&#xff0c;没有分页符前&#xff0c;你每次修改你的标书或者文件&#xff0c;增加或者修改内容后。你的格式字段前后都是会发生变化&#xff0c;如何稳定的保证结构呢&#xff0c;那就是分页符的使用&#…