系统建模2020期末背诵版
1.CPS
Cyber(信息技术): \计******算****,****通****信****,****控****制****(3C技术,computation, communication, control )****,并且离散,逻辑,交换的系统;
Physical(物理系统): 一些受物理定律的支配,并可持续运行的自然或人工系统;
Cyber-Physical Systems******(****信****息****物****理****融****合****系统****)****:** **网络****和****物****理****系统紧密结合在一起的系统。是一个结合计算、网络和物理环境的多位复杂系统,通过3C技术的有机融合与深度协作,实现大型工程系统的实时感知,动态控制和信息服务。
\CPS系统的特点:**
1. \信息-物理的耦合由新的需求和应用驱动**
{
网络工作在多个和极端的规模下;
每个物理组建中的网络性能
大规模的有线和无线网络
}
2.系统的系统
2. \新的时空约束(New patial-temporal constraints)
{
\多个时间和空间尺度上的复杂性;
\动态重组/重新匹配*
\非传统法的计算和物理基块
}
3. 无处不在的安全和隐私需求
操作必须可靠
2.实时系统
1.实时系统定义
能够在限定的响应时间内提供所需水平的服务。系统正确性不仅取决于计算的逻辑结果,还取决于产生结果的时间。实时系统的实时性很大程度取决于实时调度算法
2.设计过程:
建模(指定系统功能)-设计(如何执行功能)-分析(规定系统为什么会这么做)
3.硬实时与软实时
硬:如果错过最后期限,可能会发生灾难性后果。
软:在截止时间未完成的情况下,会使系统性能下降。
4.名词解释
及时性(timeless):行为的及时性与时间约束有关,如截止时间。最后期限可能很硬或很软。时效性的重要建模问题是建模执行时间,截止时间,到达模式,同步模式和时间源。
并发性(concurrency):多个操作顺序链的同步执行。围绕并发系统执行的问题与此有关:
可预测性(predictability):实现系统的时候,能够预知未来执行到哪里。
\正确性(correctness):** 正确性表明一个系统总是运行正确。
\鲁棒性(robustness):**鲁棒性表明系统即使在遇到新的情况(不在计划中)下也是可靠的。因此必须警惕死锁,竞争以及其他异常情况。
5.调度算法
5.1单调速率(rate monotonic) 调度算法
算法描述
最佳的静态优先级调度
根据周期分配优先权
周期较短的任务具有较高的优先级
以最短的时间执行一项工作
注:
(1)RM的最优性可以描述为:如果一个任务集能够被静态调度, 那么RM调度算法就能够调度这个任务集。
其最最优性可以证明,证明方法类似于动态规划中的“剪贴法”。
(2)RM调度算法属于“可抢占”式调度一类(事实上,后面的EDF也是这一类)。
5.2EDF:(截止时间越早,优先级越高)\
\ EDF(最早截止时间优先,Earliest Deadline First)调度算法**
算法描述
- 最佳的动态优先级调度
- 具有较早截止时间的任务具有较高的优先级
- 以最早的截止时间执行任务
3.UML图
录音机用例图
播放message情况下的时序图
状态图,看懂下图即可
3.1哪些图可以描述用例:
\用例图,顺序图,协作图,状态图,活动图** 。
3.2用例图
- 用例图是被称为参与者的外部用户所能观察到的系统功能的模型图
- 包括参与者和用例,并显示哪个参与者参与了哪个用例的执行
- 多用于静态建模阶段(主要是业务建模和需求建模)
3.3状态图


状态的特点:
可以在状态图上捕获行为的对象被认为是被动的。
这样一个对象的行为空间被分解为存在的不相交和不相交的条件,称为状态。
转换是对导致状态改变的事件的响应。该对象可以在接收到事件(尽管不进行转换)或者进行转换时执行动作,进入或退出状态。
UML中定义了四种事件:
l SignalEvent:与信号相关的事件。
Signal是一个异步通信的规范,所以SignalEvent是一个与异步接收信号相关的事件。
l CallEvent:与调用相关联的事件。
Call是一个同步通信的规范,所以CallEvent允许一个对象直接调用其中一个方法来影响另一个对象的状态。
l TimeEvent:与时间流逝相关的事件,通常用tm(
几乎所有的TimeEvents都是相对的时间。也就是说,它们指定事件将在对象处于指定状态至少
如果对象在超时之前离开该状态,则与该持续时间关联的逻辑计时器将消失,而不会创建超时事件
l ChangeEvent:与属性的值更改关联的事件。
它很少用在软件应用程序中。然而,当一个状态属性被内存映射到一个硬件上时,它可以用来指示内存地址改变的值
转换(transition)
转换是从起始状态开始并在目标状态结束的弧。
转换通常具有命名的事件触发器,可选地随后是执行转换时执行的动作(即可执行语句或操作)。
过渡事件签名的格式为:
event-name ‘(‘ parameter-list ‘)’ ‘[‘ guard-expression ‘]’ ‘/‘ action-list
注:事件可以指定形式参数列表,这意味着事件可以携带实际的参数。
digit(key: keyType)/ show(key)
约束(Guard)和行为执行顺序(Execution Order):
guard表达式是一个布尔表达式,包含在方括号中,必须计算为true或false。
行动的执行顺序很重要,基本规则是退出->转换->进入(exit-transition-entry)。
也就是说,先行状态的退出动作首先执行,然后是转换动作,随后是后续状态的进入动作。
注:Guard的原意为“保卫,守卫”,根据实际意义暂译为“约束”,不一定准确。
形式化方法的描述中: 自动机 = UML中的状态
自动机描述的有一些事件,有一些事件状态
首先它接收到这样一个事件之后,先执行他本身的动作evToReady;
从这样一个状态离开后的动作exit actions,
3.3时序图 顺序图
3.3.1概要
- 顺序图用来表示用例中的行为顺序。当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或状态机中引起转换的事件。
- 顺序图展示对象之间的交互,这些交互是指在场景或用例的事件流中发生的。 顺序图属于动态建模。
- 顺序图的重点在消息序列上,也就是说,描述消息是如何在对象间发送和接收的。表示了对象之间传送消息的时间顺序。
- 浏览顺序图的方法是:从上到下查看对象间交换的消息。
3.3.2
UML顺序图就是用来描述Java类与类之间的方法调用过程(或消息发送)是如何实现的。
参见系统建模2020
3.4 活动图(Activity Diagrams)
描述系统的动态行为。
※ 包含活动状态(ActionState),活动状态是指业务用例的一个执行步骤或一个操作,不是普通对象的状态。
※ 活动图适合描述在没有外部事件触发的情况下的系统内部的逻辑执行过程;否则,状态图更容易描述。
※ 类似于传统意义上的流程图。
※ 活动图在:
业务建模时,用于详述业务用例,描述一项业务的执行过程;
设计时,描述操作的流程。
活动图元素:
1、活动状态图(Activity) 2、动作状态(Actions)
3、动作状态约束(Action Constraints) 4、动作流(Control Flow)
5、开始节点(Initial Node) 6、终止节点(Final Node)
7、对象(Objects) 8、数据存储对象(DataStore)
9、对象流(Object Flows) 10、分支与合并(Decision and Merge Nodes)
11、分叉与汇合(Fork and Join Nodes) 12、异常处理(Exception Handler)
13、活动中断区域(Interruptible Activity Region) 14、泳道(Partition)
l UML中有三种主要的图形式来描述交互场景 :交互图(communication diagrams)
l 序列图(sequence diagrams)
l 时序图(timing diagrams)
3.*状态图与活动图的联系和区别
状态图是描述某一对象的状态转化的,它主要是展示的是对象的状态。描述的是一个对象的事情。从状态图中我们可以看出,对象在接受了事件刺激后,会做出什么样的反应。
活动图是描述系统在执行某一用例时的具体步骤的,它主要表现的是系统的动作,描述的是整个系统的事情。
活动图与状态图的异同:
(1)活动图是状态图的一种特殊形式。其中所有或多数状态都是活动状态,而且所有或多数转移都在源状态中的活动完成时立即触发。
(2)活动图,就是一个活动到另一个活动详细的处理过程。状态图,就是一个对象生命周期之内的状态的转换。
(3)活动图(Activity Diagram)是由状态图变化而来的,它们各自用于不同的目的。状态图着重描述了对象的状态变化以及触发状态变化的事件。但是,从系统任务的观点看系统,它是由一系列有序活动组成的,活动图是从活动的角度描述系统任务,并且可以描述系统任务中的并发活动。活动图描述了系统中各种活动的执行顺序,刻画一个方法中所要进行的各项活动的执行流程。活动图显示动作及其结果,着重描述操作实现中完成的工作以及用例或对象内部的活动。此外,在状态图中状态的变迁通常需要事件的触发,而活动图中一个活动结束后将立即进入下一个活动。
3.*时间自动机
参见建模期末
4.死锁
\实验一:**
实验一ATM的死锁问题:要理解实验一的原模型是Eric每次取10块钱,在收到取钱请求后,Bank会把Eric要取钱的数目与Eric账户的余额进行比较,如果超支,则会返回not_Ok!信号,然后Bank回到起点状态。同时ATM会收到这个信号进行转换状态(退卡),然后Atm回到起点状态。但是Eric将会一直停留在等待cash信号的这个状态,无法回到起点状态,所以造成了死锁。
5.MARTE
6.UML预定义包 (uml profile)
UML预定义包的优点:
l 语言基础设施的再利用(工具,规格)
l 需要较少的语言设计技能
l 允许扩展构造型采用新(图形)符号
l 配置文件可以定义模型视点
缺点:受UML元模型的约束
7.实验三
\实验三验证条件:**
首先要明白,系统每次运行时都有可能走不同的路径,并且这些路径运行的次数不止一次,会反复运行,反复循环
A[] Observer.idle imply x<=3
可以理解为:对于Observer系统下的所有路径,当该路径到达idle状态的时候,时钟x的值如果都是小于或者等于3的话,那么该式子为真
A<>Observer.idle and x>2
可以理解为:对于Observer系统下的所有路径,当所有的这些路径到达idle状态的时候,对于每个路径时钟x的值至少有一次大于2的话,那么该式子为真
E[] Observer.idle and x>2
可以理解为:对于Observer系统下的某一条路径,对于该条特定路径而言,在每次该路径到达idle状态的时候,时钟x的值一定是大于2的,那么该式子为真
E<>Obs.idle and x>3
可以理解为:对于Obs系统下的某一条路径,当该路径到达idle状态的时候,时钟x的值至少有一次大于3的话,那么该式子为真
7、 请描述 MDA(模型驱动架构)的三种层次模型。(10 分)
D.类图
答案如下:
计算独立模型(Computation-Independent Model,CIM) 描述系统的需求和将在其中使用系统的业务上下文。此模型通常描述系统将用于做什么,而不描述如何实现系统。CIM 通 常用业务语言或领域特定语言来表示。
平台独立模型(Platform-Independent Model,PIM) 描述如何构造系统,而不涉及到用于实现模型的技术。此模型不描述用于为特定平台构建解决方案的机制。PIM 在由特 定平台实现时可能是适当的,或者可能适合于多种平台上的实现。
平台特定模型(Platform-Specific Model,PSM) 从特定平台的角度描述解决方案。其中包括如何实现 CIM 和如何在特定平台上完成该实现的细节。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!