admin 管理员组

文章数量: 887043


2024年1月13日发(作者:静态局部变量还是局部可见)

第18卷 第4期 电子设计工程 2010年4月 Vo1.18 NO.4 Electronic Design Engineering Apr.2010 MVC模式在嵌入式调试工具开发中的研究与实现 闰志贵.盂操 (武汉理工大学湖北武汉430070) 摘要:模型一视图一控制器MVC(Mode1 View Controller)模式是系统开发中较常用的一种开发模式。将MVC思想引 入开发模式中,先对MVC架构进行了讨论,然后通过基于Eclipse插件开发技术开发的嵌入式调试工具对MVC架构 模式的应用进行相关阐述。实际开发表明:通过MVC模式可以清晰地分离出人杌界面、业务逻辑与数据处理,整个 调试系统具有良好的运行性、可扩展性和易维护性。 关键词:模型一视图一控制器模式(MVC);Eclipse;嵌入式;调试;模式 中图分类号:TP31l 文献标识码:A 文章编号:1674—6236(2010)04—0085—03 Research and implementation of MVC pattern in embedded debug tool development YAN Zhi—gui,MENG Cao (WuHan Unwemi ̄of Technology,Wuhan 430070,China) Abstract:MVC(Model—View—Controller)pattern is the most commonly used development model in system development.This paper introduced the MVC ideas into the model of software development.Firstly,it discussed the MVC pattern.Then through the application of embedded debugging tool which based on Eclipse plug—in technology,it discussed how to implement the MVC architecture pattern.The actual development shows that through the MVC pattern clearly separates out the human—machine interface,business logic and data processing.The debug system has good performability,expansibility and maintainability. Key words:model—view—controller(MVC);Eclipse;embedded;debug;pattern 随着网络与信息技术的高速发展以及半导体技术的不 中,要求一个业务处理逻辑对应多个界面处理,同时要求 断进步,嵌入式系统已广泛应用于诸多领域。同时,嵌入式系 界面处理不影响到业务处理部分。因此MVC架构设计在 统中的软件也日趋复杂,这使得调试工具在开发过程中所发 这里得到了最好的应用IZl。 挥的作用更加突出。在嵌入式程序调试过程中.调试工具需 要向用户展示程序中发生的事件、变量的值以及各种时序 1 MVC架构模式概述 图,这个过程中数据量是非常庞大的.如何能够把这些信息 在面向对象系统的设计巾,类及其生成的对象是构 有效的以图形用户界面展示给用户就成为嵌入式调试工具 成面向对象系统的最基本元素,采用设计方法组合这些 的主要问题之--I 1。 元素.得到构成面向对象系统的构件。同时,这些构件的 图形用户界面承担着向用户显示问题模型和与用户 设计方法在经过不断的改进和完善后逐渐成型.成为构 进行操作和1/0交互的作用。用户希望保持交互操作界面 成面向对象系统的基本设计参考.称为设计模(Design 的相对稳定.但更希望根据需要改变和调整显示的内容和 Pattern)。 形式。例如,要求支持不同的界面标准或得到不同的显示 MVC(Model—View—Controller)是目前软件设计中比较流 效果,适应不同的操作需求。这就要求界面结构能够在不 行的一种模式 。MVC模式的出现不仅实现了功能模块和用 改变软件的功能和模型的情况下,支持用户对界面构成的 户访问模块的分离.同时还提高了应用系统的可维护性、可 调整。MVC由Trygve Reenskaug提出.首先被应用在 扩展性、可移植性和组件的可复用性。 SmallTalk一80环境中,是许多交互和界面系统的构成基础。 MVC将应用程序分为3部分:模型(Mode1)、视图 对于界面设计可变性的需求,MVC把业务逻辑处理和界面 (View)、控制器(Controller),其模块结构如图1所示。 操作强制性的从交互系统中分离出来.从而使界面处理不 各部分的作用分别描述如下: 影响业务逻辑的处理部分。在嵌入式调试系统中,需要以 模型(Mode1)指真正完成任务的代码,包含应用系统的 不同的方式查看目标版上程序运行的状态.而这个过程 核心功能。表示一个应用系统的数据,并且包含访问、维护和 管理这些数据的逻辑。所有属于应用系统持久状态的数据都 收稿日期:2009—09—16 稿件编号:200909053 作者简介:闰志贵(1984一),男,湖北武汉人,硕士。研究方向:Eclipse插件开发。 -85- 

《电子设计工程)2010年第4期 I 模型 l 择下一个视图。可以理解为从用户接收请求,将模型与视图 查匹配在一起,共同完成用户的请求。控制层相当于一个分发 萎慧询l; Il :化 变 一 墓 簦碧赣 Ih  器,决定所选择的模型、视图以及可完成的用户请求的类型。 l I 攀 例如,用户点击一个链接,控制层接受请求后,并不处理业务 } 视图 控制器 描绘模型:向模型请求 定义应用系统的行为;将用 信息,而只把用户的信息传递给模型,告诉模型做什么,选择 更新;将用户的请求传 户请求映射到模型更新;选 送到控制器;允许控制 择视图作为请求的回应;为 符合要求的视图返回给用户。 器选择视图。 每一种功能提供控制器。 I 用户请求 ? 2 MVC架构在嵌入式调试工具实现中的应用 观看更改 2.1项目简介 图1 MVC模块结构 REALVIEW EVENT VIEWER是一种基于Eclipse平台 应该保存于模型对象里。模型提供的服务必须足够适用于不 的嵌入式开发工具.是ARM公司新一代嵌人式开发平台 同的终端。一个模型聚集了相关的数据和操作,以提供一个 RVDS的开源平台组件之一.项目的目的是通过对ann体系 详细而精确的服务。一个模型的接口提供了访问和更新模型 结构中事件跟踪的机制和流程进行细致的分析和研究.理 状态,以及执行封装在模型中的复杂进程的方法。模型服务 解其嵌入式程序的跟踪数据流在目标板上的产生,并在目 被控制器访问.用于查询或更改模型的状态。当模型状态发 标板和宿主机之间通讯传输,进而在宿主机上被解析,最终 生变化时,模型会通报给视图。在模型同界面分离的情况下, 重构和图形化演示程序流的过程。该工具通过Eclipse插件 代码即可实现可管理性和可重用性。 形式实现l41,利用其可扩展机制原理建立一个一般性的、通 视图(View)表示用户视图部分.是用户看到的与之交互 用的平台模型,使第三方 户在此平台上扩展实现适应自 的界面,其中并没有业务逻辑代码。对于视图的处理仅限于 己特定需求的同类工具软件闱。 视图上数据的采集和处理以及用户的请求。 2.2系统实现 控制(Controller)是联系模型与视图之间的纽带,控制模 该系统从目标板上接收数据,经各软件模块按照一定的 型和视图之间的交互过程。它获取并翻译用户输入的动作, 数据格式解析生成符合特定数据结构的数据对象,并最终以 指定执行该动作的模型,或根据用户输入和执行的结果来选 图形化的方式显示到用户终端,其数据流图如图2所示。 罔2数据流图 该系统基于Eclipse平台.采用插件形式进行开发,在插 数据插件依赖于core和UI插件,每一种数据类型对应 件结构上分为3部分:core和数据以及UI。core插件依赖于 一个插件,数据插件实现了RDS,SG,IDS扩展点,并根据数 UI插件,定义了RDS,SG,IDS 3个扩展点,对应数据解析的3 据格式,实现了3个解析模块的具体内容。 个模块,但在此3个定义中,并不实现数据解析的具体方法, UI插件实现了解析后的数据存储、数据的业务逻辑,并 3个模块的功能分别是:1)RDS:原始数据源,负责从目标板 图形化显示给用户,根据调试数据的不同,Display包含4种 上取出数据,并传送到下一模块(SG);2)SG:流生成器,负责 显示类型,AnMog chart display(显示variable)、Event display 解析原始数据,并将解析后的数据传到下~模块(IDS);3) (显示事件,如中断,A/D转换等)、Text Display(显示文本)、 IDS:智能数据源,负责解析SG生成的数据并生成符合数据 Digital chart display(显示二进制值,如寄存器中的值)。 接口的数据,并提交到对应Display的model中,最终以图形 从系统架构方面来说,这正是MVC模式的应用:core插 化的形式显示给用户。 件就是Controller的实现,负责系统的控制.并不参与系统的 另外core中还定义了Platfo13TI,这是一个公共架构支撑 业务逻辑,只负责消息的传递。具体的数据插件是Model的 平台,负责实现RDS,SG,IDS,Display接口之间的交互,并 实现,负责处理具体的业务逻辑,UI插件相当于View的实 控制系统运行。在Platfotin平台中,所有交互功能都是采用 现,负责显示并更新数据。 抽象层的数据,这符合设计中依赖于抽象而不依赖于具体 UI模块对IDS模块解析生成的数据的处理和显示也是 实现的原则。 采用MVC架构来实现的【 :从IDS模块输出的数据并不直 -86- 

闫志贵,等MVC模式在嵌入式调试工具开发中的研究与实现 接显示到Display模块,而是传送到与Display对应的Model 常发生变化的,采用MVC设计模式可以在满足对界面要求 模块,Model模块负责数据的添加、删除、查找以及数据通道 的同时,使软件的计算模型独立于界面的构成。这里首先介 的各种显示属性(如Analog视图中各数据通道线条的线型、 绍了MVC的3个组成构件(模型构件、视图构件和控制构 颜色、粗细等)的设置等业务逻辑,当Model中的数据状态被 件),以及实现基于MVC的应用需要完成的工作;接着分析 改变时.会通知Display进行更新,这时Display重新获取需 了REALVIEW EVENT VIEWER的架构及MVC架构在其上 在界面上显示的数据集合以及通道属性。此外,还包含各种 的实现。MVC降低了软件的耦合性,实现了视图层和业务层 首选项设置以及action,action主要负责界面的动态配置.如 分离,从而允许更改视图层代码而无需重新编译模型和控制 线条颜色、通道取值范围、线条粗细以及界面背景颜色等.这 器代码,提高了代码的复用率,但MVC架构也增加了系统结 些功能相当于Controller模块,会更改模型状态,并通知界面 构和实现的复杂性,使试图和控制器的连接过于紧密。所以 刷新,其相对于架构的前台体系架构展示如图3所示。 应灵活使用MVC架构,而不单纯是“为了模式而模式”。 参考文献: 【1]万建成,卢雷.软件体系结构的原理、组成与应用【M】.北京: 科学出版社.2002. 【2】高晓峰.框架技术在嵌入式系统中的应用[J].计算机工程与 应用,2002,38(22):124—127. [3】程杰.大话设计模式【M].北京:清华大学出版社,2007. [4]陈刚.Eclipse从入门到精通[M】.北京:清华大学出版社, 2007. 【5]阎宏.JAVA与模式【M].北京:电子工业出版社,2002. 图3 UI结构罔 【6】王田苗.嵌入式系统设计与实例开发[M].北京:清华大学出 版社.2003. 3 结束语 [7】那静.Eclipse SWT/JF’ace核心应用【M】.北京:清华大学出 与软件所处理问题的内在模型相比,用户界面是需要经 版社.2007. 安一 , 奠一寞一奠,奠一套一奠一套一套一女一 一妥,安一蔓一妥一 一奠一炱一奠一寞一女一女一 一寞一寞一奠~套一奠~套一奠一 一 寞一 一寞一生一 ~受一点 奠一寞—受一 可支持PMBus系统电源管理及保护的集成电路LM25066 美国国家半导体公司(Nationa1 Semiconductor Corporation)推出可支持电源管理总线(PMBus)系统监控、保护及控制的集 成电路。这款型号为I M25066的监控电路适用于刀片服务器、储存网络系统、路由器/交换机及模块式子系统,为设计工程师提 供理想的解决方案,可以提高系统的稳定性并降低数据中心的运营成本。 美国国家半导体的LM25066内置高性能的监控、保护及控制电路块.可以准确控制及管理机架内每一刀片子系统不同电 路的操作情况 此外.这款器件也可准确监控关键系统的功耗及故障等情况。 LM25066可连续不断地为系统管理主机电路实时提供各刀片子系统操作情况方面的相关数据,其中包括功率、电压、电 流、温度及故障等数据 LM25066内置系统管理总线(SMBus)的通信接口根据PMBus协议进行数据传输。主机具备的景统诊 断及优化程序功能可以根据这些数据判断系统的操作情况,以确保系统操作稳定,并且降低数据中心的总功耗。 LM25066适用于2.9 V至17 V的输入电压,并有25 mV与50 mV两个限流阈值可供选择,因此可满足中间总线对电压及 负载电流的各种不同要求。测量电流及电压时,这款监控电路可以在一秒内进行1 000次测量,因此在一40℃至125℃的温度 范围内其电流测量准确度可保持在3%之内。此外,这款监控电路可以同时进行电流及电压采样操作.因此可以准确测量刀片 服务器的操作功率,从而准确计算其功耗。这款监控电路还可捕捉峰值电流和功率,以便计算子系统操作时相关参数(例如输 入电压、输入电流、输入功率及输出电压)的平均值。 LM25066内置的温度监控电路块与低成本的外置二极管连接一起,以便监控外置MOSFET或其他较易受极端温度影响 的电路.以免温度超出其控制范围之外。这款器件可以通过SMBus接口汇报有关系统参数和潜在故障的最新情况,并且可因 应各个故障事件设置不同的警告阂值,令设计更具灵活性,也令系统受到较全面的保护。 LM25066的控制及保护电路块采用美国国家半导体独特的热插拔架构.可将电流及功率限定在某一范围内,因此当插件 插入已启动的系统底板或任何其他“带电”的电源插座时,系统内的灵敏电路也不会因此而受损。此外,LM25066的保护电路块 还具备可调节的欠压/过压及迟滞功能。 美国国家半导体更特别为这款LM25066提供一套强劲的开发工具,以便精简应用设计,确保系统更容易验证。系统设计 工程师也可利用这些开发工具为其子系统添加增值功能 咨询编号:201Oo41O1O 一87— 


本文标签: 系统 模型 数据 用户