0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

形式化建模(一)

上海控安 来源:上海控安 作者:上海控安 2022-10-21 13:48 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

作者 |郑寒月上海控安可信软件创新研究院工程师

版块 |鉴源论坛 · 观模

01什么是建模

对系统进行建模是一个采用表格化、图形化、公式化的方式,将系统的构成及其构成间的关系呈现给人们的一种技术方法,也就是将系统进行抽象化处理的过程。对系统的抽象可以从多个层面进行,即可以从多维度进行建模。在建模过程中,系统逐渐实现无歧义化的过程。

数据层面的建模通常在数据流的基础上进行。数据流是一组有序、有起点和终点的数据序列。数据流图(Data Flow Diagram)描述数据如何在软件功能模块之间“流动”,主要从功能之间的数据信息传递关系层面来刻画系统,可对系统功能进行层次化的组合描述。其主要描述对象为:处理数据的功能(Process),数据资源的集合(Data Store)和数据的流动(Data Flow)。

另一种常用的建模方式是使用有限状态机(Finite-state Machine)进行建模。状态机模型中包含四个基本要素,分别为现态、条件、动作和次态。现态指当前周期所处的状态。条件指当某个状态满足一定条件时,会触发一次动作,或执行一次迁移。动作执行完毕后,可以迁移到新的状态,或者保持原状态。次态指基于当前所处状态,条件满足后需要迁往的新状态。若基于状态机模型进行模拟仿真,需首先通过输入端口确定现态,执行一次动作后判断现态的所有迁移条件是否满足,若满足迁移条件则发生跳转,若不满足则仍保持现态,同时传出输出变量;若满足迁移条件则发生跳转,并执行一次动作。

下面给出一个状态机建模的实例。

在轨道交通领域,由于惯性,每次停车可能发生车轮与轨道的“打滑”,使得软件记录的车轮运行圈数和实际运行圈数不一致,累计以后容易导致错误计算。为确保安全,需要监控打滑的距离等数值,计算一个补偿数值,使得车轮实际运行圈数与计算值一致。对于如表1所示的描述进行状态机建模,可知空转补偿状态有COASTING、BRAKING、SLIDING、SKIDDING等四个状态,关注列车车轮打滑监控模块,抽取出状态和迁移条件进行状态机建模。状态机建模结果如图1所示,其中COASTING、BRAKING、SLIDING、SKIDDING为状态,箭头表示迁移,迁移条件表示在迁移箭头上,数字代表迁移条件数量。

pYYBAGNSMSOAIJ1CAABszTrtqBo369.png

表1打滑补偿

pYYBAGNSMZaAHakpAAFo9OiWuFM759.png

图1状态机建模结果

02什么是形式化建模

形式化方法(Formal Method)是一种基于数学基础,经过严格的数学证明的分析技术的应用方法,常用于软件和硬件系统的描述、开发和验证过程中。形式化建模则将形式化方法应用于建模过程中,它以无歧义的形式化规格说明语言为基础,使用精确定义的形式语言进行系统功能的描述,利用一些已知特性的数学抽象来为目标软件系统的状态特征和行为特征构造模型,从而完成形式化建模过程。形式化模型应介于程序设计语言和高层需求之间,具有精确、无歧义的特点,但并不呈现过多细节。

一些经典的形式化语言,如Z语言、B语言、Event-B语言、VDM等均具有各自的形式语义,使用形式化语言遵循建模规范得到的形式化模型可以对系统进行精确描述,便于进行后续的形式化分析和验证。

03航空发动机控制软件建模实例

因为安全攸关领域嵌入式控制软件研制具有领域专家参与度高、功能安全性要求高、规范与标准约束严格等特点,所以为符合研制要求,保证系统安全,形式化建模广泛运用于航空航天、轨道交通等安全攸关领域。

接下来将以航空发动机控制系统为例,介绍形式化建模在工程上的运用。

航空发动机控制软件是实时嵌入式软件,运行于电子控制器平台(EEC)中实现发动机的运行控制,主要功能是按照飞机的指令实现发动机的启动、停车、推力控制、限制保护、作动部件控制、故障诊断及处理等。

通过系统调研,可以提取出航空发动机控制系统的如下特征:

(1)控制软件输入为各传感器变量。

(2)控制软件的输出为经过复杂算法计算之后的数值结果,通过计算的方式实现控制行为。

(3)控制软件的基本时间单元为周期。因为实时性的要求,控制算法需要在给定周期内完成相应的算法计算。整个系统中有两个周期概念,按照执行功能的实时性分为了大闭环周期和小闭环周期,大闭环的周期值是小闭环周期的固定倍数。

(4)控制软件的核心是控制规律,控制软件在特定的状态下有其固有的控制规律。

(5)控制软件的主导因素是其当前所处的状态。系统在整个生命周期内在不同的状态下执行不同的控制算法,具体调用的控制算法种类及其执行顺序由当前时刻其所处的状态决定。特别地,在每个周期的计算任务完成后,系统会检测是否满足状态迁移条件。当且仅当满足迁移条件时,系统的状态会发生迁移。

因此,在建模过程中可以将航空发动机控制软件视为一个以周期为基本时间单元驱动的具有多个不同发动机状态的控制系统。在发动机处于每个特定状态时,它可以根据设定的时间周期,完成模式内具体的采样、计算任务和控制行为,并判断给定的条件,完成可能的状态切换或继续处于当前状态的判定。

由于传统的形式化语言学习成本高、难以用于描述上述航空发动机控制系统特征等原因,本例采用了航空领域适用的具有以计算任务为核心、以模式为基础、以周期为基本时间单元、按重要程度划分层级等特征的形式化建模语言AEDL进行模型构建。

遵循AEDL语义,使用AEDL语法构建的航空发动机控制系统模型具有模式流、计算任务、数据字典等三个部分,分别对系统状态转换、系统计算执行和系统变量进行了精确描述。

通过状态转换部分模型,可以对航空发动机的行为模式进行抽象,如图2所示。

pYYBAGNSMiWAX0guAAIJuR94Xxs696.png

图2航空发动机控制系统状态转换

顶层的状态代表航空发动机控制系统可能处于的状态,箭头的方向从现态指向可进行迁移的次态,迁移条件对迁移是否合法进行了限制。状态转换图可以描述航空发动机控制系统的整体行为,通过相应的状态转换图进行研究,可以理解系统行为,分析出系统的部分特征。如:

(1)当前航空发动机系统具有10个合法模式;

(2)模式转换需满足相应的条件;

(3)所有的模式均有可以到达的途径;

(4)模式间的迁移条件可能由多个表达式组合而成;

......

具有经验的工程师可以根据状态模型快速判断出系统状态是否存在问题。比如,如图3所示的初始模式转换,飞行控制人员可能根据其专业知识,认定“初始模式”不应该以当前条件直接转换到“慢车以上模式”。任何一个模式,都不应该同时满足向两个及以上模式转换的条件,否则意味着系统可能会出现不确定性,发生模式的随意转换。

poYBAGNSMmiAJfPdAAA_6FqUQxE265.png

图3初始模式转换

该形式化建模案例体现了航空发动机控制系统周期控制、具有模式状态迁移、以计算任务为主等行为特征。基于形式化模型的分析验证,我们将在后续文章中作更为深入和系统化的讨论。

参考文献:

[1] EN50128、DO-333等工业标准.

[2] 王政, 嵌入式周期控制系统的建模与分析, 2012, 华东师范大学.

[3] Spivey, J.M., The Z notation: a reference manual. International, 1990. 15(2-3): p. 253-255.

[4] 蔡喁, 形式化方法在民机机载软件中的应用及适航考虑.

[5]Abrial, J.R., Abrial, J.-R.: Modeling in Event-B: System and Software Engineering. 2010: DBLP. 428-430.

[6]Miao, W. and S. Liu, A Formal Engineering Framework for Service-Based Software Modeling. IEEE Transactions on Services Computing, 2013. 6(4): p. 536-550.

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 建模
    +关注

    关注

    1

    文章

    318

    浏览量

    61755
  • 状态机
    +关注

    关注

    2

    文章

    495

    浏览量

    28397
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    基于AUTOSAR的TTCAN通信协议的形式化建模与分析

    本文针对AUTOSAR的TTCAN协议进行研究,并用Timed CSP(Timed Communication Sequential Processes)形式化语言对其进行建模,通过LTL
    的头像 发表于 12-30 13:23 2738次阅读
    基于AUTOSAR的TTCAN通信协议的<b class='flag-5'>形式化</b><b class='flag-5'>建模</b>与分析

    形式化方法的工程

    验证工作作为典型的形式化方法的工程案例,应用了形式化方法的需求分析、建模与验证,由此验证了形式化方法的可行性与有效性。
    的头像 发表于 03-24 11:01 2032次阅读
    <b class='flag-5'>形式化</b>方法的工程<b class='flag-5'>化</b>

    形式化方法的工业应用:航空领域

    本文主要探讨了形式化方法在航空领域中的工业应用。航空领域作为安全攸关领域,其机载系统软件的开发有着高度复杂和严格的安全标准要求,以确保其安全可靠性。
    的头像 发表于 08-21 15:45 1659次阅读
    <b class='flag-5'>形式化</b>方法的工业应用:航空领域

    形式化方法和测试技术及其在安全中的应用

    本文回顾和讨论了形式化方法和测试技术,以及形式规格说明可以用于测试用例生成、测试顺序确定的途径;并提出了将形式化方法和测试技术应用于安全保密设备。关键词 形式
    发表于 06-11 10:49 25次下载

    种服务网络拓扑结构的形式化描述方法_陈鹏

    种服务网络拓扑结构的形式化描述方法_陈鹏
    发表于 03-14 17:10 2次下载

    形式化的学习过程建模_钟伟平

    形式化的学习过程建模_钟伟平
    发表于 03-19 11:45 0次下载

    Web服务系统的形式化的语义模型

    针对Web服务的组合与验证问题,在范畴理论描述框架的基础上,引入进程代数描述服务组件的外部行为,为Web服务系统的架构描述建立了形式化的语义模型。Web服务作为范畴理论中的对象节点,服务间的交互
    发表于 01-09 15:14 0次下载
    Web服务系统的<b class='flag-5'>形式化</b>的语义模型

    基于几何代数的高阶逻辑形式化建模

    计算和建模分析的传统方法,如数值计算方法和符号方法等,都存在计算不精确或者不完备等问题,高阶逻辑定理证明是验证系统正确的种严密的形式化方法.在高阶逻辑证明工具HOL-Light中建立了几何代数系统的
    发表于 01-16 18:09 0次下载

    面向航天嵌入式的形式化建模

    航天嵌入式软件是航天型号任务成败的关键之.航天嵌入式软件是种周期性、多模式的软件.软件的每个模式表示系统处于定的状态,并进行相应的复杂计算.因此,提出了种名为SPARDL的
    发表于 02-06 16:25 1次下载

    如何使用形式化方法的3D虚拟祭祀场景建模语言与环境

    针对现有三维(3D)场景建模方法普遍存在着业务耦合度高,复杂场景对象属性和特征描述能力不强、不丰富,不能很好地解决3D虚拟祭祀场景建模的问题,提出了基于形式化方法的场景
    发表于 01-02 14:13 9次下载
    如何使用<b class='flag-5'>一</b>种<b class='flag-5'>形式化</b>方法的3D虚拟祭祀场景<b class='flag-5'>建模</b>语言与环境

    形式化方法背后的动因和关键技术及行业应用

    系列简介:形式化方法在计算机和软件工程学科中作为个学科分支,正在越来越多地进入工业界诸多实践领域。以DO-333适航标准为代表的工业标准,亦对软件开发过程明确提出了采用形式化方法的要求。为此,结合
    的头像 发表于 06-10 10:49 1724次阅读
    <b class='flag-5'>形式化</b>方法背后的动因和关键技术及行业应用

    鉴源论坛 · 观模丨基于AUTOSAR的TTCAN通信协议的形式化建模与分析

    本文针对AUTOSAR的TTCAN协议进行研究,并用Timed CSP(Timed Communication Sequential Processes)形式化语言对其进行建模,通过LTL
    的头像 发表于 01-04 16:12 1522次阅读
    鉴源论坛 · 观模丨基于AUTOSAR的TTCAN通信协议的<b class='flag-5'>形式化</b><b class='flag-5'>建模</b>与分析

    形式化方法基本原理初探

    形式化方法是基于严格的数学基础,通过采用数学逻辑证明来对计算机软硬件系统进行建模、规约、分析、推理和验证,是用于保证计算机软硬件系统正确性以及安全性的种重要方法。
    的头像 发表于 01-30 16:42 1773次阅读
    <b class='flag-5'>形式化</b>方法基本原理初探

    TPT19新特性之形式化需求:自动生成测试用例

    在测试形式化需求的主题上,我们又向前迈进了步。 如今,已经可以使用TPT自动评估形式化需求。在TPT 19中,相应的测试数据现在可以键生成。   这还在测试中吗?是的,但是完全自
    的头像 发表于 04-23 16:48 863次阅读
    TPT19新特性之<b class='flag-5'>形式化</b>需求:自动生成测试用例

    形式化方法的工业应用:轨交领域

    文将聚焦于轨交领域,从领域专用的需求撰写与分析工具Prema入手,介绍形式化方法在工业中的实际应用。
    的头像 发表于 08-08 15:20 1049次阅读
    <b class='flag-5'>形式化</b>方法的工业应用:轨交领域