嵌入式系统开发方法综述
嵌入式系统开发

嵌入式系统开发嵌入式系统是指内嵌在其他设备或系统中,实现特定功能的计算机系统。
它通常集成了硬件和软件,通过专门的开发平台进行开发和编程。
嵌入式系统广泛应用于各个领域,如汽车、家电、医疗设备、通信设备等。
本文将围绕嵌入式系统开发展开,介绍嵌入式系统的基本原理、开发流程以及相关技术。
一、嵌入式系统的基本原理嵌入式系统的基本原理是将处理器、存储器、输入输出设备等硬件组件集成在一起,通过操作系统和应用程序实现特定的功能需求。
常见的嵌入式系统采用单片机或微处理器作为核心处理器,具有较小的体积和功耗。
嵌入式系统的设计需要考虑硬件平台的选择、外设的接口设计、系统调度和任务管理等方面。
同时,软件开发也是嵌入式系统的重要组成部分,包括操作系统的移植、设备驱动程序的编写以及应用程序的开发。
二、嵌入式系统开发流程嵌入式系统的开发流程包括需求分析、硬件设计、软件开发、集成测试和发布等环节。
下面将逐一介绍各个环节的内容。
1. 需求分析在嵌入式系统开发之前,需要明确系统的功能需求和性能要求。
通过与用户沟通和需求分析,确定硬件平台、输入输出设备和外部接口等方面的需求。
2. 硬件设计硬件设计是指基于嵌入式系统的功能需求,选择合适的处理器、存储器、外设等硬件组件,并进行相应的电路设计和PCB布局。
硬件设计需要考虑系统的稳定性、扩展性和功耗等因素。
3. 软件开发软件开发是嵌入式系统开发的关键环节。
首先,根据硬件平台的选择,进行操作系统的移植和配置。
然后,编写设备驱动程序,实现对外设的控制和数据交换。
最后,根据系统需求,开发应用程序,实现特定功能。
4. 集成测试集成测试是将硬件和软件进行整合,测试系统的功能和性能是否满足需求。
通过功能测试、性能测试和稳定性测试,发现并修复系统中的缺陷和问题。
5. 发布在集成测试通过后,将嵌入式系统制作成最终产品,进行出厂测试和质量控制。
然后,将产品发布给客户或上线市场。
三、嵌入式系统开发的相关技术嵌入式系统开发涉及到多个技术领域,下面将介绍几个重要的技术。
嵌入式软件开发的方法和实践

嵌入式软件开发的方法和实践嵌入式软件是指运行在嵌入式系统中的软件,嵌入式系统是指功能单一、资源受限、可视性较差的计算机系统,嵌入式软件的开发相对传统软件开发具有自身的特点。
嵌入式软件开发通常涉及到硬件和软件的深度结合,需要对硬件有深入的了解。
除此之外,嵌入式软件开发还需要对实时性、可靠性、功耗等方面进行考虑。
以下是嵌入式软件开发的方法和实践:1. 了解嵌入式硬件和通信协议在进行嵌入式软件开发时,需要对嵌入式硬件有一定的了解。
嵌入式硬件有很多种类,例如单片机、ARM芯片等。
因此,开发人员需要了解不同类型的嵌入式硬件的特点和使用。
此外,开发人员还需要了解嵌入式系统的通信协议,例如UART、SPI、I2C协议等。
2. 使用正确的开发工具嵌入式软件开发需要使用一些开发工具,例如编译器、调试器、仿真器等。
使用正确的开发工具可以提高开发效率和软件质量。
选择合适的编译器、调试器和仿真器可以帮助开发人员更好地代码调试和集成。
3. 遵循软件设计原则软件设计原则是指设计软件时应该遵循的原则,例如单一功能原则、开闭原则、里氏替换原则等。
遵循软件设计原则可以使得软件具有可维护性和可扩展性,并且使得软件更加可靠和安全。
4. 重视代码规范代码规范是指在编写代码时应该遵守的规则。
这些规则可以使代码更加规范、清晰、易于维护,并且可以减少出错的风险。
例如,使用统一的命名规范、避免使用魔法数、避免使用全局变量等。
5. 进行代码复用和模块化设计代码复用是指在开发软件时利用已经开发完成的代码或软件模块。
利用代码复用可以提高软件开发效率,并且可以减少出错的风险。
模块化设计是指将软件分成多个模块,每个模块可以独立运行,可以提高软件可维护性和可扩展性。
6. 注意实时性和可靠性嵌入式软件常常需要满足实时性和可靠性的要求。
实时性要求必须在规定的时间内完成某个操作,否则将会影响系统正常运行。
为此,开发人员需要在开发过程中考虑嵌入式软件的实时性,并使用合适的算法和数据结构进行优化。
嵌入式系统软件开发技术与方法

嵌入式系统软件开发技术与方法随着信息技术的发展和应用的不断普及,嵌入式系统已经成为了现代社会中不可或缺的一部分。
嵌入式系统软件开发技术与方法是嵌入式系统应用中的重要一环。
本文将从嵌入式系统软件开发技术与方法的定义、特点以及开发过程等几个方面对此进行探讨。
一、定义嵌入式系统是其中软件是与硬件同时开发的实时、嵌入式、微型而相对独立的计算机系统,需要完成特定的功能。
嵌入式系统中的软件开发依赖于开发人员对硬件和嵌入式系统架构的深入了解和充分的应用。
因此,嵌入式系统软件开发技术与方法是一种特有的软件开发方式,其特点是紧密结合硬件和嵌入式系统架构,在实时性和稳定性方面要求较高。
二、特点1.实时性高:嵌入式系统应用中的很多任务都涉及到实时性,因此,嵌入式系统软件开发技术与方法在实时性方面要求较高。
2.稳定性要求高:作为一种经常长时间开机运行的系统,嵌入式系统要求软件开发具有高度的稳定性,以保证其可以长期稳定的运行。
3.开发周期短:嵌入式系统应用具有周期短,更新快的特点,因此其软件开发技术和方法也需要能够快速开发,并且能够适应快速变化的需求。
三、开发过程在嵌入式系统软件的开发过程中,需要遵循以下一些基本的开发原则:1.系统设计:系统设计是嵌入式系统软件开发的核心环节。
在进行系统设计时,需要充分了解硬件架构,同时也需要对整个系统的实际应用需求进行充分认知,使得系统设计能够更好的适应实际应用。
2.编程实现:编程实现是开发过程中的关键环节,需要根据系统设计进行具体的编码实现。
在编程实现中需要特别注意代码的可读性,代码的可重用性以及代码的维护性等方面。
3.测试和调试:在完成嵌入式系统软件的开发过程后,需要进行全面的测试和调试。
在测试和调试过程中需要特别关注系统的稳定性、实时性、数据的准确性等方面,以保证软件的质量。
4.维护:嵌入式系统软件的维护是软件开发过程中一个周期性的工作,需要对软件进行定期检查和更新,以保证软件的正常运行。
嵌入式系统开发方法

嵌入式系统开发方法
嵌入式系统开发方法通常涉及以下步骤和方法:
1. 确定需求和规格:首先需要明确定义嵌入式系统的功能需求和规格,包括硬件和软件方面的要求。
2. 硬件设计:根据系统需求和规格,进行硬件设计,包括选择适当的处理器、传感器、外设等,并进行电路设计和布局。
3. 软件开发:根据系统需求和规格,进行软件开发,包括编写嵌入式软件程序、驱动程序、操作系统等。
4. 集成与测试:将硬件和软件进行集成,并进行系统级测试,包括功能测试、性能测试、稳定性测试等。
5. 优化和调试:对系统进行优化和调试,包括优化软件性能、解决硬件bug等。
6. 部署与维护:将系统部署到实际环境中使用,并进行系统维护和更新。
在嵌入式系统开发过程中,通常需要使用到一些工具和技术,比如集成开发环境(IDE)、仿真工具、调试器、版本控制工具等。
另外,还需要考虑系统的功耗、
成本、可靠性等方面的要求。
随着物联网和智能化技术的发展,嵌入式系统的开发方法也在不断演进和完善。
嵌入式系统综述

嵌入式系统综述嵌入式系统综述嵌入式系统是一种特殊的计算机系统,它被嵌入到其他设备和系统中,不同于个人计算机或服务器等通用计算机系统。
嵌入式系统通常被用于控制和操作其他设备,而不是为了执行通用的计算任务。
在这篇文章中,我们将对嵌入式系统进行综述,探讨其定义、特点、应用领域以及未来发展趋势。
一、嵌入式系统的定义和特点嵌入式系统是一种专用的计算机系统,具有以下几个特点: 1. 实时性:嵌入式系统通常需要对实时数据进行处理和响应,因此必须满足严格的实时性要求。
比如,航空、汽车和医疗设备等领域都需要嵌入式系统来确保其操作的实时性和可靠性。
2. 专用性:嵌入式系统的功能通常是针对特定应用领域或设备而设计的,因此它们的硬件和软件都经过专门定制。
这使得嵌入式系统在功耗、资源利用效率和成本方面具有较高的优势。
3. 小尺寸:嵌入式系统通常需要被嵌入到其他设备中,因此它们的大小和体积通常要比个人计算机或服务器小得多。
这要求嵌入式系统具备较高的集成度和紧凑的设计。
4. 低功耗:嵌入式系统通常由电池供电或者依赖于环境能源,因此需要具备较低的功耗。
为了降低功耗,嵌入式系统往往使用低功耗的处理器和传感器,并采取各种节能措施。
二、嵌入式系统的应用领域嵌入式系统在各个领域得到了广泛的应用,下面我们将介绍其中的一些典型应用领域:1. 汽车电子:现代汽车中的许多功能和系统都依赖于嵌入式系统,比如引擎控制单元、车载娱乐系统、智能驾驶辅助系统等。
这些嵌入式系统使汽车具备更高的安全性、驾驶舒适性和能源利用效率。
2. 工业控制:嵌入式系统在工业领域中扮演着重要的角色,用于控制和监测各种工业过程。
比如,工厂中的自动化生产线、机器人系统和传感器网络都离不开嵌入式系统的支持。
3. 消费电子:如今的消费电子产品中普遍采用了嵌入式系统,比如智能手机、智能电视、智能家居设备等。
这些嵌入式系统实现了各种智能功能,提升了用户体验。
4. 医疗设备:医疗设备中的嵌入式系统可以用于监测患者的生命体征、控制医疗设备的操作、进行远程医疗等。
12嵌入式系统技术概述开发方法与发展趋势

网络工程教研室
第9页
嵌入式系统的开发方法
开发模式——开发流程
硬件测试:
➢ 进行功能、性能等方面的测试和修改,使其达到硬件 设计目标。
软件设计实现:
➢ 与硬件设计制作并行、交互进行。
网络工程教研室
第10页
嵌入式系统的开发方法
开发模式——开发流程
软硬件集成:
➢ 将测试完成的软件系统装入制作好的硬件系统中,进 行系统综合测试,验证系统功能是否准确无误地实现; 最后将软件固化到目标硬件中。
嵌入式系统的开发方法
设计要求 开发模式 硬件开发技术 软件开发方法 软硬件协同开发
网络工程教研室
第14页
嵌入式系统的开发方法
硬件开发技术
采用现代电子产品设计方法进行开发。 一方面大量使用大规模可编程逻辑器件(PLD)
来提高产品性能、降低消耗; 另一方面不断提高自动化设计水平,缩短开发周
宏观方面的发展趋势
— 经济性(POS开发失败,几十万、几万、5千、5百) 计算机要很便宜,让更多的人能买得起;
— 小型化(笔记本、PDA) 人们携带方便;
— 可靠性(汽车VCD,挑动问题) 能够在一般环境条件下或者是苛刻的环境条件下运行
— 高速度(飞机刹车系统) 能够迅速地完成数据计算或数据传输;
— 智能性(知识推理、模糊查询、识别、感知运动) 使人们用起来更习惯,对人们更有使价值。
➢ 可用于开发系统软件和软件开发环境。
网络工程教研室
第20页
嵌入式系统的开发方法
软件开发方法
可视化开发方法
➢ 在可视化开发工具提供的图形用户界面上,通过操作 界面元素(如菜单、按钮、对话框、编辑框、单选框、 复选框、列表框、滚动条等),由可视化开发工具自 动生成应用软件。
嵌入式课程第1讲嵌入式系统综述ppt课件

课程设置的必要性
▪ 应用需求日益复杂 ▪ 微处理器技术长足发展 ▪ 社会对嵌入式技术人才的需求
据统计2002年16/32位嵌入式处理 器的销售额已接近70亿美元 ▪ 嵌入式软件技术成为核心
4/92
嵌入式处理器快速成长
$70亿
5/92
课程目的
了解嵌入式系统的概念和体系结构
掌握嵌入式系统的软硬件开发方法
代表产品有TI的TMS320C2000/C5000 和Motorola的DSP56000
35/92
嵌入式SOC
System On Chip,片上系统/系统芯片 将很多功能模块集成到单个芯片上 ➢ 各种通用处理器内核作为SOC设计公司的标准库,
用VHDL等语言描述 ➢ 除个别无法集成外,嵌入式系统的大部分集成到一
12/92
课程安排(5)
3. 嵌入式Linux设备驱动实验 - 基本的编程实现 - 数码管驱动与按键驱动的结构分析及使用方法
4. 串口通讯与短信收发系统综合实验 - 基于Qt的嵌入式GUI程序设计 - 串口通讯程序设计 - 短信收发程序设计 - 程序编译下载与运行
13/92
评分标准
课堂表现与出勤率:20% 实验表现:50% 实验报告:30%
MIPS公司开发了32位高性能,低功耗的处理器 内核MIPS 32 4Kc和64位的处理器内核MIPS
64 5Kc
应用范围:机顶盒、视频游戏机、Cisco路由
器、激光打印机
30/92
典型的嵌入式微处理器-PowerPC
PowerPC架构特点:可伸缩性好,方便灵活
既有通用处理器,也有嵌入式微控制器和内核, 应用范围非常广泛,从高端服务器、工作站到 PC,从消费类电子到通信设备
嵌入式操作系统综述

信息技术与机电化工141嵌入式操作系统综述李孟轩(山西农业大学信息学院)摘要:科学和经济伴随着时代的脚步大步前进,计算机技术的发展也发生了巨大的飞跃。
芯片的制造技术也日益崛起,嵌入式实时操作系统的应用越加广泛,人人家中也有各种实时实时操作系统,最显而易见是手机的应用。
通过这种系统软件,可以始终实现为我们服务的目的。
另外还有无人机、智能洗碗机等等内布置有嵌入式操作系统的高科技产品。
在军事中的应用例如军用飞机、航空母舰中都有嵌入式操作系统,为我国的国防军备的发展做出了重要贡献。
本文根据嵌入式操作系统的特点及应用进行探究讨论。
关键词:嵌入式操作系统;综述;开发引言随着社会的不断发展,新时代对计算机系统和软件的要求越来越高,尤其是大数据时代下对高运算能力的要求。
应用程序是嵌入式操作系统的核心,系统运行的关键在于计算机技术的发展程度,具有良好的稳定性,在计算机技术的不断演变发展的过程中计算机嵌入式操作系统在现阶段已经在许多行业中发挥了重要作用,在未来的发展中也具有良好的发展前景。
一、嵌入式操作系统的发展现代科学技术的飞跃进步,在通过先进技术的结合下,计算机嵌入式操作系统逐渐完善,功能日益强大。
其经历了四个阶段:(一)嵌入式算法阶段在嵌入式计算机系统开发的初始阶段,系统中没有嵌入式算法,其核心是单芯片控制部件,这就导致了计算机嵌入式操作系统的总体结构较为单一、存储容量较小、功能很少、工作效率也比较低、而且没有任何用户互动接口。
(二)以 CPU 为核心计算机嵌入式操作系统主要是以嵌入式CPU作为重要基础。
在此阶段中,加入了许多类型的嵌入式操作系统,但是操作系统的通用性很差,再具体工作中处理器处于轻负载状态。
将过载的处理器之间的任务转换为处于空闲状态的处理器,其基本目标是以提高系统的整体运行性能为基准。
(三)通用式嵌入通用式嵌入,在计算机信息应用程序中计算机嵌入操作系统是第三阶段。
在此阶段,操作系统的性能已得到显著改善,同时针对特定情况(例如静态和动态指标)进行了适当的调整,以提高处理器之间的性能,可以实现负载分配,这样不仅确保了系统稳定性,而且也节省了时间。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式系统开发方法综述刘丹(机械工业仪器仪表综合技术经济研究所,北京市 100055)Liu Dan(Instrumentation Technology & Economy Institute, Beijing 100055)Development Methods of Embedded SystemAbstract: Embedded systems have particular properties, such as real-time, concurrency, distribution, high reliability,and etc., which lead to large challenges and urgent requirements for corresponding methods and tools when developing such systems. From the view of engineering practice, the paper summarizes what problems developers will face during embedded system design, and what main methods and technologies will be used for resolving such problems. These methods and technologies are called embedded system developing methods.Key words: Embedded System HW-SW Co-Design Method Formal Modeling Method Structural Design Method Object-Oriented Design Method【摘 要】嵌入式系统的实时性、并发性、分布性和高可靠性等特点使得系统的开发面临巨大挑战,迫切需要相应开发方法的指导和开发工具的支持。
本文从工程实践角度出发,总结在嵌入式系统设计过程中,开发人员会面临哪些主要问题,以及为解决问题而产生哪些主要方法和技术。
这些方法和技术被统称为嵌入式系统的开发方法。
【关键词】嵌入式系统 软硬件协同设计方法 形式化建模方法 结构化设计方法 面向对象设计方法收稿日期:2008-08-01作者简介:刘丹(1977-),女,博士,毕业于中科院沈阳自动化研究所,现就职于机械工业仪器仪表综合技术经济研究所,主要从事工业自动化、控制网络的技术和标准化研究,现负责PROFIBUS PA产品的认证测试工作。
引言嵌入式系统是指以应用为中心、以计算机技术为基础、软硬件可裁剪、适应应用环境对功能、实时性、可靠性、成本、体积、功耗等严格约束的专用计算机系统。
嵌入式系统的内容广泛,小到一个芯片,大到复杂的分布式系统都可以称为嵌入式系统,通常以SoC、单片机、单板机、多板式箱式结构、嵌入式PC等形式嵌入到信息家电、数字通信、工业控制、航空航天、医疗设施、军事电子等领域的设备或系统中,作为处理和控制的核心。
嵌入式系统的实时性、并发性、分布性和高可靠性等特点使得系统的开发面临巨大挑战,迫切需要相应的开发方法的指导和开发工具的支持。
嵌入式系统开发方法的研究内容包括设计方法论、工程开发技术、以及相应辅助工具的开发。
现代的系统开发是一个基于模型(model-based)的,从规约到实现的过程。
模型是反映真实世界和系统实现两方面的抽象,帮助开发人员把握应用的最重要特性,是系统分析与验证的基础,并为软件和硬件的实现要素提供表示视图。
因此,系统模型设计在整个开发过程中最为重要。
此外,任何工程开发技术都是在一定设计方法基础上提出一系列开发步骤,辅助工具则为这些设计方法和开发技术提供自动或半自动的工具支持。
因此,设计方法决定了系统开发过程中的其它分析、验证、实现等方法,或者广义上说,系统的设计方法就是系统的开发方法。
本文从工程实践角度出发,总结在嵌入式系统设计过程中,开发人员会面临哪些主要问题,以及为解决问题而产生哪些主要方法和技术。
这些方法和技术被统称为嵌入式系统的开发方法。
1 软硬件“分离”设计方法与软硬件协同设计方法首先,用户或产品开发决策者要根据对产品性能、体积、开发成本以及上市时间等设计指标的评估,决定系统最终是以电路板式,还是以芯片式的形式实现。
一般而言,对性能和体积要求不高,产品数量小,如1~几百个,但要求上市时间早的嵌入式系统,多采用电路板式实现;反之,系统体积小,产品数量大,但对上市时间要求比较松的嵌入式系统,多采用SoC芯片式实现。
相应地,对于设计者而言,不同的实现形式一般应用不同的设计方法,包括软硬件“分离”设计和软硬件协同设计。
Review and Research1.1 软硬件“分离”设计方法计算机科学发展最初阶段,软件和硬件的设计流程截然不同,软件设计者编写程序,硬件设计者连接元件,所以软件设计和硬件设计不可能交互,必须单独进行。
这种传统的设计方法可以被称为软硬件“分离”设计,与软硬件协同设计相对。
软硬件“分离”设计方法中,软硬件划分在系统开发的初期阶段进行,划分是一次性的,一旦划分后软件和硬件所分配的功能就不能改变。
经划分后软件和硬件的设计与实现一般并行推进。
其设计的基本思想是,软件通过编写程序运行在微处理器上实现系统全部或大部分功能,硬件则主要通过“板级”专用电路为软件运行提供平台。
如果有特定功能需要硬件实现,一般可直接购买预先设计好的相应专用处理器芯片,如以太网芯片等。
因此,系统设计的重点在于软件设计,这也是过去几十年嵌入式系统设计方法研究的重点。
在硬件未交付使用前,软件可以在demo板上进行编码与调试,或者在PC机上进行仿真。
软硬件“分离”设计方法使得联调必须在软件和硬件都开发出来后才能进行,暴露出越来越多问题。
如由于软硬件开发过程割裂和软硬件划分不协调而导致低效设计;不能及时进行全系统验证而导致系统重新开发;硬件系统是为满足特定应用需要而开发的专用电路板,缺乏对设计重用的支持等。
为避免和解决这些问题,需要产生新的嵌入式系统的设计方法。
1.2 软硬件协同设计方法深亚微米半导体技术的发展使得将整个嵌入式系统集成在一块芯片上实现成为可能。
也就是说,集成电路IC容量已经增长到可以让软处理器和硬处理器共存于单个芯片上形成SoC。
软处理器技术是指编写运行在通用微处理器上的软件程序实现功能,硬处理器技术是指定制专用数字电路实现功能。
这一趋势使得过去软件和硬件设计的分离不再现实。
另一方面,虽然过去几十年来软件和硬件领域的设计起点是由非常不同的设计描述组成,如软件用机器指令、硬件用逻辑门进行描述,但随着软件编译和硬件综合技术的并行发展,如今两个领域都以时序程序描述行为作为设计的起点,如软件使用C语言、硬件使用VHDL进行描述。
这使得将两个领域合二为一的设计即软硬件协同设计成为可能。
软硬件协同设计是专为SoC的设计产生的方法,自上个世纪90年代初以来取得了很大发展。
软硬件协同设计方法综合软件和硬件的设计规则,提供统一方法与工具,对系统软硬件进行描述、综合和验证。
其基本思想是,在设计过程的各个阶段,同时考虑软件和硬件的功能和性能,找到软件和硬件的最佳组合方式——在满足系统功能和性能的前提下,使得设计所需的硬件逻辑门和存储器最少,消耗的功率更小等。
软硬件协同设计首先以一种或几种计算模型为基础,并以支持所选计算模型的描述语言或建模语言为工具,对整个系统的功能、行为和性能进行描述。
计算模型的选择要求使得系统模型既能够方便转换为硬件描述语言,又能够转换为软件程序代码。
软硬件协同设计常用的计算模型、描述语言和建模语言包括Petri网、有限状态机、SystemC、SDL和UML等。
软硬件协同设计方法中,软硬件划分就是将系统模型的一部分分配给硬件,通过设计专用数字电路实现功能,另一部分分配给软件,通过编写程序代码实现功能。
对于某个特定功能而言,选择软件还是硬件实现只是在不同设计指标,包括性能、功率、大小、灵活性等之间进行取舍,软件实现或硬件实现没有本质的区别。
一般软件实现灵活性好并降低成本,硬件实现则可以提高精确性和性能并降低功耗。
软硬件协同设计的最大好处有两点:一是在设计过程的任何阶段都能选择用硬件或软件来实现功能,因此可以获得系统最佳的实现方式;二是在系统实现前可以进行协同仿真和协同验证,保证系统设计的正确性和完整性。
这两点是传统的“分离”设计方法无法达到,却又是嵌入式系统设计急需解决的问题。
但是由于软硬件协同设计方法要求硬件设计人员具备更多的专业知识与技能,增加了系统的开发难度。
目前电路板式硬件系统仍然是嵌入式系统的主要形式,面向SoC的软硬件协同设计还未成为嵌入式系统的主流设计方法。
但是随着技术的不断发展,软硬件协同设计必将成为嵌入式系统设计最关键的方法与技术。
2 非形式化建模方法与形式化建模方法设计者为构建系统模型,需要解决两方面问题。
一方面,设计者要决定采用什么方法或手段对系统进行建模,即为系统模型选择基本的计算模型或图形符号。
根据计算模型的形式化程度不同,建模方法可以分为两类:一类方法以具有严格语法和语义定义的数学模型或形式化模型为基础,称为形式化建模方法;论述与研究另一类方法则使用不具有严格语法和语义定义的自然语言或简单的图、表、符号等描述系统,称为非形式化建模方法。
建模方法的选择由系统的可靠性要求和计算模型的可用性共同决定,一般需要二者的折衷。
可靠性要求高的嵌入式系统必须采用形式化方法建模以保证模型正确性。
2.1 非形式化建模方法非形式化建模方法简称非形式化方法。
只要用来创建系统模型的计算模型或建模语言没有严格的语法和语义定义,该建模方法就属于非形式化方法(informal)方法或欠形式化(less formal)方法,如传统的用图、文本、表格或简单符号等进行系统分析和设计的方法。
虽然对非形式化方法小心运用并结合彻底检查可以实现高质量系统的开发,但是文本或简单符号的应用偏差可能产生各种问题,如多个子模型描述系统相同方面的特性是矛盾的或不一致的,当模型被解释或翻译时产生二义性或歧义,模型所描述的系统功能或行为是不完整的。
因此,很难保证在模型基础上的系统实现是正确的,从而无法满足嵌入式系统对高可靠性的要求。
可靠性的保证取决于两个方面,一是产品的验证与测试,二是开发的方法与过程。
在安全关键的(safety-critical)嵌入式系统开发中,可靠性不能通过测试和反复试用来保证,需要一种良好构造的(well-structured)和形式化的方法,使得在系统实现前经过严格的设计、分析和验证。