您好,欢迎来到小侦探旅游网。
搜索
您的当前位置:首页支持数据绑定的用户界面自动生成模型

支持数据绑定的用户界面自动生成模型

来源:小侦探旅游网
第37卷 第23期 Vl0l_37 ・计算机工程 2011年l2月 December 201 1 NO.23 Computer Engineering 软件技术与数据库・ 文章缩号:1o0 一3428(2011)2 __o052__02 文献标识码:A 中圈分类号:TP311 支持数据绑定的用户界面自动生成模型 朱永华,吴俊杰,张倩 (上海大学计算机工程与科学学院,上海200072) 摘要:针对现有用户界面模型在界面自动生成时不能实现控件和数据自动绑定的问题,提出一种新的用户界面模型,包括界面数据对象、 数据对象之间及数据对象与控件关系的描述规范。应用结果证明,该模型能在用户界面生成时自动绑定控件和数据,实现界面数据的联动, 减少界面开发时间,提高软件开发效率及可维护能力。 关键词:用户界面模型;自动生成;数据绑定;数据控件 Data-binding—supported Model 0f User Interface Aut0matic Generati0n ZHU Yong-hua,WU Jun-jie,ZHANG Qian ‘(Institute of Computer Engineering and Science,Shanghai University,Shanghai 200072,China) [Abstractl In order to solve the problem that components and data can not be automatically bond when generating user intefrace,a novel model of user interface is presented,which defines the data in he tuser interface and the relationship between data and component.Practical results show that using the model can achieve automatic binding of component and data,largely reduce the developing time,as well as improve the software development efficiency and main[ainability. [Key words]model of user interface;automatic generation;data-binding;data component DOh 10.3969/j.issn.1000—3428.2011.23.017 1概述 用户界面在软件开发中占据50%左右的编码时间和运行 时间…。而目前软件工程方法主要侧重软件内部模型的需求 绑定,本文提出一种支持数据绑定的界面自动生成(Data— Binding--Supported model of User Interface Automatic Genera-— tion,DBSUIAG)模型。 分析和设计,在涉及到软件外部用户界面时,除了纯粹概念 性的功能分析和表达外,并未提供完善的理论和表示支持。 为了解决此类问题,界面工程设计和自动生成模型 的方法 成为软件开发者关注的热点。 3.1模型定义 描述界面上的数据主要存在以下问题:如何描述界面上 的数据;如何区分不同的数据;如何描述数据之间的关系; 如何描述控件和数据的关系。因此,模型主要由数据对象 迄今为止,界面自动生成领域已经有了很大的突破:文 献[3】采用XML来描述界面元素;文献[4]提出了一种适用于 多种设备的界面模型;文献[5】解决了控件精确定位和布局的 问题。但这些模型对于界面中的数据并没有给出详细的描述 规范。本文提出一种新的界面模型,给出界面中数据、数据 之间的关系及控件和数据之间关系的描述规范。通过该模型, 界面自动生成时能自动绑定控件和数据。 (Data Object,DO)、数据对象间的关系(Relation ofData Object RDO)及控件和数据之间的映射(Component and Data Object Mapping,CDOM)组成。模型的关系如图l所示。 2 GUI4J模型 GUI4J[31模型采用XML对界面元素进行规范化描述。界 面生成引擎根据模型定义,调用Java Swing组件库,动态生 图1模垂关系 成基于Java Swing组件的图形化用户界面。GUI4J模型解决 了界面展现和行为的分离,但是控件的数据是通过硬编码实 现的,导致了控件和数据的强耦合。当控件显示的数据需要 变化时,需要手动改动代码,这导致了效率的降低和维护成 本的增加。为了解决控件和数据强耦合的问题,本文提出一 种对界面数据进行统一描述的方法,在该方法中通过映射指 定控件和数据的关系,这样减少了控件和数据的耦合程度, 同时保证了在界面生成时能自动绑定控件和数据。 DO负责描述界面上的数据对象,包括数据的来源和组 成,同时还负责区分数据对象。 RDO负责描述界面上数据对象之间的关系。 CDOM负责描述界面控件到数据对象的映射关系,生成 界面时根据该映射关系自动绑定控件和数据。 基金项目:国家自然科学基金资助项目(60803143);上海市教育委员 会科研创新基金资助项目(09YZ09) 3 DBSUIAG模型 为了实现界面数据的统一描述及界面控件和数据的自动 作者筒介:朱永华(1967-),男,教授,主研方向:界面生成模型, 高性能计算;吴俊杰、张倩,硕士研究生 收稿日期:2011—05—10 E—mail:zyh@shu.edu.cn 第37卷第23期 朱永华,吴俊杰,张倩:支持数据绑定的用户界面自动生成模型 53 3.2数据对象定义 数据对象主要用于描述界面的数据信息,并区分不同的 数据。用四元组来描述DO,DO:=<DI,DS,DS FC>。 3.2.1 DI(Data Identiifer) 界面上包含很多数据对象,为了正确描述控件绑定的数 据对象,本文对其进行统一编码,每个数据对象有一个唯一 的标识符(DI),通过标识符实现数据对象区分。 3.2.2 DS(Data Source)+DST(Data Source Type) 界面上的数据可能来源于不同的方式,如文件、数据库、 网络。为了正确描述数据的来源,本文采用DS和DST进行 描述,DST用于描述数据源类型(文件、数据库、网络等)。 DS配合DST使用,对于具体的数据源类型,给出该类型的 数据源的具体描述。 加载数据的方式如图2所示,数据加载引擎将根据DST 选择相应的适配器,然后适配器根据DS指定的数据源加载 数据,所有的数据加载后是一种二维的表结构。 lI文 ll 数据库 ’ ’‘——— 一 \ 络 ..一\ \  ————\ ——一 \ … 窗 囱、 Al A2 A3 A4 A5 图2数据加载方式 3.2.3 FC(Field Collection) 字段集合(Field Collection,FC)用于描述数据的组成。虽 然DS和DST对数据对象的数据来源进行了描述,但是对数 据对象的组成并没有给出详细的定义。借鉴关系数据库的概 念,即所有数据的逻辑结构是一张二维表,为了描述这张二 维表,本文采用FC描述表的每一列。假设二维数据所有列 为<A1,A2,…,Af,…,An>,那么FC为{F1,F2,…,Ff,…, ),其 中,Ff是一个对象,对应描述Af。本文将F 定义为<FID,DI, FN,FV,FT>,其中: FID(Field Identiifer)用于标示字段,每个字段同样采用统 一编码,包含一个唯一标识符。 DI表示该字段属于的数据对象。 FN(Field Name)表示字段的显示名称(可选),当控件绑定 数据时,有时需显示的不是字段的逻辑名称而是显示名称。 FV(Field Value)表示字段的逻辑名称。 FT(Field Type)表示字段的类型,控件显示数据时可以根 据字段类型决定具体的渲染方式。 3.3数据对象关系 界面上存在很多不同的界面对象,对象之间存在不同的 关系,这种关系表现在当某个数据发生变化时会引起其他数 据的变化。为了细化数据关系的描述,给出如下定义: 定义1(主数据对象)在界面中引起其他数据变化的数据 对象称为主数据对象。 定义2(从数据对象)在界面中由其他数据变化而导致自 身变化的数据对象称为从数据对象。 根据上述定义,数据对象之间的关系定义为RDO= <MDOID,SDOID,RR>。其中: MDOID(Master Data Object Identiifer)表示主数据对象的 标识符。 SDOID(Slave Data Object Identifier)表示从数据对象的标 识符。 RR(RelationRule)描述数据对象之间的关联规则,规则是 一个集合,其具体表示为{(【A1]=:B1),(【A2】=:B2),…),其中, 每一个()中包含一个关联规则;[A1]表示从数据对象的一个 字段;A1为字段名;:B1表示主数据对象的一个字段;B1 为字段名。 3.4控件与数据对象映射 为实现控件和数据对象的自动绑定,本文用CDOM描 述控件与数据对象的映射关系。由于不同控件显示的数据不 同,因此本文根据不同的数据格式将控件分为3类:单元格 式控件,列式控件和表格式控件。 3.4.1数据控件 单元格式控件主要显示二维表格中的一个单元格的数 据,如文本输入框控件、文字标签控件。 列式控件显示二维表格中一列的数据,如下拉框、单选 框组、列表框。 表格式控件显示二维表格中的多列数据,如数据表格 控件。 3.4.2控件到数据的映射 针对上述控件类型,本文将CDOM定义为(CID,DOID, CFC,FR)。其中: cID(component Identiifer)是界面上控件的标识符,用于 区分不同的控件。 DOID(Data Object Identifier)是控件关联的数据对象标识 符,用于描述控件关联的数据对象。 CFC(Component Field Collection)描述控件需要显示的列 集合。对于单元格式和列式的控件,CFC为只包含一个元素 的集合;对于表格式控件,CFC是包含多个元素的集合。 FR(Filter Rule)是描述数据的过滤规则,虽然DOID和 CFC指定了控件绑定的数据对象和需要显示的列集合,但是 在某些情况下,控件只需要显示满足特定条件的数据。因此, 本文采用数据过滤规则对数据进行过滤。控件可以显示满足 特定条件的数据。数据过滤规则是一个条件表达式,具体表 示为: ([A1】=5)I((【A2]l-“学生”)&([A3】=“教师”)) 其中,每个()包含一个条件;【A1]、【A2]、[A3I表示数据对象 的字段名;&表示并且关系;l表示或者关系。 4结束语 本文提出的模型在iPensee系统的应用表明,界面自动 生成时能自动绑定控件和数据,相比直接硬编码性能有很大 提高,大幅减少了界面开发的时间,降低了界面的维护成本。 但在模型定义方面还有很大的改进余地,未来的工作是实现 模型配置工具和方便快速的模型定义。 参考文献 [1]Lozano M D,Gonzalez P’Ramos I.User Interface Speciifcation and Modeling in an Object Oriented Environment for Automatic Software Development[C]//Proc.of the 34th International Confe・ rence on Technology of Object—oriented Languages and Systems. Santa Barbara,USA:【S.n.],2000:373—381. (下转第59页) 第37卷储空间。 第23期 朱卫卫,杨金民:基于二进制矩阵的RS编码优化算法 59 的方法 使其运算过程也只有异或操作,且编码和解码性能 都要比Rs(二进制)的效率高。但Rs(二进制)用发生器优化 为RS(发生器)后,由于进一步减少了编码时校验盘数据在实 容错系统主要通过编码与解码能力分析其解码的情况。 解码矩阵同编码矩阵都可以转换为二进制矩阵,但由于一个 RS(n, )系统,可以容一个到m个任意磁盘出错,其发生出错 的情况有fln+m+c + +…+ + 种,这使其解码矩阵变的 际运算过程中的次数,使得该算法在编码性能上面要比 不确定,矩阵前W列也不一定是由一个个WXW的单位矩阵 所构成,因此上述优化方法不适合解码的情况。 STAR算法来的高。但是,由于发生器的优化方法不能应用 在解码过程中,RS(发生器)的解码退化为Rs(二进制)的解 码,其性能比STAR算法来的低。 然而在实际情况中,由于编码和解码并不对称。编码在 每次存储数据时都会用到,而解码只有在磁盘发生故障时才 用到,所以在实际容错系统中,编码效率才是影响系统性能 的首要判定因素。这样如果只考虑编码的情况,RS(发生器) 5算法性能分析 为了对本文算法进行性能测试,设计一个编码和解码的 模拟实验。在该实验中,通过测试磁盘生成、恢复数据的平 均XOR数对本文算法与传统RS算法以及STAR算法进行比 较。对于传统RS算法,把每次查表看作一次异或运算(因为 的效率比STAR算法来的高,且当磁盘阵列组容错能力 3 异或和查表的主要时间都用于访问内存)。经过二进制矩阵 时,STAR算法已经失效,而RS(发生器)却可以容任意磁盘 改进后的算法称为Rs(二进制),发生器优化过的算法称RS 数的出错。所以从整体性能上考虑,RS(发生器)不失为一种 (发生器)。图3、图4给出对不同矩阵规模(阵列模式)( , )的 通用,有效的算法。 RAID系统的编码和解码测试结果。 6结束语 本文提出基于二进制矩阵的RS编码优化算法。利用同 构的概念,将原编解码过程中涉及到的伽罗华域内乘除法运 算转换为二进制矩阵间运算,利用转换得到的二进制编码矩 阵前W列是由一个个单位矩阵组成的特点,给出一种多分 法的优化方法。实验结果表明,该优化算法具有较好的容错 能力和时间性能。然而,在转换为二进制矩阵后,数据冗余 度会随着W的取值增加而增加,下一步将研究如何取合适的 W值,使其在保证高时间性能的同时降低冗余度。 参考文献 [1]Gibon A.Redundant Disk Arrays:Reiable,Parallel Secondary Storage[M[.Cambridge,.England:The MIT Press,1992. 阵列模式(Bm) [2] Blaum M,Brady J,Bruck J,et a1.EVENODD:An Efifcient 圈3 4种算法稿码效率比较 Scheme for Tolerating Double Disk Failures in RAID Arch- itectums[J].IEEE Transactions on Computers,1995,44(2): 192..202. [3】Huang Cheng,Xu Lihao.STAR:An Efficient Coding Scheme ofr Correcting Triple Storage Node Failures[C]//Proc.of the 4th USENIX Conference on File and Storage Technologies.San Francisco,USA:Is.n.】,2005. 【4】Plank J S.A Tutorial Oil Reed-.solomon Coding for Fault—tolerance in Raid--like Systems[J].Soffware一一Practice&Experience. 1997,27(9):995-1012. [5]刘昀吴,张敏情,杨晓元.基于RS码的错误容忍存储方案[J]. 阵列模式( ,m) 计算机工程,2010,36(14):65--67. 图4 4种算法解码效率比较 [6]Rizzo L.On the Feasibility of Software FEC[EB/OL[.(2OLO- 从图3、图4可以看出,Rs(二进制)由于运算过程只有 11—21).htttp://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.49 异或操作,所以性能要比传统的RS码的编码和解码都要高。 2563. 而STAR算法由于只针对m=3的情况,采用对角线奇偶编码 编辑刘冰 (上接第53页) 【2】杨鹤标,侯仁刚,田青华.支持界面自动生成的模型研究[J].计 IEEE Trans.on Software Engineeirng,2004.,30(8):1-14. 算机工程,2010,36(3):79. 82. [5]Batsukh N,Book M,Kmann T B.Automatic Generation of 【3】李琦,李建成,张科峰.基于GUI4J的界面自动生成技术【J】. Ruler-based User Interfaces of Web Applications[C]//Proc.of the 西安工程大学学报,2010,24(3):334-.337. 3rd International Conference on Intemet and Web Applications and [41 Mori G Patemo F,Santoro C.Design and Development of Multi.。 Services.Athens,Greece:[S.n.】,2008. device User Interfaces Through Multiple Logical Descriptions[J]. 编辑张正兴 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- xiaozhentang.com 版权所有 湘ICP备2023022495号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务