基于XMI的ASIP系统级设计研究
针对传统的专用指令集处理器(application specific instructure set processor,ASIP)设计方法不足,提出基于体系结构描述语言的ASIP系统级综合方法,本文尝试在嵌入式系统设计中融合先进的软件工程成果,提出一种构建ASIP设计平台的方法,对ASIP的特点和构架进行描述,将ASIP的系统级设计任务划分为行为,结构,综合3个层次,以参数化的体系结构模型为基础,采用统一建模语言(Unified Modeling Language ,UML)对ASIP进行描述,可扩展标记语言(Extensible Markup Language ,XML)存储其结构的数据模型,以软件代码生成技术自动生成HDL代码,形成实用的ASIP设计环境。
论文关键词:专用指令集处理器,体系结构描述语言,UML,XML
嵌入式系统传统的设计方法是软、硬件结合的协同设计,需要不同技术背景的人共同开发。在软、硬件设计领域中,统一建模语言UML(Unified Modeling Language)采用一种简单而直观的图形化方式描述系统设计中的各个问题和细节。2002 年初,OMG 把MDA (Model Driven Architect ure ,模型驱动架构) 作为它的战略方向,MDA 成为近几年新的关注焦点,被视为解决平台无关、技术无关,以及异构系统高效整合问题的最有希望的途径。MDA 的基本思想就是一切都是模型,软件的生命周期就是以模型为载体并由模型自动映射为实现的过程.MDA 包括大量相关标准:MOF (Meta Object Facility) 、UML (Unified Modeling Language) 、XMI (XML Metadata Interchange)等[1,2]。根据MDA 思想,系统开发中的数据可以用UML 类图描述,运行中的数据交换使用XML Schema 定义和验证的XML 格式。 其实UML 类图、XML Schema 属于数据在不同阶段的定义方式,他们是统一的、一致的,既然,在开发中已经花精力设计了UML 图,就没必要再重复工作来分析设计XML Schema ,正如MDA 的倡导完全可以由UML 模型生成XML Schema。
2 ASIP系统级设计方法
ASIP用传统的集成电路技术实现是不现实的,集成电路设计复杂,开发周期长,定型后无法进行扩充,这样每遇到一种新应用,就得重新设计一款专用芯片,成本是不可接受的,这在一个时期内限制了ASIP的发展, 系统级设计是一个由高抽象级到低抽象级的逐层实现的过程,每一层都会涉及到描述、验证以及到下一层的转换(综合),系统是较RTL级更高的抽象层次,会包含硬件和软件等多种实现。在此嵌入式系统结构框架的基础上,以UML作为ASIP系统设计的建模方法及设计方案的表述形式,以XML作为一种与平台无关的信息封装形式。两者共同构建ASIP数据模型DMA(Data Modeling of ASIP),以统一ASIP数据结构[11,12]
以UML 作为ASIP系统设计的建模方法及设计方案的表述形式所建立的模型对应于behavioral ADL中的模型;以XML作为一种与平台无关的信息封装形式,它所描述ASIP的数据模型对应于structural ADL中的模型。两者共同构建ASIP数据模型DMA(Data Modeling of ASIP),以统一ASIP数据结构。
整体思想:采用UML2描述behavioral ADL中的模型(resource model, Memory model, Instruction set Model, behavioral model, time model, micro-architecture ),建立元模型。在eclipse中采用EMF实现元模型,GEF作为表示层,编写一个编辑器,调用EMF模型。中间层可采用DOM4J技术得到解析模型,序列化成XML数据文档存储数据模型。最后,采用JET代码生成技术从所得到的XML描述的数据模型智能的生成对structural ADL描述的HDL代码。
XML
图1 ASIP_IDE所用的开发技术
3 UML建立ASIP系统模型
UML为对象的结构模型和行为模型定义了语义,结构模型强调系统中对象的结构,它包括类、接口、属性和关系,行为模型强调系统中对象的行为,它包括它们的交互作用、合作性和历史状态。UML开发者提出的开发过程是用例驱动、以体系结构为中心、迭代递增的过程,这正是嵌入式系统开发的理想过程[8,9,10]。UML的目标是以面向对象图形的方式来描述任何类型的系统,可以为任何具有静态结构和动态行为的系统进行建模。因此,使用UML可以很好地完成嵌入式实时系统的建模。采用UML可为ASIP系统级设计建立模型,建立的模型可以被UML工具转化成指定的程序语言代码如HDL[3](Hardware Description Language)代码。UML作为一种模型语言,它使开发人员专注于建立产品的模型和结构,而不是选用什么程序语言和算法实现。
为了更好的将ASIP模型转化为使用硬件描述语言(HDL)描述的模型,采用面向对象的UML技术来描述ASIP静态模型。使用 UML 框架来创建 XML 词汇表,并且UML 图可以捕获所有对象模型之间的关系。XML 文档携带了对象模型信息。很显然,UML 无法捕获 XML 模式中的所有丰富内容。这意味着,即便已经在 UML 中对 XML 模式进行了建模,还是应该对这些模式进行手工扫描和调整。在建立ASIP系统级设计模型过程中,建立基于UML设计系统的静态结构图,即建立系统概念模型。建立数据模型包括概念、逻辑及物理等建模,如下图:
专用指令集处理器
图2 UML2对model定义的结构图
4 XMI标准实现UML到XML映射
XML元数据交换(XML Metadata Interchange, XMI)旨在能够在建模工具之间方便地交换元数据,而且可以用来根据一组转换规则从UML图生成XML-DTD。XMI代表了将元数据从一个库传送到另一个库的一种新方法[4]。如下图:
专用指令集处理器
图3 UML到XML的映射
4.1 XMI集成了三个关键的工业标准
. XML -扩展标记语言(eXtensible Markup Language),由W3C指定的标准
. UML – 统一建模语言(Unified Modeling Language), 由OMG制定的建模标准
. MOF – 元对象工具(Meta Object Facility), OMG的元模型建模(metamodeling)和元数据存储仓库标准
这三个标准的集成,是OMG和W3C元数据和建模技术的最好的“联姻”,它能使各个分布式系统的开发人员能在互联网上方便地共享他们的对象模型和元数据。4.2 转换过程
系统开发人员首先在支持UM L 标准(UML1.4或UML2.0)的图形化建模环境中对业务模型进行描述,生成用户实例、顺序图、类图等表示动态流程与静态结构的信息实体,这些信息实体会保存在模型库中。在进行模型信息处理时,通过U M L建模环境提供的API 对模型中的模型类别、元素、参数、约束、数据类型等元—元数据进行处理,
转换为可识别的信息模型, 然后通过规范的D T D ,生成与元模型一致的X M L 文件描述。在X M L 生成过程中,可借助一些标准的组件,如DOM(Document Object Model)、Web-DAV(Web based Distributed Authoring and Versioning)进行开发,提高X M L 文档生成的速度与质量。
专用指令集处理器
图4 UML模型到XML的转换过程
因此,XML可用来存储ASIP结构的数据模型[13,14]。XML描述的ASIP模型如下:
<子模块 标号='1'>
ALU
<子模块 标号='2'>
Register
在建立ASIP数据结构的XML描述后,由于XML文档中包含所有可视化所需目标类型、名称、数量及模型之间的关系,可对其进行处理[5,6,7]。
5 小结
本文依托的项目“面向领域的ASIP系统建模与层次映射机制研究”选择UML 作为统一建模工具,在数据模型层上实现企业信息系统的集成。在已经实现的模型建立与转换主界面中,集成了ROSE 建模环境,通过API 把模型信息提取出来把模型信息输出为X M L文件。在对UML 模型解析的基础上,可通过建立不同的映射规则,进一步生成模型到C++、Java 等开发环境的接口定义(IDL )和数据库描述文件。以MDA 为背景,从底层标准、四层元模型、转化流程、转化规则等角度深入、全面的分析了UML 模型、XML 模式转换原理,基于XMI 框架提出了可行的实现方案. 此研究对于MDA 转换工具、增强UML工具功能具有实践和理论价值,对于MDD 的实现具有推动作用,可促进涉及XML Schema 的技术的广泛使用。
参考文献
[1]杨君,李曦,王志刚,周学海,专用指令集处理器( ASIP) 系统级设计研究[J],系统工程与电子技术, 2006.10:1573-1577http://www.youerw.com/
[2]苏鹤年, 李曦, 王志刚, 杨君,基于语言的ASIP系统级综合方法研究[J],《微型机与应用》,2005.09
[3] Oliver Schliebusch, Andreas Hoffmann, Achim Nohl,Gunnar Braun and Heinrich Meyr, Architecture Implementation Using the Machine Description Language LISA[J]
[4]Tilman GlÖler, Heinrich Meyr, Design of Energy-Efficient Application-Specific Instruction Set Processors[J], P118-122
[5]G. Zimmermann,The Mimola Design System a Computer AIDED Digital Porcessor Design Method[J]
[6]Elvinia Riccobene, Patrizia Scandurra, A Model-driven co-design flow for Embedded Systems[J]
[7]NAN Song-hui, TIAN Jia, ZHANG Hai-bo, CHENG Wei, Data Modeling of Spaceflight Based on UML and XML Schema[J], Network and Information Technology, 2008.01:46-48
[8]邢波涛,用UML2和EMF/GEF进行企业建模[J],特别策划,2008:68-70