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

news2024/11/16 13:45:48

仅供个人学习记录

块行为建模

块提供了行为情境,行为这个 SysML 词条覆盖了块如何处理输如/输出和其内部状态改变的所有描述。
块可以指定某个行为作为其主行为或者分类器行为,该行为在块实例化后启动执行。其他行为可以指定为方法,提供了处理服务请求的细节。这两类行为也可以反过来引发块的其他行为。
行为拥有参数,这些参数用于行为执行之前 、之后、正在执行时将项传人行为或传出行为。

SysML中有如下三种主要行为形式:

  • 活动:将输人转换为输出
  • 状态机:用于描述块如何响应事件
  • 交互:描述了块组成间如何通过消息相互作用

SysML 识别了语言中的其他两种行为形式

  • 非透明行为opaque behavior在一些 SysML 外部语言中以文本形式表示。
  • 功能行为function behavior与非透明行为类似,增加了不允许直接影响归属块状态且仅能通过参数通信的约束。功能行为通常用于定义数学函数。

块主行为建模

块的主行为main behavior也成为分类器行为classifier behavior,起始于块生命周期的开始,通常在块生命周期的终点终止(也可以在终点前终止)。依赖于块的性质,分类器行为的形式选择可以是状态机(如果块主要是由事件驱动),也可以是活动(如果块主要用于将输入项转换成输出项)。

具体什么意思没看懂

块行为特性规范

块拥有描述能够响应何种请求的行为特性behavioral features,可以有关联的方法,该方法是当块处理对特征的请求时调用的行为。行为特征有操作和接受两种类型

操作operation是由同步请求触发的行为特性(当请求者等待响应时),每个操作定义一组描述请求发出时传入自变量的参数parameter,或请求处理后传回自变量的参数/
操作可以由异步请求触发(请求者不等待响应时),可以没有自变量传回给请求方

接收reception信号signal相关联,信号定义了集的某个消息。信号的属性集表示消息的内容;接收的参数必须与相关联信号的属性相同。

操作和接收之间的主要区别时,操作可以由同步请求和异步请求触发,而接收只能由异步请求触发,

信号是用一个具有实线轮廓的矩形标识定义,在信号名称之前有关键词《signal》,如下形式标识属性:attribute name:attribute type [multiplicity]
信号分类层级

Status Report状态报告信号有三个属性report报告,他直接定义;log time日志时间,由它与Status Message关系得到;id由它到System Message系统消息得到

操作和接收显示在标记为operations的块单独分区中。操作表示为名称与参数的组合,以及可选的的返回类型,形式如下:
operation name(parameter list):return type
参数列表以冒号分隔,形式如下:
direction parameter name:parameter type
参数方法可以是输入输出

接收是其名称和参数列表的组合(接收的名称总是其关联信号的名称),表示为:
《signal》reception name(parameter list)

对于SysML1.3,块必须指定它对其定义的行为特性是提出请求还是处理请求。提供行为特性provided behavioral feature请求由定义块自己处理,由特性名前的关键词prov,提供行为特性provided behavioral feature表示它期望某个外部实体处理其对该特性所做的任何要求,特性名前的关键词reqd。关键词provreqd表示特性既是提供又是请求。行为特性既可以是请求也可以是提供。

我在实现的时候,体现不出来提供prov还是请求reqd

《signal》这个我也在operations里面加不出来

下图表示由Surveillance System和Command Center提供和请求的服务视图。它们都具有相同的接收集合,对应于上面的信号。
带有行为特性的块

块定义方法建模

某些块的行为仅对特殊激励响应,尤其是在请求是由提供行为特性产生情况下,这种行为称作方法method
SysML支持多态性polymorphism,多态性至多个不同的块可以响应相同激励,但每个都采用特殊的方法,按照特定的方式完成。

跨连接器的路由请求

行为特性的请求可以跨组成间和引用间的连接器通信。当某个块行为产生针对请求行为特性的请求时,请求跨连接器与另一端通信。
任何目标端都必须有一个带有兼容标志的同类型提供行为特性(如操作或接收)

然后讲了两个特性的信号必须满足一些准则

连接器可以跨链接路由

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

人机交互——自然语言生成

自然语言生成是让计算机自动或半自动地生成自然语言的文本。这个领域涉及到自然语言处理、语言学、计算机科学等多个领域的知识。 1.简介 自然语言生成系统可以分为基于规则的方法和基于统计的方法两大类。基于规则的方法主要依靠专家知识库和语言学规则来生成文本&#xff0…

【Redis】list列表

上一篇: String 类型 https://blog.csdn.net/m0_67930426/article/details/134362606?spm1001.2014.3001.5501 目录 Lpush LRange Rpush Lpop Rpop Lindex Ltrim Lset 列表不存在的情况 如果列表存在 Linsert ​编辑 在………之前插入 在……后面插入…

Windows系统安装Redis、配置环境变量

系列文章目录 第一章 Java线程池技术应用 第二章 CountDownLatch和Semaphone的应用 第三章 Spring Cloud 简介 第四章 Spring Cloud Netflix 之 Eureka 第五章 Spring Cloud Netflix 之 Ribbon 第六章 Spring Cloud 之 OpenFeign 第七章 Spring Cloud 之 GateWay 第八章 Sprin…

【 第十一章】软件设计师 之 面向对象设计与结构化分析设计

文章底部有个人公众号:热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。有兴趣的可以关注一下。为何分享? 踩过的坑没必要让别人在再踩,自己复盘也能加深记忆。利己利人、所谓双赢。 备考资料导航 软考好处:软考的…

域名无法访问了,如何找回浏览器的缓存

背景需求 双十一即将来临,这意味着我购买了三年低配的阿里服务器,而它的服务期限也即将到期。为了提前做好准备,我在一周前对静态网站进行了备份,并成功地使用了Vercel进行部署(已经有了域名)。相比于付费…

腾讯云3年轻量应用服务器2核2G4M带宽540元,它来了

腾讯云轻量应用服务器特价是有新用户限制的,所以阿腾云建议大家选择3年期轻量应用服务器,一劳永逸,免去续费困扰。腾讯云轻量应用服务器3年可以选择2核2G4M和2核4G5M带宽,3年轻量2核2G4M服务器540元,2核4G5M轻量应用服…

jdk21 虚拟线程原理及使用分享

虚拟线程概述 jdk21已于北京时间9月19日21点正式发布, 其中引人注目的就是虚拟线程(Virtual Thread)随之正式发布, 不再是此前jdk19、jdk20中的预览版本。 平台线程:java传统的线程是对系统线程的包装,为了区别于虚拟线程,因此将通过传统方式…

C#源代码生成器深入讲解一

C#源代码生成器 01 源代码生成器初体验 新建一个类库,一定是standard2.0版本,否则会出问题。引用Nuget包Microsoft.CodeAnalysis.Common新建一个类,继承自ISourceGenerator接口 //一定要写,制定语言 [Generator(LanguageNames.…

Django 基于ORM的CURD、外键关联,请求的生命周期

文章目录 基于ORM进行的CURDORM外键关联Django请求的生命周期流程图 基于ORM进行的CURD 本质上就是通过面向对象的方式,对数据库的数据进行增、删、改、查。 这里将会将我们之前所有内容结合到一起,首先确保基于上序操作已经建立好了UserInfo表&#xff…

Three.js——基于原生WebGL封装运行的三维引擎

文章目录 前言一、什么是WebGL?二、Three.js 特性 前言 Three.js中文官网 Three.js是基于原生WebGL封装运行的三维引擎,在所有WebGL引擎中,Three.js是国内文资料最多、使用最广泛的三维引擎。既然Threejs是一款WebGL三维引擎,那么…

Python 使用tkinter的Scrollbar方法创建Text水平和垂直滚动条

在Python的Tkinter中,可以使用Scrollbar来实现Text组件的上下或左右滑动。首先,需要创建一个Scrollbar对象并将其与Text组件绑定,然后将Scrollbar放置在Text组件的右侧或底侧,使其能够控制Text组件的上下或左右滑动。 运行结果&am…

隔离在高可用架构中的使用

写作目的 最近看到了河北王校长隔离的视频,结合自己在工作中的应用,分享常见的隔离落地方案。 隔离落地方案 服务环境隔离 因为我们的项目服务于整个国内的多条产品线,也服务于国外。为了低成本所以使用一套代码。在产品线之间隔离&#…

mysql讲解2 之事务 索引 以及权限等

系列文章目录 mysql 讲解一 博客链接 点击此处即可 文章目录 系列文章目录一、事务1.1 事务的四个原则1.2 脏读 不可重复读 幻读 二、索引三,数据库用户管理四、mysql备份 一、事务 1.1 事务的四个原则 什么是事务 事务就是将一组SQL语句放在同一批次内去执行 如果一个SQ…

深入研究SVN代码检查的关键工具:svnchecker vs. SonarQube

目录 一、SVN代码检查(整合svnchecker)1、创建SVN代码库2、下载安装包3、修改SVN配置4、新建代码检查配置文件(名称自定义)5、hooks目录添加配置文件6、设置只对Java文件进行检查7、测试 二、SonarQube代码检测1、什么是SonarQube2、MySQL数据库的安装3、SonarQube服务端软件安…

Linux系统编程——修改配置文件(应用)

该应用主要调用到strstr函数&#xff0c;我们只需调用该函数并传入相关文件和修改数值即可&#xff0c;下面就是对strstr函数的定义解读以及实现案例 1.调用strstr函数需要包含以下头文件 #include<string.h>2.函数定义格式 char *strstr(char *str1, const char *str…

springboot苍穹外卖实战:十、缓存菜品(手动用redisTemplate实现缓存逻辑)+缓存套餐(Spring cache实现)

缓存菜品 缺点 缓存和数据库的数据一致性通常解决方案&#xff1a;延时双删、异步更新缓存、分布式锁。 该项目对于缓存菜品的处理较为简单&#xff0c;实际可以用管道技术提高redis的操作效率、同时cache自身有注解提供使用。 功能设计与缓存设计 建议这部分去看下原视频&…

吃透 Spring 系列—MVC部分

目录 ◆ SpringMVC简介 - SpringMVC概述 - SpringMVC快速入门 - Controller中访问容器中的Bean - SpringMVC关键组件浅析 ◆ SpringMVC的请求处理 - 请求映射路径的配置 - 请求数据的接收 - Javaweb常用对象获取 - 请求静态资源 - 注解驱动 标签 ◆ SpringMV…

【JUC】二、线程间的通信(虚假唤醒)

文章目录 0、多线程编程的步骤1、wait和notify2、synchronized下实现线程的通信&#xff08;唤醒&#xff09;3、虚假唤醒4、Lock下实现线程的通信&#xff08;唤醒&#xff09;5、线程间的定制化通信 0、多线程编程的步骤 步骤一&#xff1a;创建&#xff08;将来被共享的&am…

FD-Align论文阅读

FD-Align: Feature Discrimination Alignment for Fine-tuning Pre-Trained Models in Few-Shot Learning&#xff08;NeurIPS 2023&#xff09; 主要工作是针对微调的和之前的prompt tuining&#xff0c;adapter系列对比 Motivation&#xff1a; 通过模型对虚假关联性的鲁棒…

联想小新Pro14默认设置的问题

联想小新Pro14 锐龙版&#xff0c;Win11真的挺多不习惯的&#xff0c;默认配置都不符合一般使用习惯。 1、默认人走过自动开机。人机互动太强了&#xff1b; 2、默认短超时息屏但不锁屏&#xff0c;这体验很容易觉得卡机然后唤起&#xff0c;却又不用密码打开&#xff1b; 3…