2.2硬件系统和软件系统的建模
来源:互联网 发布:js获取指定日期 编辑:程序博客网 时间:2024/05/22 06:34
硬件系统和软件系统的的建模
简单电路图的建模
首先我们先看一张简单的电路图。
可以发现该电路图中包含一个输入变量x,一个寄存器r和一个输出变量y。其中输出函数:y=¬(x⊕r),寄存器的赋值函数:r=x∨r
考虑到当寄存器的值为1时,寄存器的值不变,故当r=0时,电路行为能够建模成一个过渡系统,它的状态 空间为:S=Eval(x,r)(Eval(x,r)表示下x,r赋值的集合)
该TS的初始状态为I={<x=0,r=0>,<x=1,r=0>}。因为确定性,初始状态为哪个都有可能。假设初始状态为<x=0,r=1>,当输入x=0时,状态转换为<x=0,r=1>,当输入x=1时,状态转换为<x=1,r=1>
接下来,我们考虑标记函数。状态<x=0,r=1>被标记为{r},因为此时y的值为0,最终被标签的TS如下图所示
例子中提到的方法可以在任意顺序电路上实现。若电路包含输入x1,x2…xn,输出y1,y2..ym以及寄存器r1,r2…rk,则系统的状态由n个输入和k个寄存器组成,输出可由系统状态演算得到。
对于过渡系统:TS=(S,Act,→,I,AP,L)。我们给出寄存器的初始赋值:[r1=c0,1…rk=c0,k](表示给寄存器i赋值0,0<i≤k)。
- 系统的空间状态为:S=Eval(x1,…,xn,r1,…,rk)
- 系统的初始状态:I={(a1,a2,…,an,c(0,1),c(0,2),…,c(0,k)|a1,…,an属于{0,1}}
- 因为Act这里不考虑,故用Act={τ}表示
- 原子命题集合:AP={x1,…,xn,y1,…,ym,r1,…,rk}
软件系统的建模
数据依赖系统的执行行为主要有条件分支所确定,比如
原则上,当我们作为一个过渡系统建模一个程序片段时,过渡的条件会被我们省略,而条件分支会以不确定性的形式表现出来。这会导致过渡系统十分抽象,只有一部分相关的性质是有效的。故我们提出条件转换(conditional transitions),条件转换的带有条件分支的结果图能够展开成为过渡系统
我们扩充饮料自动售货机,nsoda表示自动售货机中soda的数量,nbeer表示自动售货机中beer的数量,若自动售货机中为空,则会返回硬币。如此之外,我们仅设置两个位置:start和select。以下条件转换
建模了投入硬币和重置自动贩卖机。条件转换以g:α的形式表示,g是一个布尔表达式(也叫guard),α是一个当g成立时将会执行的动作。条件转换
建模了当苏打水或啤酒有剩余时贩卖机的操作。当贩卖机里没有啤酒和苏打水时,补充啤酒和苏打水,条件转换如下
若我们定义最大容量为max,那么不同的动作会对变量造成不同的影响。具体如下
所谓程序图(program graphs),即用位置信息表示节点,用条件过渡表示边,显然该图并不是过渡系统,因为边是由条件构成的。但是一个过渡系统能够通过展开程序图来得到,下图为当max为2时,程序图展开为过度系统的图。
本质上讲,程序图包含以下内容
- 变量集Var,这些变量都是标准类型的变量
- dom(x)表示某个变量x的值域
- Cond(Var)表示Var上的布尔表达式
- x=(x1,x2,…,xn)
- D=dom(x1)×…×dom(xn)
它是一个每条边上标记有条件变量和相应动作的有向图。动作的影响我们可以用以下式子形式化的表示
若α表示动作x:=y+5,其中x,y是整数变量,η表示赋值,分别是η(x)=17,η(y)=-2,则
- 2.2硬件系统和软件系统的建模
- 嵌入式系统的硬件基本结构和软件层次结构
- 嵌入式系统的硬件基本结构和软件层次结构
- 系统的软件建模方法研究
- 嵌入式系统的硬件/软件特征
- 业务建模和系统建模
- DSP系统的建模和配置
- Linux和系统硬件
- 获得PC的系统和硬件信息
- Linux的系统时间和硬件时间
- 一个小视觉系统的硬件与软件
- 硬件系统的组成
- 系统的硬件组成
- 系统的硬件组成
- 系统的硬件
- 完整版三维地质建模软件系统
- 系统和软件的区别
- 系统建模
- 面向对象:现在,我想定下来了,你在哪里?
- 有人对他说:如果连 Python 都学不会,你就不要学编程了
- ES6中的promise法则
- 趣图:QA 工程师去买床
- 白话动态代理(附demo)
- 2.2硬件系统和软件系统的建模
- 排序
- android 开启Https单向认证
- 实现省、市、区三级联动的输入框
- Leetcode546. Remove Boxes(Hard)
- 十年后,程序员还会有今天的收入吗?
- 1.1引言
- tomcat 全量压缩包/war/jar jenkins自动化发版
- HtmlAgilityPack官方文档(六)【Utilities】