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

第六章 块为结构建模 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
属性值和分布示例

相关文章:

  • 个人服务器到期,项目下线,新的开始
  • 技术分享 | web自动化测试-文件上传与弹框处理
  • 善用exchange server自带的反垃圾邮件功能过滤垃圾邮件
  • element的表单校验证件号规则以及输入“无”的情况校验通过
  • 嘿呦喂!一文了解Mysql的MVCC机制!
  • 方案分享:F5机器人防御助企业应对复杂攻击
  • FreeRTOS_任务通知
  • 如何在电脑上制作可视化待办任务清单?
  • ❤️ React的安装和使用(实战篇)
  • Redis-使用java代码操作Redis
  • LangChain+LLM实战---向量数据库介绍
  • Langchain-Chatchat-win10本地安装部署成功笔记(CPU)
  • 基于.NET、Uni-App开发支持多平台的小程序商城系统 - CoreShop
  • Mybatis-Plus自动填充功能配置和使用 [MyBatis-Plus系列] - 第494篇
  • 设计模式之策略模式(Strategy)
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • [iOS]Core Data浅析一 -- 启用Core Data
  • 【407天】跃迁之路——程序员高效学习方法论探索系列(实验阶段164-2018.03.19)...
  • 【5+】跨webview多页面 触发事件(二)
  • Java 内存分配及垃圾回收机制初探
  • JavaScript HTML DOM
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • PHP 的 SAPI 是个什么东西
  • SpriteKit 技巧之添加背景图片
  • STAR法则
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 缓存与缓冲
  • 紧急通知:《观止-微软》请在经管柜购买!
  • 坑!为什么View.startAnimation不起作用?
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 小程序01:wepy框架整合iview webapp UI
  • 06-01 点餐小程序前台界面搭建
  • 分布式关系型数据库服务 DRDS 支持显示的 Prepare 及逻辑库锁功能等多项能力 ...
  • 你学不懂C语言,是因为不懂编写C程序的7个步骤 ...
  • #、%和$符号在OGNL表达式中经常出现
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • (2015)JS ES6 必知的十个 特性
  • (39)STM32——FLASH闪存
  • (JS基础)String 类型
  • (TOJ2804)Even? Odd?
  • (二)fiber的基本认识
  • (离散数学)逻辑连接词
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (一)基于IDEA的JAVA基础10
  • (转) 深度模型优化性能 调参
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)
  • @Not - Empty-Null-Blank
  • [ Linux 长征路第五篇 ] make/Makefile Linux项目自动化创建工具
  • [100天算法】-每个元音包含偶数次的最长子字符串(day 53)
  • [AutoSAR 存储] 汽车智能座舱的存储需求
  • [C#]winform部署yolov5-onnx模型
  • [C/C++]数据结构 循环队列
  • [cocos creator]EditBox,editing-return事件,清空输入框
  • [Docker]十.Docker Swarm讲解