刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!

简答题

试题三(25分)
请详细阅读有关嵌入式构件设计方面的说明,回答下列问题。
【说明】
 构件(component)也称为组件,是一个功能相对独立的具有可复用价值的软硬件单元。近年来,构件技术正在逐步应用于大型嵌入式系统的软件设计。某公司长期从事飞行器电子设备研制工作,已积累了大量成熟软件。但是,由于当初管理和设计等原因,公司的大量软件不能被复用,严重影响了公司后续发展。公司领导层高度重视软件复用问题,明确提出了要将本公司的成熟软件进行改造,建立公司可复用的软件构件库,以提升开发效率、降低成本。公司领导层决定将此项任务交给技术部门的王工程师负责组织实施。两个月后,王工程师经过调研、梳理和实验,提交了一份实施方案。此方案得到了公司领导层的肯定,但在实施过程中遇到了许多困难,主要表现在公司软件架构的变更和构件抽取的界面等方面。

【问题1】
请用200字以内文字说明获取构件的方法有哪几种?开发构件通常采用哪几种策略?并列举出两种主流构件标准。

【问题3】
王工程师的实施方案指出:本公司的大部分产品是为用户提供标准计算平台的,而此平台中的主要开发工作是为嵌入式操作系统研制板级支持软件(BSP)。为了提高BSP软件的复用,应首先开展BSP构件的开发,且构件架构应符合国外GENESYS规范定义的嵌入式系统架构风格。下图给出了架构风格定义的构件通用接口,其中:链接接口(LIF.是构件对外提供的功能服务接口;局部接口建立了构件和它的局部环境的连接,如传感器、作动器或人机接口;技术相关接口(TDI)提供了查看构件内部、观察构件的内部变量的手段,如诊断等;技术无关接口(TII)用来在运行时配置、复位、重启构件的接口。现需要针对BSP中常用的RS-232串行驱动程序设计一个可复用的软构件,请说明该软构件四类接口的具体功能。




使用微信搜索喵呜刷题,轻松应对考试!

答案:

见解析

解析:

答案:
基于构件的软件开发中,可以通过不同的途径来获取构件,主要包括以下4种方法:
    (1)从现有构件中获得符合要求的构件,直接使用或做适应性修改,得到可复用的构件;
    (2)通过遗留工程(Legacy Engineering),将具有潜在复用价值的软件提取出来,得到可复用的构件;
    (3)从市场上购买现成的商业构件,即COTS (Commercial Off-The-Shell)构件;
    (4)开发新的符合要求的构件。
    开发构件通常采取3种策略:
    (1)分区(partitioning):指的是将问题情景的空间分割成几乎可以独立研究的部分;
    (2)抽象(abstraction):是对在给定实践内执行指定计算的软/硬件单元的一种抽象;
    (3)分割(segmentation);是将结构引入构件的行为,支持对行为性质进行时序推理。
    当前主流构件标准有:
    (1)CORBA:由OMG(对象管理集团)制定;
    (2)COM/DCOM:由Microsoft制定;
    (3)EJB:由SUN的Java企业Bean制定。

答案:(1)√    (2)×    (3)×    (4)√    (5)×    (6)×
    错误分析:
    (2)“构件是解决软件复用的基础,复用的形式可分为垂直式复用和水平式复用。而垂直式复用的主要关键点在于领域分析,具有领域特征和相似性,受到广泛关注”。垂直式复用是与领域特性相关的,而水平式复用是一种公用的服务,不予某个特殊领域相关。
    (3)“构件构建在平台之上,平台提供核心平台服务,是构件实现与构件组装的基础。构件组装通常采用基于功能的组装技术、基于数据的组装技术和面向对象的组装技术等三种技术”。配置只是一种构件功能组合动态方法,而不是构件组装的技术。
   (5)“构件可分为硬件构件、软件构件、系统构件和应用构件。RTL(运行时库)属于软件构件,由于RTL可适应多种应用领域,所以RTL与属于水平式复用构件”。RTL是C/C++语言为用户提供的一种运行时库,如数学库、stdio库等,它可服务于多种应用,而与领域需求无关,所以说RTL不属于垂直式复用构件。
  (6)“硬件构件的功能被给定的硬件结构如ASIC预先确定,他是不能修改的。同样,软件构件的功能由在FPGA或者CPU上的软件确定的,我们将加载在软件构件上的软件称为作业。将作业分配给适当的可以执行该作业的硬件单元就创建了新的构件。软件构件的功能所以在构件的寿命期中可以修改”。

答案:
RS-232驱动程序主要完成对RS-232芯片的初始化,实现RS-232数据发送、接收和控制等功能。依据GENESYS规范定义的构件接口含义,RS-232驱动程序构件的接口定义如下:
    (1)链接接口
    RS-232驱动构件的使用者是上层的操作系统或应用软件,本构件应该给他们提供串行接口的数据发送、数据接收服务。因此,链接接口至少包括以下功能服务:
    ●Send():处理机中的程序向RS-232芯片输出数据;
    ●Receive():处理机中的程序通过RS-232芯片从外部接收数据;
    ●Init232():初始化RS-232芯片。
    (2)局部接口
    RS-232驱动构件的局部接口应该是RS-232芯片为编程提供的各类寄存器和CPU对外围芯片的支持,此接口与硬件紧密相关。就RS-232芯片而言,局部接口至少包括以下功能服务:
    ●Intconnect():将RS-232芯片的外部中断向量连接到CPU;
    ●Read():从RS-232芯片中读取寄存器的内容(包括控制、状态类寄存器和数据输入寄存器);
    ●Write():将控制信息或输出的数据写入RS-232芯片的相应寄存器。
    (3)技术相关接口
    RS-232驱动构件的技术相关接口应该是RS-232驱动构件为维护人员提供的芯片诊断接口,此接口与硬件和应用紧密相关。就RS-232芯片使用而言,技术相关接口至少包括以下诊断功能服务:
    ●Datacheck():诊断数据传输校验的错误。
    (4)技术无关接口
    RS-232驱动构件的技术无关接口应该是RS-232驱动构件为编程人员提供的芯片初始化或运行时的配置接口。技术无关接口至少包括以下功能服务:
    ●Reset():RS-232芯片或驱动构件复位;
    ●Restart():RS-232芯片或驱动构件重启动;
    ●Rateconfigure():配置、重新配置RS-232传输速率。
创作类型:
原创

本文链接:试题三(25分)请详细阅读有关嵌入式构件设计方面的说明,回答下列问题。【说明】 构件(compone

版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。

让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!

分享考题
share