已阅读5页,还剩85页未读, 继续免费阅读
(计算机软件与理论专业论文)适应性软件体系结构的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 分布式的企业信息管理系统需要良好的机制来协调动态分布环境中的各个 组件,以便共同工作完成既定的目标。这样的系统通常需要一个全局的策略来 完成分布式环境中组件的协调工作。目前,多数企业信息管理系统的全局策略 是在系统的设计阶段选择确定的。这种“静态”的全局策略伴随着软件系统的 整个生命周期,不允许被修改。在软件系统实际运行阶段很有可能出现在设计 阶段预料不到的情况,采用“静态”的全局策略管理很难应付不断出现的新需 求。目前,多数企业信息管理系统都不能根据实际环境中的变化选择较好的策 略,也不能进行策略间的切换,从而达到重新配置系统的目的,所以系统的适 应性水平不高。随着越来越激烈的市场竞争和物流业的快速发展,各个企业的 经营管理已经从“以商品为中心”转为“以客户为中心”。这种转变决定了企业 管理应具有快速的变化性。“多年不变,一劳永逸”的软件系统不会再存在。在 构建企业信息系统时,提高软件系统的可用性和适应性已从一个可选择的特性 变为一个必须考虑的特性。 本文从软件体系结构角度出发解决企业信息管理系统的适应性问题,提出 了s a s r c ( s o f l w a r e a r c h i t e c t u r es u p p o r t i n gr u n t i m e c h a n g e ) 体系结构,可以协调 和处理运行过程中所产生的变化。s a s r c 由应用层和变化协调层组成,商业逻 辑的处理和变化协调的处理被放在不同的层次上。s a s r c 的反射( r e f l e c t i o n ) 机 制允许系统在运行过程中监视并且调整系统内部的功能单元,达到重新配置系 统的目的。 为验证s a s r c 的可行性,本文举了将s a s r c 应用于工作流领域的例子。 在应用实例中,将s a s r c 与日益成熟的j 2 e e 技术以及j m x 技术相结合,开 发了基于工作流的实例系统。所构建的基于s a s r c 的工作流实例系统可以在运 行中完成对策略的切换。 工 北京工业大学工学硕士学位论文 关键词:软件系统的适应性、软件体系结构、s a s r c 、反射、j 2 e e 、j m x 工工 a b s t r a c t a b s t r a c t d i s t r i b u t e d e n t e r p r i s es y s t e m sr e q u i r e c o o r d i n a t i o no ft h e c o m p o n e n t s i nt h e d y n a m i c d i s t r i b u t e de n v i r o n m e n tt oa c h i e v eas e to fg o a l s i ng e n e r a l ,t h e s es y s t e m s u s eag l o b a lp o l i c yt od ot h ec o o r d i n a t i o nj o b ,w h i c h ,i nm o s to ft h ee n t e r p r i s e i n f o r m a t i o nm a n a g e m e n ts y s t e m s ,i ss e l e c t e d a tt h e d e s i g na n a l y s i sp h a s e t h e p o l i c yu s u a l l ys t a y su n c h a n g e dd u r i n g t h e a p p l i c a t i o nl i f ec y c l e t h a tm a k e st h e p o l i c yf i x e d t h es t a t i cp o l i c yi sh a r d l yt oc o p ew i t ht h eu n e x p e c t e dc i r c u m s t a n c e s , n o rs a t i s f i e st h en e wr e q u i r e m e n td u r i n gr u n t i m e t h eo v e r a l la d a p t a b i l i t yo ft h e s y s t e ma p p e a r sl o w m o r e o v e r ,t h a n k s t ot h ef u r i o u s c o m p e t i t i o n a n dt h ef a s t d e v e l o p m e n t o f l o g i s t i c s ,t h em a n a g e m e n t m o d e lo fm o s te n t e r p r i s e si st r a n s f o r m i n g f r o m “c o m m o d i t yc e n t r i c ”t o “c u s t o m e rc e n t f i c ”,w h i c hr e i n f o r c e sa d a p t a b i l i t yo f t h ee n t e r p r i s e t h e r e f o r e ,t h ea d a p t a b i l i t yo ft h ee n t e r p r i s ei n f o r m a t i o ns y s t e mh a s b e c o m en ol o n g e ra no p t i o n ,b u tan e c e s s a r yr e q u i r e m e n t t h i sd i s s e r t a t i o ni n t r o d u c e sas t r a t e g yo ft h ea d a p t i v es o f t w a r ea r c h i t e c t u r ea n dg i v e s a ne f f o r tt os o l v et h ep r o b l e mo ft h es t a t i cp o l i c yo ft h ee n t e r p r i s ei n f o r m a t i o n m a n a g e m e n ts y s t e m f r o mt h es o f t w a r ea r c h i t e c t u r ev i e w t h i s d i s s e r t a t i o n i n t r o d u c e sa na r c h i t e c t u r ec a l l e ds a s r c ( s o f t w a r ea r c h i t e c t u r es u p p o r t i n gr u n t i m e c h a n g e ) t h i sa d a p t i v ea r c h i t e c t u r eh a st w ol a y e r s a p p l i c a t i o nl a y e ra n dc h a n g e l a y e r t h ed i s p o s a lo fb u s i n e s sl o g i cu n i t sa n dt h ec h a n g ec o o r d i n a t o r sa r er e l a t i v e l y i n d e p e n d e n ta n da r e s e ti n s e p a r a t el a y e r s t h er e f l e c t i o nm e c h a n i s mo fs a s r c a l l o w st h es y s t e mt og o v e r nt h ei n t e r n a ls t a t eo f t h ec o m p o n e n t si nt h es y s t e md u r i n g m n t i m et oa c c o m p l i s hr e c o n f i g u r a t i o nf o rt h es y s t e m t od e m o n s t r a t et h eu s a b i l i t yo fs a s r c ,w ed e v e l o pac a s es y s t e mi nt h ew o r k f l o w d o m a i nb a s e do ns a s r c i nt h i sc a s e ,w ec o m b i n es a s r cw i t hj 2 e ea n dj m x t h es a s r cb a s e dw o r k f l o ws y s t e ma c h i e v e st h eg o a lo f p o l i c yc h a n g i n gd u r i n g i i i 北京工业太学工学硕士学位论文 k e y w o r d s :a d a p t a b i l i t y 、s o f t w a r ea r c h i t e c t u r e 、s a s r c ,r e f l e c t i o n ,j 2 e e 、j m x i v 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,电不包含为获得北京工业大学或其它教育 机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示了谢意。 签名:约达硼:鱼 关于论文使用授权的说明 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有 权保留送交论文的复印件,允许论文被查阅和借阅;学校可以公布论文的全部 或部分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 签名 胜名:邳峰吼坐衫 峄 第1 章绪论 第1 章绪论 1 1 分布式的企业信息系统环境 面临市场经济大环境和网络计算技术飞速发展的形势,管理信息系统的建 立需适应这些环境。管理信息系统将不再是局限在同一局域网络服务器上的系 统,而要覆盖企业的各个分支机构。支持分布式应用。7 3 是该软件的一个特征。 信息系统将处于一个全局的动态环境中。在该环境中,分布在系统中的组 件共享资源,如:网络资源、中间件资源。每个组件拥有一个局部环境并将 局部资源共享。在这个动态的环境中,运行环境中的功能参数和非功能参数常 常会发生变化。功能参数关系到系统的可用性,可扩展性。比如:新需求要求 增加新功能或对已有功能进行更新。非功能参数关系到软件系统的服务质量 ( q o s ) ,如:网络带宽,处理器能力,响应时间,内存可利用率等。 软件系统所处的“动态环境”使得人们日益重视软件系统的“适应性”这 个质量因素。简单地说,“适应性”指处于“动态环境”下的软件系统需根据动 态环境中的信息调整自身的行为。 目前,工作在这样一个动态环境下的系统面临一个重要问题:大多数的系 统设计都采用一个事先设计好的全局静态策略( 本文将这样一个处于动态环境 中的唯一的全局决策称为全局静态决策。) 管理“动态环境”中的各个组件,使 之相互协调工作。而在实际环境中,每一个应用程序组件在其整个生命周期中 会处于不同的环境中。每一个环境下都会有一个较之其它策略更适合的策略用 于协调组件的工作。尽管采用一个静态全局策略作为“最佳策略”解决各个环 境中的问题可使软件系统设计变得容易,但是这种设计很难提高软件系统的可 适应性。这主要因为: 全局静态策略通常在设计阶段确定。虽然设计全局策略时,设计人员会重 点考虑对系统资源的划分,但这种考虑多是基于设计人员的经验和对实际软 件系统运行环境的假想。这种“假想”与实际情况总会有预料不到的差别, 因而事先的设计势必在一定程度上会影响运行时( 即在动态环境中) 对系统 资源的有效利用。 全局静态策略一旦设定,就不允许更改。这种“静态”特性很难满足日后 不断出现的新需求,很难对现有软件系统进行不断扩充。而随着越来越激烈 的市场竞争和物流业的快速发展,各个企业的经营管理已经从“以商品为中 心”转为“以客户为中心”。这种转变决定了企业管理的快速变化性。“多年 不变,一劳永逸”的软件系统不会再存在。提高软件系统的可用性和适应性 北京工业大学工学硕士学位论文 已从构建企业信息系统的一个可选特性变为必须要求。 企业信息系统在“动态环境”中面临两种变化因素:一种是面向非功能的 与网络质量服务( q o s ) 相关的参数变化;一种是面向功能的需求变化。显而 易见,前者的“动态性”势必会使其与所选举的全局静态策略在运行环境中对 资源的分配发生冲突。后者对于使用“全局静态策略”的软件系统来说更是一 个实现上的难点。除此之外,在设计阶段,选取一个全局静态策略是一个较为 艰难的评价过程。这是因为处于系统中的应用程序之间共享系统资源。适合一 个应用程序组件的策略很可能对其他应用程序组件就是一个瓶颈。例如:在实 际环境中,很有可能出现如下情况:根据全局静态策略为一个应用程序组件实 例在某个条件下分配了较多的资源,从而导致一个运行其他应用程序组件实例 但优先级较高的任务迟迟得不到处理,而这又恰恰违反了全局静态策略中关于 优先级的规定。 总而言之,全局静态策略的设计是一项繁杂和细致的工作。本文的目标是: 使全局策略由静态性向动态性转变,提高软件系统的健壮性和适应性。本文将 从适应性软件体系结构角度出发,阐述建设具有适应性能力的企业信息系统架 构的思想。 1 2 适应性软件系统的需求与本文目标 本文1 1 节阐述了工作在动态环境下的系统所面临的问题,认为构建适应 性的软件系统有助于问题的解决。本节介绍适应性软件系统的需求。 软件所面临的问题 追根溯源,首先看一下软件开发过程中的问题。软件开发过程中面临的一 个关键问题是:需要投入大量时间和人力。开发各个阶段对需求的更改都会在 不同程度上引发软件结构更改和代码重写。这种脆弱性要求构建具有适应性的 软件系统,以满足用户需求和运行环境的变化。适应性软件系统应能发现变化、 描述变化的目标、形成为适应变化所需进行的操作步骤。 适应性软件系统 适应一t c 9 j 是指:“软件系统可以根据其所处环境的变化的有效信息调整自己 的行为”。 具备适应性的软件系统的优势主要体现在【2 9 】:可以更容易地接纳新需求, 增加新特性,有利于软件的快速开发。适应性的软件系统还使得在维护阶段修 复软件系统的错误变得容易。通常,维护阶段的系统错误和需求更改会造成很 大的人员和资源耗费,甚至给系统带来颠覆性的变化。软件系统具备可适应性 2 第1 覃绪论 会将这一损耗降至可接受的范围。 构造适应性系统的重要问题是要确定什么时候、如何去动态地适应系统; 系统环境中的哪些因素应被设定为适应的目标;如何评估适应的结果? 更具体 地说:软件系统的适应性依赖运行环境中的许多凼素,比如:用户所要完成的 任务;用于处理适应性问题的系统资源。通常,适应性系统在运行中通过一些 组件进行系统环境的监控,并通过监控信息向系统提供进行适应性行为调整的 策略。监控信息多是一些处于系统较低层次的信息。这些信息需经过抽象,形 成易于理解的信息,再交由系统较高层次处理,进一步形成适应性策略。系统 按形成的适应性策略进行动态配置。动态配置是指在不重新启动系统的情况下 对系统进行的重新配置。 综上,可以看到适应性系统的三项基本需求是: 发现并捕捉到动态环境中的变化 对变化信息进行分析 根据分析结果进行协调 值得强调的是:一个适应性的软件系统,应从软件体系结构设计开始就需 要考虑其可适应性。本文目的就是要从软件体系结构角度出发,构建可以满足 上述三项基本需求的软件系统框架,从而使依据此框架开发的软件系统可以很 好的满足适应性这一重要的需求要素。 1 , 3 应用领域的选取 工作流程管理与企业信息管理系统密不可分。鉴于其重要性,在为企业信 息系统构建适应性软件体系结构时,本文选取企业信息系统的工作流程管理作 为研究的应用领域。 工作流程管理在企业日常活动中表现为工作与工作之间的传递或转移的过 程。工作流程管理是对这个过程的控制、协调与优化。其具体内容包括:过程 的建模、流程的跟踪、工作的重组、加强工作的联系,通过信息快速流转提高 工作效率等。 分布式工作流系统主要针对企业的分布式特征提供一个资源开放系统,使 用户能透明地应用由不同机型、不同运行平台组成的异构型计算资源,借助信 息共享的分布式技术完成一个业务流程。 本章第一节提到:在分布式环境中,组件通常通过一个全局静态策略来协 调工作。如果一个分布式的工作流系统依赖一个全局静态策略,那么这个策略 应能解决如下两个基本问题: 3 保证流程的正确扭转,即对业务流程的控制。 保证分配足够的资源到每个业务流程的任务节点,用于完成业务的处理, 即实现对于业务流程的协调与优化 本章第一节也曾指出:设计阶段提出的全局静态策略虽然包含了对系统资 源分配的考虑,但是这种事先的“考虑”很有可能与实际运行中网络服务质量 ( 0 0 s ) 因素发生冲突。因此,依靠全局静态策略解决业务流程的协调与优化问 题有一定困难。此外,全局策略的“静态”特征也加大了适应业务流程规则( 即 工作流程的定义) 改变这一需求的实现难度。 1 4 需要解决的问题描述与本文的主要工作 从前三节内容可以看到:分布式企业信息系统需要在系统中具备协调机制。 目前,大多数软件系统采用一个全局静态策略作为协调机制。这种协调机制并 不健壮,主要体现在:软件系统运行过程中缺乏对共享资源分配和对需求变化 的适应性。第二节简要介绍了适应性软件系统的需求,从中可以看到从适应性 软件体系结构角度入手,可以帮助解决企业信息系统策略变化的适应性问题, 从而使企业信息系统有效地应对功能需求的动态改变和资源的动态分配。 本文的主要工作有: 介绍一种基于适应性系统思想的体系结构和方法:s a s r c 。 应用s a s r c 解决企业信息系统中工作流策略变化的适应性问题。 依据s a s r c 构建的实例系统可以适应企业工作流的动态变化。其简要思想 是:将业务逻辑处理和变化协调处理分别放在不同的层次上。体系结构中 的策略维护代理组件会自动检测策略的变化,变化协调代理组件会根据检 测出的策略变化,形成进行变化协调方案并执行。基于s a s r c 的流程管理 系统可以在系统运行过程中实现对工作流策略的切换。 1 5 本章小结与整篇文章的架构 本章介绍了企业信息系统中的现有问题,适应性软件系统的需求以及本文 的覆盖范围与主要工作。第二章介绍本文研究工作所涉及的概念和技术。第三 章介绍s a s r c 体系结构。主要介绍s a s r c 的静态结构与协调变化机制。第四 4 第1 章绪论 章介绍如何将s a s r c 应用于企业的工作流系统。这一章会给出实例,用于验证 s a s r c 的可用性。第五章是本文的结论和今后研究要点的简要介绍。 0 北京工业大学工学硕士学位论文 第2 章研究背景和相关的知识和技术 本章着重相关知识点和技术的介绍。每一个相关知识点的介绍大致包含三 部分:第一部分为基本概念介绍;第二部分为研究发展现状;第三部分为本文 对于该概念的理解以及本文重点应用和借鉴的观点。本文还将着重讨论对于概 念领域的理解,分析采用技术的原因。 2 1 软件体系结构的研究介绍 当前,软件体系结构“儿”叫”m “仍是一个非常新的研究领域,其概念还相当 模糊。但软件体系结构已愈来愈受到大多数软件系统设计和研究人员的重视。 软件体系结构的研究工作主要集中在国外,国内到目前为止对于软件体系 结构的研究尚处在起步阶段。软件体系结构在国内未引起广泛注意的原因,本 文认为主要是因为:软件体系结构从表面上看似乎是一个老话题,没有新鲜内 容。其实不然,随着对大型和超大型复杂软件系统开发需求的日益增加,人们 对于软件危机的灾难性体会将会越来越深刻,因而对软件体系结构进行较为深 入地研究是非常重要和必要的。 软件体系结构目前没有统一定义。如将其描述为“可计算的构件和构件间 相互作用的描述元素组成的集合”“3,或将其看成“由组件和连接子构成的 集合。组件和连接子的配置说明构成的一个动态、可进化、可升级的系统。”。3 从这些定义可看出研究人员之间存在共识,即软件体系结构是系统高层次上的 模型和逻辑描述。它强调结构描述,用于确定系统开发的根本策略,是所有与 系统相关人员的交流媒介。本文认为其具体体现在: 软件在抽象系统层次的全局性描述 软件体系结构是从不同角度对软件系统进行描述的总和,包括从逻辑或物理角 度,从静态或动态角度描述软件系统。软件体系结构能使所有相关人员都清楚 该系统中他所希望了解的部分。因此软件体系结构被用作客户、最终用户、开 发者、管理者等不同人员间的交流媒介。这一点与软件开发中常提到的概要设 计不同。概要设计是针对开发人员的文档。 早期的设计决策 软件体系结构可看成是系统的早期设计决策。针对该决策,通过设计系统运行 “场景”( s c e n a r i o ) ,不同人员( 客户、最终用户、开发者、管理者等) 共同 讨论软件系统质量需求,筛选、补充、修正软件体系结构不同候选方案,最后 6 第2 蕈研究背景和相关的知识和技术 决定最佳设讨、方案,最大满足系统需求。 相比实际系统或开发中的演示版系统,软件体系结构是一个较小的易于理 解的系统模型。比如:构建应用于商业的信息系统时,软件体系结构层次上的 设计常从框架角度出发进行搭建。常见的商业框架有7 2 e e 、n e t 等。这种框架 机制的核心内容就是“抽象提炼和鼓励重用”,其目的在于提高软件质量,使软 件系统的体系结构设计成为软件产品或软件产品家族的基础。 软件体系结构定义软件系统中完成运算并对外呈现一定功能的部分为 e l e m e n t ,e l e m e n t s 之间采用称为r e l a t i o n 的关系连接。( 早版本的软件体系 结构书中称e e m e n t 为c o m p o n e n t ,称r e l a t i o n 为c o n n e c t o r 。一个软件系统 由若干c o m p o n e n t s 和c o n n e c t o r s 组成。) 目前,在软件体系结构领域,较为活跃的研究方向包括: 软件体系结构形式基础的研究。 提供新的软件体系结构描述语言( a d la r c h i t e c t u r ed e s c r i p t i o nl a n g u a g e ) 。 建立用于度量和评价软件体系结构的模型和方法。“。 提供特定领域的软件系统体系结构框架并建立面向专门领域的软件体系结 构范型库。 把软件体系结构从目前的直觉和经验状态过渡到理论。 本文将重点放在“提供特定领域的软件系统体系结构框架”这一范畴内, 将提供:“具有可适应性的企业信息系统的软件体系结构框架”。 2 2 动态软件体系结构的介绍 第一章提到一个具备良好适应性的软件系统应能够在一个“动态环境”中 生存。“动态性”特点在软件系统的运行期间体现的尤为明显。研究软件体系 结构运行时的性能是动态软件体系结构这个领域所关心的问题。 动态软件体系结构“”“”描述的是一个系统运行时的模型。此时,系统中的 c o m p o n e n t s 和c o n n e c t o r s 都被看为可执行的实体。从动态体系结构角度看,这 些c o m p o n e n t s 和c o n n e c t o r s 可以被随时创建和销毁,从而带来软件体系结构的 重新配置,体现软件系统的动态性。简单地说,动态软件体系结构就是要研究 什么是运行时的变化、运行时的软件系统的体系结构什么时候变化和如何变化。 目前,在动态软件体系结构领域有如下几类研究方法: c h a m ( c h e m i c a l a b s t r a c tm a c h i n e 、 c h e m i c a l a b s t r a c t m a c h i n e “”“”模型用于描述系统的计算行为。该模型将计算的 行为视为数据元素间的系列反映。i n v e r a r d i 和w o l f 首先使用c h a m 描述静态 的软件体系结构。l em e t a y e r 将动态软件体系结构看成图。软件体系结构的动 7 态性由图的重写规则体现。w e r m e l i n g e r 在上述研究的基础上,将图形的语法和 c h a m 的模型结合起来描述自组织的软件系统。 过程代数 英国帝国大学采用过程代数研究软件体系结构的动态性。过程代数是采用代数 方法研究并发过程的方法总称。该大学的一项研究成果就是软体系结构语言 d a r w i n “”。d a r w i n 提倡系统的“构成性”风格。它将系统清晰地分为程序结构、 计算和交互。在c 3 d s 项目中,英国帝国大学的研究人员探讨了如何用d a r w i n 的结构描述作为系统行为分析的框架。 事件系统o “ 事件系统是将系统的变化看成是事件的集合。值得一提的是u c i 在这方面的研 究工作。在他们的c 2 s a d e l 项目中,组件间的通信是通过对事件的,播来实 现的。其动态机制考虑了系统拓扑结构的变化和重配置时间的变化。事件系统 非常适用于分布式和自适应系统的描述。 图形语法参见上面提到的l em e t a y e r “”的研究成果。 逻辑重写 逻辑重写。”以一种简单的方法描述了逻辑和计算间的一种平衡。m e s e g u e r ”研 究如何使用逻辑重写作为体系结构描述语言的语义框架。 范畴理论 l i l e a n n a 是一种基于范畴理论的复杂的软件体系结构描述语言。 考虑到事件系统的方法对于分布式和适应性系统更具有针对性,本文采用该 方法作为主要研究手段。 2 3 基于组件的软件体系结构的介绍 构建“具有可适应性的企业信息系统的软件体系结构框架”的过程需要借 鉴许多相关概念、使用一些较为成熟的技术,这势必导致在搭建架构的过程中 用到已有的第三方组件;并且当将所搭建好的架构应用到一个具体环境中时, 还需考虑如何将该环境中已有的组件恰当地放置到框架中来。此外,出于经济 和产品进入市场时间紧迫的压力,在当今的软件开发过程中,使用第三方组件 已成为唯一可行的选择1 ”m “。因而在搭建框架之前对于组件与软件体系结构之 间的关系给予充分地考虑是极有必要的。 在面向对象和分布式系统领域,组件c o m p o n e n t 通常被看成是可以重用的 r r 程序块”m ,。一个“程序块”可以和其他“程序块”一起被用于一个分布式 的环境中。它们在分布式的环境中可以被部署在网络上不同的服务器上,根据 8 第2 覃研究背景和相关的知识和技术 不同的服务,在不同的组件之间进行交互。从定义可以看出,组件的目的在于 “软件重用”。在实际开发过程中可利用的“重用”组件主要表现在两方面: 厂商组件包 经过软件开发商仔细的设计,在比较宽松的约束条件下,这些包总能使用,体 现出软件高强度的重用。如:数据库管理系统采用o r a c l e 公司的产品,则o r a c l e 公司的j d b c 或o c i 包就是数据库连接的首选。 各研发团体自己开发的应用程序包 这种重用体现在软件框架和运算逻辑的重用。只要有相同或相似的项目,就可 重用已有成果。如:开发某企业信息系统,设已有“组织机构管理组件”,若该 组件能保证实现新系统对部门、人员管理的需求,则可重用,否则直接重用将 失败。 如果软件系统各部分都可以单纯地由上述二者中的一项决定,那么软件的 开发和维护并不难,而实际系统中许多模块由上述两项混杂而成。这样的模块 不易更改和维护,以后也很难重用。因此,为保证软件质量,在设计系统时应 尽量避免采用这种混杂的“重用”模块,而应通过清晰的接口连接厂商开发的 组件包和应用程序组件包,来组成应用系统的结构。 对比组件和软件体系结构的定义,可以看到面向对象和分布式系统中提到 的组件和软件体系结构中的e l e m e n t 概念有相似之处。它们之间的差别在于: 组件粒度的不同。面向对象和分布式系统中提到的组件指的是一个可以提供一 个或多个极为详细功能的“程序块”,而软件体系结构概念中的e i e m e n t 的粒度 相对较粗。e l e m e n t 虽然也规定了所需完成的计算和对外呈现的功能,但这个 定义并没有在此具体给予说明采用什么方法实现。在实际中,特别是在面向对 象的软件设计中,根据软件体系结构构建软件系统时,一个e l e m e n t 在实现上 通常会包含若干个面向对象和分布式系统中提到的组件c o m p o n e n t 。即一个粗 粒度的软件体系结构设计层次上的e l e m e n t 在实现中体现了由细粒度的组件构 成的特点。因此,本文认为支持软件组件应是软件体系结构所具有的特点, 同面向对象和分布式系统中提到的组件的特点一样,软件体系结构也强调 重用。这在软件体系结构领域由风格这一概念体现。风格即系统模式,如m v c ; 或是软件系统框架体现,如商业系统框架j 2 e e ,n e t 等。这些商业框架都有着 一套规范用于策划、安置对应的组件;而针对这些商业框架,不少软件厂商已 提供了许多商用组件。 总之,一个软件系统由共性和特性共同决定。共性由框架体现,特性由在 框架之中的不同的组件体现。每一个组件都要符合框架的规范,从而使一个系 统由粗粒度的设计转变为细粒度的实现实体。 可见,基于组件的开发方法是软件系统设计的一种方式。3 。组件是从面向对 9 象概念出发的,因此为更好地支持基于组件的开发,所设计的软件体系结构应 更清晰地表现出如下特点: 支持组件的可替换性 软件体系结构应易于组件的替换。定义清晰的规范说明替换的规则,这样使得 可以从众多厂商提供的组件中选择最合适的一个。比如:在一个j z e e 服务器产 品中都会有数据源的管理。在配置数据源时就可以根据需求选用不同的数据库 厂商的产品,如o r a c l e ,s q ls e r v e r ,s y b a s e 等。 支持组件的可定制性 这主要是指:一个组件在被用到一个具体的设汁之前可以参数化。不同的设计 都用到带有不同参数的同一个组件。仍以j 2 e e 服务器的数据源组件为例:在 j 2 e e 框架下,可以通过配置不同厂家的数据库连接串参数定制每一个设计方案 特定的数据源。 2 4 适应性软件系统的研究介绍 第12 节介绍了适应性系统的概念和需求:适应性的系统需不停的从环境 中获取信息来改进系统的行为。构建适应性系统的困难在于环境的不断变化。 设计阶段得出的静态决策只是基于对系统运行时环境的假设。 本节主要讨论目前适应性软件系统的研究方法。目前适应性系统研究领域 用到的几种关键的技术是: 动态编程语言d y n a m i cp r o g r a m m i n gl a n g u a g e s 动态编程语言的特点是该种语言在运行时可以改变程序的结构,包括:引入新 的方法;去除已有的方法;创建新的对象和新的模块。s m a l l t a l k ,s c h e m e ,l i s p , d y l a n ,p y t h o n ,p e r l 属于这一类语言。动态编程语言的特性使得基于其的系统可 以构建、重构建和更改复杂的程序。j a v a 语言虽然不是动态编程语言,但是也 具备动态的特性,如:j a v a 的类装入,j a v a 类的反射以及用j a v a s s i s t 进行类的 转换。 代理技术a g e n tt e c h n o l o g y 代理技术的一个主要的观点是要根据用户的选择做出相应的反应“”。例如: 在i n t e m e t 上一个代3 n ( a g e n t ) 程序会根据用户输入的参数进行搜索,搜索用户感 兴趣的信息,并且周期性的将搜索到的结果呈现给用户。代理a g e n t 也通常被 称为b o t 。运用a g e n t 提供信息的技术被称为p u s h 技术。本章第五节将详细的 介绍a g e n t 技术。 决策技术d e c i s i o nt e c h n o l o g y 1 0 第2 蕈研究背景和相关的知识和技术 决策理论的主要包含:1 ) 足够的知识2 ) 分析技术。决策理论运用以上两点帮 助决策决定者从可选的方案中选取最好的方案。在研究适应性的软件系统领域, 町运用决策技术从一个不稳定和变化的环境中获取所需的信息,并通过对所得 信息的分析得到进行调整的决策。 加强性学习方法r e i n f o r c e m e n t l e a r n i n g r e i n f o r c e m e n tl e a r n i n g 的主要思想是学习需要做什么,学习如何将一个“情景” 映射到用于进行情况处理的步骤上。学习者不会被告知应该采取的处理步骤, 而是要自己去发现采取了哪些步骤地获益是最大的。通过足够的训练,加强试 学习可以保证获得最佳的响应策略。例如,加强性学习方法用于解决移动电话 的信道问题。假设需要最大价值地利用已有信道,使得干扰和掉线率都为最低。 h a r l e q u i b 加强性学习算法可以动态地适应通话模式的变化。该方法也被运用于 其他领域,如:航天、电梯和机器人控制。 p r o b a b i l i s t i c 网络 p r o b a b i l i s t i c 网络,也称为贝叶斯网络,是描述数据变量之间依赖关系的一种图 形模式,一种用来进行推理的模型。贝叶斯网络提供了一种方便的框架结构来 表示因果关系,这使得不确定性推理在逻辑上变得清晰、易于理解。 本文主要采纳a g e n t 技术的观点来实现企业信息系统的适应性。下一节将 介绍采用a g e n t 技术观点的原因并简要介绍本文的引用理念。 2 5 选择a g e n t 技术观点的原因 本节将详述采用a g e m 技术观点的原因并简要介绍本文是如何引用该观点 的。具体如下所示: 采用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 只与处于其“前”或“后”( 前后指物流处理链上的前后) 通信。每一 个a g e n t 只负责a g e n t 本地的逻辑处理。基于这种设想的系统可以最大限度地 满足企业灵活性的需求。 采用a g e m 技术观点有利于错误的局部化。在本文的设计中每一个a g e n t l 】 只是向下一个节点输送信息,每一个a g e n t 管理自己局部的资源。当在一个 a g e n t 处出现错误或是异常,错误和异常会存于本地,不会被进一步扩散。出 现异常的a g e n t 可以请求上一个a g e n t 进行消息的重发,而不必从头重做。 2 6 适应性工作流( a d a p t i v e w o r k f l o w ) 第一章中已对工作流及其分布的特性作了介绍。这里着重讨论工作流的适 应性问题。 传统的工作流设计思想虽然包含了对于环境中变化的适应性考虑,但是诚 如前面所述,这种考虑多以设计阶段得到的静态策略为主。随着企业对于业务 流程灵活性要求的提高,特别是“虚拟企业”的出现。各个部门间的松散合作 关系使得原先在设计阶段对工作流策略的一次性制定行为成为影响灵活性的关 键因素,对工作流的适应性要求越来越强烈。 适应性的工作流“8 “”。主要包含三个问题: 正确程度 正确程度主要指什么样的改变是被允许的,这种改变带来的对于流程的重新定 义是否是正确的。 动态变化 动态变化针对运行环境中的流程改变。主要解决当流程定义发生改变时已经运 行的流程但未终止的流程实例如何处理。 流程的管理 流程管理主要解决如何监控并向用户提供各个流程实例所处的状态。 2 7 本章小结 本章介绍了本文研究课题所设计的主要知识点、技术观点和我们对这些知 识点和技术观点的理解。本章还简要说明了如何在研究过程中引用和使用这些 知识和技术观点以及它们所起的作用。 1 2 第3 章s a s r c 体系结构的介绍 第3 章s a s r c 体系结构的介绍 前面章节分析过用一个在设计阶段选择的“静态”全局策略来协调运行环 境中的各个组件不能使软件系统具备很好的适应性。一种解决方法是:允许在 运行时进行策略的切换,让所构建的软件系统能够“适应”运行时的策略变化, 增强软件系统的适应性。前面章节还强调:具备适应性的软件系统应在软件体 系结构层次上就具有可适应性。本章将介绍支持运行时策略变化的软件体系结 构( s o f t w a r ea r c h i t e c t u r es u p p o r t i n gr u n t i m ec h a n g e ) 。s a s r c 除了包含业务处 理逻辑,还包含策略变化协调机制,使之可以较为容易地处理运行环境中策略 的变化。本章第一一部分将介绍软件系统运行环境中策略改变应注意的问题。第 二部分将介绍并且比较两种描述s a s r c 的语言:体系结构描述语言 f a d l ) w r i g h t 和u m l 。第三部分是本章重点。该部分将详细介绍s a s r c 的组 成。第四部分将介绍s a s r c 主要c o m p o n e n t 间的通讯行为。第五部分介绍 s a s r c 的r e f l e c t i o n 机带【j 。 3 1 软件系统的运行环境下策略改变应注意的问题 从软件体系结构角度观察,运行时策略的变化将引发系统中c o m p o n e n t s 和 c o n n e c t o r s 的变化。根据发生范围,这些变化可被分为如下两类”1 : c o m p o n e n t 的内部变化 这样的变化发生在c o m p o n e n t 的内部,只改变c o m p o n e n t 的局部环境参数。 软件体系结构的变化。如c o m p o n e n t 的增加、消除;连接c o m p o n e n t 的 c o n n e c t o r 的变化等。 软件体系结构变化产生的需求对软件体系结构有新的约束。软件体系结构 的元素c o m p o n e n t 可以有多个约束。每一个约束都规定了c o m p o n e n t 的一种实 现目标。 s a s r c 的变化协调机制着重考虑两方面的约束:数据的一致性的约束和策 略改变机制的复杂性约束。下面的两节将分别对此做出解释。 3 1 1 软件系统中数据的一致性约束 在系统运行环境中,如果当前策略被转换为一个新策略时,不对转换过程 中的数据加以约束,很可能引发如下矛盾: 1 3 1 ) 数据的不一致。 2 ) 数据的丢失。 3 ) 对于数据的多余处理、错误处理或是遗漏处理。 这些矛盾不仅导致软件系统应用逻辑混乱与数据不完整,还造成系统资源 浪费。例如:若没有数据一致性约束,原策略下已处理过的信息很可能在新策 略下被反复处理;原策略下未处理或未处理完的信息在新策略下被忽略。多余 的数据与操作会占据大量资源,使系统效率整体下降。被忽略的信息则造成系 统数据完整性的残缺。 因此,策略的转换过程必须要加以约束。所加约束应保证所有已在软件系 统中运行的任务在策略转换过程中的合法性。这个约束还应确保转换各个步骤 应用程序状态的独立性并且能够对这些状态加以保存和跟踪,以确保在发生转 换异常时可以尝试进行恢复。 3 1 2 策略改变机制的复杂性约束 策略转换过程还应关注策略转换效率。s a s r c 策略的改变机制的另一宗旨 就是力图简单。其优点是: 所设计的软件体系结构可应用到较为广泛的领域中去。一个简单的机制 仅仅实现必须的改变需求,使得其通用性更强。在将其应用到不同的领 域时,可以在完成对策略的基本更改后,再针对不同领域的具体情况, 开发相应方法对所做出的更改进行细致地分析和处理。 运行时的花费降低。一个复杂的策略改变机制势必会在处理信息和通讯 方面耗费较多的系统资源,很可能带来策略转换结果的延迟。简单的策 略变换机制对于需实时处理信息的软件系统或是对时间有较高要求的 软件系统是至关重要的。因而选择简单的机制有利于降低转换过程中的 系统资源耗费。 转换的决策依赖于从运行环境中获取的信息。在s a s r c 中,这些信息将被 由下至上逐层进行抽象,所得抽象结果用于形成策略转换所需的简单信息,从 而提高策略转换效率。 总之,在决定策略改变机制的复杂性约束时,需比较所选择策略改变机 制的优势给这个体系结构带来的影响和系统实时资源的耗费给系统带来的影 响,要确保后者的影响小于前者。 1 4 箜:耋:金:呈:竺至笙望笠:望 3 2 s a s r c 中用到的描述体系结构的方法 本节将介绍用于描述s a c r c 的语言( u m l 和w r i g h t ) 并且比较和分析用 二者描述软件体系体系结构的优缺点。 3 2 1 软件体系结构描述语言a d l ( a r c h i t e c t u r ed e s c r i p t i o n l a n g u a g e ) 对于软件体系结构进行描述的目的就是要“易于理解,便于交流”。 a d l s 具备简单、易理解及可对软件体系结构描述进行简单分析的特点。较为复杂的 a d l s 还会提供正式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网店代销商品合同范本
- 酒店员工聘用合同范本
- 2025年小学五年级数学应用题专项训练试卷(含答案)
- 科学苏教版2.太阳系大家族教案设计
- 监控网络平台合同范本
- 牛肉产品购销合同范本
- 运送农资用车合同范本
- 健康生活习惯从小培养实施方案
- 药品代理销售合同协议
- 租厂房租地合同协议书
- 心理健康教育成人
- 第十章色谱分析法
- 农村电商的毕业论文
- 矿区钻探安全管理制度
- 德云社空降人员管理制度
- 老年人能力评估师评估空表
- 2025至2030年中国少儿图书行业市场运营状况及投资方向研究报告
- 药品经营与管理专业职业生涯规划书1400字数
- 合资公司决策管理制度
- 2025浙江省公众信息产业限公司无线运营分公司校园招聘30人易考易错模拟试题(共500题)试卷后附参考答案
- 松树出售砍伐合同范本
评论
0/150
提交评论