论文部分内容阅读
随着3G时代的到来,手机的功能越来越强大,应用程序的规模也随之越来越庞大,系统的复杂度也在迅速增加。在手机行业中,提出了软件开发平台化的构想,在NEC、Panasonic、DoCoMo开发的MOAP平台上进行应用软件开发的过程中,为了使应用程序结构性更好,运行效率更高,更易于维护,需要尝试使用更好的方法进行软件设计与开发。在手机行业中,有限状态机(FSM)理论在硬件及通信协议栈的开发中已经被广泛使用,不仅如此,通过目前的调查,发现有限状态机理论在应用软件的设计、开发中也大有用处。在设计阶段,开发人员可以利用这种简明的状态机模型来描述复杂的应用软件,这有助于从全局上把握工程,大大缩短项目的设计周期,并且易于维护软件的设计。但在开发阶段,FSM的实现极为繁琐、枯燥,降低了开发的效率,良好的设计无法得到良好的实现。在应用软件的开发中,状态机的控制、实现是开发效率与质量提高的瓶颈之一,本文通过对手机开发平台MOAP及应用软件事件驱动性的分析,对有限状态机理论在开发中的实践应用进行了研究,设计、制作了一个在MOAP平台上使用的通用的状态机中间件GFSM(通用状态机),使得所设计的应用程序的状态机能够简单准确地实现,从而把FSM理论直接应用于应用软件的设计与开发中。通过GFSM,把应用程序所需要处理的大部分事件统一变换成GFSM事件,使得应用程序对各种事件的处理具有相同的模式。在实现应用程序的状态机时,只需要根据GFSM所定义的简单语法,把设计时的状态机图以文本格式重现,即能够让GFSM建立、控制该状态机,使得开发人员在应用程序设计、编码时能够有效地把程序的功能逻辑和状态逻辑区分开。GFSM的使用使开发人员在设计、开发移动终端应用程序时,不必把大量精力置于实现状态机的状态转移这一繁杂而又容易出错的工作上。本文详细阐述了有限状态机理论在实现中的难点,指明了在移动终端应用软件开发中,GFSM的使用对软件设计、开发的重要意义;对GFSM的设计、相关概念及实现方法作了详细的阐述;对应用程序状态机的状态转移的具体工作也作了明确规定与代码实现。结合文中的具体研究工作,我与我的团队在MOAP平台上开发出了该中间件GFSM,使其大量应用于相关的项目开发中,并通过实际的开发工作,总结了基于GFSM进行应用程序开发的一般过程与状态机设计的要点。在工作中,我提出了用文本方式描述状态机图的设想,设计了通用状态机的工作模式;在通用状态机的开发过程中,对MOAP平台本身的事件机制、Gtk事件的接收机制、通用状态机的事件转换、发送以及对应用程序的状态转移控制等几个部分作了一定的研究与实现,并且参与了部分以文本形式描述应用程序状态机图的工作。经过一段时间的实践检验,GFSM的引入能够使FSM理论直接应用于代码实现,使得移动终端应用程序的设计、开发变得更为方便,效率更高,代码的质量也得到了大幅度提高。