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

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

仅供个人学习记录
这部分感觉很模糊,理解的不好,后面的图也没画了,用到的时候再来翻书

应用端口实现接口建模

端口port表示了块边界上的一个访问点,也可以是由该块分类的任何组成或引用边界上的可访问点。一个块可以有多个端口规定不同的访问点。在内部块图中端口可通过连接器相互连接,从而支持组成间的交互。

SysML1.3 引入了两种新型端口,分别为完整端口和代理端口。

完整端口fullport等同于父块边界上的一个组成,该组成可作为块的进出访问点。完整端口由块分类,并可以有嵌套的组成和行为,能够如同其他组成一样修改输人/输出流。
完整端口可以表示一个物理组件,如电连接器或者机械接口装置,因此是系统组成树的一部分。

代理端口proxy port,代理端口并非其父块的组成,而仅提供了对父块或父块组成的特性的外部访问,该访问并不修改其输人/输出。代理端口本质上作为一个通过或接力传递,规范了所属块的哪些特性可以在端口被访问。
代理端口由接口块分类,该接口块规定了通过端口可以访问的特性。接口块不能有内部行为或组成(或完整端口),但可以包含嵌套代理端口。

完整端口和代理端口均支持同一特性集,即行为特性和任何一种属性(除了代理端口不支持组成)。在任何一种情況下,块的使用者仅仅关注其端口的特性,而无须考虑特性是由代理端口表示还是直接由完整端口处理。

代理端口通常用于将系统作为黑盒规范,接口规范并不规定系统的任何内部结构
完整端口通常根据系统的实际组成来规范端口,从而使得该组成能够修改归属块的输人/输出

完整端口和代理端口之间的选择由设计决策决定。为支持该方法,端口可以被创建和连接,无须被指定为完整端口或代理端口,这使得决策能够被延后。

代理端口与完整端口的概念在SysML1.3中被加入,替代SysML1.2中的流端口与标准端口概念。总的来说,代理端口提供了 SysML 1.2 流端口和标准端口的所有功能,并且新增了嵌套端口和规定非流属性的能力。不主张使用流端口和标准端口

完整端口

完整端口以矩形框表示在其父标识的边框上。即使父块被封装,外部连接器也可以与完整端口连接。标签名为full ports的单独分区仅表示完整端口。
格式:《full》port name:block name[multiplicity]
当端口类型具有流属性时,用端口标识内部的箭头表示方向信息,如果方向混杂或所有流属性均为输入/输出方向,则应用双向箭头。
块标识分区中的各种端口均标记为ports端口,并采用如下字符串:
direction port name:block name[multiplicity]

完整端口可以包括嵌套端口,嵌套端口又可以包括端口自身,因此可以产生任意深度的嵌套完整端口层级。
嵌套端口以父端口标识边界的矩形标识,可置于边界的任何地方,但不可以与表示端口嵌套层级中更高元素的标识有交叉

带有嵌套端口的完整端口

代理端口

代理端口不代表系统的组成,而是具有其归属块或块组成特性的一个建模结构,以《interfaceBlock》标识
代理端口由接口块interface block分类,接口块作为特殊形式不包含任何内部结构或行为,格式如下:
《proxy》port name:interface block name[multiplicity]
块标识可以在proxy ports代理端口分区内列出其代理端口,使用如下字符串:
direction port name:interface block[multiplicity]

下图是摄像头与其环境物理连接所需的物理接口
带有代理端口的接口块
下图是上图而来的接口块,描述了Wired Camera有线摄像头的物理接口,拥有ethernet以太网power电源和video视频三个代理端口和mount完整端口
带有嵌套端口的块

端口连接

端口可以通过连接器连接到其他端口或直接连接到组成
块内部端口连接

完整端口连接

完整端口连接与组成连接具有相同的含义和约束。当完整端口代表某个具有子结构的物理部件时,端口可对自身的组成和端口进一步分解

组件与完整端口连接
有报错

代理端口连接

完整端口之间的内部连接器关注于将一个组成的向外流匹配到另一组的向内流,但是进出代理端口的内部连接器关注的是代理端口类型的特性与所归属块或其组成的相应特性相匹配。

3管脚AC插座接口的定义,以及他们之间Plug To Socket的关联。给出了有线摄像头墙底座,描述电源如何提供给摄像头。墙和摄像头之间的外部连接器由Plug To Socket分类
绑定
带有分类连接器的代理端口连接

结对端口

SysML提供了结对端口conjugate机制,对于两个端口可复用单接口块。一个端口被设置为另一个端口的结对,这表示接口块中的行为特性和流属性的方向对于这个端口是相反的。
完整端口不能被结对

结对端口以端口分类前添加波浪线~表示:
port name:~Interface Block Name

端口和连接器分解

上图的关联被一个关联块替代,以显示嵌套端口之间的连接。同时加了一个约束plug的max current必须大于或等于socket的max current

end=plug
关联块内的代理端口连接

红框内应该有一个虚线连接,前面章节也遗留过这个问题。不知道虚线是怎么弄出来的

完整端口之间的连接器可以通过关联块分类,显示连接如何实现的结构细节
应用关联块定义结构化连接
还可以采用结对的嵌套端口定义、嵌套端口连接

单端口与多个端口连接

单个端口可以与其他多个端口连接,连接器本身就可以表示多个链接
不画图了

端口间流的建模

项流既可以在组成之间的连接器上表示,也可以在端口到端口的连接器上表示

带有端口的接口应用

描述一组由端口支持的行为特性的另一种方法在接口interface中对其定义 一个或多个接口可以与端口相关,以定义它提供或请求的行为特性。

接口建模

矩形标识,关键词《interface》。接口标识有一个类似块符号的operations操作分区

端口添加接口

请求接口required interface规定由块或其组成行为请求的一个或多个操作。端口上的提供接口provided interface规定块必须提供一个或多个操作。均用球形与凹形表示。
内部块图中基于服务的端口连接

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



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

相关文章

破茧 JDBC:MyBatis 在 Spring Boot 中的轻量实践指南

《破茧JDBC:MyBatis在SpringBoot中的轻量实践指南》MyBatis是持久层框架,简化JDBC开发,通过接口+XML/注解实现数据访问,动态代理生成实现类,支持增删改查及参数... 目录一、什么是 MyBATis二、 MyBatis 入门2.1、创建项目2.2、配置数据库连接字符串2.3、入

Apache Ignite 与 Spring Boot 集成详细指南

《ApacheIgnite与SpringBoot集成详细指南》ApacheIgnite官方指南详解如何通过SpringBootStarter扩展实现自动配置,支持厚/轻客户端模式,简化Ign... 目录 一、背景:为什么需要这个集成? 二、两种集成方式(对应两种客户端模型) 三、方式一:自动配置 Thick

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

Python进行JSON和Excel文件转换处理指南

《Python进行JSON和Excel文件转换处理指南》在数据交换与系统集成中,JSON与Excel是两种极为常见的数据格式,本文将介绍如何使用Python实现将JSON转换为格式化的Excel文件,... 目录将 jsON 导入为格式化 Excel将 Excel 导出为结构化 JSON处理嵌套 JSON:

深入浅出SpringBoot WebSocket构建实时应用全面指南

《深入浅出SpringBootWebSocket构建实时应用全面指南》WebSocket是一种在单个TCP连接上进行全双工通信的协议,这篇文章主要为大家详细介绍了SpringBoot如何集成WebS... 目录前言为什么需要 WebSocketWebSocket 是什么Spring Boot 如何简化 We

python中列表应用和扩展性实用详解

《python中列表应用和扩展性实用详解》文章介绍了Python列表的核心特性:有序数据集合,用[]定义,元素类型可不同,支持迭代、循环、切片,可执行增删改查、排序、推导式及嵌套操作,是常用的数据处理... 目录1、列表定义2、格式3、列表是可迭代对象4、列表的常见操作总结1、列表定义是处理一组有序项目的

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参

Python对接支付宝支付之使用AliPay实现的详细操作指南

《Python对接支付宝支付之使用AliPay实现的详细操作指南》支付宝没有提供PythonSDK,但是强大的github就有提供python-alipay-sdk,封装里很多复杂操作,使用这个我们就... 目录一、引言二、准备工作2.1 支付宝开放平台入驻与应用创建2.2 密钥生成与配置2.3 安装ali

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方