(计算机应用技术专业论文)windows运行过程数据采集方法研究.pdf_第1页
(计算机应用技术专业论文)windows运行过程数据采集方法研究.pdf_第2页
(计算机应用技术专业论文)windows运行过程数据采集方法研究.pdf_第3页
(计算机应用技术专业论文)windows运行过程数据采集方法研究.pdf_第4页
(计算机应用技术专业论文)windows运行过程数据采集方法研究.pdf_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

i 呜 r 一0 。p 帮 i j j j j 舢f j | | 舢| i j f f f i f f | f f i l f 原创性声明及关于学位论文使用授权的声明 y 17 9 3 6 3 2 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究所取得的成果。除文中已经注明引用的内容外,本 论文不包含任何其他个人或集体已经发表或撰写过的科研成果。 对本文的研究做出重要贡献的个人和集体,均已在文中以明确方 式标明。本声明的法律责任由本人承担。 论文作者签名: 彰兰互 日 期:盥z 里:数 关于学位论文使用授权的声明 本人完全了解山东大学有关保留、使用学位论文的规定,同 意学校保留或向国家有关部门或机构送交论文的复印件和电子 版,允许论文被查阅和借阅;本人授权山东大学可以将本学位论 文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印或其他复制手段保存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 。 f 论文作者签名:丝导师签名:,一扭鲨茎垒日 期:土里生芏: l , 山东大学硕士学位论文 目录 摘要i a b s t r a c t 第1 章绪论= 1 1 1 课题研究背景和意义1 1 2 相关工作和研究现状一2 1 3 主要工作及章节安排3 第2 章操作系统可视化的研究方法和内容一5 2 1 软件可视化简介一5 2 1 1 软件可视化的概念5 2 1 2 软件可视化的内涵6 2 1 3 软件可视化的关键问题7 2 2 操作系统可视化应用与教学8 2 2 1 操作系统概念8 2 2 1 操作系统教学现状9 2 2 2 操作系统教学方法分类9 2 3 操作系统可视化1 0 2 3 1 可视化途径1 0 2 3 2 可视化教学特点11 2 3 3 可视化的工作流程1 1 2 4 本章小结1 2 第3 章内核数据的采集1 4 3 1 实验环境配置1 4 3 1 1 必备工具1 4 3 1 2 安装及配置1 5 f 3 2c p u 调度模块分析1 7 3 2 1 内核调度概述1 7 3 2 2w r k 内核调度详解1 8 山东大学硕士学位论文 3 2 3 调度相关操作2 0 3 3 内核信息描述及提取2 2 3 3 1 内核数据描述2 3 3 3 2 数据采集原则2 5 3 3 3 数据采集方法2 6 3 4 本章小节2 9 第4 章内核信息分析及可视化处理3 0 4 1 数据预处理3 0 4 2 数据分析3 1 4 2 1 数据完整性分析3 1 4 2 2 内核调度具体过程分析3 2 4 3 采集数据的可视化3 4 4 3 1 可视化注意事项3 4 4 3 2 可视化效果展示3 5 4 4 本章小节3 6 第5 章总结及展望3 7 参考文献3 9 致谢4 3 攻读学位期间发表的学术论文目录4 4 攻读学位期间参与的项目4 4 1 3m a i nw r o r ka n da r r a n g e m e n t 3 c h a p t e r2r e s e a r c hm e t h o d sa n dc o n t e n t so fo sv i s u a l i z a t i o ne d u c a t i o n 5 2 1i n t r o d u c t i o no f s o f t w a r ev i s u a l i z a t i o n 5 2 1 1c o n c e p to f s o f t w a r ev i s u a l i z a t i o n 5 2 1 2c o n n o t a t i o no fs o f t w a r ev i s u a l i z a t i o n 6 2 1 3k e yp r o b l e m so f s o f t w a r ev i s u a l i z a t i o n 7 2 2o p e r a t i n gs y s t e me d u c a t i o n 8 2 2 1c o n c e p to f o p e r a t i n gs y s t e m 8 2 2 1c u r r e n to p e r a t i n gs y 7 s t e me d u c a t i o n 9 2 2 2c l a s s i f i c a t i o no f o p e r a t i n gs y s t e me d u c a t i o n 9 2 3o p e r a t i n gs y s t e mv i s u a l i z a t i o n 1 0 2 3 1v i s u a l i z a t i o nm e t h o d s 1 0 2 3 2a t t r i b u t eo f v i s u a l i z a t i o ne d u c a t i o n 1 1 2 3 3w 6 r k f l o wo f v i s u a l i z a t i o n 1 1 2 4c o n c l u s i o n s 1 2 c h a p t e r3c o l l e c t i o no f k e m e ld a t a 1 4 3 1c o n f i g u r a t i o no f e x p e r i m e n t a le n v i r o n m e n t 1 4 3 1 1r e q u i r e dt o o l s 1 4 3 1 2h l s t a l l a t i o na n dc o n f i g u r a t i o n 1 5 , ”、3 2a n a l y s i so fc p us c h e d u l i n gm o d e l 1 7 3 2 1h t r o d u c t i o no f k e r n e ls c h e d u l i n g 1 7 3 2 2d e t a i l so f 佩kk e m e ls c h e d u l i n g 1 8 山东大学硕士学位论文 3 2 3r e l a t e do p e r a t i o n so fs c h e d u l i n g 2 0 3 3d e s c r i p t i o na n dc o l l e c t i o no f k e r n e li n f o r m a t i o n 一2 2 _ 3 3 1d e s c r i p t i o no f k e r n e li n f o r m a t i o n 一2 3 3 3 2p r i n c i p l eo f d a t ac o l l e c t i o n 2 5 3 3 3m e t h o do f d a t ac o l l e c t i o n 2 6 3 4c o n c l u s i o n s 。2 9 c h a p t e r4a n a l y s i sa n dv i s u a l i z a t i o no f k e m e l i n f o r m a t i o n 3 0 4 1d a t ap r e t r e a t m e n t 3 0 4 2a n a l v s i so f d a t a 3 1 4 2 1a n a l y s i so f d a t ai n t e g r a l i t y 31 4 2 2r e a la n a l y s i so f k e r n e ls c h e d d i n g 3 2 4 3v i s u a l i z a t i o n 3 4 4 3 1n o t i c eo f v i s u a l i z a t i o n 3 4 4 3 2v i s u a l i z a t i o ns h o w 3 5 。 4 4c o n c l u s i o n s 3 6 c h a p t e r5s u m m a r ya n dp r o s p e c t 一3 7 l r e f e r r e n c e 3 9 a c k n o w l e d g e m e n t - 4 3 p a p e r sp u b l i s h e d 4 4 p r o j e c t sp a r t i c i p a t e di n 4 4 一 山东大学硕士学位论文 摘要 作为计算机领域最重要的软件之一,操作系统提供了沟通用户与计算机硬件 的平台,为广大使用者提供了便利。为了更好的发挥操作系统的功能,对其工作 机制和原理的研究越来越受到重视,成为了计算机领域的必修课程。大多数教学 和科研领域都以开源的l i n u x 系统或实验性操作系统为平台,但日常广泛使用的 w i n d o w s 操作系统却因其商业保密性,使人无法对其深入研究。微软面向高校和 科研机构推出的研究型内核w r k ( w i n d o w sr e s e a r c hk e r n e l ) 为操作系统的研究 提供了最好的素材,使科研更贴近实用,更具有说服力。然而,现在的系统内核 规模庞大,功能复杂,已不是一己之力就能研究透彻的。尤其是对于初学者,想 深入了解其内部机理更是望而生畏。随着可视化技术的不断发展,它在提高人类 认知能力方面发挥着越来越明显的优势。将可视化技术引入操作系统教研领域, 无疑是有助于学生和科研工作者对操作系统有更深入了解。 如今,可视化技术与操作系统教研相结合的范例已有不少,但存在一些不足 之处。大多数研究平台都是l i n u x 或实验性系统m i x ,与现实广泛使用的w i n d o w s 系统相去甚远。一些以演示内核某些算法为主的可视化软件,重在展现算法,与 真实的操作系统相脱节,且数据来源无据可依。有些以真实操作系统为平台的研 究工作,多以a p i 编程方式获取内核信息,信息提取不够全面,破坏了操作系 统的整体性。为了帮助大多数人更好的了解内核工作机制,本文以真实w r k 内 核为平台,深入源代码进行修改,重编译内核,提取出规定时间段的所有内核运 行信息,并采用可视化技术进行可视化处理。 本文提出的操作系统教学方法,重在数据来源真实,具有说服力,同时保持 了系统的完整性,又不失交互性。重点研究内容包括: 1 、研究对象为w i n d o w s 内核,深入研读内核源码,提取出内核运行过程中 的动态信息。数据采集模块需要定义完备的内核信息描述指令格式,以此指令格 1 式作为理解内核工作原理的标准,并以此格式来修改内核源码,执行重编译的内 、 核提取内核运行信息。 2 、基于内核结构的复杂和代码量的庞大,对于采集的初始数据需进行必要 山东大学硕士学位论文 的预处理,一方面便于人工分析初始数据的完整性和可靠性,另一方面可将其作 为内核分析的原始材料。 3 、为更加直观的再现操作系统的整体运行过程,采用现代可视化技术,可 视化内核运行数据,以图像的方式展示内核运行过程。 通过本文对新教学方法的探索可知,从内核源码出发,以真实的内核运行过 程数据为基础的可视化,可以实现对内核数据结构,算法和综合结构的更深层次 的理解,真实性强,整体性强,具有进一步研究和开发的意义。 关键词: 操作系统;内核;w in d o w s ;w r k ;可视化; , 山东大学硕士学位论文 a b s t r a c t a so n eo ft h em o s ti m p o r t a n ts u b je c t si nc o m p u t e rf i e l d , o p e r a t i n gs y s t e m s u p p o r t sac o n v e n i e n tp l a t f o r mw h i c hc o n n e c t su s e r sa n dc o m p u t e rh a r d w a r e i no r d e r t om a k eo p e r a t i n gs y s t e mw o r kw e l l ,m o r ea n dm o r ea t t e n t i o ni sf o c u s e do nt h e r e s e a r c ho fi t sp r i n c i p l e ,w h i c hi sr e q u i r e ds u b je c ti nc o l l e g e l i n u xa n do t h e r e x p e r i m e n t a lo p e r a t i n gs y s t e m sa l ea l w a y su s e di nr e s e a r c ha n de d u c a t i o nf i e l d , a n d w i n d o w si sw i d e l yu s e di nn o r m a ll i f e t h e r e f o r e ,i ti sc o n t r a r yb e t w e e nl e a r n i n ga n d u s e t h er e s e a r c hk e r n e lw r k ( w i n d o w sr e s e a r c hk e m e l ) a f f o r d sb e t t e rr e s e a r c h m a t e r i a lf o rc o l l e g e sa n dr e s e a r c hl a b s ,a n dc o n n e c t sr e s e a r c ha n du s ep e r s u a s i v e l y h o w e v e r , t h ek e r n e li sv e r yc o m p l i c a t e da n dc a n tb em a s t e r e db y o n ep e r s o n e s p e c i a l l yf o rb e g i n n e r s ,i ti sa h a r dw o r kt ou n d e r s t a n di t st h e o r y b u ti nr e c e n ty e a r s v i s u a l i z a t i o nt e c h n o l o g yd e v e l o p s f a s ta n ds h o w s m o r eo b v i o u sa d v a n t a g e si n i m p r o v i n gt h eh u m a nc o g n i t i v ea b i l i t i e s c o m b i n i n gv i s u a l i z a t i o nt e c h n o l o g ya n d o p e r a t i n gs y s t e me d u c a t i o nw i l lc o n t r i b u t et ot h ec o m p r e h e n s i o no fo p e r a t i n gs y s t e m t h e o r yf o rs t u d e n t sa n dr e s e a r c h e r su n d o u b t e d l y p r e s e n t l y ,al o to fw o r kh a sd o n et oi n t r o d u c ev i s u a l i z a t i o ni n t oo p e r a t i n gs y s t e m t e a c h i n gf i e l d b u tt h e r e r es o m ed e f i c i e n c i e s m o s te d u c a t i o n a lp l a t f o r m sa r el i n u x o r e x p e r i m e n t a lo p e r a t i n gs y s t e m ,s u c h a sm i x i ti sd i f f e r e n tf r o md a i l y u s e - - - w i n d o w s s o m ea l g o r i t h mv i s u a l i z a t i o nt o o l so rs o f t w a r eh a v ee x c e l l e n tv i s u a l e f f e c tb u tp a ym o r ea t t e n t i o nt od e m o n s t r a t ea l g o r i t h mi t s e l f , t h e y r es e p a r a t e df r o m a c t u a lr u n n i n gs y s t e m ,a n ds ot h ed a t as o u r c ei su n r e a l al o to fw o r kd o n eu s i n gr e a l o p e r a t i n gs y s t e ma sp l a t f o r m ,c o l l e c t sk e r n e li n f o r m a t i o nb ya p i ,b u tt h e yc a nn o t c o l l e c tg l o b a li n f o r m a t i o nf o ro p e r a t i n gs y s t e mi sa ne n t i r e n e s s i no r d e rt oh e l p m a j o r i t yt ou n d e r s t a n do p e r a t i n gs y s t e mw e l l ,t h i sp a p e ru s e sr e a lw r k a sr e s e a r c h p l a t f o r m , m o d i f i e s k e m e ls o u r c ec o d e ,r e c o m p i l e si ta n dc o l l e c t se x e c u t i n g i n f o r m a t i o no fd e f i n e dp e r i o dw h i c hi su s e da ss o u r c ed m af o rv i s u a l i z a t i o n t h em e t h o dp r e s e n t e di n t h i sp a p e rf o c u s e so nt h er e a l i t ya n dp e r s u a s i o no f i i i l l j 东大学硕士学位论文 s o u r c ed a t a a tt h es a m et i m e ,i tk e e p st h ew h o l eo p e r m i n gs y s t e ma sa l le n t i r e n e s s t h er e s e a r c he m p h a s i si n c l u d e 1 f o rt h er e s e a r c ho b je c ti sw i n d o w sk e m e l ,c o m p r e h e n s i o no ft h ek e r n e li s n e c e s s a r yt ot h ed a t ac o l l e c t i o no fr u n n i n gk e m e l t h ed a t ac o l l e c t i n gm o d e li s e nt h e c o m p l e t ei n s t r u c t i o n sw h i c ha r ed e f i n e dt od e s c r i b ek e m e la c t i o n s ,t om o d i f yk e r n e l s o u r c ec o d ea n dc o l l e c te x e c u t i n gi n f o r m a t i o n 2 b e c a u s et h ec o m p l e x i t ya n de n o r m o u s n e s so fk e r n e l s o u r c ec o d e ,a p r e t r e a t m e n to fc o l l e c t e dd a t ai sn e e d e dt oa n a l y 7 z et h ei n t e g r a l i t ya n dr e l i a b i l i t yo fi t , a n dt h ec o l l e c td a t ac a nb eu s e da sr a wm a t e r i a lf o rk e m e l a n a l y s i s 3 i no r d e rt os h o wt h eo p e r a t i n gp r o c e s so f w i n d o w sk e r n e lc l e a r l y , m o d e m v i s u a l i z a t i o ni sm a d et op r e s e n tt h ek e m e le x e c u t i n g p r o c e s s f i n a l l y , f r o mt h ee x p l o r a t i o no fn e we d u c a t i o n a lm e t h o d , w ec a nc o n c l u d et h a t t h ev i s u a l i z a t i o nw i t hk e m e ls o u r c ec o d ea n dr e a lk e r n e le x e c u t i n gd a t aa sb a s i s ,c a r l h e l pt ou n d e r s t a n dt h ek e m e ld a t as t r u c t u r e ,a l g o r i t h ma n de n t i r es t r u c t u r ed e e p l ya n d t h ev i s u a l i z a t i o nr e s u l ti sm o r er e a la n da c c e p t a b l e ,s oi tm u s th a v et h es i g n i f i c a n c e f o rf u r t h e rr e s e a r c ha n dd e v e l o p m e n t k e yw o r d s : o p e r a t i n gs y s t e m ;k e r n e l ;w i n d o w s ;w r k ;v i s u a l i z a t i o n w | 山东大学硕士学位论文 1 1 课题研究背景和意义 第1 章绪论 操作系统是连接计算机硬件和用户的接口,负责管理和协调各种活动,及共 享计算机资源。作为计算机应用程序的管家,它负责资源的分配和硬件的访问保 护,这就解脱了应用程序管理这些细节的负担。m i c r o s o f t 开发的w i n d o w s 是目 前世界上用户最多、且兼容性最强的视窗电脑操作系统。研究操作系统的原理, 设计方法和相应数据结构,最好的方法就是深入阅读操作系统源代码。微软面向 高校推出的开源的w i n d o w s 研究性内核w r k ( w i n d o w sr e s e a r c hk e m e l ) 为操 作系统的研究提供了宝贵的资源。操作系统的研究不仅仅是操作系统原理的探 索,对于应用软件,尤其是系统软件的开发也有着重要的影响。 w i n d o w s 拥有如此庞大的用户群,但是基于其不开源等原因,使人们对其原 理既感好奇,又无能为力。w r k 的出现给予w i n d o w s 爱好者极好的研究素材, 可以一览神秘的w i n d o w s 实现原理。但是,w r k 包括的w i n d o w ss e r v e r2 0 0 3 内核n t o s 代码量非常庞大( 约3 0 m ) ,不仅包括c 语言程序,还包括汇编程序。 同时,内核代码的内部结构相当复杂,各模块间联系非常紧密,没有大量的系统 相关知识的积累,很难对其有很好的理解。尤其是对于初学操作系统课程的学习 者,笼统的原理讲解太过抽象,真实系统的学习又需要强大的基础理论知识作为 基础。随着信息科技的发展,操作系统作为底层软件,变得越来越庞大,已是非 一人之力就能搞懂的。 基于操作系统的不易理解,规模庞大等特性,本文旨在探索借助现代化的可 视化技术解决上述状况。人类对知识的获取相当一部分是来自视觉,可视化方法 更符合人们的认知心理,它通过将各种抽象的数据信息转化为各种易于理解的图 形图像信息,变抽象为具体,帮助人们增加认知能力。鉴于可视化技术能大大提 高人们对知识的认知能力,把操作系统相关抽象概念运用可视化技术展现出来, 必定会有助于操作系统的学习。本文主要是提取w r k 内核执行过程中关键信息, 然后用形象直观的图形信息加以展示。 山东大学硕士学位论文 1 2 相关工作和研究现状 对于操作系统的研究,尤其是对于真实的操作系统的研究,主要是限于l i n u x 内核的研究。l i n u x 作为开源软件,被不同的机构和个人进行研究和修改,积累 了大量操作系统方面的研究成果,其中出版的大量书籍都成为了经典的大学教材 1 4 1 。这些教材介绍系统的基本组成模块,经典的算法和数据结构,而这些往往 都限于静态的分析和图表展示,抽象的曾度比较高。 一类介绍操作系统原理的材料是大量出现的演示动画,主要是介绍一些算法 和基本原理1 6 4 1 。如o s c a l ( o p e r a t i n gs y s t e mc o n c e p ta n i m a t i o nl i b r a r y ) 1 6 1 是 专门从事操作系统教学的动画库,其中包括多种进程调度实现、各种磁盘调度, 以及页面置换机制的实现等。这些演示动画,都是预先定制好的,即只能给学习 者一个内核机制运行过程的大体展示,是被动接受的,缺少必要的交互性。虽然 这种方式在阐明原理方面比较直接,未免与实际的操作系统脱节,数据来源不真 实,只能在形式上单纯介绍原理不适合深入操作系统内部的机制。 一 利用仿真软件与真实的操作系统相结合的可视化更具有说服力,因其数据来 源更真实,显示也更具体。k e v i n 等人设计的l i n u x 处理器调度算法模拟器1 9 1 , 。 就是可以运行于l i n u x 操作系统之上,其原理是由人工设定相应的调度进程组, 并且可以选择不同的调度算法,然后执行该组进程,同时收集必要信息,最后以 可视化的方式把调度过程展现出来。这种方法数据来源真实,但是缺乏整体性, 仅有对各种调度算法的分析,无其它机制与调度算法的交互,如中断等。这种方 法是对某一种机制的模拟,不能将各种机制融合到一块。 利用可视化技术研究操作系统内核原理的典型代表是l i n u x 的内核跟踪机 制l t t ( l i n u xt r a c et o o l k i t ) 【1 3 1 ( o p e r s y s 和l i n e o 联合研究成果) 。它观察某 段时间内的内核行为,并且记录关键运行数据,然后采用可视化技术以图形方式 把内核运行过程展现给用户。但是,这只能是一个内核性能的分析器,可以有效 的监控系统性能参数,其后期的数据处理和可视化处理比较注重性能展示,不适 合于内核的深入学习。 根据当前该领域的研究现状,如要建立行之有效的操作系统教学方法,首先 数据来源要真实,即数据源要采集于真实运行的操作系统。其次,内核结构较复 杂,在精力有限的情况下,不可能完全覆盖,因此该方法应具有通用性和可扩展 2 , l j j 东大学硕士学位论文 性。再次,紧密结合内核源码,进行深层次的挖掘,并且采用形象直观的可视化 方法。简言之,本文将立足于内核运行时的真实数据和结合源码研究内核关键过 程的可视化。 1 3 主要工作及章节安排 1 本文的主要工作 本文在基于m i c r o s o f t 向高校公开的w r k 研究型内核的基础上,为探索新 的操作系统教学方法,主要做了以下三项工作: ( 1 ) 对于指定的时间段内操作系统的运行过程,收集有效的关键信息。采 用的方法是,直接从源代码出发,为了便于信息的理解,设计内核信息描述指令 格式,修改w r k 内核源码,重新编译内核,以设定的格式提取相应内核运行信 息。 ( 2 ) 数据整理和分析。数据分析主要是依据不同方面,不同观察粒度对获 取数据进行完整性、有效性分析,并且转变为规整的人读和机读数据。 ( 3 ) 可视化处理。主要是利用现代可视化理论知识,依据操作系统运行过 程的特点,以图形图像方式,形象直观的展示内核的运行过程。 2 本文的章节安排 本文第二章主要介绍可视化的发展现状,特别是软件可视化的概念、内涵和 关键问题等;操作系统教学的方法分类及其特点;可视化在操作系统教学中的应 用现状,以及可视化教学的优点。 随后的章节主要介绍数据采集模块的各项功能,鉴于实验环境配置比较繁 琐,首先是对实验环境的配置做简单介绍;其次,以内核调度模块为例,着重讲 解内核调度算法工作原理;最后,根据内核调度原理制定相应内核信息描述指令, 修改内核代码提取内核运行信息。 第四章在数据采集模块采集的数据的基础上,进行必要的预处理,然后人工 验证数据的完整性和可靠性,同时可以生成用于分析内核原理的原始数据材料, 最后以完整的数据作为可视化的数据源,利用现代可视化技术进行可视化处理。 文章最后对当前工作进行总结,分析不足之处并展望操作系统可视化教学的 3 山东大学硕士学位论文 下一步工作和未来发展。 4 , 山东大学硕士学位论文 第2 章操作系统可视化的研究方法和内容 2 1 软件可视化简介 可视化泛指利用计算机图形学和图像处理技术,将数据转换成图形或图像在 屏幕上显示出来并进行交互处理的理论、方法和技术,这是一个展示数据并获得 对数据更深层次认识的过程。它作为一门新的学科和技术领域出现的标志是 1 9 8 7 年美国科学基金会( n s f ) 组织召开的“科学计算可视化”专题研讨会,以 及大会后m c c o r m i c k 等人发表的“科学计算可视化( v i s u a l i z a t i o ni ns c i e n t i f i c c o m p u t i n g ,v i s c ) ”报告,或简称可视化( v i s u a l i z 撕o n ) 。最初的可视化专指科 学计算可视化,它涉及到计算机图形学、图像处理、计算机辅助设计、计算机视 觉及人机交互等多个领域,其实质是运用计算机图形学和图像处理技术,将科学 计算过程中产生的数据及计算结果转化为图像,在屏幕上显示并进行交互处理, 它被广范应用于医学、气象、分子生物学等多种领域【1 4 1 ,多用在对空间数据场 物理数据的可视化处理上。 随着社会信息量的激增和数据的多元化,越来越多的非空间数据出现,需要 强有力地分析工具来对其进行有效的处理和利用,信息可视化( i n f o r m a t i o n v i s u a l i z a t i o n ) 应运而生,这成为信息科学的重要研究领域,g r o b e r t s o n 、 s k c a r d 与j d m a c k i n l a y 在1 9 8 9 年首次明确提出概念【1 s l ,c a r d 称它为“计 算机支持的、人机交互的抽象数据图像化方法,从而帮助用户增强识别信息的能 力”。近年来技术迅速发展,深入到医疗、地理、数据挖掘、网络信息搜索、 软件和程序理解等各种应用中,如与数据挖掘“1 及与软件可视化1 1 7 1 的结合应用, 特别是软件可视化已成为可视化技术的一个重要分支,也取得了长足进展,下一 节将详细阐述。 2 1 1 软件可视化的概念 软件可视化是研究如何利用交互式计算机图形技术以及图形、印刷、颜色、 动画、音频、视频等各种手段,增强软件中算法和程序理解性和使用效率的学科 5 山东大学硕士学位论文 1 8 1 。软件可视化既包括开发过程的可视化,又包括软件执行的可视化。在程序 开发过程中,可视化编程( 如v i s u a lb a s i c 、v i s u a lc + + 等可视程序设计语言) 和 可视化软件开发都是软件可视化的范畴。软件执行的可视化主要是可视化软件的 执行过程,本文将讨论范围限制在软件的执行环节,不涉及开发和管理环节,主 要目的在于提高软件本身的可理解性。 所谓可视化就是要以图形、图像等更容易理解的方式来传达信息。对于软件 可视化,就是将软件产品映射到图形,主要包括程序( p r o g r a m ) 、映射( m a p p i n g ) 、 图形( g r a p h i c a lr e p r e s e n t a t i o n ) 三要素【1 9 娜1 。这里的关键问题是如何将表明系统 状态和行为的程序特征映射至图形或者动画表示,更详细地讲,主要问题有:如 何描述程序的状态和行为特征,相应的数据格式如何定义;定义何种图形符号用 来表示程序执行中涉及到的各种物理和逻辑元素,定义何种恰当的标准来表征元 素的不同状态和行为:如何定义程序特征到图形元素之间的映射关系等。 2 1 2 软件可视化的内涵 许多研究人员对软件可视化理论的都有深入的研究1 9 , 2 1 2 3 l ,并从不同的视角 阐述了对软件可视化的理解,同时对软件可视化系统进行了细致分类。利用可视 、 化技术来呈现软件结构和行为是软件可视化研究的主要关注点1 2 4 i 。大型软件系 统代码的理解、修改和维护是相当费时和费力的事,软件可视化技术利用图形方 式来展现软件的架构,算法及行为,使软件更易于理解 2 s l 。可视化主要关注的 是软件架构、代码和软件行为,从其属性来看可分为静态和动态模式。综合各种 分类方法,软件可视化可分为软件架构可视化、代码级可视化和软件行为可视化。 软件架构的可视化,主要是可视化出软件组成模块,用于理解软件各组成模 块之间的关系。类似于利用u m l 建模方式展现软件组织架构。 代码级可视化,主要是对程序代码、数据结构的静态或动态特征进行的可视 化,根据代码书写规则,利用不同的字体大小、颜色和不同行缩进等对代码进行 标记,同时采取不同尺度视图分级显示代码,提高代码的可读性,可跟踪性和可 一 修改性。对于软件工程、程序分析、调试等工作很有帮助。 软件行为可视化,一般以研究和教学为目的,主要是软件执行算法的可视化 ( a l g o r i t h mv i s u a l i z a t i o n ,a v ) 2 3 , 2 6 2 8 1 ,用于理解各种数据结构和算法思想,重 6 , l j i 东大学硕士学位论文 点是解决算法和数据结构的抽象性问题。要求可视化设计者对于代码有比较深入 的理解。对于算法理解、高校教学很有帮助。 事实上,以上三个方面的可视化是密不可分的,都要涉及到代码、控制流程、 数据结构等主要内容的可视化,其最主要的差别来自于可视化系统设计的初衷。 本文主要是关注o s 的算法和具体流程,侧重于软件行为的可视化。 2 1 3 软件可视化的关键问题 在设计软件可视化系统时,围绕着程序、映射和图形三个软件可视化的要素, 需要从软件对象本身的特征、待可视化的内容、系统的应用目的等角度出发考虑 一些关键问题。 1 可视化的应用范围,它是针对于某个实例还是适用于具有特定类型的任 意程序,是否要受到具体硬件条件、操作系统类型或编程语言种类的限制等。 2 可视化的内容,指要对程序的哪些方面进行可视化,侧重于程序的可视 化还是算法可视化或者二者兼顾。这里需要考虑的关键问题是根据具体的应用目 的定义哪些需要可视化的程序特征,通常的特征会定义为代码、数据、控制状态、 执行行为等。 3 可视化与被可视化软件之间的连接方法。当对一个软件对象进行可视化 时是否需要对源代码有一定程度的了解,可视化数据采集是否要影响和改动程序 源代码,可视化系统是否实现对于软件的完全自动可视化,可视化系统与被可视 化软件是否具有紧密的耦合性。 4 数据采集时间和可视化生成的时间。第一,数据采集时间指何时采集可 视化所需要的数据,在编译时进行还是运行时进行,如果是在运行时采集则需考 虑程序运行时间和可视化时间之间的映射

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论