中科大软院-系统建模复习

背景:本文是博主在系统建模期末考试期间准备的,结合wolai及其他资料归纳的知识总结,仅供参考,系统建模老师给分随缘,谨慎~,后续还有部分其他课程,更新随缘(主要是笔记不在csdn,搬运太麻烦了,狗头保命)

1、UML中九种图的建模元素,以及九种模型图的作用

用例图
在这里插入图片描述
参与者Actor、用例Use Case

类图
在这里插入图片描述
类名、属性、操作

关系:关联关系、聚合关系、组合关系、泛化关系、实现关系、依赖关系

对象图
在这里插入图片描述
顺序图
在这里插入图片描述
参与者、对象、生命线、消息符号

在这里插入图片描述
协作图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
状态图
在这里插入图片描述
在这里插入图片描述
活动图
在这里插入图片描述
在这里插入图片描述
构件图
在这里插入图片描述
在这里插入图片描述
部署图
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、CPS系统、实时系统、MDA模型驱动开发(CIM-PIM-PSM)

cps系统
在这里插入图片描述
CPS系统特点:

1、信息-物理的耦合由新的需求和应用驱动

3、无处不在的安全和隐私需求

4、操作必须可靠

2、新的时空约束

5、 CPS具有自适应性、自主性、高效性、功能性、可靠性、安全性等特点和要求

实时系统

实时系统能够在指定或者确定的时间内完成系统功能和外部或内部、同步或异步时间做出响应的系统。

实时系统名词解释

时间约束(Timing constraint):实时系统的任务具有一定的时间约束(截止时间)。根据截止时间,实时系统的实时性分为“硬实时”和“软实时”。硬实时是指应用的时间需求必须得到完全满足,否则就造成重大安全事故。
发布时间(Release Time):作业变成为可执行的时间。如果所有的工作在系统开始执行时被释放,那么就认为没有发布时间。
截止时间(Deadline):工作被要求执行完成的时间。如果截止时间是无限的,那么工作就没有最后期限。绝对截止时间等于发布时间加上相对截止时间。
响应时间(Response time):作业从发布到执行完成的时间长度。

及时性(timeless):实时系统中,动作必须在事件到达或者预期时间到达时开始执行,作出响应,在动作开始后的某个时刻必须完成,否则就会造成重大安全事故。
并发性(concurrency):是指多个动作顺序链的同时执行。
可预测性(predictability):系统的可预测性就是系统的响应特性所达到的可预知程度。
正确性和鲁棒性(correctness and robustness):正确性表明一个系统总是运行正确。鲁棒性表明系统即使在遇到新的情况(不在计划中)下也是可靠的。因此必须警惕死锁,竞争以及其他异常情况。
**实时操作系统特点:**及时性、可靠性(工业控制、武器发射等领域)

Modleing,什么是模型驱动开发

MDA模型驱动开发(CIM-PIM-PSM)

模型是指对某个系统的简化表示,从给定的角度突出显示感兴趣的属性。它使用某种建模语言对系统的功能、行为和结构进行描述。

模型驱动开发是面向模型的分析与设计,可以正确无误地、且快速高质量地完成一个软件开发过程。

模型驱动开发Model Driven Development (MDD) 是一种以模型作为主要工件的高级别抽象的开发方法,模型在工具的支持下,被作为核心资产被转换成代码或者可运行配置。
MDA (Model Driven Architecture)模型驱动架构
MDA定义的三种模型
在这里插入图片描述

3、RM/EDF调度机制

RM调度算法

Rate Monotonic 速率单调调度算法,RM算法是一种静态分配优先级算法,它根据任务的周期来分配优先级,周期越小,任务的优先级越高。

特点描述
在这里插入图片描述
利用率
在这里插入图片描述EDF调度算法

Earliest Deadline First 最早截止期优先调度算法是一种动态优先级任务调度算法,它按照当前作业的绝对截止期为其分配优先级,作业的绝对截止期越短,其优先级别越高。
在这里插入图片描述
EDF调度算法描述
在这里插入图片描述
二者都是可抢占式调度算法
在这里插入图片描述
在这里插入图片描述

4、ROPES开发流程(需求分析、系统设计、系统实现)

Rapid Object-Oriented Process Embedded System 用于嵌入式系统的快速面向对象过程

以下过程都建立在系统的模型之上,这些过程可以理解为同一模型的不同视图。要明白分析设计阶段用到的UML图。

  1. 分析(analysis)阶段对所有可能的正确方案的本质特征进行识别。
  • 需求分析(requirements analysis)是从客户获取需求及把这些需求组织为容易理解的形式的过程。

  • 系统分析(system analysis)要构造定义更为严格的模型,并且以这些需求为基础,将系统的行为划分为机械组件、电子组件和软件组件。

  • 对象分析(Object Analysis)要给出重要的对象和类,以及它们的主要属性,前面的子阶段定义了系统要求具备的行为,这些需求由本阶段给出的对象结构予以满足。它还包括两个子阶段:

    • 结构对象分析(structural object analysis)以类和对象的形式标识对象分解的结构单元,同时建立对象分解的组织单元(包、节点和组件)以及这些元素之间的内在关系。

    • 行为对象分析(behavioral object analysis)为已识别的类定义必要的动态行为模型。

  1. 设计(design)则在分析的结果中添加了一些元素,这些元素根据对某些判定准则的优化,定义了一份特定的解决方案。
  • 架构设计(architectural design)能够给出可部署软件系统的大尺度组织分解。

  • 机制设计(Mechanistic Design):对对象间的协作具体化。

  • 详细设计(detailed design)定义类的结构和并对各个类的内部进行组织。

  1. 转化(translation)阶段为设计创建一个可执行的、可部署的实现。(如将UML模型转化成源代码)

  2. 测试(testing)要检查转化的结果是否与设计等价,并验证具体实现是否满足了分析阶段建立的正确性准则。

5、自动机的事件、迁移等内容理解;(结合实验)

A[]φ: 对所有可到达的路径,表达式φ一直满足,则为真
A<>φ: 对所有可到达的路径,表达式φ至少满足一次,则为真
E[]φ: 对某一条路径,表达式φ一直满足,则为真
E<>φ: 对某一条路径,表达式φ至少满足一次,则为真

ATM的死锁问题:要理解该实验的原模型是Eric每次取10块钱,在收到取钱请求后,Bank会把Eric要取钱的数目与Eric账户的余额进行比较,如果超支,则会返回not_Ok!信号,然后Bank回到起点状态。同时ATM会收到这个信号进行转换状态(退卡),然后Atm回到起点状态。但是Eric将会一直停留在等待cash信号的这个状态,无法回到起点状态,所以造成了死锁。

死锁的危害

1、死锁会使进程得不到正确的结果;

2、死锁会使资源的利用率降低;

3、死锁还会导致新的死锁。

死锁的条件

1、互斥条件

2、不可剥夺条件

3、请求和保持条件

4、循环等待条件

火车铁路问题
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

火车处于safe 状态,并在靠近路口时发出appr 同步事件;
控制器处于listen 状态,在接收到同步事件appr 后,迁移至委托状态(C)并发出lower 同步事件,并迁移至wait 状态;
控制门处于Raise 状态,当接收到lower 事件后,迁移至Downing 状态,并将时钟y 设置为0;
控制门在成功下降后,发出havedown 事件;
控制器处于wait 状态并接收到havedown 同步事件,并作出状态的迁移;并发出go 的同步事件;
火车接收到go的信号,开始通过路口,并发出leave的信号,并将时钟x设置为0;
控制器处于Listen状态,当收到leave的信号时,发出raise信号,回到Listen状态;
控制门处于Down状态,当收到raise的信号时,迁移至Raise状态。
控制门处于Downing状态,当时钟y>=100时,发出error的同步事件,并迁移至error状态;
控制器处于wait状态,接收到error同步时间后,迁移至(c)状态,并发出过stop同步事件,迁移至true状态;
火车处于appr状态时,当时钟x<=180时,接收到stop同步事件,则迁移至stop状态;
控制门处于error状态,发出 havedown 同步事件,迁移至Down状态;
控制器处于true状态,接收到havedown 事件,并发出go同步事件,迁移至Listen状态;
火车处于Stop状态,收到go事件的同时,将时钟x置为0,并迁移至Cross状态,时钟x<=60时,发出leave同步事件并将时钟x再次置为0,回到Safe状态;
控制器处于Listen状态,收到leave事件,发出raise同步事件,并回到Listen状态;
控制门处于Down状态,当收到raise事件时,回到Raise状态。

模型验证性质:
(1) A[] Queue.list[N-1]==0,表示队列中不可能有N个元素,即数组永远不会溢出。实际上,模型定义了N作为火车的数量+1来验证这个属性。可以使用与列车数量匹配的队列长度来检查此属性。
(2) A[] Train1.Cross+ Train2.Cross+ Train3.Cross+ Train4.Cross<=1:表示在任何一个时刻多只有一辆火车通过桥,该表达式使用了Train1.Cross来表示结果的真或假,即1或0,易知,模型应该满足这个性质。
(3) E<> Train1.Cross and Train2.Stop and Train3. Stop and Train4. Stop:表示火车1正在过桥,火车2,3,4正在等待过桥,其他火车具有相似的性质。
(4) 性质E<>Train1.Cross and Train2.Stop表示列车1可以过桥,而火车2正在等待过桥,其他火车具有相似的性质。
(5) 性质E<>Train1.Cross表示火车1可以过桥,可以用同样的方法检测其他火车。

6、MARTE语言的建模思想

在这里插入图片描述

MARTE(Modeling and Analysis of Real-Time and Embedded systems)语言是一种针对嵌入式和实时系统的建模语言。它的建模思想主要基于三个方面:

  1. 强调建模的重要性:MARTE语言认为建模是描述和分析嵌入式和实时系统的有效方法。建模可以帮助工程师更清晰地理解系统的特征和性能,并为系统的设计和实现提供有益的指导。

  2. 强调时间的重要性:MARTE语言认为时间是嵌入式和实时系统的核心概念。它们需要实时地处理数据和响应外界事件,因此时间的管理和控制是系统的关键因素。MARTE语言提供了一系列的时间概念和模型,以支持对嵌入式和实时系统的时间特性进行建模和分析。

  3. 强调分析的重要性:MARTE语言认为建模不仅仅是为了描述系统,更重要的是要对系统进行有效的分析。MARTE语言提供了一系列的分析工具和方法,可以帮助工程师对系统的性能、可靠性、安全性等方面进行评估和预测。

7、UML 预定义包(UML profile)

一个UML预定义包是用补充信息扩充UML模型的工具。 这种机制可以以两种方式使用:

  • 用以扩展UML语言。
    例如,UML没有提供明确的信号量概念,但可以通过重载现有的UML概念(如Class)来添加它。结果是一种特殊的类,它除了标准的类语义之外,还包含信号量语义。

  • 可用于将附加信息附加到辅助用途(如模型分析或代码生成)所需的模型。
    例如,可以使用这种注释来指定类的某些操作的最差情况执行时间,这可能需要用于分析应用程序的时序特性。

UML预定义包的特点:

  1. 语言基础设施的再利用(工具,规格)

  2. 需要较少的语言设计技能

  3. 允许扩展构造型采用新(图形)符号

  4. 配置文件可以定义模型视点

  5. 缺点:受UML元模型的约束

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值