资料介绍
作者:代文豪、罗克露、雷健
在不断的发展的 MCU 嵌入式系统领域中,软件危机所带来的危害也日渐显现。如何利用软件重用的相关方法来解决这一问题成为当今研究的热点。领域分析是识别、捕捉、组织、分析和表示软件域中相关信息,确定软件的体系结构、框架和构件,以支持软件重用的软件工程过程,是解决重用问题的关键技术之一。通过对领域分析的相关概念、方法、过程以及产品的研究,从而得出在 MCU 嵌入式系统领域进行领域分析的相关方法以及经验。
1、前言
MCU(Micro Controller Unit),又称单片机(Single Chip Microcomputer),是指随着大规模集成电路的出现及其发展,将计算机的 CPU、RAM、ROM、定时数器和多种 I/O 接口集成在一片芯片上,形成芯片级的计算机。当前 MCU 嵌入式系统之间各自封闭开发,不同系统之间的重复工作比较多,大大增加了软件开发的成本和周期,同时系统的可靠性却得不到保证,MCU 嵌入式开发面临着软件规模和复杂性迅速扩大、开发时间紧张,同时又要保证开发质量的问题。因此,迫切需要新的嵌入式软件开发技术。
1968 年,Mellroy 在其论文“大量生产的软件构件”中首次提出软件复用的思想,其目的在于探索利用“为了复用目的而设计的软件成分”生产软件的过程,得到人们的高度关注。在各种软件重用方法中,基于构件的软件开发技术(Component-Based Software Development CBSD)也是人们研究的热点,并且在实践中也取得了良好的效果。
构件化的软件过程可以分成领域工程(开发构件)和应用过程(使用构件开发应用程序)两个独立的子过程。领域工程是可复用软件资产生产的主要技术手段,它包含领域分析、领域设计和领域实现 3 个阶段。在整个软件的复用过程中,领域分析是其关键,只有通过领域分析才能得到相似系统中的可复用资产(领域模型、软件体系结构、可复用构件等)从而进一步支持领域中新系统开发的复用。因此形成在 MCU 嵌入式系统中的有效的领域分析方法是极为重要的。
2、MCU 嵌入式系统开发模式及现状
2.1 MCU 嵌入式系统开发的模式
目前 MCU 嵌入式系统的软件流程基本以包含人机界面处理的主流程(缓处理)、外部非同步中断处理(急处理)、时序输入为中心,再加上机芯控制处理(按照一定规则处理)等各种其他控制组成。MCU 每完成一种功能,其处理过程都遵循 IPO 模式(Input,Process,Output),如图 1 所示。
图 1 IPO 模式
对于每个模式来说,它的输入参数,输出结果都是固定的格式,所以对于一个成熟的模式来说,它的行为是确定的,约束是明确的。因为这些特点,可以很明显地观察到MCU 嵌入式系统领域所具有的内聚性,和稳定性。
因为领域的内聚性,我们可以使用相对较少的、有限的可复用信息来反应整个领域的需求,以及应用。因为领域的稳定性,我们通过领域工程所得到的成果,可以对进行领域工程所花费的人力、物力在将来的工作中得到补偿。
2.2 MCU 嵌入式系统开发的现状
MCU的应用能够深入人类生活的各个方面,关键的原因在于能够通过对软件的灵活定制以达到不同的功能从而针对不同的应用。随着功能的日益增长,MCU 嵌入式系统的开发难度也随之加大。如果内藏ROM 容量在8K 字节之内,有经验的技术人员可以单独一人花费2-3 月用汇编语言进行软件开发,而超过16K 的ROM 想要单独完成会更有困难。特别在消费电子领域,产品的更新换代从以前的年为单位到现在的以月甚至以周为单位,这
导致在以产品质量为生命的企业中,发生质量问题而不得不大量召回产品造成巨大损失的情况屡见不鲜。值得注意的是,在开发中,有经验的开发者通常会选择性的复用以前的工作成果(代码、软件体系、工具、文档),但这种复用一般是个人的,复用的来源也是个人以前的经验成果。在一个特定的领域中,例如一个企业中,这样的复用是经常性的,它们有着以下的特点:
1、一个领域内可复用的资源和复用的机遇是非常多的,但通常情况下无法对可复用资源进行管理,无法决定何时复用以及复用的方式,从而无法对产品的质量进行有效控制。
2、一个领域内掌握某种复用资源的往往是个体,复用资源无法共享,造成资源的浪费和生产力不能进一步的提高。
3、由于掌握资源的个体的离开,导致资源的损失;新加入的个体无法系统地取得这些资源,而导致工作效率的降低。
这种复用被称为个人复用(ad-hoc reuse)。如果能够对领域内资源进行有效的整合,通过更有效的方式进行管理、复用,将能进一步提高软件产品的生产效率、降低生产成本以及提高产品的质量,这种方式被称为系统复用(systematic reuse)。领域工程正为解决这一系列的问题提出了解决方案。
3、领域工程与领域分析
3.1 领域的含义
领域是指一组具有相似或相近软件需求的应用系统所覆盖的功能、问题、问题解决方案或知识区域。领域可分为水平领域和垂直领域:水平领域是指根据应用系统内部模块的功能性分类而得到的相似问题空间,如数据库系统、工作流系统等;垂直领域是指具有相似业务需求的一组相似应用系统所覆盖的业务区域,而我们的MCU 嵌入式系统领域则属于垂直领域。
3.2 领域工程
领域工程是为一组相似或相近系统的应用工程建立基本能力和必备基础的过程,它覆盖了建立可重用的软件构件的所有活动。领域工程对领域中的系统进行分析,识别这些应用的共同特征和可变特征,对刻画这些特征的对象和操作进行选择和抽象,形成领域模型,依据领域模型产生领域中应用共同具有的体系结构,即特定领域的软件体系结构(Domain Specific Software Architecture DSSA),并以此为基础,识别、开发和组织可复用构件。
在进行领域工程的活动中,通过对领域相关知识进行系统的交叉对比,能够形成一系列的标准。这些标准对构件的选用,以及新构件的产生形成规约,从而指导和规范新产品的开发。同时,由于这些选择是经过了长期时间和实践的论证,所以这些标准也是具有科学性的。当我们要进行同一领域新系统的开发时,只需要根据领域模型,确实新的需求规约,再根据特定领域的软件体系结构形成新的系统设计,并依据相关的标准选取,构造构件,组装到新系统中。这样新系统的质量以及开发效率都将得到可靠的保障,公司也能通过对行为的规范对整个开发流程进行管理、监控。
3.3 领域分析的含义及方法
在系统化的软件复用中,充分的可复用信息的存在是非常重要的。这些信息需要被显示地表示,以便在开发过程中被复用。这些可复用信息,和为方便地定位和操作它们的一些辅助信息一起构成了复用基础设施。领域分析的目的是为了建立这些可复用的基础设施,它的含义是指“识别、捕获和组织特定领域中一类相似系统内对象、操作等可复用信息的过程” 。
领域分析的三个关键过程为:①领域边界确立:通过对已有技术资料,典型系统的分析上,综合领域专家的意见,定义出领域分析的范围和边界,同时收集开展领域分析工作的必要信息;②领域建模阶段:根据在领域边界确立阶段得到的领域边界以及收集到的领域内相关信息,利用相应的建模知识和工具建立具备描述领域内应用系统数据和能力共性与变化性特征的领域模型;③软件体系结构建模阶段:通过已经得到领域模型,以及领域内设计的相关标准建立描述领域内特定问题解决方案的软件体系结构模型(DSSA)。
4、MCU 嵌入式系统领域分析方法
4.1 MCU 嵌入式系统领域的领域边界确定
在这里,并不是打算选择一个适合所有MCU 系统开发的领域,而是选择一个相对狭小的领域,如家电制造行业中的空调行业。在这样的行业中,由于产品要实现的基本功能在很长一段时间内基本固定,客户的需要相对稳定,使得针对同类产品的领域中,有很多的功能是相同的,软件的体系结构是相同的。这为领域分析提供了非常有利的条件。在对这些领域进行分析的时候,资料主要来源于本领域中的典型系统、领域专家的建议、工程师的经验、客户需求、硬件厂商提供的开发包、控制理论、该领域的发展历史以及发展趋势等。当收集完这些资源后也就够成了领域分析的上下文环境,也就是领域的边界。
4.2 MCU 嵌入式系统领域的领域建模
领域模型的意义在于对领域的信息通过组织,以一种令人更容易接受的方式所表现出来。它包括形式化的模型和非形式化的信息,前者是一种对解决方案的描述,后者是对领域知识的补充。对于我们所选择的领域来说,一个具体行业的软件体系结构本身就是相对稳定的,对于具体的每款产品,实现的功能会有一些细小的差别。常见的情况是,当一个原型机出现后,会在原型机上进行诸多的改款,以适应市场客户不同的需要。所以针对于这样的领域特点,我们对这阶段的过程有如下的建议:
1、形式化的模型:采取面向特征的领域模型。特征的定义一般来说是用户或客户可感知的系统特点。但各个组织也可以根据自身的特点来组织选择领域模型。
2、领域字典:领域字典是通过和领域专家的对话,以及对相关的标准进行分析而得到。领域字典的作用是为领域的参与者提供一个准确方便的交流环境。
3、统一的标识:利用一种标准化的,通用的符号系统对领域内的概念进行描述。
4.3 MCU 嵌入式系统领域的软件体系结构
DSSA(特定领域的软件体系结构)不是单个系统的表示,而是能够适应领域中多个系统的需求的一个高层次的设计。它包含构件以及构件互联的规则。当开发本领域的一个新系统时,可以使用这些构件,并且按照这些规则构成满足当前系统需求的特定的系统结构。在DSSA 中有个比较重要的概念就是参考体系结构,它的目的是实现体系结构的复用。图2 给出一种空调控制器领域的参考体系结构(部分)。
图 2 空调控制器领域的参考体系结构(部分)
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- DSP与MCU在嵌入式系统中的应用
- 嵌入式系统与嵌入式PLC
- 用于嵌入式系统中的无线通信方法
- 深度:嵌入式系统的软件架构设计!资料下载
- 嵌入式实时系统资料下载
- 嵌入式系统设计与物联网开发资料下载
- 嵌入式系统与人工智能资料下载
- 长文详解嵌入式Linux系统移植资料下载
- 嵌入式系统教程之嵌入式系统工程设计的详细资料说明 31次下载
- 嵌入式系统接口与案例的分析与设计资料说明 3次下载
- 嵌入式Linux开发教程之嵌入式系统介绍资料免费下载
- 嵌入式系统教程之嵌入式系统设计与实例开发电子教材免费下载 33次下载
- TI的嵌入式分析技术使设备更加智能 9次下载
- Linux嵌入式系统ppt学习资料下载 21次下载
- MCU嵌入式系统的领域分析方法
- 什么是嵌入式系统?嵌入式系统的具体应用 2096次阅读
- 嵌入式设备系统日志记录方法 4993次阅读
- 嵌入式系统应用实例的详细资料介绍 4604次阅读
- 嵌入式系统应该学习那些知识 4964次阅读
- 如何实现嵌入式系统远程调试 5077次阅读
- 基于μC/OS嵌入式操作系统的嵌入式数据管理设计 1178次阅读
- 设计嵌入式系统硬件电路时需要考虑哪些问题 3892次阅读
- 基于嵌入式Linux系统下Mini GUI的移植方法与过程详解 3549次阅读
- 关于嵌入式系统8大关键特性详解 1059次阅读
- 嵌入式系统有哪些部分组成_嵌入式系统的应用领域 3.3w次阅读
- 嵌入式行业发展状况_嵌入式行业人才需求_嵌入式系统就业前景分析 2.3w次阅读
- 嵌入式开发就业前景分析_嵌入式领域的职业发展方向 1.8w次阅读
- mcu和电源的选择让您的嵌入式电路设计更高效 5290次阅读
- 技术分析:典型的嵌入式系统设计 2645次阅读
- 典型的嵌入式系统设计 2650次阅读
下载排行
本周
- 1GBT1094.11-2022电力变压器第11部分:干式变压器
- 14.12 MB | 3次下载 | 免费
- 2FT-7800R对讲机维修手册附原理图
- 3.35 MB | 2次下载 | 免费
- 3串口工具UartAssist5.0.exe
- 0.60 MB | 2次下载 | 免费
- 4爬电距离和电气间隙计算
- 0.75 MB | 2次下载 | 1 积分
- 5UC3584DW次级侧后置稳压器EVM板原理图
- 38.97KB | 2次下载 | 免费
- 6UCC38C42 25瓦自谐振复位正激变换器
- 320.6KB | 1次下载 | 免费
- 7ZX-D37 BLE主从一体蓝牙模块技术手册
- 1.22 MB | 1次下载 | 免费
- 8使用15个时钟周期的ADS7841和ADS7844
- 188.55KB | 1次下载 | 免费
本月
- 1无刷电机控制方案设计合作
- 1.05 MB | 22次下载 | 免费
- 2美的超薄电磁炉TM-S1-09B主板原理图
- 0.08 MB | 20次下载 | 免费
- 3纯电动汽⻋的主要部件及⼯作原理
- 5.76 MB | 12次下载 | 5 积分
- 4GP328和GP88S对讲机的维修实列资料合集免费下载
- 0.03 MB | 10次下载 | 10 积分
- 5舒尔SLX4无线话筒接收机原理图:二次变频超外差部分
- 0.27 MB | 8次下载 | 免费
- 6IP5385_DEMO开发资料
- 1.96 MB | 7次下载 | 2 积分
- 7i.MX Linux开发实战指南—基于野火i.MX系列开发板
- 17.86 MB | 7次下载 | 免费
- 8Type-C VL160数据手册
- 0.92 MB | 7次下载 | 3 积分
总榜
- 1matlab软件下载入口
- 未知 | 935115次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420061次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233084次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191363次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183329次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81581次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73805次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65985次下载 | 10 积分
评论
查看更多