UML状态机与框架技术在嵌入式系统中应用.docVIP

UML状态机与框架技术在嵌入式系统中应用.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
UML状态机与框架技术在嵌入式系统中应用

UML状态机与框架技术在嵌入式系统中应用   摘要:嵌入式系统中运用UML状态机和框架复用技术,在提高嵌入式系统开发效率、保证系统可靠性及系统可维护等方面有积极意义。相对于传统有限状态机,用UML状态机描述的嵌入式系统具有高度结构化、逻辑清晰、图形可视等特点。以基于Quantum Platform框架在嵌入式系统的应用为例,介绍了一种基于UML状态机的图形化建模开发和代码自动生成方法。该方法基于Quantum Platform框架以及相关开发组件,具有快速开发、方便调试、多平台移植、支持底层8位/16位低端单片机等特点。   关键词关键词:嵌入式开发; UML状态机; 图形化建模; Quantum Platform框架   中图分类号:TP311.5文献标识码:A文章编号文章编号2014)005004902   作者简介作者简介:楼伟刚(1978-),男,上海交通大学硕士研究生,研究方向为嵌入式软件开发。0引言   近期,在某个开发者论坛上发现一个很有趣的天使之问“框架Framework会使人变笨吗”?引来附和声一片,程序员终于发现自己是从“人”变“猿”退化的罪魁祸首,纷纷哀呼程序员群体从高大上的技术精英蜕变为IT民工。姑且不论程序员退化论,单从技术发展来看,计算机技术开发正变成一项基于前人成果的增量开发,借鉴和利用他人的成果蔚为重要。在软件开发方面,这类技术称为软件复用技术,是指通过重复使用已有资源,有效提高软件质量和生产率。软件复用技术是软件开发的必然趋势,构件化技术和基于框架的开发方法是诸多软件复用技术中最成熟并且应用最广泛的技术。笔者近期接触和学习了一款命名为“Quantum Platform”(QPTM)的平台框架以及相关系列组件,现将其实践应用与大家共享。   1UML状态机与传统有限状态机比较   传统有限状态机(Traditional FSM Formalism)由有限状态及其相互间的转移条件构成,在任何时候只能处于给定状态中的一个。当接收到一个输入事件时,状态机产生一个输出,与此同时也可能伴随着状态的转移。状态的转移和输出不仅与输入事件有关,而且还与机器在前一时刻的状态有关,二者缺一不可。传统有限状态机有明显不足,系统稍微变得复杂时,实现就变得复杂和困难,甚至难以将其表示出来;同时传统有限状态不支持并发处理能力。   在UML发展历史中, David Harel在上世纪80年代扩展了传统状态机,被命名为Harel状态机,即UML状态机,又名UML Statechart。UML状态机引入了“层次”、“并发”和“通信”3个机制,其中最为重大的创新是支持层级嵌套特性,所以UML状态机又被称为UML层级状态机(hierarchical state machines, or HSMs)。以图1所示的微波炉状态机控制为例,包括了层级嵌套、Entry/Exit处理、Initial处理等特性。   图1微波炉状态机控制   2事件驱动型嵌入式系统设计   运用UML状态机描述的嵌入式系统一般都是基于事件驱动型设计,这类系统被称为Even-driven Systems,又被称为Reactive Systems。作为这类嵌入式系统,其总是持续等待,直至外部某个时间片、数据包、按键、鼠标击键等事件发生;系统立即识别事件并按照预设行为响应,无论是操作硬件或者触发内部事件刺激内部其它部件;一旦系统完成事件处理,则马上回到等待状态。   这类事件驱动型嵌入式系统的开发编程,要与传统开发编程思维彻底颠覆。与传统的“Superloop”或者调用RTOS的“Task Schedule”模式相比,事件驱动型系统基于一种 “好莱坞原则”(Hollywood principle, which means “Don’t call us, we’ll call you.”)。这类系统在等待事件时,无所事事,不占据系统资源;一旦事件发生,立即识别并响应,处理完成后立即回复到无所事事状态。这种机制下,系统总是能快速响应多种并行事件,对各类事件的发生没有严格的时间和时序的限制。   这种基于事件驱动的处理机制,有以下3个特点:   (1) 基于事件驱动型的系统,可清晰地分成了两个部分:①各个特定事件处理应用;②上层的事件驱动基础框架,包括所有事件的定义、申请、管理、分发等共性处理。   (2) 系统的控制逻辑主要是由上层的事件驱动基础框架实现的。从事件处理应用角度而言,实现了逻辑控制的反转(Inversion of Control),即应用程序只处理特定响应,而基础框架负责控制调度。   (3) 事件处理应用一旦完成,就将控制权释放,内部堆栈变量或指针等都无法被外部获悉。在这种情况下,可以通过设立状态机的

文档评论(0)

fangsheke66 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档