摘要
XML具有的与平台无关、易于扩展、交互性好、语义性强等特性,使得XML 已经成为数据交换的事实标准。实现文本数据图形化表示的XML子语言SVG,集矢量图形与XML优点于一身,非常适合于Internet上发布。提出了一种基于XML 的UML模型逻辑图表到SVG图形的转换方法。先将UML对象模型依据XML元数据交换标准XMI,以XML文档实例表示;再应用可扩展样式表语言转换XSLT,将XML文档转换成SVG图形格式。
在将UML对象模型以XML文档实例表示时,阐述了类、类的属性值、数据类型以及关联关系、聚合与组合关系及泛化关系等各种关系与XML元素的相应映射规则;根据XMI2.0规范,从名称空间、元素的唯一性、数据类型、元素的内容模型、继承关系和链接等六个方面介绍如何把UML模型映射成XML Schema模式。在利用XSLT对包含UML图元信息以及逻辑信息的XML文档进行转换,生成相应SVG图形时,从视觉特征和功能特征相结合的角度,阐述了UML基本图元与SVG 图形元素间的映射关系,给出了一组转换规则。最后,给出了从UML图表到SVG 转换的整个流程框架。
基于此转换模型框架,以基于B2B的商品目录模型作为样例,采用NetBeans 作为开发平台,利用Java元数据接口和XSLT技术,对转换方法进行了应用。实例证实,这种转换方法能完全展现UML模型信息,尽量保留了原模型中主要概念,存储UML模型信息的XML文档易于交互操作与数据共享,生成的SVG图形交互性良好,适用于软件系统业务逻辑图表的在线发布及更新。
关键词:可扩展标记语言,统一建模语言,可伸缩矢量图形,模型转换
Abstract
As Internet grows rapidly, it will make great profits to online publish UML diagrams in a suitable format, so that multi-user can edit the UML diagrams anytime anywhere via the Web. XML itself is platform-independent, easy to expand, interactive, semantic in nature etc, it has been made as the fact standard of data exchange. SVG is a language for describing two-dimensional graphics in XML, with the advantages of both vector graphics and XML. It’s quite suitable for publication on the Internet. An XML-based transformation method of UML diagrams into SVG graphics is proposed. The main idea of the transformation is that according to XML metadata exchange standard XMI, the components of the UML design model are represented as XML data and then XSLT is used to transform the XML document into SVG images.
In the part of representing UML object model in XML format, it describes how to mapping the class, the attributes of class and the relationship of class like association and generalization to XML document. Then according to XMI2.0, it describes how to mapping UML conceptual model to XML document structure pattern like XML Schema. Coming to the part of using XSLT to transform the XMI
document into corresponding SVG graphics, it describes the mapping relationship between UML model objects represented in XML document and basic graphic elements in SVG from the visual and functional characteristics combined perspective. Finally, the entire process framework of the transformation is proposed.
Based on the conversion framework, take a commodity catalog model based on B2B for example, with NetBeans adopted as a development platform, the method is applied to a case study. It is proved that the transformation method can fully display the UML model information and preserve the key concepts of the original model. Since the inherent advantages of SVG can be fully utilized, the online publication and update of business logic diagrams can be made possible.
Key words: Extensible Markup Language, Unified Modeling Language, Scalable Vector Graphics, model transformation
独创性声明
本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到,本声明的法律结果
由本人承担。
svg图形学位论文作者签名:
日期:年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
保密□,在_____年解密后适用本授权书。
本论文
不保密□。
(请在以上方框内打“√”)
学位论文作者签名:指导教师签名:
日期:年月日日期:年月日
1 绪论
1.1 课题背景
UML(Unified Modeling Language,统一建模语言)是用来对软件系统进行描述、构造、可视化和文档编制的工业标准语言,它通过蓝图设计简化了软件工程过程。这种建模语言得到了工业界的广泛支持,由OMG组织(Object Management Group)采纳作为业界标准,使软件界第一次有了一个统一的建模语言。通常,系统分析人员采用一种UML建模环境(如Rational公司的ROSE)建立业务模型,这些图形化的业务模型(如用户实例图、类图、顺序图、状态图等)包含应用系统中的数据结构与逻辑约束,但这种业务模型的外在表现是图形的集合,不便于开发环境对模型的进一步处理。并且传统的UML图形编辑工具,是单用户单机使用的,这种模式极大限制了多用户对UML图形编辑的不同时间、不同地点的并发操作。
在计算机世界日新月异的今天,通信技术的进步以及网络的快速发展对于一起工作的系统提出了更多的要求,交互操作性变成了关键需求。继而造成的结果是,需要共享这些系统所依赖的数据,并且共
享以最初开发系统时没有考虑的方式进行。虽然在一些情况中,可以建立从一个应用程序到另一个应用程序的软件桥梁,但面向对象的数据能够共享的惟一有效方式与表示数据的标准方法有关。并且随着Internet的迅速发展,创建一个可以随时随地通过Web来使用的UML图表编辑系统,利用Web实时在线发布UML图,是非常有益处的。
由IBM公司、Unisys公司及其他合作伙伴提出的XMI(XML Metadata Interchange),是一种使用了XML来说明面向对象的信息的标准,它以可扩展标记语言XML(Extensible Markup Language)元数据交换为标准。XMI阐明了一个开放式信息交换模型,使得用对象技术工作的软件开发者能用标准的方式在Internet上交换软件设计元素。另外,实现文本数据图形化表示的XML的子语言,SVG(Scalable Vector Graphics)技术的应用,使得软件的发布及更新在Web上更容易实现。SVG 是由国际WWW委员会(World Wide Web Consortium,W3C)组织为适应Internet Web 应用的飞速发展需要而制定的一套基于XML语言的可缩放矢量图形语言描述规范。SVG可显示出高质量的图形,集矢量图形与XML优点于一身,既有矢量图形的图形文件简洁,图像品质高,可无级缩放等优点,又继承了XML的跨平台性和可扩展性[1]。由于SVG图形是由文本格式描述的,代码小且易于修改,非常适合于Internet
上发布。通过XSLT可以将XML数据变换成SVG数据,所以SVG成为具有前途的基于Web的可视表示工具。
本文通过对UML的对象模型以及XML文档结构的分析,根据UML对象实例到XML文档实例的映射关系,依据XMI标准生成了包含UML模型信息的XML 文档,再应用XSLT变换将XML文档转换成SVG格式,实现了将UML图表转换为SVG图形的技术,从而利用SVG的优点实现UML图的Web发布。
1.2 国内外研究概况
近年来在SVG技术和XMI技术方面的研究都取得了很大的进展,目前国内外基于UML模型至SVG的转换也进行了较多的研究,取得了较多的成果。这些技术和系统的研究为本文的研究工作提供了参考,下面将做简单的介绍。
1.2.1 XMI技术现状
UML是一种面向对象的通用的建模语言,它已经成了建立商业模型及技术系统模型的“世界语”。XML是新兴的网络信息描述、组织和显示的语言,是Internet 的“世界语”,在短短的几年内,它已经广泛应用于电子商务、电子政务等领域,并很快要成为网上信息传输、数据交换的通用语言。但是,在XML中表示对象还是一件比较困难的事情,必须依靠一种技术在XML和UML之间进行转换[2,3]。随之而来,一种新型的XML技术诞生了,这就是XML元数据交换XMI。XMI是一种采用了XML来说明面向对象的信息的标准。
XMI通过使用XML作为转换语法和交换格式,制定了一个开放信息交换模型,试图使在对象技术上工作的开发者以一个标准的方法在Internet上交换程序数据,从而为不同的协作环境下产生的应用程序提供一致性和兼容性。通过为存储和共享的对象程序信息建立一个工业标准,使用多个供应商不同工具的开发小组在应用程序中可以互相协作。
从更大范围上来说,XMI可以看作一个通用的与中间件技术无关的元数据交换格式,任何可以解析XMI数据流的工具都可以与其他可以解析XMI数据流的工具交换元数据。为了使一个工具加入一个XMI交换,我们仅仅需要使这个工具支持XMI。这样就允许此工具与其他已经支持XMI的工具之间交换信息。这个系统是开放的,同时,每个厂商都可以通过为他们的工具和产品加入XMI支持来实现交互。而且,因为XMI和XML的紧密关系,我们还可以在Internet上获得Web应用程序

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。