英语原文共 8 页,剩余内容已隐藏,支付完成后下载完整资料
MoodView: An Advanced Graphical User Interface for OODBMSs
˙smailcem Budak ARPINAR Asuman DOG˘ ACcedil; Cem EVRENDI˙LEK
Software Research amp; Development Center
Scientific and Technical Research Council of Turkiye
Middle East Technical University
06531, Ankara TURKIYE
摘要:
OODBMSs需要的不仅仅是声明性查询语言和编程语言,因为它们的接口是为那些复杂应用程序而设计的,这些应用程序要求更高级和易于使用的视觉界面。我们为此开发了一个完整的编程环境,称为MoodView。MoodView会翻译所有用户通过图形界面执行SQL语句的操作,这样的话,我们可以对SQL语句进行少量修改后就可以移植到任何面向对象的数据库系统上。
MoodView为数据库程序员提供了面向对象数据库应用程序开发的每个阶段的工具和功能。当前版本的MoodView允许数据库用户设计、浏览和修改数据库,并且将类继承层次结构显示为一个有向无环图。MoodView可以自动为复杂的多媒体数据库对象生成图形显示,这些对象可以通过浏览器进行更新。此外,还包括数据库管理工具、全屏文本编辑器、基于SQL的查询管理器和数据的图形化索引工具等等,当然R-tree也得到了实现。
1.介绍
MoodView*是MOOD【8】的图形前端,MOOD是一个基于依赖对象反例环境的数据库系统,它的实现基于ESM(Exodus Storage Manager)[2]并且拥有一个面向对象的数据模型。一个被称为MOODSQL的面向对象的SQL语句是访问数据库的统一接口。
这个接口的主要目标还有MoodView的设计和实现的主要问题如下:
符合OODBMS的要求:MoodView满足了面向对象系统这样的要求,它提供了一个复杂功能但易于使用的界面,这样可以让那些不具备专门的数据库知识的用户可以访问数据库。
充分利用图形:MoodView基于图形直接操作范例,它使用了Unix机器上的一个标准小部件库X Windows/Motif工具包,并在c 中得到实现。
可移植性:MoodView根据数据库执行的操作产生SQL语句。从而可以进行少量sql修改操作后将MoodView移植到其它任何面向对象的系统上
兼容性:社区版的数据库用户需要定义数据的标准方法,MoodView不忽略常规接口,例如c 和SQL,而是将它们集成到图形用户界面中。从而可以直观地显示c 代码的类层次结构。而c 代码则可以从视觉定义上生成。
将查询语言集成到图形用户接口中:MoodView提供了一个基于SQL的查询公式工具,即MOODSQL,用户可以执行它的查询并在图形环境中得到结果。
数据库设计:MoodView提供一个数据库浏览器从而可以设计、浏览和修改数据库模式。
交互并将类继承层次结构显示为有向无环图(dag)。
用于复杂对象的显示生成:MoodView为数据库里面的对象提供自动显示,这些对象可以具有复杂类型,包含多媒体数据,并且可以编辑。
全对象原则: MoodView存储的所有的信息都通过系统定义的类储存在数据库目录中,MoodView操作通过存储过程执行,MOOD内核[8]在这些数据上。
此外,一个关于数据的图形索引工具和数据库管理实用程序也被实现了。
在本文中,我们讨论了MoodView当前的版本和设计中的问题和实现,第2节介绍了在OODBMS接口上相关的努力,并给出这些接口的一个简短的描述。第三节包含一个和MoodView的模拟用户会话。第4节描述了MoodView的设计和实现。
2.相关工作
最近OODBMSs的图形用户接口已开发,包括OdeView [3] of ODE, DBDesigner [11] of ONTOS和tools of O2,这些都有可视化交互模式设计器和数据库操作工具。此外,它们还提供各种扩展,DBDesigner可以在该文件生成c 头文件。OdeView和tools提供了访问数据库对象的工具。Tools是一个前端图形编程环境,使用O2应用程序实现并包含一个调试器,O2[4]。一个接口生成器工具用于可视化、编辑、和遍历数据库模式和实例。Objectstore还具有一个浏览器和一个调试器,Gemstone有一个Smalltalk提供的编程环境。Facekit of Cactis是一个拥有图形界面,面向对象数据库系统的设计工具[14]。
此外,许多研究原型也是,比如ADAM, RIDL, SNAP [5], Gambit, ISIS [10], DBDT, LID, SKI [13], 和 DDEW。还有一些构建图形用户界面的系统,如ET [24], InterViews, MERCY, 和 Ingrid,ObjectWorks和 GraphTrace [15],这些都是帮助面向对象编程的实例。
这里有关于图形查询语句作为数据库的用户界面的研究调查。[3, 6, 7, 12, 18]。
许多其他的接口系统被提出:[9, 16, 20, 21]。SIG [19], KIVIEW, GOOD [22], Object Display Definition System, G , GraphLog, 和 GIUKU [17] 是这些系统的例子。
我们从先前对用户界面的研究,特别是从那些面向对象数据库的研究中知道。我们的展示模式主要是从现有接口的导航中获得灵感,但MoodView对这项研究做出了贡献,在这方面的发展努力如下: 所有管理数据的工具都是集成到GUI,数据库用户可以通过c ,SQL或MoodView定义数据。用户可以通过传统的SQL语言或者图形查询工具查询数据库。复杂的关于对象的操作是可能的,比如创建,删除,更新,投影,选择,并且自动为复杂的多媒体对象显示生成。用户有各种管理数据的替代方案,在这个复杂的环境中,一个人可以很容易将它移植到另一个OODBMS上。
3.MoodView环境
在本节中,我们将借助MoodView屏幕的快照展示一个典型的MoodView会话。
3.1.初始窗口和启动服务器
进入编程环境后,初始化。包含每个图标的窗口。显示如图1(a)所示的MoodView工具。
初始窗口中包含类层次结构浏览器和对象浏览器的图标,一个用于查询公式工具的查询图标,一个用于图形索引工具的R树的图标。
3.2. 数据库设计和模式更新
MOOD中的数据库模式包含类类型。他们方法和这些类之间的关系。他们的继承关系被表示为一个dag。MoodView使用了dag布局算法。尽量减少交叉,并绘制图表和节点[23]。
3.3. 在c 数据定义
MoodView可以显示在c 中定义的类层次结构,我们已经修改了c 翻译的cfront,当数据通过c 定义时,cfront提取模式信息和存储进入MOOD目录,MoodView使用目录信息,由MOOD内核维护并显示类层次结构图形。注意,这让我们系统得到了拓展,因为任何DDL都花费很小的努力就可以翻译成相应的C 类型定义。MoodView也可以以图形方式转换,将类层次图设计成c 代码。
单击初始的浏览器图标窗口,MoodView显示类层次结构,代表数据库模式。通过点击所有节点,类的标准菜单被激活。MoodView支持原始类层次图的操作,例如添加一个新类,删除现有类,更改类的名称等。
图1(c)显示了一个属于汽车经销商的数据库继承图示例。
3.4.类的展示
假设汽车经销商开始销售汽车并想要。扩展他的数据库以保存他卖的每一种车信息,他还决定设计。“汽车类”作为“车辆”的特化(子类)”。
汽车经销商设计的汽车类别如下:
class Car
{
Type string;
Model integer;
Displacement integer;
Max_Output integer;
Max_Torque float;
Price integer;
Equipment_List List Equipment;
Photo Ref Photograph;
}
图1(b)显示了c 中car类的定义语言。注意设备列表和照片和领域的复杂类型。照片是对a的参考。是系统定义的类照片。汽车经销商可以通过选择“add”将这个新类添加到他的数据库中。从车辆类别的标准菜单项下的项目。进行演示。这将导致弹出模板窗口来代表新类。每个MoodView类表示窗口包含一个标准菜单、模式更新、类类型更新和类方法更新。MoodView类表示窗口,其中包含类名称的字段,类型id。根据MOOD,它的类型构造函数,超类,子类,公共和私有方法以及字段,表示类是系统还是用户定义的类如图2(b)所示。
3.4.1类的定义
可以通过单击属性更新类属性。按钮。这是一个用于设计面向对象的数据类型的入口点。你可以添加,删除属性。通过使用这个工具(图2(c))更改属性的名称或类型。
还可以将此类定义转储到Unix文件。在数据库设计流程的任何时候,用户可以使用Cancel中止事务或提交事务的按钮。然后单击菜单中的Save按钮将新创建的类添加到数据库模式保存后,新类会立即出现在类层次结构窗口中。
3.5.方法表示和类方法更新
现在假设汽车经销商想要计算每一辆Turkish Liras里面车的价格,他可以写私人方法附加到新的类车的价格计算。每个类都表示了MoodView包含类方法更新的菜单,支持添加了一个新的方法,删除了一个已有的方法,更改方法的名称,更改方法的主体和参数。类的设计者可以按下给汽车类的标准按钮来选择“添加方法”项。
如图2(a)所示方法模板用于新方法的创建,现有方法的更新或创建可以通过MoodView文本编辑器完成。
3.6对象的浏览
用户可以通过查询访问数据库对象管理器或通过MoodView的对象浏览器。MoodView允许针对一组的复杂操作对象。这些包括创建、删除、更新和自动显示复杂和多媒体对象和方法的调用。投影、选择和可以对对象执行复杂的查询规范。通过基于SQL的查询管理器,更新不允许来自查询显示的对象。
3.6.1.类对象的展示
任何复杂类型的MOOD都可以通过使用基本类型或者递归应用,比如构造函数(如set、list或ref)来创建。因此MOOD对象构成连接原子的图形,构造函数和这些图可以是循环的和非常大的。MoodView有一个通用的显示算法来显示这些对象图并遍历引用的对象。引用的对象表示作为绘制的按钮和集合和列表的项,显示在一个滚动窗口。多媒体数据比如图片以不同格式通过系统来定义类。举个例子,汽车演示,如图3(a)所示,包含了对列表的引用,设备对象和系统定义照片类。
3.6.2.显示方式 SID / MID (Single Instance Display / Multiple Instance Display)
对于a的对象,我们有两种显示模式。单个实例显示和多个实例显示。MoodView可以在a中显示单个对象在某个时间(图3(a))或滚动的多个对象窗口(图3(b))。在单个实例窗口中,类的对象可以通过单击箭头按钮来排序。这些模式也被用来显示复杂的对象。列表显示在MID模式中,在SID模式中显示set或ref。
3.6.3对象的更新报告
原子类型比如字符串或整数等可以在文本模式下被编辑,复杂类型比原子类型有不同的更新语义,菜单项对应更新选择放在小部件表示复杂类型。例如,用户可以从列表栏里面移除或者从整个数据库通过选择对应的选项如图三所示。复制,粘贴操作也允许原子和复杂类型。查询结果不能编辑只有一个。可以从查询显示复制对象并粘贴到对象浏览器。动态类型检查由MoodView执行,以确保正确更新。
3.6.4. 交互式方法激活
方法被附加到对象演示中并可以激活交互,例如,汽车经销商可以计算Turkish Liras的汽车价格。
点击按钮表示适用方法并从菜单中选择CalculatePrice。
3.7 .查询公式化
在MOOD中,我们有一个统一的基于sql的接口访问数据库。查询管理器提供了一个查询编辑器,在一个会话查询有访问前的功能。通过查询,对象特定的特性(选择)或选择的部分。对象(投影)可以以图形方式显示我们计划实现一个交互式查询。语言支持快速和简单的制定,面向对象的查询[6,7,12,18]。这个工具将提供查询谓词的图形构造。此外,还有一个图形化的查询语言来操作空间数据,即地图也在开发中。
4.设计与实现
MOOD内核解释SQL语句并提供MoodView需要管理的所有功能,如图4所示。
内核函数被划分为SQL解释器和c 编译器。用c 编译的类方法。系统通过动态函数来使用链接器[8]。
4.1.MOOD目录
内核还执行目录管理,目录包含管理所需的所有信息。模式通过MoodView(如定义)结构中的类、类型和成员函数,类似于编译器符号表。为了实现在运行时后期绑定,需要进行编译运行时间的时间信息。这是通过使用系统定义的类MoodType,MoodAttribute MoodFunction。MoodType类。跟踪系
全文共11003字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[8922],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。