形式化说明技术剖析

合集下载

形式化开发方法

形式化开发方法

T={RtoG,GtoY,YtoR},
I(RtoG)={Red}, I(GtoY)={Green}, I(YtoR)={Yellow}, O(RtoG)={Green}, O(GtoY)={Yellow}, O(YtoR)={Red}
图3.19 红绿灯的petri网
(3)Z语言
以电梯问题为例,简要介绍Z语言。 用自然语言书写的系统规格说明书,可能存在
矛盾、二义性、含糊性、不完整性及抽象层次 混乱等问题。为了克服非形式化方法的缺点, 人们把数学引入软件开发过程,创造了基于数 学的形式化方法。
常见的形式化方法工具
(1)有穷状态机
(2)Petri网
(3)Z语言
(1)有穷状态机
Petri网包含4种元素:一组位置P、一组转换T、
输入函数I以及输出函数O。下图举例说明了
Petri网的组成。
图3.18 Petri网的组成
一组位置P为{P1,P2,P3,P4},在图中用圆圈代表位置。 一组转换T为{t1,t2},在图中用短直线表示转换。
两个用于转换的输入函数,用由位置指向转换的箭头表示,
最简单的形式化规格说明含有下述4个部分:
1.给定的集合
一个Z规格说明从一系列给定的初始化集合开始。
所谓初始化集合就是不需要详细定义的集合,这
种集合用带方括号的形式表示。对于电梯问题,
给定的初始化集合称为Button,即所有按钮的集
合,因此,Z规格说明开始于:〔Button〕
2.状态定义 一个Z规格说明由若干个“格(schema)”组成,每个 格含有一组变量说明和一系列限定变量取值范围的 谓词。例如,格S的格式如图3.20所示
自动门的状态机可以用图3.17表示:
图3.17 自动门的有穷状态机

形式化分析方法

形式化分析方法

安全协议的形式化分析方法安全协议是采用密码技术来保障通信各方之间安全交换信息的一个规则序列。

其目的是在通信各方之间提供认证或为新的会话分配会话密钥。

尽管现有的安全协议是安全专家精心设计和详细审核过的但仍然可能存在一些不易发现的安全缺陷有些甚至数年后才被发现。

长期以来,形式化方法被公认为分析安全协议的有力武器。

目前分析安全协议的形式化方法主要有:(1)推理构造法,该方法基于知识和信念推理的模态逻辑,如K3P逻辑等,但K3P逻辑只能分析协议的认证性质而不能分析协议的保密性质;(2)攻击构造法,该方法从协议的初始状态开始,对合法主体和一个攻击者所有可能的执行路径进行穷尽搜索,以期找到协议可能存在的错误。

这种方法主要有基于模型检测技术的模型检测器QRS( 验证语言、代数简化理论模型以及特定专家系统(如特殊目的NRL分析器和Interrogator),但这种方法无法解决状态空间爆炸问题;(3)证明构造法,该方法集成了以上两类方法的思想及多种技术,主要有Bolignano证明方法和Paulson方法等。

以上形式化分析方法的主要缺点是无法解决状态空间爆炸问题在很大程度上被限制在规模很小的协议分析中这显然不适应网络通信规模日益增大等发展的需要。

安全协议是建造网络安全环境的重要基石,是保证网络安全的核心技术。

设计和证明安全协议自身的正确性和安全性,成为网络安全的基础。

形式化分析方法已被证明是用于分析、设计和验证安全协议的重要方法,对安全协议的形式化分析、设计和验证已经成为当今形式化分析研究领域的一个热点问题。

虽然人们使用形式化分析方法已成功发现了许多现存安全协议存在的缺陷和针对她们的攻击,但是这些分析方法还存在许多缺陷。

有些形式化分析方法自身不太完善,存在一定的局限性,不能分析和验证某些类型安全协议的安全性;有些只能分析安全协议的不安全性,不能给出协议安全性的精确证明。

在总结安全协议现存各种缺陷的基础上,根据缺陷产生各种原因将缺陷分为:过小保护缺陷、消息可重放缺陷、消息不可达性缺陷、并行会话缺陷和其他类型缺陷等五类。

软件工程导论第4节形式化说明技术

软件工程导论第4节形式化说明技术

形式化说明技术按照形式化的程度,可以把软件工程使用的方法划分成非形式化,半形式化和形式化3类。

用自然语言描述需求规格说明,是典型的非形式化方法。

用数据流图或实体—联系图建立模型,是典型的半形式化方法。

所谓形式化方法,是描述系统性质的基于数学的技术,也就是说,如果一种方法有坚实的数学基础,那么它就是形式化的。

4.1 概述4.1.1 非形式化方法的缺点用自然语言书写的系统规格说明书,可能存在矛盾、二义性、含糊性、不完整性及抽象层次混乱等问题。

所谓矛盾是指一组相互冲突的陈述。

例如,规格说明书的某一部分可能规定系统必须监控化学反应容器中的温度,而另一部分(可能由另一位系统分析员撰写)却规定只监控在一定范围内的温度。

如果这两个相互矛盾的规定写在同一页纸上,自然很容易查出,不幸的是,它们往往出现在相距几十页甚至数百页的两页纸中。

二义性是指读者可以用不同方式理解的陈述。

例如,下面的陈述就是具有二义性:“操作员标识由操作员姓名和密码组成,密码由6位数字构成。

当操作员登录进系统时它被存放在注册文件中。

”在上面这段陈述中,“它”到底代表“密码”还是“操作员标识”,不同的人往往有不同的理解。

系统规格说明书是很庞大的文档,因此,几乎不可避免地会出现含糊性。

例如,我们可能经常在文档中看到类似下面这样的需求:“系统界面应该是对用户友好的。

”实际上,这样笼统的陈述并没有给出任何有用的信息。

不完整性可能是在系统规格说明中最常遇到的问题之一。

例如,考虑下述的系统功能需求:“系统每小时从安放在水库中的深度传感器获取一次水库深度数据,这些数值应该保留6个月。

”假设在系统规格说明书中还规定了某个命令的功能:“AVERAGE命令的功能是,在PC机上显示由某个传感器在两个日期之间获取的平均水深。

”如果在规格说明书中对这个命令的功能没有更多的描述,那么,该命令的细节是严重不完整的,例如,对该命令的描述没有告诉我们,如果用户给定的日期是在当前日期的6个月之前,那么系统应该做什么。

形式化描述模型

形式化描述模型

形式化描述模型形式化描述模型是一种利用数学模型来说明某一特定问题的概念性技术,主要应用于行业中的计算机科学和统计学。

形式化描述模型是一种数学工具,其中包含的元素可以描述和模拟问题的计算和推理过程。

因此,形式化描述模型不仅仅是利用数学变量和方程来定义一个问题,而是利用数学变量、方程和数据来分析和模拟和解决某个特定问题。

形式化描述模型通过表达式、方程或有限状态机来描述问题,以帮助用户理解和确定解决方案。

表达式的主要功能是描述问题的计算,它们可以实现逻辑推理,但可能不能解决复杂的逻辑运算。

方程可以准确描述问题,可以用于解决复杂的计算问题,但也会带来更大的计算开销。

有限状态机将问题划分为有限个状态,用于描述系统的状态变化,从而用于解决模拟、控制和决策等各种问题。

形式化描述模型的另一个重要方面是数据,它是模型中重要的一部分,可以加强模型的准确性,其核心是数据的收集、清洗、建模和应用到模型中,从而增强模型的表达能力。

在数据收集时,要注意采集质量,确保采集数据的准确性,克服缺失值和噪音。

清洗是指数据的清理,将不必要的数据去除,以减少计算量;建模是指根据数据构建一个数学模型;最后是应用,将模型应用到实践中,实现预测或决策等目的。

形式化描述模型的研究是行业中重要的一环。

研究者通过模型分析和发现已有的数据,来理解问题的规律,帮助用户去解决某个特定问题。

近年来,形式化描述模型的研究成果在计算机科学、数据科学和机器学习等学科中得到广泛应用,极大地推动了行业发展。

形式化描述模型是一种非常有用的数学工具,可以帮助用户快速准确地分析和模拟问题,实现预测和决策。

形式化描述模型的研究领域也在不断发展,为行业发展做出了重要贡献。

形式化方法 名词解释

形式化方法 名词解释

形式化方法名词解释摘要:一、形式化方法的定义二、形式化方法的应用领域三、形式化方法的优势与局限性四、我国在形式化方法的研究与发展五、形式化方法在未来的发展趋势正文:一、形式化方法的定义形式化方法,简单来说,是一种通过数学模型和逻辑推理来描述、分析和解决问题的方法。

它借助于符号、公式和逻辑推理,使得问题阐述更加严谨、精确,便于研究者之间的交流与理解。

形式化方法的应用领域十分广泛,包括数学、计算机科学、物理学、经济学、生物学等诸多学科。

二、形式化方法的应用领域在数学领域,形式化方法为数学的公理化、严谨化提供了有力支撑。

如皮亚诺公理体系的建立,为自然数的理论研究奠定了基础。

在计算机科学领域,形式化方法在程序设计、软件开发和系统分析中发挥着重要作用。

如算法复杂度分析、程序正确性证明等都离不开形式化方法。

三、形式化方法的优势与局限性形式化方法的优势在于其严谨性和精确性。

它有助于揭示问题的本质,为理论研究提供严密的框架。

然而,形式化方法也存在一定的局限性。

首先,它要求研究者具备较高的数学素养和逻辑思维能力。

其次,形式化方法在应用过程中,可能会过于复杂,导致不易理解。

最后,形式化方法有时并不能解决实际问题,需要与其他方法相结合。

四、我国在形式化方法的研究与发展我国在形式化方法的研究取得了举世瞩目的成果。

如在数学领域,华罗庚、陈省身等著名数学家为形式化方法的发展作出了巨大贡献。

在计算机科学领域,我国学者在程序设计、软件工程、人工智能等方面取得了丰硕的成果。

五、形式化方法在未来的发展趋势随着科技的不断发展,形式化方法在各个领域的应用将更加广泛。

在未来,形式化方法将继续向以下几个方向发展:1.形式化方法与其他方法的融合,如与实证方法、模拟方法等相结合,以提高解决问题的效率;2.形式化方法在交叉学科中的应用,如数学物理、生物信息学等领域;3.形式化方法在工程技术中的应用,如控制系统、通信系统等;4.形式化方法在人工智能、大数据等领域的创新应用。

软件工程-张海藩 编著 复习提纲1-6章

软件工程-张海藩 编著  复习提纲1-6章

第一章软件工程学概述第一节软件危机1.为了消除软件危机,20世纪60年代后期形成了新学科:计算机软件工程学。

2.软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。

(这些问题不是不能运行的软件才仅仅具有的,几乎所有的软件都不同程度存在这些问题。

)3.软件危机包含两个方面的问题:1.如何开发软件,以满足对软件日益增长的需求。

2.如何维护数量不断膨胀的已有软件。

4.产生软件危机的原因(page4—图1.1)1.一方面与软件本身的特点有关2.另一方面也和软件开发与维护的方法不正确有关。

5.软件不同于一般程序,它的一个显著特点是:“规模庞大”。

6.软件开发流程:1. 问题定义:(确定要求解决的问题是什么)2. 可行性研究:(决定该问题是否存在一个可行的解决办法)3. 需求分析:(深入具体的了解用户需求)进入开发时期:对软件设计概要设计详细设计编写程序(全部工作量10%—20%)测试交付使用7.软件产品的配置:包括:程序、文档、数据8.软件危机的一些典型表现:1.对软件开发成本和进度的估计常常不准确2.用户对“已完成的”软件系统不满意的现象经常发生3.软件产品的质量往往靠不住4.软件常常是不可维护的5.软件通常没有适当的文档资料。

6.软件成本在计算机系统总成本中所占的比例逐年上升。

7.软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。

第二节软件工程1.软件工程定义软件工程是:把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;2. 软件工程方法学包含3个要素:方法、工具和过程。

3. 软件工程方法学: 1. 传统方法学2. 面向对象方法学4. 面向对象方法学的4个特点:(1)把对象(object)作为融合了数据及在数据上的操作行为的统一的软件构件。

(2)把所有的对象都划分成类(class)。

(3)按照父类(基类)与子类(派生类)的关系,把若干个相关类组成一个层次结构的系统(也成为类的等级)。

第3讲_形式化描述技术_Estelle(4)

p21
B1(activity)
A3(process) p13 p14
B2(activity) p15 p22 p23
2019年3月30日星期六
形式化描述技术
3-17
模型间的并行
两种并行方式:
异步并行(asynchronous parallelism)。异步并行性 只能存在于不同系统模块之间 同步并行(synchronous parallelism)。同步并行性只 能存在于一个系统模块内。
Process
Process
系统是由实体组成的,对实体描述是模块化的。每个模块又可细分为 完成一定任务的子模块。 每个模块可以通过通道以异步方式和其它的模块(父模块、兄弟模块、 子模块)通信。
2019年3月30日星期六 形式化描述技术
3-8
Estelle 模型
Specification
Module Transition Module Transition Transition Action Action Module Transition Module Transition Transition Action
上述扩展增强了Estelle的描述能力,变量和参 数的引入还减小了状态空间
2019年3月30日星期六 形式化描述技术
3-6
Estelle: Overview
ESTELLE主要用于分布式、并行信息处理系统, 通信协议和服务等。它的大部分应用主要集中在 对ISO应用层协议的描述。 ISO-A定义了两个主要概念:模块(Module)和通道 (Channel)。模块是一说明单位,其行为由ISO-B和 ISO-C两组的语言来描述。模块可再细分为子模块, 各模块间通过通道进行交互。

形式化方法


形式化方法
By 周帝
形式化方法的定义
用于开发计算机系统的形式化方法是描述系统 性质的基于数学的技术,这样的形式化方法提供了 一个框架,可以在框架中以系统的而不是特别的方 式刻划、开发和验 证系统。 如果一个方法有良好 的数学基础,那么它就是形式化的,典型地以形式 化规约语言给出。这个基础提供一系列精确定义的 概念,如:一致性和完整性,以及定义规范 的实 现和正确性。 形式化方法的本质是基于数学的方 法来描述目标软件系统属性的一种技术。
形式化方法
By 周帝
目录
1.形式化方法 形式化方法 2.软件中的形式化方法 软件中的形式化方法 2.1非形式化方法的缺点 非形式化方法的缺点 2.2形式化方法的优点 形式化方法的优点 3.形式化方法的举例 形式化方法的举例 4.形式化方法语言 形式化方法语言
形式化方法
By 周帝
形式化转换例子
相信通过对比非形式化, 相信通过对比非形式化,我们能对形式化 方法有一定的了解 下面就想魏老师上课跟我们讲述事物用例 那样一步一步的分析, 那样一步一步的分析,如何讲一个日常的 事情用形式化方法装换
形式化方法
By 周帝
形式化方法的分类
根据说明目标软件系统的方式,形式化方法可 以分为两类: 1)面向模型的形式化方法。面向模型的方法 通过构造一个数学模型来说明系统的行为。 2)面向属性的形式化方法。面向属性的方法 通过描述目标软件系统的各种属性来间接定义 系统行为。
形式化方法
By 周帝
形式化方法的分类
形式化方法
By 周帝
个人认为,这样下的定义太过于抽象,并且不好理解。 举个易懂的例子,如果一个人长的与周帝相同,且内心 想法与周帝一样那么他就是周帝;反之,他就不是周帝。 那么我们就能写成为,如果a, 且b,那么,则ZD;如果非a, 或非b,则非ZD。 我们不难看出这是一个逻辑式,if a and b, then c; if not a or not b, then not c.

形式化验证方法浅析

形式化验证方法浅析随着信息技术的不断发展,软件系统已经成为现代社会和经济的基础设施之一。

软件系统的正确性和可靠性越来越受到重视,因为软件错误会带来巨大的经济损失和安全隐患。

为了提高软件系统的质量和可靠性,形式化验证方法逐渐成为了重要的研究领域。

本文将对形式化验证方法进行一定的浅析,介绍其基本概念、原理和应用。

一、形式化验证方法的基本概念形式化验证是一种基于数学逻辑的方法,通过数学语言描述待验证系统的行为规范或性质,然后利用自动化或手工化的技术对系统进行验证。

形式化验证方法主要包括模型检测、定理证明和符号执行等技术,其中模型检测和定理证明是相对常见和成熟的技术。

模型检测是一种自动化验证技术,它通过穷举系统的所有可能状态来检测系统是否满足给定的性质。

模型检测的核心就是构建系统的状态转移模型,然后利用状态空间搜索算法进行验证。

常用的状态空间搜索算法包括符号模型检测、显式状态搜索和隐式状态搜索等。

模型检测方法的优点是自动化程度高,能够发现系统中的错误和性质违反情况,但是其缺点是状态空间爆炸问题,对于大规模的系统往往难以处理。

定理证明是一种手工化验证技术,它通过数学推理和演绎来证明系统是否满足给定的性质。

定理证明的核心是将系统的行为规范或性质转化为逻辑公式,然后利用数学推理规则和定理证明工具来验证系统。

定理证明方法的优点是能够处理复杂的性质和系统,但是其缺点是依赖于人工的推理和分析,效率较低并且受到形式化规约的限制。

1. 系统建模:形式化验证的第一步是对系统进行建模,将系统的行为规范或性质形式化描述。

系统建模可以采用多种形式化语言和工具,如时序逻辑、Petri网、状态机和模型检测工具等。

建模的目的是将系统的行为抽象化和形式化,为后续的验证工作奠定基础。

2. 性质描述:形式化验证的第二步是对系统的性质进行描述,通常包括功能性要求和安全性要求。

功能性要求是描述系统的期望行为,如正确性、完备性和一致性等;安全性要求是描述系统的禁止行为,如死锁、饥饿和冲突等。

第4章形式化技术

⊙ ⊙ ○ ○ ⊙ ○ ○ ○ ⊙
可能出现“死锁”的PN:
如何解决“死锁”问题?(请同学思考)
三. PN 的发展?
1. 扩展 PN (比如,带有禁止线的 PN) , 增加 PN 的表达能力, 增加自动生成代码的能力;
2. 带有令牌值的 PN; 3. 计时 PN ,丰富调度策略; 4. ……
注意,输出函数O ( t2 )中有两个P3,是因为 有两个箭头由 t2 指向P3。 更形式化的 Petri 网结构,是一个四元组 C=(P,T,I,O)。 其中, P={P1,…,Pn}是一个有穷位置集, n≥0。 T={t1,…,tm}是一个有穷转换集,m≥0, 且T和P不相交。 I:T→P∞为输入函数,是由转换到位置无序 单位组(bags)的映射。 O:T→P∞为输出函数,是由转换到位置无
(可以规定各转换的“请求等待时间”来精确描述问题)
比如:t (设置) = 0;t (C) = 0.001; t (PR) = 0.1
假设电梯由 g 层驶向 f 层,因为电梯在 g 层,如图 6 所示,位置 Fg上有一个权标。由于 每条输入线上各有一个权标,转换“电梯在运行” 被激发,从而 EBf 和 Fg上的权标被移走,按钮
在图2 中P2上有权标,因此 t2 也可以被 激发。当 t2 被激发时,P2上将移走一个权标, 而 P3上新增加两个权标。Petri 网具有非确定 性,也就是说,如果数个转换都达到了激发条 件,则其中任意一个都可以被激发。( 请问:不 确定性应该么? ) t1 和 t2 都可以被激发。假设 t1 被激发 了,则结果如图3 所示。此时,只有 t2 可以 被激发。如果 t2也被激发了,则权标从 P2 中 移出,两个新权标被放在 P3上。
有穷状态机的概念在计算机系统中应用
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在一幢m层的大厦中需要一套控制n部电梯的产品,要 求这n部电梯按照约束条件C1,C2和C3在楼层间移动。 C1:每部电梯内有m个按钮,每个按钮代表一个 楼层。当按下一个按钮时该按钮指示灯亮,同时电梯 驶向相应的楼层,到达按钮指定的楼层时指示灯熄灭。 C2:除了大厦的最低层和最高层之外,每层楼都 有两个按钮分别请求电梯上行和下行。这两个按钮之 一被按下时相应的指示灯亮,当电梯到达此楼层时灯 熄灭,电梯向要求的方向移动。 C3:当对电梯没有请求时,它关门并停在当前楼 层。
EBOFF(e,f)+EBP(e,f)+not V(e,f)EBON(e,f)
在不同的软件工程活动之间平滑地过渡 可以使用数学方法证明,设计符合规格
说明,程序代码正确地实现了设计结果。
形式化说明技术剖析
应用形式化方法的准则
应该选用适当的表示方法 应该形式化,但不要过分形式化 应该估算成本 应该有形式化方法顾问随时提供咨询 不应该放弃传统的开发方法 应该建立详尽的文档 不应该放弃质量标准 不应该盲目依赖形式化方法 应该测试、测试再测试 应该重用
形式化说明技术剖析
图4.2 电梯按钮的状态转换图
形式化说明技术剖析
状态转换规则
为了定义与这些事件和状态相联系的状态转换规则, 需要一个谓词V(e,f),它的含义如下: V(e,f):电梯e停在f层 如果电梯按钮(e,f)处于关闭状态〔当前状态〕,而且 电梯按钮(e,f)被按下〔事件〕,而且电梯e不在f层 〔谓词〕,则该电梯按钮打开发光〔下个状态〕。状 态转换规则的形式化描述如下:
形式化说明技术剖析
控制系统的三大组成部分
电梯按钮: 楼层按钮: 电梯本身:
形式化说明技术剖析
电梯按钮的状态转换图
令EB(e,f)表示按下电梯e内的按钮并请求到f层去。 EB(e,f)有两个状态,分别是按钮发光(打开)和不发光 (关闭)。更精确地说,状态是: EBON(e,f):电梯按钮(e,f)打开 EBOFF(e,f):电梯按钮(e,f)关闭 如果电梯按钮(e,f)发光且电梯到达f层,该按钮将熄 灭。相反如果按钮熄灭,则按下它时,按钮将发光。 上述描述中包含了两个事件,它们分别是: EBP(e,f):电梯按钮(e,f)被按下 EAF(e,f):电梯e到达f层
试描述下面的有穷状态机
给出一个有穷状态机M= ({q0,q1,q2,q3},{0,1},t, q0,{q0}),其中状 态转换函数t的定义如下: t(q0,1)= q1, t(q0,0)= q2, t(q1,1)= q0, t(q1,0)= q3, t(q2,1)= q3, t(q2,0)= q0, t(q3,1)= q2, t(q3,0)= q1
形式化说明技术剖析
状态转换表
输入 次态
0
1
当前状态
q0
q2
q1
q1
q3
q0
q2
q0
q3
q3
q1
q2
形式化说明技术剖析
状态转换图
1
q0
1
0
0
1
q2
1
q1
00
q3
形式化说明技术剖析
状态转换矩阵
q0 q1 q2 q3
q0
10
q1 1
0
q2 0
1
q3
01
形式化说明技术剖析
有穷状态机的 当前状态+事件 下个状态
形式化说明技术剖析
有穷状态机的表示方法
状态转换表:用表格的行表示状态机所处的当前状态, 列表示当前的输入,行列交叉处表示要到达的下一个 状态。
状态转换图:用结点(圆圈,矩形或圆角矩形)表示 状态,将存在转换关系的状态用有向弧连接,并标注 相应的输入字符在有向弧旁,用标有箭头的结点表示 初始状态,终结状态集中的状态用双圈表示。
形式化说明技术剖析
有穷状态机的形式定义
有穷状态机是一个5元组(J,K,T,S,F),其 中: J是一个有穷的非空状态集,在任一确定的时 刻,只能处于一个确定的状态; K是一个有穷的非空输入集,在任一确定的时 刻,只能接收一个确定的输入; T是一个从(J-F)×K到J的转换函数; S∈J,是初始状态,由此状态开始接收输入; F J,是终态集,到达终态后不再接收输入。
形式化说明技术剖析
图4.1 保险箱的状态转换图
形式化说明技术剖析
用有穷状态机描述的保险箱
状态集J:{保险箱锁定,A,B,保险箱 解锁,报警}
输入集K:{1L,1R,2L,2R,3L,3R} 状态转换函数T:如表4.1所示 初始态S:保险箱锁定 终态集F:{保险箱解锁,报警}
形式化说明技术剖析
有时候需要对有穷状态机做一个很有用的扩展, 即在前述的5元组中加入第6个组件——谓词集 P,从而把有穷状态机扩展为一个6元组,其中 每个谓词都是系统全局状态Y的函数。转换函 数T现在是一个从(J-F)×K×P到J的函数。
现在的转换规则形式如下: 当前状态+事件+
形式化说明技术剖析
电梯控制系统
第四章形式化说明技术
本堂课讲授重点
一、有穷状态机 二、Petri网
(4学时)
形式化说明技术剖析
返回
软件需求的说明技术
非形式化:用自然语言描述需求规格说 明。比如,应力分析程序必须在一分种 之内生产任何一个梁的应力报告。
半形式化:用数据流图、实体-联系图建 立模型。
形式化方法:使用具有坚实的数学基础 的工具来描述系统性质。
形式化说明技术剖析
非形式化方法的缺点
矛盾:是指一组相互冲突的陈述。 二义性:是指读者可以用不同方式来理
解。 含糊性:比如,友好的界面、很高的安
全性 不完整性 抽象层次混乱
形式化说明技术剖析
形式化方法的优点
由于逻辑的严密性,它能够简洁准确地 描述物理现象、对象或动作的结果。比 如,关系代数里面的联结运算。
状态转移矩阵:用行表示状态机所处的当前状态,列 表示将要到达的下一个状态,行列交叉处表示输入字 符。
形式化说明技术剖析
有穷状态机的例子
一个保险箱上装了一个复合锁,锁有三 个位置,分别标记为1、2、3,转盘可向 左(L)或向右(R)转动。这样,在任意时刻 转盘都有6种可能的运动,即1L、1R、2L、 2R、3L和3R。保险箱的组合密码是1L、 3R、2L,转盘的任何其他运动都将引起 报警。图4.1描绘了保险箱的状态转换情 况。
相关文档
最新文档