




已阅读5页,还剩95页未读, 继续免费阅读
(计算机软件与理论专业论文)一种移动代理应用系统的体系结构描述语言.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一种移动代理应用系统的体系结构描述语言 摘要 f f 移动代理技术最初是针对i n t e m e t 的计算环境特点提出的,以使分布式系统 能够适应i n t e m e t 环境。然而,移动代理技术却同时给软件系统的结构带来了极 大的影响。 在软件体系结构的研究领域中,现有的软件体系结构描述语言( a r c h i t e c t u r e d e s c r i p t i o nl a n g u a g e a d l ) 缺乏对移动代理系统结构的描述能力。问题主要集 中在以下两个方面: 1 现有的a d l 无法描述移动代理的移动行为和因此而带来的动态的结构变 化。许多a d l 定义了静态的软件系统结构,根本无法描述结构动态性。而 其他一些a d l 虽然有程度不同的动态结构描述能力,但缺乏对移动行为的 完整的描述能力。 2 移动代理系统通过多个代理问的协作完成指定的计算目标。在目前逐步凸现 的面向代理的设计方法中,软件设计的层次由面向过程提升到面向目标的层 次,冈而对代理间协作关系的描述将成为设计和描述软件系统的重要内容。 但现有的a d l 普遍缺乏对这种协作关系进行描述的手段。1 本文提出了一种能够应用于包括移动代理应用系统在内的软件系统的结构描 述语言l x l 。与其他的a d l 相比,l x l 的显著的特点是引入了c o n t a i n e r 结构。c o n t a i n e r 被定义为逻辑位置,而逻辑位置也可以看作是运行在一个物理 主机上的一组进程。由此我们实现了逻辑位置与计算组件的概念上的统一。 为了提供精确的行为描述能力,l x l 使用j o i n c a l c u l u s 作为形式基础。我们 讨论了如何在l x l 中应用j o i n - c a l c u l u s 。由于i o i n 更倾向于设计为一种分布式 程序语言,我们对j o i n 进行了部分裁剪以使其更适合于用作软件结构描述。 为了使l x l 说明具有精确的语义,我们还给出了l x l 的语法结构到i o i n c a l c u l u s 的映射,从而使l x l 具有了与平台和软件无关的语义模型。 对大规模的分布系统设计来说,说明的验证分析工具是至关重要的。本文对 两个最基本的程序特性:一致性和完备性进行了讨论,为验证工具的实现定义 了相应的检测。我们特别针对移动代理系统讨论了移动说明的一致性,并给出 了相应的检测定义。 对于大规模的移动代理系统来说,计算任务是通过多个移动代理的协作完成 的。而参与协作的成员完全可能是变化的,并且可能来自不同的系统和用户。 为了刻画这种特性,我们在基本的l x l 的基础上扩充了t e a m 模型的定义。 t e a m 是对整个应用程序系统空间的划分。一个t e a m 包含了一组相互协作的 a g e n t ,并且可以嵌套包含,形成一个t e a m 空间。它与c o n t a i n e r 是不同层次的 概念。 我们首先在i o i n c a l c u l u s 中扩展了t e a m 结构,并且定义了可以应用于t e a m 的原语,用以刻画t e a m 结构的动态行为。然后我们在l x l 中扩充了t e a m 结构 的语法定义,这个结构同样被映射到i o i n 的t e a m 结构上以获得精确的语义。我 们提出了两种t e a m 重用的模式:t e a mp a t t e r n 和t e a mg o a l 。这两种模式为基于 目标和较高层次的软件重用提供了支持。 协调是指如何解决软件组件运行时产生的资源竞争和冲突问题。现代软件工 程倾向于分别描述协调和计算行为,以提高组件重用度和开发速度。本文中讨 论了l x l 对协调问题的适应性,指出l x l 可以实现对协调问题的描述。文中 对基本的协调问题和基于t e a m 的协调分别进行了讨论。 l x l 是可运行的结构描述语言。 一个原理性的l x l 编译器的实现。 有平台上运行的代码。 、 关键词 为了便于对l x l 描述的验证,我们给出了 这个编译器把l x l 描述转化为可实际在现 l 分布式系统软件工程体系结构描述语言i n t e r n e t 应用移动代 理j o i n c a l c u l u s 协作协调 a na d lf o rm o b i l e a g e n t sa p p l i c a t i o ns y s t e m s a b s t r a c t t h em o b i l ea g e n t t e c h n o l o g yi so r i g i n a l l yd e v e l o p e dt oa d o p td i s t r i b u t e ds y s t e m si n t o t h ei n t e r n e t e n v i r o n m e n t h o w e v e r ,t h ef l e x i b i l i t ya n ds c a l a b i l i t yi t b r i n g s t o d i s t r i b u t es y s t e m si m p a c tm u c ho ns o f t w a r e d e s i g nm e t h o d o l o g y e x i s t i n gd e s i g nm e t h o d sc o u l dn o tg i v ee n o u g hs u p p o r tt ot h ed e s i g np r o c e s so f d i s t r i b u t es y s t e m sw h i c h i n v o l v i n gm o b i l ec o m p u t i n g t h ep o i n t sa r ef o c u s e do nt w o a s p e c t s : 1 e x i s t i n gm e t h o d sc o u l dn o td e s c r i b em eb e h a v i o ro fm o b i l ec o m p o n e n t sa n dt h e c o r r e l a t i o nb e t w e e nl o c a t i o na n ds o f t w a r ec o m p o n e n t 2 e x i s t i n gm e t h o d s c o u l dn o td e s c r i b et h ed y n a m i cs t r u c t u r ed u et ot h em o b i l i t yo f s o f t w a r ec o m p o n e n t s t h i sw o r kp r o p o s e sa na d l ( a r c h i t e c t u r e d e s c r i p t i o nl a n g u a g e ) t h a tc o u l db e a p p l i e dt od i s t r i b u t es y s t e m si n c l u d i n gm o b i l ea g e n ts y s t e m s t h i sa d l ,w h i c hi s g i v e nan a m eo fl x l ,t a k e sj o i n - c a l c u l u sa si t sf o r m a lb a s e s i n c ej o i n c a l c u l u sh a s m o r ei n t e n s i o nt ob ed e s i g n e da sac o r ep r o g r a m m i n gl a n g u a g e ,w em a k eac r o s s - c u t o n j o i ns ot h a ti ti sm o r e s u i t a b l et ob ea s p e c i f i cl a n g u a g e l x li s s i g n i f i c a n t l yd i f f e r e n tf r o me x i s t i n ga d l sb yi n t r o d u c i n gt h ec o n s t r u c to f c o n t a i n e r ac o n t a i n e ri sd e f i n e da sal o g i cl o c a t i o n a n da l s oc a nb er e g a r d e da sa n a g e n t ,s i n c eal o c a t i o ni sd e f i n e da sag r o u po fr u n n i n gp r o c e s s e sr e s i d eo nap h y s i c a l s i t e t o g e t h e rw i t ht h em o b i l i t yp r i m i t i v e so fj o i nc a l c u l u s ,l x lc o u l dd e s c r i b et h e b e h a v i o ro fam o v i n gc o m p o n e n ta n dt h e i m p a c to nt h ed y n a m i cs t r u c t u r eo fa c o m p o n e n t i no r d e rt op r o v i d ev e r i f i c a t i o nt o o l sf o rl x l s p e c i f i c a t i o no fl a r g e s c a l es y s t e m s ,w e s t u d i e dt w ob a s i c p r o p e r t i e s o fs p e c i f i c a t i o n ,c o n s i s t e n c ya n d c o m p l e t e n e s s a n d p r o v i d e dt e s td e f i n i t i o n so f t h e s et w op r o p e r t i e sf o rt h ei m p l e m e n t a t i o no ft e s tt o o l s i np a r t i c u l a r ,w es t u d i e dt h e c o n s i s t e n c yo f m o b i l ea g e n t sa n dg a v et h et e s td e f i n i t i o n s m o b i l ea g e n t ss y s t e m sa c c o m p l i s hs o m es e to ft a s k so ra c h i e v es o m es e to fg o a l s t h r o u g hg r o u p so fc o o p e r a t i v ec o m p u t a t i o n a lc o m p o n e n t st h a tc a nb ee i t h e rm o b i l e a g e n t so rf i x e dc o m p o n e n t s t h e s ec o m p o n e n t sm a y c o m ef r o md i f f e r e n ta p p l i c a t i o n s a n du s e r s ,a n dm a yi o i na n dl c a v eat a s kd y n a m i c a l l yi nt h ec o n t e x to fi n t e m e t a p p l i c a t i o n s w ee x t e n d e dt h eb a s i cl x lw i t ht h et e a mm o d e lt od e s c r i b et h e s e a s p e c t s t e a m sa r e p a r t i t i o n s t ot h ew h o l e a p p l i c a t i o ns p a c e at e a m c o n t a i n ss e v e r a l p r o c e s s e s ( o ra g e n t s ) t h a tc o o p e r a t e t oa c h i e v ec e r t a i ng o a l s at e a mc a na l s oc o n t a i n s u b t e a m s ,t h u sf o i t n sat r e eo f n e s t e dt e a m s w ef i r s te x t e n d e dt h ej o i nc a l c u l u sw i t hat e a mc o n s t r u c ta n dr e s p e c t i v ep r i m i t i v e s c o u l db ea p p l i e do n ,w et h e ne x t e n d e db a s i cl x lt oat e a m - o r i e n t e ds y n t a xa n dm a p t h et e a ms y n t a xt ot h e j o i nt e a mc o n s t r u c tt om a k e p r e c i s es e m a n t i c s t h et e a mc o n s t r u c ta l s om a k e sl x lh a st h ep o s s i b i l i t yt o p r o v i d eh i g h e rl e v e lo f r e u s a b i l i t y l x lc a ns u p p o r tg o a l o r i e n t e dr e u s ep a a e m si ne m e r g i n ga g e n t - o r i e n t e d p r o g r a m m i n g s c h e m e m o d e ms o f t w a r ee n g i n e e r i n gi n t e n d st o s e p a r a t e t h ec o o r d i n a t i o nd e s c r i p t i o na n d c o m p u t a t i o ni n o r d e rt o i m p r o v et h er e u s a b i l i t ya n d t h e d e v e l o p m e n tp e r i o d w e s h o w e di nt h i sw o r kt h a tl x li sa l s os u i t a b l et ob eu s e dt od e s c r i b ec o o r d i n a t i o n p r o b l e m s w e s t u d i e db o t ht h ec o m m o nc o m p o n e n tc o o r d i n a t i o na n dt h et e a m c o o r d i n a t i o ns i t u a t i o n s , l x li sa ne x e c u t a b l ea d l i no r d e rt ov e r i f yl x ls p e c i f i c a t i o n ,w ep r o v i d e da s i m p l el x lc o m p i l e ri nt h i sw o r k t h i sc o m p i l e rc o u l dt r a n s l a t el x ld e s c r i p t i o nt o e x e c u t a b l ec o d e s o f e x i s t i n gp l a t f o r m k e y w o r d s d i s t r i b u t e d s y s t e m ,s o f t w a r e l a n g u a g e s ,i n t e r n e ta p p l i c a t i o n ,m o b i l e c o o r d i n a t i o n e n g i n e e r i n g ,a r c h i t e c t u r ed e s c r i p t i o n a g e n t s ,j o i n - c a l c u l u s ,c o o p e r a t i o n , t 海交通大学博士学位论文 1 1 研究背景 第一章绪论 移动代理是可以携带其内部运行状态和结果在网络主机问迁移完成指定任务的计算实 体 k a r 9 8 】。我们所指的移动代理应用系统是指采用了移动代理技术作为计算和通信方式的 软件系统。 移动代理技术最初是针对i n t e m e t 计算的特点而提出的。一个大规模的i n t e r n e t 分布系 统需要在i n t e r n e t 低速、动态和不稳定的网络环境下建立可靠的应用,在这种情况下,采用 移动代理代替传统的r p c 是一个很好的选择。但计算的移动却同时给软件系统的结构带来 了极大的灵活性,使得建立高度开放性和可伸缩性的分布系统成为可能。这种可能性是令人 兴奋的,因为它可以使我们现有的面向结构的分布系统为之改观。由于这些原因,普遍认为 移动代理及相关技术提供了开发下一代分布系统的重要框架 h c 9 6 ,f u 9 9 8 ,b e c 9 9 。 1 2 分布式系统的结构和设计方法 人们对计算本身的认识决定了分布式系统的结构和设计方法。最早的过程化设计方法把 客观1 廿界划分为“数据”和“加工”两部分,相应的软件系统就可以用数据流和一组加工过 程来表示。面向过程的分布计算就是这一思想的直接体现。软件系统被划分为若干过程分布 在不同的计算机上,相互之问通过r p c 进行通信。o s f 的d c e 可能是这种结构的最成功的例 子。 对象式方法把计算与数据联系在一起,把客观世界统一为对象的世界,通过封装和继承 等技术力图使软件系统可以完全由无数个对象组成,形成一个简洁而完美的软件结构模型, 在客观世界和计算机世界问建立更为直观的映射关系,同时使得软件重用变得简单而有效。 对象技术的发展使得软件的生产能力获得了很大的提高。由于对象技术的成功,很多工作致 力于把对象技术应用到分布系统巾。0 m g 试图建立一个统一的分布式对象管理体系结构 ( 0 m a ) ,并制定了对象间通信的c o r b a 规范。0 m a 使得我们可以用统一的对象模型来描述分 布系统,简化了分布系统的开发,改善了分布系统的结构。例如,实现了“对象总线”,新 的软件部件可以实现“插接式”的布置:接口和实现的分离使服务对象功能的修改升级不需 要变动客户对象;使用远程对象和使用本地的对象具有相同的形式;等等。 虽然对象技术获得了巨大的成功,但是仍然不能完全满足开发软件系统的需要。提高软 件的产量和质量需要更高层次的封装技术。由此出现了组件技术和相应的组件化的设计方 法。d c o m 和e n t e r p r i s ej a v a b e a n 是两个突出的例子。 这些技术并没有完全解决分布系统中的问题。例如当前在嘲络上传输的内容大部分都是 数据,而操作这些数据的代码通常是静态地嵌入在预先安装好并且不能移动的应用程序巾, 由于数据和代码问很强的耦合被人为地割裂开,数据缺乏良好的封装和隐藏,对象技术的优 点没有充分体现。我们必须制定大量的标准数据格式和应用层的网络协议,这些数据格式和 协议一旦被制定出来要进行修改和升级是十分困难的,因为这意味着要重新安装所有的应用 程序。同时,希望动态地增加系统的组件或与来自第三方应用系统的组件互操作也是很难吱 现的。人们希望移动代理技术的出现可以用来建立具有更灵活更健壮结构的分布式系统。所 以我们认为,对移动代理技术的研究更应该集中在其对软件结构的影响和面向移动代理的分 布系统设计方法上。 种移动代理应用系统的体系结构描述语言 1 3 软件体系结构的研究 软件体系结构是9 0 年代中期发展起来的一个新兴的研究领域。软件体系结构研究的内 容包括用来构造软件系统的基本元素、基本元素之间的交互方式、基本元素的组合模式以及 对这些模式的约束 s g 9 6 1 。 对软件体系结构的研究的关注是与软件设计和开发方法学的发展密切相关的。随着对象 式语言和面向对象建模方法成为主流设计方法,软件系统的结构化程度大幅度提高,人们有 可能通过重用和组合的手段较快地开发出一个规模较大的系统。在这个基础上,对软件体系 结构的研究应运而生,旨在通过为软件丁程师提供形式和规范的设计分析手段以提高大型软 件系统的产量和质量。 随着移动代理技术应用到分布系统中,出现了许多支持移动计算的程序语言,如 n i c 9 8 、 g r a 9 7 等,使用这类语占开发支持移动代理的分布式系统是可以预见的趋势。因此软件体 系结构的研究必须解决由于计算的移动所引起的一系列新的问题,讨论如何快速和高质量地 开发移动代理应用系统。 1 3 1 软件体系结构描述语言( a d l ) 如何划分软件系统的基本元素有一些不同的方法。最常见的方法把软件系统定义为一组 计算组件( c o m p o n e n t ) w 它们之间的交百_ ( i n t e m c t i o n ) 或连接子( c o n n e c t o r ) 。虽然划分方法不同, 但软件体系结构的研究的主要内容是共同的定义规范的语言来规范对软件结构的表示 和推理。这种语言称为结构描述语言( a r c h i t e c t u r ed e s c r i p t i o nl a l l g i l a g p _ a d l ) 。a d l 主 要解决以前存在的以下问题 g e r 9 7 1 : 1 由于方占的影响,软件结构设计很难被其他人读懂和正确理解,包括程序员。同时, 也无法在设计阶段进行形式化分析和模拟。 2 在设计阶段没有一套确实的工程策略供设计人员进行决策。 3 在系统演变时缺乏有效的管理方法。 4 缺乏结构设计工具。 a d l 不仅仅描述软件系统的结构。除了划分系统的c o m p o n e n t 和连接之外,a d l 还解 决以下问题: 1 c o m p o n e n t 表现行为的说明。许多a d l 支持对c o m p o n e n t 的功能特性和非功能特 性( 包括系统对c o m p o n e n t 在安全性、可靠性和性能方面的要求) 。使用这些a d l 可以精确地表达c o m p o n e n t 的时间约束、输入输出特性以及数据精确度等。 2 c o m p o n e n t 问通信协议的说明。某些a d l 如w r i g h t g a r l a n9 4 a 和r a p i d e l u c k h a m 9 5 】,支持对相对复杂的c o m p o n e n t 通信协议的描述。另外一些a d l 如u n i c o n s h a w 9 5 1 则通过允许指定c o m p o n e n t 的类型( 如f i l t e r ,p r o c e s s 等) 来约束可以连接的 c o n n e c t o r 的类型。 1 3 2 软件体系结构的形式化方法 软件体系结构的形式化是软件体系结构研究的关键步骤。虽然a d l 可以帮助设计者描 述他关于结构的设想,但却没有足够的信息把抽象的模型翻译为实现的编程语言。同时,设 计者也缺乏有效的手段来指导他重用已有的设计以及验证他的设计。 软件体系结构形式化方法需要对软件系统中的各部件及环境作出形式化的定义( 或能够 表达) ,同时我们也需要拥有一套证明和推理的方法。为此我们需要一种形式化的说明语言 ( s p e c i f i c a t i o nl a n g u a g e ) 。 形式化的方法提供了强大的分析能力,且不依赖于实现的细节。但足,他们不直接提供 2 卜海交通大学博士学位论文 基本的结构构造和抽象如c o n n e c t o r ,s t y l e 等。这就使得在每个系统中都必须独立地去定义 这些元素,效费比较低,同时也丧失了一致性。而a d l 虽然在这些方面定义很充分,但在 分析推理能力,详细描述特定的系统子集,或者详细地描述系统结构方面却十分不足。 w r i g h t a 1 1 9 7 结合了这两种方法的长处,在形式化方法的基础上建立了结构描述语言, 在提供方便的结构描述能力的同时提供了对系统属性推理的能力,避免了形式化方法的不可 管理和不现实的问题,同时提供了没有语义或直接面向实现的a d l 所不具备的能力。所以 许多后来出现的a d l 都借鉴了这一思想。 1 3 3 移动代理应用系统的体系结构 移动代理概念的提出是继对象技术之后,软件系统对现实世界的表达方式上一个比较 大的变化。在建模方法和系统结构上体现了分布式软件设计思想的一次重要演变。这种变 化决定了移动代理系统的若干重要特点: 1 分散、自治的系统结构。在i n t e r n e t 这样庞大的系统中企图建立包含全局共享状 态的系统结构的开销是无法承受的。并且由于移动代理系统是针对i n t e r n e t 带宽较窄、连 接不稳定的动态网络环境设计的,各部件问的通信无法保证,控制驱动很难实现。因此移 动代理系统在结构上必须是分散、非耦合的,其至要在断线的情况下独立工作。 2 位置相关性。移动代理系统体现了以资源为中心的计算思想,计算位置与资源的 位置密切相关,移动代理本身的位置是不断变化的。移动代理位置的分布和位置的迁移需 要在程序中显式地加以考虑。在同一台机器上的组件和不同机器上的组件在处理并发、异 常等问题时是明显不同的。 3 基于协作( c o o p e r a t e ) 的系统。移动代理系统通过多个代理问的协作共同完成计算 任务。参加协作的移动代理可以来自不同的用户,甚至足异构的移动代理。这种以协作为 基础的系统结构极大的提高了分布系统的可伸缩性,在将来网络化的社会中,移动代理系 统的这种可伸缩性具有特别重要的意义。 4 协调( c o o r d i n a t e ) 。移动代理系统的协调问题显得十分突出。在协作的过程中, 冲突足不可避免的,必须加以协调。而由于移动代理系统运行的动态网络环境,协调问题 比现有组件系统的协调更加复杂。 鉴于移动代理系统在体系结构上与现有的分布系统有较大的著异,有必要对其进行深 入的研究。研究移动代理系统的体系结构对建立广域移动代理系统具有重要的指导意义。 一方面,开发j “域分布系统本身就是一项艰巨而复杂的工作;计算的移动则带来了新的复 杂性。如果小提供关于移动代理系统体系结构的设计手段和范型,大多数程序员将无法开 发出充分发挥其应有效能的移动代理系统甚至导致不良的系统结构。 目前对移动代理应用系统体系结构的研究尚少有系统的研究。自八十年代以来在移动 计算领域的研究主要分布在以下几个方面: 1 支持移动计算的并发程序理论。c c s 和p i c a l c u l u s 足较早引入移动概念的并行演 算系统,但缺乏对计算的空间位置和实际网络环境的描述。近年来这一领域的研究比较活 跃,出现了许多新的支持移动计算的演算系统和程序语言,如d i s t r i b u t e dj o i n c a l c u u s , m o b i l ea m b i e n t 、s e a 等。这些系统各有不同的侧重点 f g l 9 6 c a g 9 8 。 2 计算实体( 迁移进程、移动对象、移动代理) 的移动技术 g d n 9 6 。h c 9 6 。 - 3 一种移动代理应用系统的体系结构描述语雷 3 移动对象( 代理) 应用系统实现机制和关键技术问题,包括移动系统的通信、定 位等基础服务 朱9 9 。 4 移动技术的应用( 如主动删络等) l e s 9 9 。 而本文立足于移动代理应用系统的结构特点,力图给出一种适合描述和设计移动代理 系统的结构描述语言。 1 4 本文的研究内容 本文的研究内容主要包括: 1 移动代理系统的结构特点。为了定义适合移动代理系统的结构描述语言,我们首先需要 对移动代理的结构特点进行考察。同时,我们也需要确保这种语言仍然能够适合描述现有 的系统。 2 基本的移动代理应用系统的体系结构描述语言。这一部分将定义移动代理系统结构描述 语言的主要语法结构。为了严格地描述分布系统中各部件的动态行为,保证系统说明语义 的精确性,我,f l q l 3 1 入形式系统作为移动代理应用系统结构描述语言的语义基础。用形式系 统作为描述软件系统开发的说明、设计和分析手段是近年来软件工程研究的发展方向。 3 移动代理的协作和协调。这些问题同样也存在于一般的分布系统中。现有的研究包括对 多代理系统协作和组件系统协调问题的研究。我们拟在移动代理应用系统体系结构的层次 上研究这两个问题,以提供这种具有高度灵活性的分布系统设计范犁。 4 面向协作的扩展的移动代理应用系统的体系结构描述语言。在多代理协作系统中,代理 问协作关系的描述是系统设计的重要内容。如果应用协作结构,将大大简化系统的设计工 作。我们将在这部分定义基本语言的扩展,以提供对协作结构描述的支持。 1 5 相关的研究工作 下面我们简要地介绍目前已有的与我们的研究相关的一些工作。 1 5 1 关于a d l 的研究 1 5 1 1w r i g h t w r i g h t a 1 1 9 7 是c m u 发展的一种软件体系结构描述语言( a d l ) 。与其他类本【的a d l 相比( 如u n i c o n ) ,w r i g h t 的特点是引入了形式系统( c s p ) 以形式化对软件结构的描述。 在a d l 中引入形式系统方面保留了a d l 原有的对软件结构的高层抽象,一方面又能够 精确定义各组件的语义。 在w r i g h t 中,软件系统被划分为c o m p o n e m 和c o n n e c t o r 两种类型的部件。c o m p o n e n t 通过i n t e r f a c e 描述计算部件的表现形式和行为。c o n n e c t o r 则由r o l e 和g l u e 的形式说明集合 定义,它描述c o m p o n e m 间的通信协议。一个w r i g h t 的软件系统结构说明由一个配置 ( c o n f i g u r a t i o n ) 定义。c o n f i g u r a t i o n 包括三个部分:对c o m p o n e n t 和c o m l e c t o f 的描述;组成 系统的部件的运行实例( i n s t a n c e ) ;系统的通信连接拓扑( a t t a c h m e n t ) 。对c o m p o n e n t 和 - 4 上海交通人学博士学位论文 c o n n e c t o r 的行为使用c s p 加以描述。为了表述对部件实例的限制,w r i g h t 还引入了由一阶 滑词定义的c o n s t r a i n t s 。例如, w r i g h t 的优点是明显的。但它的缺点也很明显。w r i g h t 把a t t a c h m e n t 作为整个描述语言 的一个独立部件,并且只简单地描述了预定实例集合问的连接关系。这样w r i g h t 只适于描 述静态的软件结构,对于动态的系统,特别是我们要讨论的移动代理系统,足很难胜任的。 1 5 1 2d a r w i n d a r w i n a l l 9 7 的主要的设计目标之一是解决动态系统中对不断变化的通信拓扑的描述 问题。为此d a r w i n 引入了p i 演算作为形式手段。 在d a r w i n 中,一个软件组件c o m p o n e n t 由一个i n t e r f a c e 描述。i n t e r f a c e 的说明包括一 组组件提供的服务( p r o v i d e d ) 和请求的服务( r e q u i r e d ) 。软件系统的c o n f i g u r a t i o n 由 c o m p o n e n t 实例的申明( d e c l a r a t i o n ) 和组件间提供的服务和请求的服务的绑定( b i n d ) 的描述。 d a r w i n 通过两种方式支持动态的结构重配置:惰性实例化( 1 a z yi n s t a n t i a t i o n ) 和显式动态 构造( e x p l i c i td y n a m i cc o n s t r u c t i o n s ) 。惰性实例化是指组件的实例只有在组件提供的服务被 其他组件引用时才产生。显式动态构造则通过i m p e r a t i v e 配置结构实现。 用p i 演算作为语义模掣时,每个提供的服务被看作一个c h a n n e l 名,而每个绑定的动作 被看作一个p i 进程,该进程把c h a n n e l 名传送到请求该服务的组件。 一个用d a r w i n 描述的p i p e l i n e 的例子如下: c o m p o n e n t p i p e l i n e ( i n t n ) p r o v i d ei n p u t j r e q u i r eo u t p u t ; a r r a y f f n 】:f i l t e r ; f o r a l l k :0 n l ( i n s t f k 】; b i n df k o u t p u t o u t p u t i w h e nk n 一1b i n d f k 1 n e x t 一一f k + 1 p r e v 】 b i n d i n p u t 一一f 0 p r e v j f n 一1 n e x t 一一o u t p u t : d a r w i n 的缺点在于,p i 演算只被用来描述结构的变化,而对组件和系统的行为描述却没有 涉及,d a r w i n 没有提供任何手段来描述一个组件或相应的服务的性质。d a r w i n 的组件实际 上成为了没有语义解释的黑盒子。 1 5 1 3r a p i d e r a p i d e 【l u c 9 5 】是基于事件( e v e n t ) 的结构描述语言。r a p i d e 定义一个a r c h t e c t u r e 为对 一类软件系统的可执行的规格说明。一个r a p i d e 的a r c h i t e c t u r e 可以非正式地理解为: a r c h i t e c t u r e :2 其中,i n t e r f a c e 用来描述系统组件的行为。c o n n e c t i o n s 定义了组件间通过i n t e r f a c e 的通信。 5 - 一种移动代理应用系统的体系结构描述语言 c o n s t r a i n t 描述了对i n t e r f a c e 和c o n n e c t i o n 的约束。当一个r a p i d e 结构执行时,将产生一个 具有因果关系的事件( e v e n t ) 序列,r a p i d e 将自动检查这个序列与c o n s t r a i n t 的一致性。 e v e n t e v e n t 足r a p i d e 中最重要的概念。e v e n t 定义为包含信息的元组,如e v e n t 发生源,发 生的动作,数据,发生时刻和持续时间等。r a p i d e 的语义被定义为产生、发送或观察e v e n t 。 组件可以独立地产生e v e n t 。组件问的异步通信可以描述为对组件产生的e v e n t 的响应并产 生新的e v e n t 。e v e n t 定义在a c t i o n 之上: 一个a c t i o n 由一个动作名a ,以及一个有限的类型列表定义( s i g n a t u r e ) : a :5 ”符号连接的e v e n t p a a e m 定义,当左边的p a t t e m 被匹 配时,将触发右边的p a a e m 。产生规则定义了生成新的组件的e v e n t 条件。 1 5 1 4u m l u m l 是目前实际t 程应用最为广泛的对象建模技术。u m l 包含两个部分: 1 u m l 语义。u m l 语义是说明u m l 对象建模概念的抽象语法和语义的元模型 ( m e m - m o d e l ) 。 2 u m l 标记。u m l 标记是u m l 语义的图表示。 u m l 采用了层次化的体系结构。u m l 的结构被划分为四层:m e t a m e t am o d e l , m e t a m o d e l ,m o d e l ,u s e r - o b j e c t 。每一层的任务是定义描述它上一层模型的语言,也就是说, 每一层都足它上一层的抽象。 m e t a m e t am o d e 】定义了描述m e t a - m o d e l 的语言。一个m e t a - m e t am o d e l 可以定义多个 m e t a - m o d e l 。一个m e t a - m o d e l 也可以与多个m e t a - m e t a m o d e l 联系。 m e t a - m o d e l 是u m l 语义所对应的层次,是m e t a ,m e t am o d e l 的一个实例。这一层的 m e t a o b j e c t s 有:c l a s s ,a t t r i b u t e o p e r a t i o n 等。m e t a - m o d e l 定义了描述m o d e l 层的语言。 m o d e l 是m e t a m o d e l 的一个实例。它主要定义了描述一个信息域的语言。 u s e r o b j e c t 是m o d e l 的一个实例,它主要描述一个特定的信息域。 采用这种层次结构的好处在于:可以通过递归地应用到后继的层次来验证核心结构;可 以为将来u m l 各层模型的扩展提供基础;可以方便地连接其他的标准。 u m l 标记主要由8 种图示组成,它们是:用例图( u s ec a s ed i a g r a m ) ,类图( c l a s s d i a g r a m ) ,顺序图( s e q u e n c ed i a g r a m ) ,协作图( c o l l a b o r a t i o nd i a g r a m ) ,状态图( s t a t e d i a g r a m ) ,活动图( a c t i v i t yd i a g r a m ) ,组件图( c o m p o n e n td i a g r a m ) ,布置图( d e p l o y m e n t d i a g r a m ) 。以下将简单介绍各种u m l 图示。 1 用例图 用例图描述外部执行者理解的系统功能,用于需求分析阶段。它的建立是系统开发者和 用户反复讨论的结果,表明了开发者和用户对软件需求规格达成的共识。用例图驱动了需求 分析之后阶段的开发工作,不仅在开发过程中保证系统所有功能的实现,而且应用丁验证和 测试所开发的系统,从而影响到开发工作的各个阶段和u m l 的其它图形。在u m l 中,用 例图由一组被系统边界包围的用例、系统边界外的执行者、执行者与用例问的通信关系组成。 2 类图 类图在面向对象建模技术巾,采用分类的方法将客观世界的实体映射为对象并归纳成 类。类、对象和它们之间的关联是面向对象技术中最基本的元素。对于一个待描述的系统, 类图揭示了系统的静态逻辑结构,即系统重要的抽象元素及元素间的关系。 3 顺序图 顺序图以时间顺序显示对象在其生命周期内的交互活动。它只显示参与的对象,而不刻 画对象间的上下文关系或对象的属性。顺序图采用两维坐标:垂直轴表示时间,水平轴表示 不同的对象。顺序图中的对象用一个带有垂直虚线的矩形框表示并标有对象名和它所属的类 名。垂赢虚线即生命线表示对象的生存时问段。生命线问的水f 有向线段代表对象问交互的 7 一种移动代理应用系统的体系结构描述语言 消息,并用消息名标记。消息两端的长瘦矩形代表激活,激活描述对象执行操作所需的时问a 4 哳作图 协作图的功能与顺序图类似,但是侧重点不同。顺序图侧重于刻囚对象交互的时问序。 合作图则侧重于刻画对象的交互的消息。协作图所描述的内容由两部分组成:对象静态结构 的描述,即对象问的链接关系;执行行为的描述,即对象间交换消息的顺序。 5 状态图 状态图刻画
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学数学教学德育渗透论文
- 逻辑学相关论文
- 快递行业的野蛮操作问题探讨
- 蘑菇森林粘土手工课件
- 新教师培训总结及收获
- 护理学科的建设与展望
- 亚运手抄报课件
- 线上口才培训课件
- 喷漆操作流程
- 针对老年人的护理
- 2023-2024学年浙江省宁波市慈溪市四年级(下)期末数学试卷
- 2025合同条款履行保证条款
- 2025-2030中国线扫描照相机行业市场发展趋势与前景展望战略分析研究报告
- 新闻记者采编报导人员岗位从业资格考试题含答案
- 胰岛素皮下注射团体标准解读课件
- 2025至2030年中国钢结构制品行业投资前景及策略咨询研究报告
- 2025河南中考:政治必背知识点
- 算力电力协同发展研究报告2025年
- 社会文物鉴定质检服务机构执业能力认可管理体系(公开征求意见稿)
- 广东省东莞市2025届九年级下学期中考二模数学试卷(含答案)
- 2025-2030中国宠物殡葬服务行业市场深度分析及发展前景与投资战略研究报告
评论
0/150
提交评论