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

仅供个人学习记录

应用泛化对分类层级建模

继承inherit更通用分类器的公共特性,并包含其他特有的附加特性。通用分类器与特殊分类器之间的关系称为泛化generalization
泛化由两个分类器之间的线条表示,父类端带有空心三角形箭头
块特殊化示例

块的分类与结构化特性

并非所有再子类中添加的特性都是新的,一些特性被引入以覆盖或改变现有特性的定义,被称为重定义redefinition,以《redefines》
通常子类中特性名称与父类中特性名称相同。重定义特性可以限制其多重性、添加或更改默认值、修改现有的分布、将特性的类型更改为更受限制的类型
块定义图中的分类层级表示
《interval》表示概率分布,没有像书上直接很明确的显示{redefines weight}
Refines

分类与行为特性

块对行为特性请求的响应可以特殊化,多态性由分派机制处理,确保调用适当的方式来处理请求

应用泛化集为重叠分类建模

一个子类可以包括多个父类的特性,称为多重泛化multiple generalization 多重继承multiple inheritance
块定义图中的泛化集表示
泛化集generalization有两个属性,可用来描述其成员之间的覆盖和重叠
覆盖coverage规定父类所有实例是否是泛化集成员的一个或另一个实例。属性分别为complete和incomplete。
重叠overlap规定父类的一个实例是否只能是泛化中最多一个子类的一个实例

块定义图中的变体配置建模

绑定引用

绑定引用bound reference是块的一种引用属性,该属性使用绑定连接器与块组合层级中的其他嵌套属性绑定。
使用绑定连接器连接的属性必须有相互兼容的类型和多重性。绑定引用可以成为组合树中高层块的一个属性,该属性被限制为与组合树中深嵌套组成或属性相等。

作为引用属性,绑定引用的标记与引用属性相同,《boundReference》区分,块针对绑定引用有单独的分区,标签为bound references,分区的每个入口都有下面的前缀:
{/bindingPath=property list;lower=integer;upper=integer}
属性列表中,绑定引用的属性路径以分号分隔
绑定引用
现在的显示如上,可能是SysML更新过

两种成像装置

块Camera以名为sensor传感器的引用属性为特性,该引用属性被绑定到属性Camera::cm.ia.sensor
为支持变体而添加的绑定引用
绑定后可允许不同的配置,如通过修改sensor的类型来定义Low Fidelity Camera和High Fidelity Camera

应用绑定引用描述摄像头的两个变体

应用特定属性类型对特定情境的块特征建模

特定属性类型 property-specific type用于指定块或值类型的属性,这些块或值类型将进一步特殊化,在内部块图的本地化使用。特定属性类型隐式创建了块的子类,该类将对组成分类,从而增加了唯一性特征。

将块配置作为特殊块建模

块配置block configuration描述了一个特定的结构和特定的属性值,表示某个已知情境中块的唯一实例。例如,块配置通过呼叫标志识别航空公司机队中的特定飞机,提供该飞机的其他特征。本例中呼叫标志始终如一地识别同一架飞机,即使其他属性的值可能随时间而变化。

块配置还可以用来识别某个实体在给定时间点的状态。扩展飞机的例子,对空中交通管制份真而言,在特定的关键分析阶段描述飞机的位置、速度、燃料负荷等的快照snapshot是非常重要的。

块配置只能描述一组有限的特性和值,取决于建模者,要确保准确地理解情境,并且任何模糊性都不会损害模型的值。该块通常包含一个值属性,其值可用于标识情境中的单个实例,如车牌号码。

块定义图中的配置建模

块通常用一个代表唯一标识符的属性定义,如车辆标识号,当为配置建模时可以使用该属性。通常,为块配置引入泛化集非常有用,用以将它们与该块的其他特殊化区分开来。
SysML属性概念的一个有用的特征是表述某个属性可以是子集化Subset为一个或多个属性,无论是在其归属类中还是一个父类中
块定义图中块的不同配置建模

内部块图中的配置细节建模

块用来描述某个配置,该块的内部块图可用来捕捉具体的内部结构和针对该配置项属性的唯一值
内部块图中的块配置表示

应用实例对块配置建模

之前讨论的是通过对块特殊化,并增加特定配置信息,可以对块的配置建模。如果配置增加了在通用块中不存在的结构或数据约束,这是很有用的。
但如果配置仅包含值属性的一组值,则可以使用实例规范instance specification

块定义图中矩形标识,包含带下划线的名称字符串,格式:
instance name:block name
该标识包含一个单独分区,列出了任何具体属性的值,覆盖所有初始值。实例规范可以嵌套以反映块的组合。当实例规范标识被嵌套时,其名称字符串也可以使用下面的标记标识该实例规范对应的组成或引用的名称:
instance name/property name:block name

下图表示在不同情况下的操作周期带有实例的块配置描述
实力规范可以通过链接连接,此链接代表块之间关联的实例。块定义图中链接用两实力规范之间的连线表示实例间的链接描述

块的语义

参考fUML子集等,没有概念性的东西

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
项目:使用 JavaScript 编写的杀死幽灵游戏(附源代码) 杀死鬼魂游戏是使用 Vanilla JavaScript、CSS 和 HTML 画布开发的简单项目。这款游戏很有趣。玩家必须触摸/杀死游荡的鬼魂才能得分。您必须将鼠标悬停在鬼魂上 - 尽量得分。鬼魂在眨眼间不断从一个地方移动到另一个地方。您必须在 1 分钟内尽可能多地杀死鬼魂。 游戏制作 这个游戏项目只是用 HTML 画布、CSS 和 JavaScript 编写的。说到这个游戏的特点,用户必须触摸/杀死游荡的幽灵才能得分。游戏会根据你杀死的幽灵数量来记录你的总分。你必须将鼠标悬停在幽灵上——尽量得分。你必须在 1 分钟内尽可能多地杀死幽灵。游戏还会显示最高排名分数,如果你成功击败它,该分数会在游戏结束屏幕上更新。 该游戏包含大量的 javascript 以确保游戏正常运行。 如何运行该项目? 要运行此游戏,您不需要任何类型的本地服务器,但需要浏览器。我们建议您使用现代浏览器,如 Google Chrome 和 Mozilla Firefox。要玩游戏,首先,单击 index.html 文件在浏览器中打开游戏。 演示: 该项目为国外大神项目,可以作为毕业设计的项目,也可以作为大作业项目,不用担心代码重复,设计重复等,如果需要对项目进行修改,需要具备一定基础知识。 注意:如果装有360等杀毒软件,可能会出现误报的情况,源码本身并无病毒,使用源码时可以关闭360,或者添加信任。
javascript 中的 Paint War Game 是使用 HTML、CSS 和 JavaScript 开发的。谈到游戏玩法,这款游戏的主要目标是建造比敌人更多的油漆砖。您所要做的就是使用 WASD 键输入玩家的动作。您可以使用 VS Code 来运行该项目。 关于项目 每次您的玩家走过一瓷砖时,它都会被涂成您的团队颜色。您必须在同一瓷砖上走 4 次才能获得更多游戏点数。瓷砖会被您的团队挡住,并且不能再被偷走。如果您走过另一支球队的瓷砖,它会像您第一次走过时一样被涂上颜色。如果您创建一个封闭的被阻挡瓷砖图形,图形内所有未被阻挡的瓷砖都将固定为您的团队颜色。这个游戏充满乐趣,创造和重新即兴发挥会更有趣。 要运行此项目,我们建议您使用现代浏览器,例如 Google Chrome、  Mozilla Firefox。该游戏可能还支持 Explorer/Microsoft Edge。 演示: javascript 中的 Paint War Game 是使用 HTML、CSS 和 JavaScript 开发的。谈到游戏玩法,这款游戏的主要目标是建造比敌人更多的油漆砖。您所要做的就是使用 WASD 键输入玩家的动作。您可以使用 VS Code 来运行该项目。 关于项目 每次您的玩家走过一瓷砖时,它都会被涂成您的团队颜色。您必须在同一瓷砖上走 4 次才能获得更多游戏点数。瓷砖会被您的团队挡住,并且不能再被偷走。如果您走过另一支球队的瓷砖,它会像您第一次走过时一样被涂上颜色。如果您创建一个封闭的被阻挡瓷砖图形,图形内所有未被阻挡的瓷砖都将固定为您的团队颜色。这个游戏充满乐趣,创造和重新即兴发挥会更有趣。 要运行此项目,我们建议您使用现代浏览器,例如 Google Chrome、  Mozilla Firefox。该游戏可能还支持 Explorer/Microsoft Edge。 演示: 该项目为国外大神项目,可以作为毕业设计的项目,也可以作为大作业项目,不用担心代码重复,设计重复等,如果需要对项目进行修改,需要具备一定基础知识。 注意:如果装有360等杀毒软件,可能会出现误报的情况,源码本身并无病毒,使用源码时可以关闭360,或者添加信任。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值