论文部分内容阅读
模型驱动体系结构(MDA)是对象管理组织(OMG)提出的一种新的软件开发架构。MDA通过使用各个不同抽象层次的平台,来满足不同移植性的需求。在各个平台上,虽然抽象度是不同的,但建立在其上的模型却要求是完备的,这就有可能通过平台间模型映射的方法得到最后的系统。通过上述的方法,开发者只要在一个抽象平台上建立业务模型,然后通过各种映射工具,根据抽象平台和具体平台的映射规则,得到最后的系统,这就可以使开发者从各种不同的底层设施中脱身,而专注于业务分析和设计。
嵌入式系统是以应用为中心,软硬件可剪裁,对功能、可靠性、体积、功耗、成本有严格要求的计算机系统。实时性是嵌入式系统的基本特征,而大多数嵌入式系统都具有并发处理的要求,所以嵌入式系统也可称为带有时间约束的并发系统。近年来,随着微处理器和各种硬件的成本大幅下降,以及消费类电子产品的普及,基于并发和实时的嵌入式系统得到了大规模的发展。J2ME是目前比较流行的一个嵌入式系统开发平台,它是SUN公司推出的一个面向消费类电子产品和嵌入式设备的应用程序开发平台,具有可动态扩展、代码的易移植性、安全的网络传输等特点,目前在各种通讯产品上有广泛的应用。
统一建模语言UML是MDA的核心之一,由于UML最初的设计主要是关注软件分析与设计阶段的建模,所以在动态精确建模等方面缺乏相应的支撑机制,所以不能支持直接由模型生成完整的程序。近年来有很多研究工作在UML1.4的基础上进行剪裁,加入了精确动作语义,形成了Executable UML(xUML)。xUML可以用来精确的建模系统,并可支持直接将模型转换成完备的目标平台代码。目前xUML在嵌入式和通讯领域已经有了相当多的实际应用。
模型转换的自动化和标准化是MDA思想得以普及和大规模应用的关键。只有通过研究各个目标平台的特性和相应的平台转换规则,并最终实现转换规则的标准化,这样才能实现各种模型自动转换工具。因此,模型转换问题是当前MDA相关研究工作的重点和热点。本文以xUML作为建模语言,以J2ME作为目标平台,研究了它们之间的转换方法和技术,主要工作包括以下几个方面:
为实现xUML模型到J2ME代码的转换,针对J2ME平台建立了一个抽象映射模型。
给出了xUML静态模型的JAVA代码的生成算法,包括类和类的关联实现。
针对xUML的动态模型(状态机),给出了异步消息的实现框架、状态表的生成算法和状态机的实现算法,并且简要探索了动作语言翻译相关的问题。
基于上述工作开展了一个自动微波炉的xUML模型到J2ME代码的实例研究。