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

本文主要是介绍第七章 块为结构建模 P3|系统建模语言SysML实用指南学习,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

仅供个人学习记录

块行为建模

块提供了行为情境,行为这个 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,多态性至多个不同的块可以响应相同激励,但每个都采用特殊的方法,按照特定的方式完成。

跨连接器的路由请求

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

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

连接器可以跨链接路由

这篇关于第七章 块为结构建模 P3|系统建模语言SysML实用指南学习的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/389079

相关文章

Python在二进制文件中进行数据搜索的实战指南

《Python在二进制文件中进行数据搜索的实战指南》在二进制文件中搜索特定数据是编程中常见的任务,尤其在日志分析、程序调试和二进制数据处理中尤为重要,下面我们就来看看如何使用Python实现这一功能吧... 目录简介1. 二进制文件搜索概述2. python二进制模式文件读取(rb)2.1 二进制模式与文本

基于C++的UDP网络通信系统设计与实现详解

《基于C++的UDP网络通信系统设计与实现详解》在网络编程领域,UDP作为一种无连接的传输层协议,以其高效、低延迟的特性在实时性要求高的应用场景中占据重要地位,下面我们就来看看如何从零开始构建一个完整... 目录前言一、UDP服务器UdpServer.hpp1.1 基本框架设计1.2 初始化函数Init详解

SpringBoot整合 Quartz实现定时推送实战指南

《SpringBoot整合Quartz实现定时推送实战指南》文章介绍了SpringBoot中使用Quartz动态定时任务和任务持久化实现多条不确定结束时间并提前N分钟推送的方案,本文结合实例代码给大... 目录前言一、Quartz 是什么?1、核心定位:解决什么问题?2、Quartz 核心组件二、使用步骤1

在C#中分离饼图的某个区域的操作指南

《在C#中分离饼图的某个区域的操作指南》在处理Excel饼图时,我们可能需要将饼图的各个部分分离出来,以使它们更加醒目,Spire.XLS提供了Series.DataFormat.Percent属性,... 目录引言如何设置饼图各分片之间分离宽度的代码示例:从整个饼图中分离单个分片的代码示例:引言在处理

Python列表的创建与删除的操作指南

《Python列表的创建与删除的操作指南》列表(list)是Python中最常用、最灵活的内置数据结构之一,它支持动态扩容、混合类型、嵌套结构,几乎无处不在,但你真的会创建和删除列表吗,本文给大家介绍... 目录一、前言二、列表的创建方式1. 字面量语法(最常用)2. 使用list()构造器3. 列表推导式

Python数据验证神器Pydantic库的使用和实践中的避坑指南

《Python数据验证神器Pydantic库的使用和实践中的避坑指南》Pydantic是一个用于数据验证和设置的库,可以显著简化API接口开发,文章通过一个实际案例,展示了Pydantic如何在生产环... 目录1️⃣ 崩溃时刻:当你的API接口又双叒崩了!2️⃣ 神兵天降:3行代码解决验证难题3️⃣ 深度

Python+FFmpeg实现视频自动化处理的完整指南

《Python+FFmpeg实现视频自动化处理的完整指南》本文总结了一套在Python中使用subprocess.run调用FFmpeg进行视频自动化处理的解决方案,涵盖了跨平台硬件加速、中间素材处理... 目录一、 跨平台硬件加速:统一接口设计1. 核心映射逻辑2. python 实现代码二、 中间素材处

MySQL快速复制一张表的四种核心方法(包括表结构和数据)

《MySQL快速复制一张表的四种核心方法(包括表结构和数据)》本文详细介绍了四种复制MySQL表(结构+数据)的方法,并对每种方法进行了对比分析,适用于不同场景和数据量的复制需求,特别是针对超大表(1... 目录一、mysql 复制表(结构+数据)的 4 种核心方法(面试结构化回答)方法 1:CREATE

Java 队列Queue从原理到实战指南

《Java队列Queue从原理到实战指南》本文介绍了Java中队列(Queue)的底层实现、常见方法及其区别,通过LinkedList和ArrayDeque的实现,以及循环队列的概念,展示了如何高效... 目录一、队列的认识队列的底层与集合框架常见的队列方法插入元素方法对比(add和offer)移除元素方法

Spring Boot基于 JWT 优化 Spring Security 无状态登录实战指南

《SpringBoot基于JWT优化SpringSecurity无状态登录实战指南》本文介绍如何使用JWT优化SpringSecurity实现无状态登录,提高接口安全性,并通过实际操作步骤... 目录Spring Boot 实战:基于 JWT 优化 Spring Security 无状态登录一、先搞懂:为什