MCU嵌入式系统的领域分析方法
时间:03-31
来源:互联网
点击:
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. 1MCU嵌入式系统开发的模式
目前 MCU嵌入式系统的软件流程基本以包含人机界面处理的主流程 (缓处理)、外部非同步中断处理(急处理)、时序输入为中心,再加上机芯控制处理 (按照一定规则处理)等各种其他控制组成。MCU每完成一种功能,其处理过程都遵循 IPO模式(Input,Process,Output),如图 1所示。
图1 IPO现状
对于每个模式来说,它的输入参数,输出结果都是固定的格式,所以对于一个成熟的模式来说,它的行为是确定的,约束是明确的。因为这些特点,可以很明显地观察到 MCU嵌入式系统领域所具有的内聚性,和稳定性。
因为领域的内聚性,我们可以使用相对较少的、有限的可复用信息来反应整个领域的需求,以及应用。因为领域的稳定性,我们通过领域工程所得到的成果,可以对进行领域工程所花费的人力、物力在将来的工作中得到补偿。
2.2 MCU嵌入式系统开发的现状
MCU的应用能够深入人类生活的各个方面,关键的原因在于能够通过对软件的灵活定制以达到不同的功能从而针对不同的应用。随着功能的日益增长,MCU嵌入式系统的开发难度也随之加大。如果内藏 ROM容量在 8K字节之内,有经验的技术人员可以单独一人花费 2-3月用汇编语言进行软件开发,而超过 16K的 ROM想要单独完成会更有困难。特别在消费电子领域,产品的更新换代从以前的年为单位到现在的以月甚至以周为单位,这导致在以产品质量为生命的企业中,发生质量问题而不得不大量召回产品造成巨大损失的情况屡见不鲜。值得注意的是,在开发中,有经验的开发者通常会选择性的复用以前的工作成果(代码、软件体系、工具、文档),但这种复用一般是个人的,复用的来源也是个人以前的经验成果。在一个特定的领域中,例如一个企业中,这样的复用是经常性的,它们有着以下的特点:
· 一个领域内可复用的资源和复用的机遇是非常多的,但通常情况下无法对可复用资源进行管理,无法决定何时复用以及复用的方式,从而无法对产品的质量进行有效控制。
· 一个领域内掌握某种复用资源的往往是个体,复用资源无法共享,造成资源的浪费和生产力不能进一步的提高。
· 由于掌握资源的个体的离开,导致资源的损失 ;新加入的个体无法系统地取得这些资源,而导致工作效率的降低。
这种复用被称为个人复用(ad-hoc reuse)。如果能够对领域内资源进行有效的整合,通过更有效的方式进行管理、复用,将能进一步提高软件产品的生产效率、降低生产成本以及提高产品的质量,这种方式被称为系统复用 (systematic reuse)。领域工程正为解决这一系列的问题提出了解决方案。
3 领域工程与领域分析
3. 1领域的含义
领域是指一组具有相似或相近软件需求的应用系统所覆盖的功能、问题、问题解决方案或知识区域。领域可分为水平领域和垂直领域:水平领域是指根据应用系统内部模块的功能性分类而得到的相似问题空间,如数据库系统、工作流系统等 ;垂直领域是指具有相似业务需求的一组相似应用系统所覆盖的业务区域,而我们的 MCU嵌入式系统领域则属于垂直领域。
3.2领域工程
领域工程是为一组相似或相近系统的应用工程建立基本能力和必备基础的过程,它覆盖了建立可重用的软件构件的所有活动。领域工程对领域中的系统进行分析,识别这些应用的共同特征和可变特征,对刻画这些特征的对象和操作进行选择和抽象,形成领域模型,依据领域模型产生领域中应用共同具有的体系结构,即特定领域的软件体系结构 (Domain Specific Software Architecture DSSA),并以此为基础,识别、开发和组织可复用构件。
在进行领域工程的活动中,通过对领域相关知识进行系统的交叉对比,能够形成一系列的标准。这些标准对构件的选用,以及新构件的产生形成规约,从而指导和规范新产品的开发。同时,由于这些选择是经过了长期时间和实践的论证,所以这些标准也是具有科学性的。当我们要进行同一领域新系统的开发时,只需要根据领域模型,确实新的需求规约,再根据特定领域的软件体系结构形成新的系统设计,并依据相关的标准选取,构造构件,组装到新系统中。这样新系统的质量以及开发效率都将得到可靠的保障,公司也能通过对行为的规范对整个开发流程进行管理、监控。
3.3领域分析的含义及方法
在系统化的软件复用中,充分的可复用信息的存在是非常重要的。这些信息需要被显示地表示,以便在开发过程中被复用。这些可复用信息,和为方便地定位和操作它们的一些辅助信息一起构成了复用基础设施。领域分析的目的是为了建立这些可复用的基础设施,它的含义是指“识别、捕获和组织特定领域中一类相似系统内对象、操作等可复用信息的过程”。
领域分析的三个关键过程为:①领域边界确立:通过对已有技术资料,典型系统的分析上,综合领域专家的意见,定义出领域分析的范围和边界,同时收集开展领域分析工作的必要信息;②领域建模阶段:根据在领域边界确立阶段得到的领域边界以及收集到的领域内相关信息,利用相应的建模知识和工具建立具备描述领域内应用系统数据和能力共性与变化性特征的领域模型;③软件体系结构建模阶段:通过已经得到领域模型,以及领域内设计的相关标准建立描述领域内特定问题解决方案的软件体系结构模型(DSSA)。
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. 1MCU嵌入式系统开发的模式
目前 MCU嵌入式系统的软件流程基本以包含人机界面处理的主流程 (缓处理)、外部非同步中断处理(急处理)、时序输入为中心,再加上机芯控制处理 (按照一定规则处理)等各种其他控制组成。MCU每完成一种功能,其处理过程都遵循 IPO模式(Input,Process,Output),如图 1所示。
图1 IPO现状
对于每个模式来说,它的输入参数,输出结果都是固定的格式,所以对于一个成熟的模式来说,它的行为是确定的,约束是明确的。因为这些特点,可以很明显地观察到 MCU嵌入式系统领域所具有的内聚性,和稳定性。
因为领域的内聚性,我们可以使用相对较少的、有限的可复用信息来反应整个领域的需求,以及应用。因为领域的稳定性,我们通过领域工程所得到的成果,可以对进行领域工程所花费的人力、物力在将来的工作中得到补偿。
2.2 MCU嵌入式系统开发的现状
MCU的应用能够深入人类生活的各个方面,关键的原因在于能够通过对软件的灵活定制以达到不同的功能从而针对不同的应用。随着功能的日益增长,MCU嵌入式系统的开发难度也随之加大。如果内藏 ROM容量在 8K字节之内,有经验的技术人员可以单独一人花费 2-3月用汇编语言进行软件开发,而超过 16K的 ROM想要单独完成会更有困难。特别在消费电子领域,产品的更新换代从以前的年为单位到现在的以月甚至以周为单位,这导致在以产品质量为生命的企业中,发生质量问题而不得不大量召回产品造成巨大损失的情况屡见不鲜。值得注意的是,在开发中,有经验的开发者通常会选择性的复用以前的工作成果(代码、软件体系、工具、文档),但这种复用一般是个人的,复用的来源也是个人以前的经验成果。在一个特定的领域中,例如一个企业中,这样的复用是经常性的,它们有着以下的特点:
· 一个领域内可复用的资源和复用的机遇是非常多的,但通常情况下无法对可复用资源进行管理,无法决定何时复用以及复用的方式,从而无法对产品的质量进行有效控制。
· 一个领域内掌握某种复用资源的往往是个体,复用资源无法共享,造成资源的浪费和生产力不能进一步的提高。
· 由于掌握资源的个体的离开,导致资源的损失 ;新加入的个体无法系统地取得这些资源,而导致工作效率的降低。
这种复用被称为个人复用(ad-hoc reuse)。如果能够对领域内资源进行有效的整合,通过更有效的方式进行管理、复用,将能进一步提高软件产品的生产效率、降低生产成本以及提高产品的质量,这种方式被称为系统复用 (systematic reuse)。领域工程正为解决这一系列的问题提出了解决方案。
3 领域工程与领域分析
3. 1领域的含义
领域是指一组具有相似或相近软件需求的应用系统所覆盖的功能、问题、问题解决方案或知识区域。领域可分为水平领域和垂直领域:水平领域是指根据应用系统内部模块的功能性分类而得到的相似问题空间,如数据库系统、工作流系统等 ;垂直领域是指具有相似业务需求的一组相似应用系统所覆盖的业务区域,而我们的 MCU嵌入式系统领域则属于垂直领域。
3.2领域工程
领域工程是为一组相似或相近系统的应用工程建立基本能力和必备基础的过程,它覆盖了建立可重用的软件构件的所有活动。领域工程对领域中的系统进行分析,识别这些应用的共同特征和可变特征,对刻画这些特征的对象和操作进行选择和抽象,形成领域模型,依据领域模型产生领域中应用共同具有的体系结构,即特定领域的软件体系结构 (Domain Specific Software Architecture DSSA),并以此为基础,识别、开发和组织可复用构件。
在进行领域工程的活动中,通过对领域相关知识进行系统的交叉对比,能够形成一系列的标准。这些标准对构件的选用,以及新构件的产生形成规约,从而指导和规范新产品的开发。同时,由于这些选择是经过了长期时间和实践的论证,所以这些标准也是具有科学性的。当我们要进行同一领域新系统的开发时,只需要根据领域模型,确实新的需求规约,再根据特定领域的软件体系结构形成新的系统设计,并依据相关的标准选取,构造构件,组装到新系统中。这样新系统的质量以及开发效率都将得到可靠的保障,公司也能通过对行为的规范对整个开发流程进行管理、监控。
3.3领域分析的含义及方法
在系统化的软件复用中,充分的可复用信息的存在是非常重要的。这些信息需要被显示地表示,以便在开发过程中被复用。这些可复用信息,和为方便地定位和操作它们的一些辅助信息一起构成了复用基础设施。领域分析的目的是为了建立这些可复用的基础设施,它的含义是指“识别、捕获和组织特定领域中一类相似系统内对象、操作等可复用信息的过程”。
领域分析的三个关键过程为:①领域边界确立:通过对已有技术资料,典型系统的分析上,综合领域专家的意见,定义出领域分析的范围和边界,同时收集开展领域分析工作的必要信息;②领域建模阶段:根据在领域边界确立阶段得到的领域边界以及收集到的领域内相关信息,利用相应的建模知识和工具建立具备描述领域内应用系统数据和能力共性与变化性特征的领域模型;③软件体系结构建模阶段:通过已经得到领域模型,以及领域内设计的相关标准建立描述领域内特定问题解决方案的软件体系结构模型(DSSA)。
- 音响系统的USB接口开发分析及主流芯片比较 (02-01)
- 让DSP成为创新的不竭源泉(03-08)
- 基于双星定位的4G监控报警系统设计(06-29)
- 可重定目标的嵌入式集成开发平台设计(08-03)
- 基于U盘和单片机的FPGA配置(08-25)
- 基于FPGA的液晶显示控制器设计(02-17)