(计算机应用技术专业论文)eclipse下apl图形化开发平台的设计与实现.pdf_第1页
(计算机应用技术专业论文)eclipse下apl图形化开发平台的设计与实现.pdf_第2页
(计算机应用技术专业论文)eclipse下apl图形化开发平台的设计与实现.pdf_第3页
(计算机应用技术专业论文)eclipse下apl图形化开发平台的设计与实现.pdf_第4页
(计算机应用技术专业论文)eclipse下apl图形化开发平台的设计与实现.pdf_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

中文摘要 多a g e n t 系统技术已经在供应链管理等诸多领域逐渐体现了它的巨大潜力 和价值。随着技术的发展,有关a g e n t 模型结构研究主要集中于b d i 或其演化 模型。然而,在a g e n t 工程化方面,尽管一些公司或组织已经制定了一些标准, 并开发了相应的平台,但实现从模型到应用系统的模型驱动开发还有相当的困 难。 针对基于a p l ( a g e n tp a t t e ml a n g u a g e ) 语言的a g e n t 系统,设计了a p l 描述 文档的图形化开发环境。根据a g e n t 的运行结构,在e m f 的e c o r e 层面上对a g e n t 模型进行了重构和描述,建立e c o r e 文件元模型,并根据e m f 所生成的模型框 架,在前台用e c l i p s e 及g e f 技术实现用户界面。对a g e n t 使用多页编辑器的形 式,设定了a g e n t 内部各组件问的关联,将a g e n t 元素的编辑方式在e c l i p s e 的 属性页中自定义完成,最后系统以r c p 的形式对外发布。用户在编辑器中以图 形化的方式设置a g e n t 各元素及其属性,利用菜单中的命令生成此a g e n t 的a p l 描述。 使用e m f 对a g e n t 建模实践了e c l i p s e 模型化开发的过程;同时,用户使用 编辑器编写a p l ,也是一个模型化开发的过程。这个模型驱动体系( m o d e ld r i v e n a r c h i t e c t u r e ,m d a ) 使得模型与图形界面达到松耦合的关系,降低了系统升级和 维护的复杂性。用户亦可根据所保存的a g e n t 模型文件,结合a p l 解析器和j a d e 的运行平台,管理多a g e n t 系统的创建和运行。 关键词:a g e n t 开3 t - r na p lm d a 图形化开发 a b s t r a c t m u l t i - a g e n tt e c h n o l o g yh a ss h o w e di t se n o r m o u sp o t e n t i a la n dv a l u ei nt h e s u p p l yc h a i nm a n a g e m e n ta n dm a n yo t h e rf i e l d s n o w a d a y s ,p e o p l em a i n l yf o c u s a g e n tm o d e lo nb d ia n di t se v o l u t i o n a r ya r c h i t e c t u r e a st h em a t t e ro fa g e n t e n g i n e e r i n g ,a l t h o u g hs o m ec o m p a n i e sa n do r g a n i z a t i o n sh a v es e tu ps o m es t a n d a r d s , a sw e l la st h e c o r r e s p o n d i n ga g e n td e v e l o p m e n tt o o l s ,u s i n g m o d e l d r i v e n d e v e l o p m e n tm e t h o dt or e a l i z ea g e n ta p p l i c a t i o ns y s t e ma l s oh a sc o n s i d e r a b l e d i f f i c u l t i e s b a s e do nt h ea p la g e n t s y s t e m t h ep a p e rd e s i g n sa na p lg r a p h i c a l d e v e l o p m e n tp l a t f o r m a c c o r d i n gt ot h ea g e n ts t r u c t u r e ,i tr e c o n s t r u c t st h ea g e n t m o d e la n de s t a b l i s h e se c o r em e t a m o d e l t h e nb a s e do nt h e m o d e lf r a m e w o r k g e n e r a t e db ye m f , i ti m p l e m e n t st h eu s e ri n t e r f a c ew i t he c l i p s ea n dg e ft e c h n o l o g y a g e n te d i t o ri si nt h ef o r mo fm u l t i - p a g ee d i t o r , s e t st h ei n t e r n a ll i n k a g e sa m o n gt h e c o m p o n e n t s a g e n te l e m e n t sa r ed e f m e di nt h ee c l i p s ep r o p e r t yp a g e s 。f i n a l l yt h i s a p p l i c a t i o nr e l e a s e si nt h ef o r mo fr c eu s e r sc a l l s e ta g e n te l e m e n t sa n dt h e i r a t t r i b u t e si ng r a p h i c a lm a n n e r , a n du s et h em e n ua c t i o nt og e n e r a t et h ea p lf i l e m o d e l i n ga g e n tw i t he m fp r a c t i c e st h em o d e l d r i v e nd e v e l o p m e n to fe c l i p s e m e a n w h i l e ,e d i t i n ga p l t od e v e l o pa g e n ts y s t e mi sa l s oam o d e l d r i v e nd e v e l o p m e n t p r o c e s s t h em o d e l - d r i v e na r c h i t e c t u r e ( m d a ) m a k e sm o d e la n du s e ri n t e r f a c e l o o s e l yc o u p l e d ,r e d u c e st h es y s t e mc o m p l e x i t yw h e nu p g r a d i n ga n dm a i n t a i n i n g u s e r sc a nm a n a g et h ea g e n tb ya p l f i l e a l s o ,c o m b i n i n gw i t ha p lp a r s e ra n dj a d e p l a t f o r m ,u s e r sa r ea b l et os u p e r v i s et h e i rc r e a t i n ga n dr u n n i n g k e y w o r d s :a g e n t ,d e v e l o p m e n tt o o l s ,a p l ,m d a ,g r a p h i c a ld e v e l o p m e n t 独创性声明 本人声明昕呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得苤鲞叁鲎或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:球毒吗签字日期:沙习年彦月哆日 学位论文版权使用授权书 本学位论文作者完全了解:墨盗盘鲎有关保留、使用学位论文的规定。 特授权墨盗盘堂可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名: 旅毒鸫 签字日期:) 岬年6 月哆日 导师签名: 签字醐:1 年蟛日 第一章绪论 1 1 背景意义 第一章绪论 随着近年来信息技术的飞速发展,企业信息化成为了企业适应市场竞争的必 然选择。企业信息化要求企业充分开发和利用企业内部或外部的、与生产经营活 动相关的各种信息,以便企业及时把握市场机会,增进运行效率,提高企业竞争 力和经济效益。 供应链管理是企业信息化管理的重点。当前,供应链管理【】规则已经由重视 物流和企业内部资源的推式管理转变为以客户需求为原动力的拉式供应链管理。 这要求企业各个业务环节的“信息化孤岛”连接在一起,使得各种业务和信息能 够实现集成和共享;要求企业在全球范围内动态寻求合作伙伴,建立合作关系, 以达到供应链上所有企业利益的最大化。为达到这一目的,在信息系统建设上, 应在整个行业中建立一个环环相扣的供应链,使多个企业能在信息系统的统一管 理下协调运作,使各个企业的分散计划纳入到整个供应链计划中,实现资源和信 息的共享,增加供应链在市场环境中的整体优势。如果能实现全球范围内的企业 动态联盟,必将为供应链管理增添新的活力。 在企业信息化集成过程中,企业不仅要提供一些服务基本信息,还要实现多 业务系统的集成,要求对用户各种请求快速响应和对整个供应链进行统一的管 理。其功能和特性是围绕着企业间竞争所需的一切高效率而生成,其中最突出的 特性便是对信息交流的实时双向性,而这些正是多a g e n t 系统所具有的优点。 多a g e n t 系统应用近年来已经越来越成为一个热点问题,与其相关的软件系 统研究也越来越受到各方的青睐,但是由于a g e n t 结构并不统一,这些多a g e n t 系统有着各自独特的模型,这样造成了a g e n t 开发与学习的复杂性。 模型驱动开发( m d d ) 也是一个当前的热点问题,m d a ( m o d e ld r i v e n a r c h i t e c t u r e ) 【2 j 的思想是通过定义一个相对核心的平台无关模型,之后在实际的 开发平台或应用平台生成各自相关模型。通过抽象出的模型的描述信息生成部分 核心代码,减少人的工作量,降低系统开发和维护的复杂性。模型与模型之问的 映射需要通过一种通用的规则,x m l 因其扩展性强、通用性广成为其中一种统 一的标准格式。目前比较流行的e m f ( e c l i p s em o d e l i n gf r a m e w o r k ) 也是利用 o m g 定义的符合x m l 语言格式的x m i 来描述模型。e m f 建立了一个完备的从 模型到代码的框架,正受到越来越多的关注。 第一章绪论 利用m d a 来开发a g e n t 有着很多优点,一方面隐藏a g e n t 内部的结构,减 少学习a g e n t 的复杂度:另一方面降低人的工作量,利用模型生成丰要代码。目 前针对a g e n t 开发工具的研究很多,本课题针对其中一种a g e n t 系统作了进一步 的探索。 1 2 课题所解决的问题 在文献【3 】中提出一种单黑板结构的a g e n t 模型,利用了b d i ( b e l i e f , d e s i r e , i n t e n t i o n ) 模型的架构,采用a p l ( a g e n tp a t t e r nl a n g u a g e ) 作为这种a g e n t 模 型的描述语言。a p l 是自定义的a g e n t 语言,采用x m l 的格式发布。这样开发 者只需定义好a p l 文件,就可以利用a p l 解析器去解析这个文件并生成与之对 应的a g e n t ,多个a g e n t 在a g e n t 平台运行工作【4 j 。而a p l 的x m l 样式并不适 合人们直接去读写,开发一个带有向导的图形化的编辑器可以大大加快a g e n t 生成的过程。这里根据m d a 的思想,利用e m f 工具建模a g e n t ,并采用e c l i p s e 基于g e f ( g r a p h i c a le d i t i n gf r a m e w o r k ) 框架的插件形式,发布了一个a p l 的 编辑器。 本文的研究内容和创新点可以归结为以下几点: 1 根据模型驱动开发思想,利用e m f 建模a g e n t 。e m f 是一个可重用的模 型开发框架,利用e m f 建模单黑板模型a g e n t ,使用e m f 的e c o r e 元模型管理 a g e n t 结构,便于代码重用与系统维护。 2 软件架构采用e c l i p s e 插件形式,利用g e f 实现a p l 的图形化快速开发 环境,采用向导式的开发方法,用户无需充分了解a g e n t 的内部结构,无需编写 复杂的a g e n t 代码,通过简单的图形化定制与修改,完成对a g e n t 的描述。软件 系统通过目前比较流行的富客户端r c p ( r i c hc l i e n tp l a t f o r m ) 发布出去。 3 a p l 编辑器结合底层的解析器和运行平台,建立了一个自a g e n t 开发到 运行的完整抽象架构,完成了以a g e n t 系统方式集成企业信息遗产系统的雏形。 1 3 本文结构 全文共分五章,内容概要如下: 第二章对a g e n t 概念和m d a 驱动开发做一个综述,描述了a g e n t 模型的发 展道路,介绍了几种当前正在研究的a g e n t 开发平台,并对模型驱动开发的价值 与现状做了简单的叙述。最后总结了一下与此课题相关的研究状况以及本课题在 其中的地位与作用。 2 第一章绪论 第三章详细阐述了a p l 语言模型的分析与设计思想。分析了a g e n t 的单黑板 模型结构,用将a g e n t 和a p l 相结合的方式展示了a g e n t 的建模过程,最后通 过e m f 的e c o r e 元模型架构过程将a g e n t 内部机理展现出来,实现a g e n t 在e m f 中的u m l 描述。 第四章通过对a p l 编辑器结构的叙述,分析了a p l 编辑器的内部联系,图 形编辑器的各项功能和实现方法。也讲述了关于使用g e f 和r c p 对插件架构实 现的过程。 第五章是全文的总结和对未来工作的一些展望。 第二章文献综述 2 1a g e n t 简介 第二章文献综述 一般认为,a g e n t 是一类在特定环境下能感知环境,并能灵活自主的运行以 实现一系列设计目标的,自主的计算实体或程序t 5 1 。a g e n t 作为自主的个体在一 定的目标驱动下具有某种对其自身行为和内部状态的自我控制能力,能够不受人 或其它a g e n t 的直接干预,并尽可能准确的理解用户的真实意图,包括帮助用户 方便、准确的描述和表达任务意图,采取各种由目标驱动的、积极主动的行为如 社交、学习、推理、合作等,感知、适应并运行于复杂的和不断变化的动态环境, 有效地利用环境中各种可能利用的数据、知识、信息和计算资源,为用户提供迅 捷、准确和满意的帮助。 目前学术界并没有对a g e n t 的一个统一的定义,但以w o o l d r i d g e 和j e n n i n g s t 6 】 对a g e n t 所做的定义影响最为广泛:a g e n t 是处于某个环境中的计算机系统,该 系统有能力在这个环境中自主行动以实现其设计目标。 在描述a g e n t 智能的方面,经典的a g e n t 系统采用了所谓_ d 智状态”的手法, 用以模拟人的行为方式。其中,哲学家d a n i e ld e n n e t t 7 】提出了意识系统 ( i n t e n t i o n a ls y s t e m ) 的概念,来描述一些实体,其行为可以用信念、愿望和意 图这样的心智部件来描述。很自然的,a g e n t 作为一种复杂系统可以描述为一个 意识系统。而m c c a r t h y 8 】指出对于这些结构复杂、运行情况不是被完全了解的复 杂系统,使用心理模型去描述是合理和有效的。心智因素可以作为高层抽象工具, 为我们描述、解释和预测复杂系统的行为提供了方便的途径。心智部件可分为两 类:“信息态度”( i n f o r m a t i o na t t i t u d e ) 和“预先态度”( p r o a t t i t u d e ) 。前者如信 念( b e l i e f ) 、知识( k n o w l e d g e ) 等,是a g e n t 在内部建立的外部世界模型;后 者如意图( i n t e n t i o n ) 、愿望( d e s i r e ) 、承诺( c o m m i t m e n t ) 等,是a g e n t 从世 界模型出发对自身行为的影响。 对所谓“预先态度”的建模工作涉及到怎样维持心智状态和a g e n t 行为的“理 性平衡”问题。b r a t m a n t 9 】从哲学上对行为意图进行了诠释,对触学界产生了巨 大影响。他认为理性行为不能直接由信念( b e l i e f ) 、愿望( d e s i r e ) 以及由两者 组成的规划驱动,在愿望和规划之间应有一个基于信念的意图( i n t e n t i o n ) 存在。 意图与信念和愿望直接相关,但不能约简为信念和愿望的逻辑组合。这种思想产 生了影响最为广范的b d i 模型。 4 第二章文献综述 在其后,r a o 和g e o r g e f f t l o j 根据b r a t m a n 的理论做出了b d i 模型的可执行程 序,在语法上引入了b e l i e f 、d e s i r e 和i n t e n t i o n 三个模态算子。b e l i e f 信念,是 a g e m 对事物和环境的固有理解;d e s i r e 愿望,是a g e n t 对做某件事的愿望; i n t e n t i o n 意图,是a g e n t 为完成这件事进行的规划。这些算子后来演化成为信念、 目标和规划。 尽管b d i 模型是一个比较经典的a g e n t 构造理论,但还有一些不可克服的 缺陷。首先是知识表示的问题,使用正规模态逻辑描述的b d i 理论本身无法克 服“逻辑无所不知”悖论,而b d i 理论模型对此还没有很好的解决办法:而知识表 达的手法随着其他软件技术的发展而日趋多样,融入了面向对象技术、多媒体、 数据库等很多内容,怎样把这些知识表示手段融入b d i 模型中是一个比较棘手 的问题。其次在实现方面,b d i 作为一种理论模型的描述方法到实际系统的映 射是相当网难的。最后,使用符号推理系统无法克服效率问题,这也是行为主义 学派主要的攻击对象。对任何外界刺激都从知识融合开始、形成信念、建立目标、 进行规划最后做出动作,这是一个开销相当大的过程,对于很简单的活动而言太 过复杂了。据行为主义者的研究,一个人8 0 的日常活动都是“简单”的活动。 b r o o k s 认为人类的智能行为比较复杂,依靠现有的力量无法对其进行模仿,所 以认为机器智能也虑该和人类智能一样有一个进化过程。 当前对a g e n t 的研究主要在多a g e n t 系统方面,a g e n t 间通信和相互作用方 面取得的较大的进展。a o p ( a g e n to r i e n t e dp r o g r a m m i n g ) 的出现和实验性语言 a g e n t o 的设计,反映了a g e n t 的动态特征和多a g e n t 之间的交互越来越受到 研究者的重视。a g e n t 交互通信的语言中,k q m l 是目前主要的a g e n t 通信语言 之一。它既是一种消息格式,又是一种消息处理协议。k q m l 提供了一套标准 的a g e n t 通信原语供a g e n t 问交流共享知识。a c l 是另一个主流的a g e n t 通信语 言,由f i p a 支持发布,为独立开发的a g e n t 提供了基于消息的通信手段。 2 2a g e n t 开发平台概述 a g e n t 应用的价值已经被广泛看好,各方也都在努力研究a g e n t 开发与应用 的工具。但是直到目前y 0 止,有关a g e n t 结构仍然没有统一的标准,这些工具所 提供的a g e n t 系统样式也是有着或多或少的差异。 2 2 1z e u s z e u s 1 2 1 由英国电讯通信实验室( b t ) 开发的多a g e n t 开发环境和组件库。 z e u s 建立在j a v a 基础之上,主要提供了一个由软组件和相关工具组成的库模块, 第二章文献综述 针对协作型多a g e n t 系统,以便用户能够快速设计、开发和部署多a g e n t 系统。 z e u s 主要功能部件是a g e n t 组件库,a g e n t 建造工具集和实用工具集。z e u s 使用f i p a a c l 作为通信原语,运行平台上实现对t c p d p 协议和h t t p 协议的 支持。它通过本体编辑器编辑事实f a c t 来实现态势识别和a g e n t 具有的知识,通 过目标g o a l 和任务t a s k 来实现a g e n t 间的协作,通过可视化的工具集实现对运行 中的a g e n t 实时控制。 2 2 2j a d e j a d e 1 3 1 ( j a v aa g e n td e v e l o p m e n tf r a m e w o r k ) 是由意大利电信实验室t 1 a l b 发起,是目前符合f i p a 规范的最为成熟的免费a g e n t 平台。j a d e 用j a v a 设计 实现的开源软件框架,以中间件形式实现了多a g e n t 运行平台,同时还具有一些 辅助调试和配置的工具。此a g e n t 平台可以跨机器实现分布式,与机器的操作系 统无关,同时还支持远程g u i 的a g e n t 配置。另外,系统还支持在运行期,a g e n t 在各个机器之间的迁移。j a d e 还提供了灵活可靠的消息通讯构架,通过a c l m e s s a g e s 完成a g e n t 之间信息的交互。 在j a d e 提供的a g e n t 运行平台之上,也已经出现了很多架构优良的a g e n t 工具。如j a d e x 和b a s e 系统。 j a d e x 1 4 , 1 5 采用自建的a d f ( a g e n td e f i n i t i o nf i l e ) 描述语言为最大特色。模 型上,其a g e n t 所持有的b d i 模型是从已有的b d i 系统,如商业性的a g e m 开 发工具j a c k ,发展过来的。j a d e x 利用内置目标协商的方法,克服了一些b d i 的弱点,如如何协调目标冲突等。在j a d e x 系统中,a g e n t 包含一组信念( b e l i e f s ) , 它可以是任何类型的j a v a 对象,目标集( g o a l s ) 表示要实现的月标;规划库( p l a n s ) 用来具体实现a g e n t 目标的方法。底层通信的框架即是采用上面提到的j a d e 开 放平台 j a d e x 可以从a g e n t 内部生成代表信念、目标和规划。j a d e x 里a g e n t 拥有的 信念可以是任何一种j a v a 对象,存储在信念库里。目标代表了可以影响到a g e n t 行动的具体的动机。为了达到目标a g e n t 执行规划。代表规划的j a v a 代码中定 义了,针对一个目标的解决方案。j a d e x 将整个a g e n t 的定义都集中到一个a g e n t 定义文件( a d f ) 中。a d f 中,开发者可以定义信念初值和目标初值。规划必 须有实例化的方法。需要定义一个触发器触发要执行的规划。还有包括如开发者 注册服务的描述信息也存储在a d f 中。 b a s e 系统【3 】是本课题所要研究对象的基础,经过逐渐演化,当前的系统是构 建出a p l ( a g e n t p a t t e ml a n g u a g e ) 语言为基础,由j a d e 提供a g e n t 运行环 境,a g e n t 服务以及用户监控的a g e n t 平台。a p l 将实际业务抽象出与业务相关 6 第二章文献综述 的信息,应用时通过a p l 解析器将转换为j a d e 上实际执行的代码,实现多a g e n t 系统的快速构建,实现m a s 的自顶向下的开发,用于提高系统开发的效率,增 强灵活性和可复用性。后文将会给出本系统的详细描述。 2 2 33 a p l 3 a p l ( a r t i f i c i a la u t o n o m o u sa g e n t sp r o g r a m m i n gl a n g u a g e ) 是由k o e n v h i n d r i k s e l 6 】等人提出的,是一种实现认知a g e n t 的编程语言。它提供编程者抽 象的概念来实现a g e n t 的信念,目标,基本的功能( 如信念更新,外部动作,或 交互动作) 和一整套的实用推理规则。目标以基本动作或基本动作组合来定义, 动作作用于更新a g e n t 的信念,推理规则用于规划分解,给定了特定条件下目标 或规划的分解规则。3 a p l 结合了逻辑语言和命令语言的特点【1 7 】,描述a g e n t 怎 么样执行目标用命令语言的方式,而a g e n t 思考能力以基于规则的推理来描述。 基于3 a p l 的程序在3 a p l 的平台才能运行,每一个3 a p l 程序通过一个解析器 执行。这个解析器推理出a g e n t 当前的态度。 2 3m d a 模型驱动开发价值与研究现状 2 3 1m d a 认知 m d a ( m o d e l d r i v e n a r c h i t e c t u r e ) 是o m g 组织近年来一直热炒的一个新的 技术体系,其核心思想为模型到程序代码的自动转换! 网。模型驱动意昧着利用模 型来指导软件的“理解、设计、创建、部署、操作、维护及修改”的全过程【19 i 。 m d a 定义了平台无关模型( p l a t f o r mi n d e p e n d e n tm o d e l ,p i m ) 和平台相关模型 ( p l a t f o r ms p e c i f i cm o d e l ,p s m ) 这两个概念。此两者和代码一起构成了m d a 核心的三种模型。p i m 是具有高抽象层次、独立于任何实现技术的模型。它描述 软件系统如何支撑业务,但并不关心软件是在哪个平台上实现的。p s m 是使用 特定平台的术语描述如何实现业务的模型。一个p i m 可以变换成一个或多个 p s m ,这一步骤是m d a 最核心、最复杂的变换。 m d a 的思路是希望通过对商业模型( 比如企业信息化或建筑领域的解决方 案) 的领域研究,进而提炼出一个相对核心的领域模型,同时抽象出一个p i m 。 之后根据不同的开发平台( 例如n e t 或j 2 e e ) 和应用平台( w i n d o w s 或l i n u x ) 形成相应的p s m 。m d a 以标准化的技术和方法,提供从需求搜集、需求分析、 设计模型,以至对应各种技术平台产生代码的解浃方案。m d a 的核心是p i m 。 因为它是最抽象和协同性最高的。图2 1 【2 j 是m d a 的一个开发周期。 7 第二章文献综述 - a 开发i 生程i = l 平台无荧的艇塑p 嘲忭为疆动 图2 1m d a 开发周期 业界对m d a 的关注也是持续升温。m a r t i nf o w l e r e 2 0 j 认为对m d a 目前存在 两种看法:一部分人认为m d a 是软件开发自汇编语言到高级语言之后又一次革 命性的“突变”;另一部分人则认为m d a 不过是已有的c a s et o o l s 的“昙花一 现”。m d a 是不是c a s et o o l s ? d a v i df r a n k e l 2 1j 为,尽管代码牛成被认为是m d a 的主要成就,但m d a 的本质不是代码生成。o m g 推出m d a 的宗旨是试图把 软件开发行为提升到更高一级的抽象级别一一模型级别,而把针对特定平台的编 码工作交由机器来自动牛成,从而达到分离问题域的业务逻辑和底层的具体实现 平台的目的。这是m d a 的最大的价值体现。 m d a 的出现,为提高软件开发效率,增强软件的可移植性、协同工作能力 和可维护性,以及文档编制的便利性都指明了解决之道。m d a 开发途径使得我 们的系统能够灵活地被实现、集成、维护和测试,系统的轻便性、互操作性和可 重用性都是可以长期保持的,可以应对未来的变化。m d a 已经被面向对象技术 界预言为未来两年里最重要的方法学。 2 3 2m d a 发展现状 当前软件设计所通用的设计语言是o m g 所定义的u m l ( u n i f o r m e dm o d u l e l a n g u a g e ) 。u m l 实现了模型对象和实际需求的对应,并在此基础上形成漂亮的 设计文档。但正如敏捷软件方法所指出的,代码才是软件最核心的元素。m d a 把建模语言用作一种编程语言而不仅仅是设计语言。最终目的是提供支持这样一 种将模型语言( 而不仅仅是u m l ) 与代码结合的工具。为支持通用性,o m g 制 定了如下一系列的标准 u m l :成为建模语言事实上的标准,是m d a 的基础。 m o f ( m e t a o b j e c tf a c i l i t y ) :元对象机制在u m l 更高的层次抽象,描 述u m l 和类u m l 的建模语言。提供了上层的统一标准。 x m i ( x m l b a s e dm e t a d a mi n t e r c h a n g e ) :基于x m l 的元数据交换,通 过标准化的x m l 文档格式,使得最终模型能够被不同工具识别。 c w m ( c o m m o nw a r e h o u s em e t a m o d e l ) 公共仓库元模型提供数据格式 8 第二章文献综述 变换的手段,设定了不同格式、不同级别模型之间的映射规则。 m d a 还处在一个逐渐演化的过程中,随着m d a 研究的飞速发展,人们也 渐渐看出它所存在的问剐2 2 1 。m d a 最大的好处就是业务模型的持久价值,但是 付出的代价是增加了抽象层,而目前看来,层之问的转换并不是我们所期待的那 样顺畅。就当前形势而言,不仅有p s m 到代码的问题,p i m 也是一个瓶颈。另 外,建模技术上,目前的u m l 2 0 还不足以作为建立整个m d a 体系的语言。同 时对于m o f 中的一些定义还有提升的必要。因为对于整个体系而言,m o f 应该 更多的作为一个标准。只有在标准成熟的前提下,才有可能产生正确的映射规则。 一 目前在m d a 开发工具市场上的情形是:由于从p i m 到p s m 转换方法的标 准化尚未完成,i b m 、b o r l a n d 等大型厂商大都持谨慎态度,虽然也纷纷在他们 的开发工具中提供部分的m d a 功能,但并没有完全遵循o m g 定义的m d a 规 范。虽然如此,i b m 除了在r a t i o n a l 中增加m d a 功能之外,在开源项目e c l i p s e 中,也提出了e m f ( e c l i p s em o d e l i n gf r a m e w o r k ) 这一创新的m d a 代码生成系 统项目,由此可见i b m 对m d a 这一发展中的技术的重视程度。b o r l a n d 公司宣 称他们也在关注m d a 技术,并且准备在t o g e t h e r 中配置基于m d a 的模型自动 生成功能。相对于业界大厂的冷静和矜持,一些中小厂商反而特别活跃,像 i n t e r a c t i v eo b j e c t s 公司著名的a r c s t y l e r 、c o m p u w a r e 公司著名的o p t i m a l j ,还有 开放源码的a n d r o m d a 等遵循o m g 标准规范的m d a 工具已在一些项目中得到 了广泛的运用,并取得了显著的成效。 2 3 3e m f 中的m d a e m f 是e c l i p s e 下支持m d a 的工具,使用了x m l l 0 和x m l 2 0 作为模型 存储格式,h 的在于自动化产生代码。e m f 最初是作为m o f 规约的一个实现 【2 3 2 4 i ,但做到后来有所改变和发展。它可以被看做是m o fa p i 核心子集的一个 高效的j a v a 实现,用来构建基于结构化模型的工具或其它应用系统。在m o f 2 0 计划中,m o f 模型的一个类似子集,称为( e m o f ,e s s e n t i a lm o f ) ,也被分 离了出来。e m f 有它自己的简单的元数据,称作e c o r e 。e c o r e 是m o f 的一种 具体实现,在e c o r e 与e m o f 问只存在微小的区别,而且大部分是命名上的区别。 无论如何,e m f 都可以透明地读写e m o f 的序列化存储。同时,e m f 结合面向 对象建模的思想,帮助开发人员快速地将模型转变为高效的、正确的、以及易用 的定制j a v a 代码,只需要一个很低的入门成本,e m f 就可以提供这些益处。对 于日后的代码修改与维护相当方便。 如果给定一个模型,那么e m f 能够自动生成j a v a 源代码【2 4 l 该源码允许 你创建、查询、更新、串行化、反串行化、检验和追踪你的模型实例的变化。e m f 9 第一章文献综述 提供了一组有效的反射删并且允许你用动态的( 非生成的) 模型进行工作。 e m f 支持从x m l 模式,u m l 类图以及被注解的j a v a 接口中生成代码。除了模型 代码,e m f 还能生成一个完整的应用程序,它包括可定制的编辑器。e m f 的优 点就是让代码由类图直接生成,模型需要修改时也在类图上做改动,并且重新生 成代码。e m f 是e c l i p s e 模型驱动开发的基础。 1 0 第三章a p l 语亩模型设计 3 1a p l 概述 第三章a p l 语言模型设计 文酬3 2 5 】研究了智能a g e n t 技术在电子商务,特别是企业信息集成领域的应 用问题。文章以企业业务过程管理为背景,以单黑板的a g e n t 结构为基础,提出 了a g e n t 模板语言a p l ( a g e n t p a t t e r nl a n g u a g e ) 。从企业业务中抽象与具体业 务相关的信息。这个构想是,在应用中由a p l 描述a g e n t 中针对具体应用的数 据类型,知识源组件等,a p l 解析器将其转换为j a d e 上的执行代码,进而实现 多a g e n t 系统的快速构建,实现多a g e m 系统自顶向下的开发,从而提高系统开 发的效率,增强系统的灵活性与可复用性。 a g e n t 模板语言a p l 是一种面向流程的的a g e n t 语言【4 26 | 。a p l 基于x m l 格式,描述一个a g e n t 的部件和功能。a g e n t 的动作和交互序列以有穷状态机的 形式规定下来,形成动作模板。a p l 是可以通过解析器构建出a g e n t 的可实际解 释执行的语言。a p l 面向的应用领域是企业业务流程集成与交互,具有集成遗 产系统的能力。 , a p l 作为问题描述的手段,描述问题所涉及的数据类型、目标等,在基于 黑板的a g e n t 结构当中通过实现的t y p e 、g o a l s t r u c t u r e 等结构用于实现a p l 中 描述的问题场景,并通过一个a p l 解析器将a p l 对问题的描述映射到由t y p e 、 g o a l s t r u c t u r e 等构成的具体实现。解析器生成的a g e n t 在j a d e 平台上协作通信。 3 2a p l 结构分析 3 2 1a g e n t 整体结构 a g e n t 基于单黑板的模型结构,黑板是封装的知识源进行通信的共享数据结 构。最有名的黑板系统是2 0 世纪7 0 年代初r e d 等开发的言语理解的h e a r s a y 系统【2 7 1 。一个典型的黑板系统由三个部分组成【2 8 】:黑板,黑板控制机制和知识 源组合。本系统中,黑板中主要存放a g e n t 的公有数据,各知识源通过黑板获取 各自的信息,并作出动作的可执行决策。而黑板控制上下文就是协调这些知识源 的机构,负责整个a g e n t 的运行。a g e n t 黑板结构这三部分的关系如图3 1 【4 】所示。 第三章a p l 语言模型漫计 1 :s c h e d u l e2 :s e l e c t3 :o b s e r v e n o t i f y4 :s e n d d i s p a t c hm e s s a g e 图3 1 基于黑板的a g e n t 结构 3 2 2 黑板部分结构 黑板是由概念集组成的数据区,这些概念集从软件对外应用的建模中得到。 外部的应用被认为是概念与其上操作的二元组:s = ( c s ,m s ) 。针对概念的模型, 在a p l 中用t y p e 表示所建模数据对象的类型,用i n s t a n c e 表示数据对象实例, 用r e l a t i o n 表示数据对象问的联系,用f u n c t i o n 来定义a g e n t 规划时可选的动作。 对于每一个t y p e ,有若干描述对象特征各项属性,都有一个从属的对象集 合。类型可以组合,t y p e 的属性类型可以是另一个t y p e 。其定义为 t y p e = t y p e n a m e a t t r i b m e ;r e l a t i o n 则决定了a g e n t 规划执行的条件,定义为 r e l a t i o n = r e l a t i o n n a m e t y p e ;f u n c t i o n 定义a g e n t 的a p i 操作,是a g e n t 预定 义的可选动作,定义为f u n c t i o n = f u n c t i o n n a m e c l a s s n a m e m e t h o d n a m e 。这 些元素在黑板上为各知识源所共享,当这些元素的设定满足知识源的前提条件, 知识源执行目标。 3 2 3 目标规划部分结构 目标是a g e n t 所要实现的结果,作为黑板知识源存在,当目标的前提条件得 到满足,则a g e n t 尝试求解。并且,可以将一系列相关的动作放到一个目标当中, 当目标前提条件得到满足,这些动作将依次次全部得到执行。每一个目标都有自 1 2 第三章a p l 语言模型设计 己的优先级,当多个目标的前提条件得到满足时,优先级高的目标被先行求解。 这样,目标部分的定义规定为g o a l = g o a l n a m e p r e c o n d i t i o n p r i o r i t y i n p u t s e t s 。而其中i n p u t s e t 由多个i n p u t l n s t a n c e 组成,i n p u t s e t = i n p u t l n s t a n c e 规划部分是a g e n t 智能性的主要体现部分。a g e n t 在其规划中声明了对各目 标的求解过程,本系统中,规划以d f a 有穷自动机的形式声明。在规划中的各 种状态都有其相关的状态规则,规定了状态的转换条件和转换动作。规划的定义 为p l a n = p l a n n a m e o b j e c t i v e 。goal s t a t e s e t s t a t e r u l e st r a n s a c t i o n s e t 3 3 利用e m f 对a g e n t 建模 3 3 1e m f 建模规则与。e d i t 工具 e m f 包括两个基本的框架,c o r e 框架与e m f e d i t 框架【2 2 1 。c o r e 框架通过为 模型创建实现类,提供基本的代码牛成与运行时支持。e m f e d i t 基于c o

温馨提示

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

最新文档

评论

0/150

提交评论