1.2组件技术

组件技术就是一种软件工程中的先进技术。组件可以认为是能够用于构建大型系统的自包含的部件或子系统。在软件工程中,一个组件与一个微型应用程序类似,即都是已经编译链接好,并可以使用的二进制代码,应用程序由多个这样的组件打包而得到。在需要对应用程序进行修改或改进时,只需要将构成此应用程序组件中的某个用新版本替换掉即可。这样,使用组件技术的系统就具有很好的灵活性和可移植性。另外强大的组件库能够为开发人员提供功能丰富的组件支持,从而大大缩短软件的开发周期。使用组件的种种优点直接于可以将它们动态地插入或卸出的应用。为了实现这种功能,所有的组件必须满足两个条件:一是组件必须动态链接;二是它们必须隐藏其内部实现细节。另外,利用组件还能帮助开发人员根据所使用的组件功能预测和验证系统的功能特性。正是由于组件具有诸多优点,基于组件的开发技术才引起了软件工程领域的广泛应用,并且逐渐将它引入迅猛发展的嵌入式软件开发领域中。

2.嵌入式系统组件的设计原则

2.1接口设计原则

适用于嵌入式系统中的组件遵从大部分的通用组件设计原则,特别是组件的接口和实现相分离的封装特性。组件的接口是组件功能的体现,系统中的其他部分或者组件正是通过接口使用组件提供的功能。但是对于嵌入式系统而言,有一些额外的系统特性或约束和系统功能是同样重要的(如实时性),那么接口仅包含组件本身的功能特性就不完备,它还必须包含额外的系统特性,即加入约束条件。这样在系统设计阶段,利用组件进行设计不但能够验证功能需求,而且还能预测和分析系统特性需求。

2.2组件绑定与发布原则

在通用组件的设计中,接口是以支持运行期绑定的多态对象接口方式实现的。组件完全以动态形式绑定,独立于接口的定义。这样为组件复用、系统升级提供了强大的灵活性。但是,这种灵活性在嵌入式系统中会带来性能的下降和风险的上升,影响系统的实时性和稳定性。因为所有组件都在运行期绑定,这样必然会增加冗余代码,并且让系统行为变得难以预测。因此,通用组件的动态特性在嵌入式系统中特别是小型系统中是不可行的。由于实时性和硬件资源限制,在嵌入式系统中,组件链接和组合最好在系统设计期静态而不是运行期动态地进行。进行组件的静态绑定,可以通过系统建模工具对一个基于组件的系统设计产生一个总体视图,这样能够对系统性能有更好的预测和优化。所以组件的形式不应该再使用通用组件中的二进制可执行文件形式发布,而应该采用高级语言或更为抽象的建模语言(如UML) 定义组件的形式,这样可以让组件在编译期或者在设计的早期就可以绑定链接,而不是像通用组件那样的迟绑定(Late Binding)。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查