




已阅读5页,还剩63页未读, 继续免费阅读
(计算机应用技术专业论文)界面迁移过程中动态划分问题的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
山东大学硕士学位论文 摘要 用户界面开发效率问题是软件过程中的关键问题,在传统的开发过程中,界 面的开发以手动为主,缺少高效开发工具的支持和对所开发界面的系统分析与评 价,不能有效应对需求变更的现实,可能使开发工作陷入低效重复。因此界面重 用及迁移使用问题成为软件工程的热点研究问题。 当前界面开发的研究重点是以模型为基础进行,通过其提供的支持来提高界 面开发的效率。最近出现的若干支持界面开发的工具,例如t e r e s a 系统,是在模 型中引入了任务模型,对话模型,并发任务树等概念来帮助进行界面语义及设计 分析。此类工具的主要思想是把一个界面分成四个层次进行考虑,这四个层次按 从上到下的顺序是:任务和对象层,抽象用户界面层,具体用户界面层,最终代 码层。这四个层次从上到下逐渐具体化,约束越来越多。这种分层结构有利于界 面开发分析、提高代码的复用和可迁移使用性。 相对于代码的重用问题,程序的可迁移性更为重要。程序的可迁移性要求程 序可以从当前环境迁移到新的环境中运行,并提供相同功能。但很多程序并不具 备可迁移性,围绕该问题的解决,本文进行了较详细的研究。 解决界面迁移问题的常用思路是对源界面进行分割,得到相对独立的子界面 集,从而降低界面运行时的资源需求,提高界面的可迁移性。根据该思路,本文 提出以任务树为基础对用户界面进行分割的方法。这种分割结合手动控制,在成 熟的开发工具t e r e s a 系统中进行,运用工具中任务模型,活动模型等方面提供的 支持,在任务树的基础上结合任务之间的语义关系对源界面任务进行分割,从而 将一个复杂界面分割成语义上相互关联、运行中能够相互协作的子界面集,该子 界面集能协作实现与源界面任务同样的功能。 针对分割得到的子界面任务间的协作运行效率问题,本文又提出一套新方法 来解决子界面任务在不同计算机上的分配问题,以达到提高总体运行效率,并合 理利用资源的目的。该部分把子界面任务的分配问题转化为一个寻找最短路径的 问题,即通过建立任务规划树,采用a 木算法对该问题求解,实现了子任务的合理 分配与资源充分利用,实验证明其协作运行效率得到了提高。 山东大学硕士学位论文 关键词:用户界面任务模型对话模型并发任务树状态转换图 规划树动态规划胁算法 i i a b s t r a c t e f f i c i e n c yo fu s e ri n t e r f a c ei s af o c u si nt r a d i t i o n a lp r o c e s s ,t h i sw o r kd 印e n d s m a i n l yo i lp r o g r a m m e r sa n dl a c k ss u p p o r ta n da n a l y s i so f f e r e db yp o w e r f u lt o o l s a sa r e s u l t ,w o r kd u r i n gt h i sp r o c e s sc a l ln o tm e e tt h en e e do fp r a t i c a lc h a n g e s ,a n di nt u r nb e p u ti n t ot l l es t a t eo fl o we f f i c i e n c y t h u s ,p r o g r a m m e r st r yt od e s i g nau s e ri n t e r f a c e b a s e do nm o d e l si no r d e rt oi m p r o v ee f f i c i e n c y t h ed e v e l o p m e n to fu s e ri n t e r f a c ei nr e c e n ty e a r sb a s e do nm o d e l s ,m a k i n gf u l l u s eo fa i do f f e r e db yt o o l st oi m p r o v ee f f i c i e n c y e s p e c i a l l ys o m et o o l sa r ed e s i g n e d s u c ha st e r e s a t h e s em o d e l so f t e ni n c l u d et a s km o d e l ,d i a l o gm o d e l ,a l s os o m e i m p o r t a n tn o d e ss u c ha se t s ,s t na r eu s e dt o f a c i l i t a t et h i sd e s i g n i n gp r o c e s s t h e d e s i g n i n gt h o u g h to ft h e s et o o l si s t oc o n s i d e ro n ep r o g r a mf r o m4a n g l e s :t a s k sa n d o b j e c t sa n g l e ,a b s t r a c tb s e ri n t e r f a c ea n g l e s ,c o n c r e t eu s e ri n t e r f a c ea n g l ea n d f i n a lu s e r i n t e r f a c ea n g l e t h e s e4a n g l e sh a v ed i f f e r e n tr e q u i r e m e n t sa n dl i m i t a t i o n ,w h i c hc a n h e l pp r o g r a m m e r st oc o n s i d e rt h er e u s eo f c o d et oag r e a te x t e n t c o m p a r e dt ot h er e u s eo fc o d e ,t h em i g r a t i o no fc o d ei sm o r ei m p o r t a n t m i g r a t i o n o fc o d em e a n st h a tw h e ne n v i r o n m e n to fc o d ei sc h a n g e d ,t h i sp r o g r a ma l s oc a l lb e e x c n t e da n do f f e rt h es a ! t l ea b i l i t y i nf a c t , i ti sd i f f i c u l tt or e a c ht h i sp u r p o s e ,a n dal o to f a t t e n t i o nh a sb e e np a i dt ot h i sa s p e c t a w a y t os o l v et h i sp r o b l e mi st os p l i tt h eu s e ri n t e r f a c ea i m i n ga to b t a i n i n g s o m ec h i l d r e nt a s k s w h i c hc a nm a k eal o wn e e df o rv a r i o u sr e s o u c ea n di m p r o v et h e m i g r a t i o no f p r o g r a m a c c o r d i n g t ot h i sv i e w , t h i sa r t i c l em a i n t a i n st os p l i tau s e r i n t e r f a c eb a s e do nt a s kt r e e t h i sm e t h o di sc a r r i e do u ti nt o o l so ft e s e s a , c o m b i n e d p r o g r a m m e r su n d e r s t a n d i n g ,c o n s i d e r i n gt h er e l a t i o nb e t w e e n d i f f e r e n tt a s k s i n t h i s w a y ,s o m ec h i l d r e nt a s k sw h i c hh a v el o 百c a lr e l a t i o n sf r o me a c ho t h e ra n d c a nc o o p e r a t e t oo f f e rt h es a m ea b i l i t yj u s ta st h ef o m e ru s e ri n t e r f a c ec a na r eo b t a i n e d i no r d e rt oi m p r o v et h ee f f i c i e n c yo ft h et a s k s c o o p e r a t i o na n dm a k ef u l lu s eo f v a r i o u sr e s o u r c e t h i sa r t i c l ep u t su pas e to fn e wm e t h o d st oa l l o c a t et h e s ec h i l d r e n 切s k s o nd i f f e r e n tc o m p u t e r s i nt h i sp a r t t h ea l l o c a t i o no fc h i l d r e nt a s k sa r et u r n e di n t oa p r o b l e mo fd y n a m i cp r o g r a m m i n g ,a n dt h e nu s ea + a r i t h m e t i ct os o l v et h i sp r o b l e r i l t h u sc h i l d r e nt a s k sa r ea l l o c a t e dp r o p e r l y , v a r i o u sr e s o u r c ea r em a d ef u l lu s eo f , r e s e a r c h d e m o n s t r a t e st h a tt h ee f f i c i e n c yo fc o o r d i n a t i o nb e t w e e nt a s k sa r ei m p r o v e d i i i 山东大学硕士学位论文 k e y w o r d s :u s e ri n t e r f a c e ;t a s km o d e l ;d i a l o gm o d e l ;c o n c u r t a s kt r e e , i v s t a t et r a n s i t i o nn e t w o r k s ;d y n a m i cp r o g r a m m i n gt r e e ; d y n a m i cp r o g r a m m i n g ;a a r i t h m e t i c 原创性声明和关于论文使用授权的说明 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下,独 立进行研究所取得的成果。除文中已经注明引用的内容外,本论文不 包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研 究做出重要贡献的个人和集体,均已在文中以明确方式标明。本声明 的法律责任由本人承担。 论文作者签名: 壶塑盔叁 e l 期: 塑壁:生r 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同意学 校保留或向国家有关部门或机构送交论文的复印件和电子版,允许论 文被查阅和借阅;本人授权山东大学可以将本学位论文的全部或部分 内容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段 保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:蔓磕垂导师签名:壁! 菱聋日期:垫垒盘:生( 山东大学硕士学位论文 1 1 界面开发的研究背景 第1 章绪论 随着越来越多不同应用环境的出现,特别是移动设备和嵌入式系统的应用, 对界面的可重用和可迁移性方面的要求越来越高( 所谓可迁移的用户界面是指能 够从一个设备迁移到另外一个设备同时在新的设备上提供相同功能的界面) ,其中 最明显的问题是: 1 在界面开发、完善和布置的过程中缺少框架的支持。 2 没有系统的方法能够独立的对已经开发出来的界面进行重用。 因此开发人员尝试着把界面开发放在模型的基础上进行,以获得更多的支持, 提高开发效率。 当前,以模型为基础的界面开发n 3 都是运用高层次的用户界面描述语言对开 发过程进行描述,比如x m l 语言。所有模型之间的映射和关联都可以通过高层次用 户接口描述语言被反映出来,利用模型提供的分析功能方面的支持,可以简化用 户界面的开发过程。在开发过程中界面的设计和实现阶段是两个独立的阶段,这 种特点对于开发嵌入式和移动设备上的应用程序非常重要,因为在这样的开发过 程中需要很强的专业知识。 以模型为基础的用户界面开发过程提供了新的方法来处理各种不同的任务。 针对不同设备用户界面的开发已经成为软件开发过程中面临的一个主要问题,因 此必须想办法来减少工作量并且提高对不同设备的支持程度。在这个过程中啪叫 吲嘲各种不同的模型被提出来。尤其是近几年来,出现了一种新系统,称做d y g i m e s 。 该系统支持并且能够执行选定的模型( 抽象的模型或者具体的模型) 来为多种不 同的设备创造出交互的界面。 d y g i m e s 提供了一个简单的过程来开发多设备、多背景的用户界面。它对用 户界面的设计从任务模型开始,把任务模型作为该系统所有模型的核心模型。一 旦任务集被建立,与任务模型相关的其他模型就能以适当的方法被建立起来。在 这个过程中,通过运用适当的算法保证了不同模型之间的连贯性。设计者可以中 山东大学硕士学位论文 断这个系统的运行,按照预先定义好的语法和运算规则来对任务集进行必要的调 整。依靠用户界面描述语言,设计者能对界面的关系进行必要的限制和改变,这 种改变会被映射到其他的模型中。 1 2 本文工作及创新点 为了能够提高程序的重用和可迁移性,本文提出在任务树的基础上对已经开 发的源界面任务进行分割,得到几个语义上相互关联,运行中能够相互协作的子 界面任务,然后进一步考虑子界面任务的协作运行效率问题,即怎样把子界面任 务合理分配到不同计算机上,使他们高效协作并能够提供源界面的功能。经过分 析提出:子界面任务的分配实际是个动态规划问题,可以用启发式搜索算法来求 解。 本文的主要工作及创新之处为: 1 在工具t e r e s a 的帮助下,以任务树为基础,按照本文提出的界面分割理 论对一个源界面任务进行分割,从而得到相对独立的子界面任务,由于子任务在 硬件和软件方面要求比源界面低,从而降低了对计算机的要求,提高了程序的可 迁移性。 2 充分考虑任务间的语义关系和需求分析中的信息,按照动态规划的原理, 把子任务的分配问题转化为一个用a 术算法求解最短路径的问题,从而实现子任务 在不同计算机上的合理配置,提高程序的整体运行效率和资源利用率。 本文的方法具有一定推广价值。例如在工厂中,不同设备完成各自的任务时, 可以通过相互协调工作来提高效率。在这种情况下,所开发界面的规模和实际情 况不相同,或者临时变动,对界面的开发要求也有所变化,就需要在保证一定效 率的前提下,对设计好的界面尽可能重用并提高其迁移运行能力。运用本文的方 法可以为解决这一类问题提供依据,从而作出正确选择,所以本文的方法对工业 控制和软件工程的界面迁移和任务规划等方面有重要应用价值。 1 3 本文结构 第一章介绍了目前界面开发的趋势和总体情况,重点介绍了以模型为基础的 2 山东大学硕士学位论文 界面开发过程的思路和方法,最后介绍了本文的主要工作和创新点。 第二章和第三章对界面开发的框架和模型进行了描述。 第四章在任务模型的基础上提出了对一个复杂界面任务进行划分的原则和方 法,最后对这些原则进行了实验和分析。测试证明,运用该分割原则可以成功的 对一些界面任务进行分割,尤其是对子任务关系相对疏松的源界面进行分割的情 况效果明显。 第五章主要论述了子任务在不同计算机上的分配问题,通过分析得出该问题 是个动态规划问题,进一步根据其特点建立起棵任务规划树,最后用a 木算法找 出该树的最短路径,有效地完成了子任务动态划分问题。 3 山东大学硕士学位论文 第2 章界面开发框架描述语言 2 1 基于x m l 的界面开发描述语言 在现代社会中能够适应多种设备的用户界面的开发变得越来越重要,对界面 的重用也遇到了越来越多的问题,这些问题的产生主要有以下两个原因: 【1 】通用性:要设计一个对大部分系统和计算机都通用的界面是比较困难的, 因为这些不同的计算机可能在设备和软件上存在较大的差异。 【2 】跨平台后的连贯性:用户总是希望自己对一个特定系统的知识也能够被用 在其他的平台上,由于这些平台在各个方面都存在着不同的地方,这样想设计出 一个跨平台的界面往往也比较困难。 为了克服这种困难,充分利用已有设计过程,这就需要设计一种方法,能够 以比较抽象的方法来对用户界面和开发过程进行描述。因为该方法的抽象性,对 整个过程的描述可以尽可能少的被各种具体的设备限制,从而增大了重用的可能 性。 要达到这样的目的,种方法是利用以x m l 为基础的用户界面描述语言对用 户界面在高层次进行描述。由于高层抽象用户界面描述语言独立于设备,这样当 设备环境改变后,它描述的内容不需要变动。 现有的以x m l 语言为基础的用户界面描述语言m 有:a u i m _ , 、r i l l 、t e r e s a u s e m l 、i s m l 、u i m l 、x l m l 、u s i x m l 等。 2 2a uim l 介绍 a u i m l 阳1 语言是t h ea b s t r a c tu s e ri n t e r f a c em a r k u pl a n g u a g e ,由i b m 来构 造设计,从h t t p :w w w a l p h a w o r k s i b m c o m t e c h a u i m l 可以找到相关资料。这 种语言建立在p a n e ld e f i n i t i o nm a r k u pl a n g u a g e ( p d m l ) 的基础之上,最初的目 的是为了建立可以移动的( p o r t a b l e ) j a v as w i n g 控件应用。 a u i m lt a r g e t sf o r m - b a s e du s e ri n t e r f a c e sa n du s e sa ni n t e n t 。b a s e d a p p r o a c h a u i m l 语言可以识别目的,i b m 已经发布了它的规范和它在e c l i p s e 环境 4 山东大学硕士学位论文 下的相关插件。 a u i m l 语言尝试着避免比较普遍的命名问题,它提供了属性机制使设计者能够 覆盖所有的集体设备。这种属性机制运用了一种类似于c a s c a d i n gs t y l e s h e e t s 嘲 的描述且有单独的属性文件。一个a u i m l 文档展现出来的东西只有当被联系到具体 的应用代码的时候才可能被适当的理解。 a u i m l 比较重视p r e s e n t a t i o nm o d e l ,x m l 语言是以数据为驱动的,a u i m l 定义 了需要展现的信息类型,并且在a u i m l 文档中为每种类型提供了相关的映射关系, 同时每一种类型都与数据模型相关联。 总之,a u i m l 将用户界面的结构和属性相互分开,它能够将抽象的用户界面映 射到具体的j a v a 组件或者h t m l 语言。同时a u i m l 语言支持以方格为基础的展现机 制:每一个抽象的交互空间都被预先分配一个方格。a u i m l 语言支持一对一的关系 影射,也支持p r e s e n t a t i o nm o d e l 的多个不同的方面:用户界面的结构,布局的 描述等。 2 3r im l 介绍 t h er e n d e r e ri n d e p e n d e n tm a r k u pl a n g u a g en 们建立在x h t m l2 0 和x f o r m s1 0 基础之上,r i m l 关注f o r m - b a s e d 用户界面,并且加入了对话支持机制。它主要依 靠网络结构,各种变换都有充足的计算空间和计算能力。 r i m l 设计时重视展现,声音支持,路由和内容选择。它的展现机制虽然简单 但是非常有效,它展示的用户界面可以用行,列和表格进行设计,有点象a u i m l , 但是功能比a u i m l 强大。r i i l 文档的最里层被称做f r a m e ,是唯一可以有实际内 容的地方。路由是r i m l 的核心机制,它设计了各种不同的界面可以来适应各种不 同的设备。 总之,r i i l 以x f o r m s 为基础来处理数据模型和事件。x h t m l 定义了展示的结 构和具体的展示描述,这种展示描述的内容和展示的结构是被分开的。r i m l 进一 步发展适应了不同的浏览器,吸收了多种不同的语言特点。不管怎样,r i 皿语言 加入了一些新的概念,比如智能路由,它能够根据用户界面描述的不同的展现路 径来提供相关内容。 山东大学硕士学位论文 2 4u s e w a r em a r k u pl a n g u a g e ( u s e m l ) 介绍 t h eu s e w a r em a r k u pl a n g u a g e 是一种比较新的界面描述语言,它以 “u s e w a r e 为基础。u s e w a r e 考虑了不同的用户,不同用户的任务和他们的经历。 之所以要包括u s e w a r e ,是因为它提供了另外一种新的观点,取代了以往的a i o c i o 的映射关系,u s e m l 依靠“u s eo b j e c t s ( u o s ) 和“e l e m e n t a r yu s eo b j e c t s ( e u o s ) 提供了一种抽象的用户界面。这些类型的对象也能够提供出任务的结构: u o s 定义了任务,并且在结构上可以被继承。e u o s 定义了这些任务的不同行为。 u s e m l 是一种以用户为中心的界面语言,每个用户都有自己相应的域和作用范围, 其中域是指操作。u s e m l 包括了在用户界面的分析和设计过程中的界面解释和帮助 等,对于用户界面的展示需要用其他的语言和工具。 显然u s e m l 更加接近任务模型而不是p r e s e n t a t i o nm o d e l 。u s eo b j e c t s 可 以包括5 种基本的任务类型:执行功能,选择数据,数据输入,变换已有数据, 数据输出。对于每一种类型都有准确的描述,但是u s e m l 并没有定义在最终的用 户界面中每种不同类型的任务是怎么样被具体化的,因为这部分可以用其他的方 式来实现。总之,u s e m l 从任务分析的方面来结构化用户界面,对于最终用户界面 的实现和设计运用其他的方式来实现,比如x h t m l 、u i m l 。u s e i l 没有认识到结构 化用户界面的重要性,没有定义展现,映射和解释这三部分内容。 2 5t e r e s ax m l 介绍 t e r e s ax m l n 2 1 这种用户界面描述语言与并发任务树的概念一起被用在t e r e s a 的开发环境中。因为t e r e s ax m l 这种高级用户界面描述语言以x m l 语言为基础对任 务树进行了描述,所以它支持任务模型和表示模型,而且在该系统中对话模型源 自任务模型,由于任务并发树和高级抽象界面语言的描述,该对话模型能够清楚 的表达出界面。t e r e s ax m l 由各种不同的语言组成,它的抽象用户界面描述语言 是从具体用户界面的描述中进行提取,这些具体用户界面描述中包含了与平台有 关方面的信息。 t e r e s ad i l 的一个限制是:t e r e s ax m l 关注展示模型,但是在它的任务模型 中加入了并发树的概念。通常并发树也被认为是t e r e s ax m l 的一部分。t e r e s ad i l 6 山东大学硕士学位论文 同时也提供了对展示模型的两层抽象,这两个层次是抽象和具体的用户界面。 t e r e s ax m l 当中也有对话模型,对话模型是根据x m l 文档中一系列的转换来表示 的。在并发树中虽然有域的概念,但是并没有清楚的说出这个概念是怎样被清楚 地在t e r e s ax m l 中运用的,同时也没有说明这个概念与应用对象之间的关系。 总之,t e r e s ax m l 中融合了很多个模型,在这些模型中,任务模型和展示模 型被清楚的支持,而且对话模型与任务模型紧密关联。对于域对象,t e r e s a 工具 允许将一系列的对象和任务关联起来。这些对象应该以类,交互类型等进行描述。 t e r e s ax m l 中的实现了展示模型4 个方面中的2 个方面:对用户界面的描述,对 组建之间映射关系的描述。 2 6in t e r f a c es p e cific a tio nm e t a - l a n g u a g e ( is m l ) 介绍 i s m l u 3 “1 对应的框架围绕着5 个概念建立:设备,组建,交互者,任务和源 对象。i s m l 是一种比较复杂的语言,它需要h c i 设计的背景知识,因为它用到了 h c i 中的很多具体概念。该框架的一个主要的优点是:它所提供的抽象性,它对 输入和输出设备都进行了抽象,这样做对描述和设计交互系统是很有意义的。对 应用逻辑的绑定是通过组建来进行的,它可以描述出对外部可用的应用逻辑,什 么样的数据可以进出该应用以及某个状态和界面中进出的数据类型。 总之,i s m l 是一种复杂的语言,这种语言的很多方面都已经被模型化了,因 此有很多工具可以对i s i l 进行支持。i s m l 界面的结构由组成对象的交互者来进行 描述。 2 7t h eu s e rin t e r f a c em a r k u pl a n g u a g e ( uim l ) 介绍 u i m l 1 5 墙m 刀是一种被广泛应用的用户界面描述语言,虽然u i m l 语言可以用 来对展示模型以及部分的域和应用模型进行描述,但是却没有对任务模型和对话 模型进行清楚的支持。b l e u l 介绍了一种d i s l ( 对话和界面识别语言) 并且对u i m l 语言的对话模型进行了扩充。他利用的是对话识别概念可能出现在界面中的对话 进行描述。这种方法建立的概念基础是:对话之间的转换能被清楚的表达。 u i m l 语言的重要优点是它强大的表示能力,u i m l 是一种建立在x m l 基础上的 7 山东大学硕士学位论文 源语言。虽然不识别组建,但是允许定义用户词汇,这些用户词汇是根据从抽象 到具体组建的映射来定义的。 总之,u i m l 实现了展示模型的全部4 个方面:它定义了用户界面的结构,同 一个用户界面不同子部分的解释。 2 - 8x im l 介绍 x i m l n 们3 支持5 个不同的模型:任务模型,域模型,用户模型,对话模型, 展示模型。对于每个模型在x i m l 文档中都有一个单独的子树被建立。x i m l 广泛运 用了语义关系,把各个不同的模型整和到了一起。 x i m l 的目标是多设备的用户界面设计。为了达到这个目的,它对用户界面的 设计和解释存在着明显的分割和定义。虽然这是以模型为基础的用户界面设计发 展过程中的一个通常做法,但是这种分割却不一定很清晰。 不幸的是,x i m l 的说明并不是免费的,只有当你的实验许可证被证实以后才 能得到它的规格说明。因为这个原因,很少有机会去对他的细节进行深入的学习。 x i m l 是第一个完全支持以模型为基础的用户界面设计的系统环境。 2 9u six m l 介绍 u s i x m l 瞰”羽对用户界面在多种语义环境中进行了描述,与其他方法比较它封 装了很多种模型,并且对各种模型之间的连接关系存在着清楚的支持,而且对模 型之间的转换和模型的选择也存在明显的支持。其中图形转换是核心机制,通过 这种机制可以对多种模型进行操作,这些都能在u s i x m l 中进行表示。u s i x m l 定义 的每个模型都能与其他的模型分离开,这样使得设计者能够控制对交互系统的描 述。同时u s i x m l 支持对用户界面的多路径设计,它鼓励运用不同的模型对用户界 面以不同的方法进行设计。 现在,u s i x m l 被充分发展,因为它支持多种模型并且各个模型能够被分割开, 各个模型之间存在着相互的映射,但它对展示模型的识别却存在着限制,与u i m l 相比,它没有办法对用户进行抽象。 u s i x m l 定义了以下的模型:域模型,任务模型,抽象用户界面模型,具体的 山东大学硕士学位论文 用户界面模型,映射模型和转换模型。转换模型可以实现从一个模型到另外一个 模型的转换。 总之,u s i x m l 与其他的语言进行比较的时候,重点会放在展示模型的基础上, 尽管它不仅只包括展示模型,因为展示模型与其他的任务模型,抽象用户界面模 型,具体用户界面模型之间都存在着影射,所以最后比较的结论都会被归结到展 示模型上来。而且,u s i x m l 的展示模型支持所有的4 个方面。 2 1 0 本章总结 随着移动设备的广泛运用,对用户界面的设计也有了新的要求,希望开发出 能够适合多环境,多设备的用户界面。然而对已存在的用户界面设计的重用却存 在许多问题,因为新设备在其他很多方面都存在不同的限制。为了能够更加灵活 地对已经有的界面设计进行重用,必须要能够对界面的设计过程进行抽象,表示 成独立于具体设备的形式。 9 山东大学硕士学位论文 3 1 任务模型介绍 第3 章界面开发框架及模型 对一系列用户界面的设计一般是从任务模型f 2 3 1 开始的,这样做的好处有:更 好的需求分析,更加细致的用户界面设计,与具体场景更好的融合。但是在嵌入 式和移动设备的开发过程中却很少从任务识别开始,主要是由于在与设备相关的 任务识别和实现过程中存在较大的难度。为了让任务模型更具吸引力,应该想办 法实现从任务模型到具体设备相关的用户界面的过度。 在任务分析的过程中,需要建立起任务说明来对最终目的所需要的一系列活 动进行描述。这里的目的可以理解为经过一系列的任务之后,用户想要得到的结 果。其中每个任务的完成都是通过执行一系列其他的子任务和a c t i o n 来实现的。 子任务是一系列比父任务更加细致具体的任务。执行一个任务的所有子任务就能 完成这个任务。a c t i o n 又可以被划分成许多子部分,这些子部分可能是不可分割 的操作。为了说明一个任务树,下面给出一个具体的任务说明来描述一个任务。 这里描述的是从自动机里买饮料的过程。 任务的目的是解渴,任务的最高层是喝饮料解渴,然后它被进一步划分成许 多的子任务,注意子任务可以被继续划分,所有的划分都是根据开发者想要的粒 度来进行的,任务规格建立在任务模型提供的一些概念的基础上。图3 - 1 说明了 该过程。 图3 - i 解渴任务的分解 任务模型定义:任务模型描述了为达到某一目的需要执行的一系列的活动, 1 0 山东大学硕士学位论文 任务和子任务,以及他们之间的相互关系。任务模型提供了一系列的方法来展示 这些活动的信息。 3 1 1 任务模型及相关符号信息 在任务模型中引入了并发树2 4 1 的概念,这种概念提供了一种图形语法,一种 层次结构和识别任务之间关系的概念。在并发树中存在着四种任务:抽象任务、 交互任务、用户任务、应用任务。这些任务能够被识别,并且重复执行。在同一 层次的兄弟任务之间被语义关系符连接起来,这些语义关系有: 选择关系t 1 口t 2 :表示在t 1 和t 2 之间选择一个 独立关系t 1i = it 2 :表示t 1 和t 2 可以任何顺序被执行 并发关系t 1l it 2 :表示t 1 和t 2 可以并发关系被执行 并发信息交换t 1l 口lt 2 :表示t 1 和t 2 可以以并发关系被执行,同时它们 之间存在信息交换 中断关系t 1 t 2 :表示t 1 的发生中断了t 2 的发生 顺序关系t 1 t 2 :表示t 1 执行完了再执行t 2 顺序信息交换t 1 口 t 2 :表示它们以顺序的关系执行,同时它们之间存在信 息交交换。 在这些语义符号之间存在着优先权关系,如图3 - 2 所示: 图3 - 2 语义符号间的优先权关系 下面会给出一棵任务树,如图3 - 3 所示: 山东大学硕士学位论文 o 5 e l e c tr e a a5 m s 5 e l e c ts m 5s h o ws m s r e a ds m s 图3 - 3 任务树 任务模型中的并发任务集是一系列的任务集合,这些任务在逻辑上被认为可 以在同一段时间内被执行。为了实现到具体用户界面的转化,一定要计算出并发 任务集。并发任务集的计算有很多方法,基本都是按照语义关系进行计算。以下 是由图3 - 3 计算出来的任务并集合: e t s l = s e l e c tr e a ds m s ,s e l e c ta d j u s tvo l u m e ,c l o s e ,s h u td o w n ) e t s 2 = s e l e c ts m s ,c l o s e ,s h u td o w n ) e t s 3 = s h o ws m s ,c l o s e ,s h u td o w n ) e t s 4 = s e l e c ta d j u s tv o l u m e ,c l o s e ,s h u td o w n ) e t s 5 = a d j u s t ,c l o s e ,s h u td o w n ) 并发任务集的计算有很多的方法,这里介绍一种基于优先权树的并发任务集 的算法。优先权树是一个任务树,在这个树的同一层,所有的任务之间的语义符 号优先级是相同的,这种优先权树是在并发任务树的基础上得到的,当并发任务 树的某一层次上存在着优先权不相同的语义符号时,就在这一层次上另外加上一 层,通过这样的方法并发任务树的语义关系没有发生变化,但是对于计算并发任 务集,这种方法就比较容易。 根据图3 - 3 中的语义符号之间的优先权关系,在原来的并发任务树中加上抽 象的一层,如图3 4 和图3 5 所示,得到一棵并发任务树和它对应的优先权树。 山东大学硕士学位论文 _ - _ _ _ _ _ _ _ _ - _ _ _ - _ _ 一ii _ - _ _ _ - _ _ _ _ _ _ _ - 一 r u v i d e p r o v i d o p r e ! ;e n t :c a r n e 吲;p i c kc :1 1 1 1 e r a o b s e ec 刁i t r l e r - 4 图3 4c h e c kf o rb u r g l a r s 的任务树 p r e s o a tc a m q ,a p i c kc 矗m o r a 图3 - 5 与c h e c kf o rb u r g l a r s 对应的任务树的优先权树 t 1 3 西 一 |= 石 山东大学硕士学位论文 3 1 2 并发任务集合的计算 下面介绍并发任务集的计算方法,先介绍一些基本的符号: 1 f i r s t ( t ) 表示任务t 的子任务中应该首先被执行的任务,如果任务t 没有 子任务,那么f i r s t ( t ) = t 。 2 b o d y ( t ) 表示任务t 的子任务中没有被包括在f i r s t ( t ) 中的子任务。 3 另外需要说明f i r s t ( ( t l ,t n ) ) = f i r s t ( t d ,f i r s t ( t n ) “l f i r s t 表示在算法的下一轮循环中这个任务应该被它的子任务代替。 如果t 被标记为“f i r s t 的话,l f i r s t ( t ) 为真,否则为假。 4 p a r e n t ( t ) = k 说明节点t 的父节点是节点k ,c h i l d r e n ( t ) = f n l ,n 2 , 1 3 m ) 说明节点t 的子节点是n 1 ,n 2 ,n m 。另外需要说明:p a r e n t ( n 1 ) = t , p a r e n t ( n 2 ) = t ,p a r e n t ( n m ) = t 注意:c h i l d r e n ( t ) = f i r s t ( t ) ub o d y ( t ) 3 1 。3 基于优先权并发树的并发任务集算法 1 最初的任务并发集合e t s 只包含一个任务t r ,这是根节点。 2 w h i l e 存在d e t s iw h e r e1 n 2 或者n 1 经过口 n 2 ) ( e n a b l i n g ) : 一i f ( 1 b o d y ( d ) ) i e t s - e t su ( ( n 1un e c e s s a r y t a s k s ( e t s i ,d ) ) u u r u n n e c e s s a r y t a s k s ( e t s i ,d ) ) i i e t s 一e t s e t s i e l s ei f ( 1 f i r s t ( d ) ) i e t s k l f i r s t ( n 1 ) u ( e t s i f d ) ) i i e t s - e t su 1 b o d y ( n 1 ) ) un e c e s s a r y t a s k s ( e t s i ,d ) ) i i i e t s 一e t s e t s i - e l s e i e t s - e t s u ( e t s i d ) ) u n 1 ) ) u u ( e t s i f d ) ) u 舳 ) i i e 0 ( m ) 一e o ( m ) e t s i ) 3 最后删除所有的用户任务,因为这些任务在用户界面中没有被表示出来。 3 2 活动链抽取问题的研究 首先介绍一下活动链的定义,活动链定义为:为了达到某一个目的,不同的 对话所通过的路径。一个对话由它对应的一个并发任务集表示,每个对话都被认 为是实际应用的一步,所以我们可以建立起并发任务集的图示来表示对话之间的 流程。在这个图示中每个并发任务集都代表一个节点,不同的节点之间被相互连 接,这样就代表了不同的对话之间的相互转换。这就是所说的状态转换图,即 s t 2 5 1 。 s t n 图的节点之间的边是有方向性的,并且被任务标识,除此之外在这个转 换图中还存在着其他节点和结束节点。 下图3 - 6 是一个任务模型和它对应的状态转换图 山东大学硕士学位论文 s e l e c c r e a c l5 m s s e l e c c s m s 靳o w 驯sr e a ds m s 图3 - 6 任务树和其s t n 图 表面看起来好象状态转换图并不能充分描述出任务模型所描述的所有行为信 息,因为在任务模型中存在着并发任务集的概念。但实际上,由于并发任务集描 述的是能在同段时间里执行的任务,所以就不可能存在能够同时发生的并发任 务集,这样就只需要根据一个状态来产生对话说明,如果这样考虑的话,s t n 是能 够充分完成这个任务的。 状态转换图中,节点之间的边是用任务来进行标识的,这些任务是根据在任 务说明中的任务之间的语义关系来确定的,下面进行具体的介绍。 定义:s l ,s 2 是两个并发任务集,如果t i 是以下情况的话,则它可以被认为 是一个状态转换: t 1 经过 到t 2 ,t l s l 并且t 2 s 2 t 2 经过 到t i , f i r s t ( t 1 ) ,t 2 ) es l 并且b o d y ( t 1 ) s 2 要建立一个s t n 图需要经过以下步骤: 1 要找出一系列的状态,每个状态在s t n 图里对应一个节点,实际这里的状 态就是从任务树里计算出来的并发任务集。 2 找出一系列的转换
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年老司机三力测试题及答案
- 2025年陪诊师考试前八大准备试题与答案
- 2025年软件架构师职业考试模拟试题
- 2025年高级油气管道安全工程师面试要点及预测题
- 2025年篮球裁判考试题及答案
- 2026届贵州省黔东南州剑河县第四中学化学高二第一学期期中综合测试试题含解析
- 桥本氏甲状腺病课件
- 2025年心理咨询师面试技巧心理评估与咨询技能模拟题集
- 2025年软件开发项目经理面试全攻略及预测题解析
- 桑塔纳转向系拆装与检修
- 政法委遴选笔试真题及答案详解
- T/CCIAS 009-2023减盐酱油
- 抖音火花MCN机构与直播平台艺人分成合作协议
- 考试培训协议班协议书
- 《压力容器安全规范与应用》课件
- 焊接环境对焊接质量的影响试题及答案
- 2025-2030中国风力涡轮机检查无人机行业市场发展趋势与前景展望战略研究报告
- DB32T 5030-2025工业有机废气治理用活性炭通 用技术要求
- 2025年健康管理师理论知识试题及答案
- 2023-2024学年北师大版小学数学一升二开学摸底考试测试卷及答案(共三套)
- 全国灌溉水有效利用系数测算分析技术指导细则(2024修订版)知识培训
评论
0/150
提交评论