已阅读5页,还剩50页未读, 继续免费阅读
(通信与信息系统专业论文)基于cova协同工作应用系统软件设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
al 已艺毛l 孳,j锯 p 毫美 、 a b s t r a c t t h ep a p e rs t u d i e st h ed e s i g no fac o o p e r a t i v ea p p l i c a t i o ns y s t e mo fc o m p u t e r s u p p o r t e dc o o p e r a t i v ew o r k ( c s c w ) b a s e d o nc o v a t h ed e s i g no ft h ea p p l i c a t i o n w o r k n o w :t h ec o v ac o o p e r a t i v ea p p l i c a t i o np r o g r a m m i n gi n t e r f a c ea n dp a r t so ft h e a p p l i c a t i o nm o d u l e sa r eg i v e n c o v ai sac o o p e r a t i v ep l a t f o r md e v e l o p e db yt s i n g h u au n i v e r s i t y t h ep a p e r a n a l y z e st h el a n g u a g ea n dt h ea p i sp r o v i d e db yt h ep l a t f o r m ,s t u d i e sa n de x t e n d st h e c o v a a p i s b a s e do ni t ,t h ep a p e ra l s od e s i g n sc o o p e r a t i v ea p p l i c a t i o nw o r k f l o w st o t 眦s f e ri n f o r m a t i o na m o n gt h eu s e r sp a r t i c i p a t i n gi nc o o p e r a t i v ew o r k t h ep a p e rc o n s t m c t sam u l t i m e d i ac o o p e r a t i v ew o r kp l a t f o r mo nl a n w a nw h i c h s u p p o r t st c p i et w oc o o p e r a t i v ea p p l i c a t i o nw o r k f l o w sa n d af i l et r a n s m i s s i o ns e r v i c e a r ea c c o m p l i s h e d ,i n c l u d i n gaf r i e n d l y i n t e r f a c e a tt h es a m et i m e ,t h ep l a t f o r m i n t e g r a t e ss o m em a r t i a l o r i e n t e da p p l i c a t i o n s ,s u c h a ss h a r e dw h i t e b o a r d ,c a l e n d a r m a n a g e m e n t ,a n dt h es h o r tm a s s a g e s e r v i c e k e yw o r d s :c s c w c o v aa p ia p p l i c a t i o ns y s t e m 、,幢 ;,甜l嚣0d”鲜0备”x。t菩嚣医d 一 k l d 节 j 2 4 2 5 第三章 3 1 3 2 3 3 第四章 4 1 4 2 4 3 第五章 5 1 5 2 5 3 目录 绪论1 弓言1,l 了 论文工作背景及国内外研究现状l 论文工作的内容和成果2 论文的结构安排:。4 c s c w 协同应用系统体系结构5 计算机支持的协同工作系统模型5 通信支持平台6 协同工作支撑平台6 协同工作接口7 协同工作应用8 c o v a 与协同工作接口1 1 c o v a 支撑平台分析1 1 3 1 1 c o v a 语言1 3 3 1 2c o v a a p l 分析1 4 c o v a 中的信息交互16 小结1 8 协同工作应用系统的接口设计1 9 c o v a 协同工作应用系统结构1 9 自定义c o v a a p i 设计21 小结2 6 协同工作应用设计2 7 协同数据通信的实现。2 8 5 1 1 协同应用中的文件传输2 8 5 1 。2 其他协同工作应用3 0 协同工作应用实例3 2 界面设计3 4 5 3 1 界面整体风格3 5 5 3 2 活动操作视图3 7 5 3 3 日程安排视图3 8 5 4 小结3 8 第六章论文工作总结和遗留的问题4 l 致 谢一4 3 参考文献4 4 论文发表4 5 s 新兴研究领域,在国际上受到了极大重视。 “计算机支持的协同工作”( c o m p u t e rs u p p o r t e dc o o p e r a t i v ew o r k :c s c w ) 这 一概念最早是1 9 8 4 年由美国m i t 的i r e n eg r e i f 和d e c 的p a u lc a s h m a n 等在描 述他们所组织的有关如何用计算机支持来自不同领域与学科的人们共同工作的课 题时提出的。g r e i f 定义c s c w 为“一个关于计算机在群体工作( g r o u pw o r k ) 中的角色的独特的研究领域”,这里强调“群体”作为分析c s c w 的核心。有许多 研究c s c w 的人员简单的用术语“群件 ( g r o u p w a r e ) 来称呼这一领域,这主要 是那些研制支持群体工作软件的人们提出来的。 基于已经出现的各种对c s c w 的描述,我们也可以用这样形象的观点来描述 这一新兴领域:在计算机技术支持的环境下( 即c s ) ,特别是在计算机网络环境下, 一个群体协同工作完成一项共同的任务( 即c w ) 。它的目标是要设计支持各种各样 的协同工作的应用系统瞳1 。 1 2 论文工作背景及国内外研究现状 论文的选题来源于预研项目“多媒体协同工作应用技术”。 c s c w 技术在民用和商用方面已经得到了较快发展。商用方面,国外已推出 了比较成熟的协同工作产品,例如l o t u s 公司的d o m i n o n o t e s ,m i c r o s o f t 公司的 e x c h a n g es e r v e r 等等,这些产品在企业、政府、金融等机构得到了广泛的应用。 而国内c s c w 的研究还处在起步阶段,以跟踪国外研究为主,成熟的自主开发的 2基于c o v a 协同工作应用系统软件设计 系统基本还没有,应用系统多采用国外已有的商用支撑平台进行开发。 在军事领域,协同工作主要表现为战役协同。战役协同,是参加战役的各军 兵种和各部队按照统一计划所进行的协调一致的行为,是形成和发挥整体合力、 有效地打击敌人、夺取战役胜利的基本条件之一。以美国为代表的军事强国早已 开始了c s c w 在军事方面的应用系统研究,并将其投入了应用,如美国国防信息 基础设施公共操作环境d i ic o e 。在d i ic o e 上已经实现全球指挥系统g c c s ( g l o b a lc o m m a n da n dc o n t r o ls y s t e m ) 、全球战争支持系统g c s s ( g l o b a lc o m b a t s u p p o r ts y s t e m ) 等应用系统。军事上被普遍接受的c 4 i ( c o m m a n d 指挥、c o n t r o l 控制、c o m m u n i c a t i o n 通信、c o m p u t e r & i n t e l l i g e n c e 计算机及情报) ,包括各种类 型的军事指挥自动化系统、各种级别的参谋会议系统、情报管理系统等等,就是 c s c w 概念在信息化战争策略上的应用。 因此,研究并开发具有我国自主知识产权的的协同工作平台及其应用系统, 具有十分重要的意义。尤其将协同工作技术应用于军事指挥自动化领域,对于提 高协同作战能力,增强部队战斗力,具有重要作用。本项目基于这样的背景,利 用清华大学自主开发的协同工作支撑平台,开发典型的协同工作应用系统,为我 国自主c s c w 技术的发展和应用提供验证和示范。 1 3 论文工作的内容和成果 本文研究协同工作应用系统的开发。该应用系统运行在清华大学开发的一套 协同工作支撑平台( c o v a ,c o o p e r a t i v ea p p l i c a t i o n ) 上。论文的工作内容是利用 c o v a 平台提供的协同控制机制,根据协作应用系统的功能需要,研究并扩展 c o v a a p i ;在此基础上设计和开发典型的协同工作应用系统,实现“作战计划制 定 、“通信装备设计定型工作管理两个应用流程以及文件传送功能,设计友好 的系统用户界面,并集成面向军事应用的共享白板,日程管理,短信息收发等应 用。该应用系统以c o v a 客户一服务器协同机制为基础,以支持t c p i p 协议的 i n t e r a c t 网络为依托,在应用层设计开发满足需求的协同应用。应用系统的服务器 端通过特权用户载入流程模块,服务器通过此模块来控制流程的运行和活动的提 交触发关系;而系统的客户端为用户提供一个友好的操作界面,实现用户对流程 的操作。应用程序和c o v a 之间的数据交互通过c o v a 提供的应用编程接口( a p i ) 实现;为了实现系统中用户数据共享与交互,系统实现了数据通信功能模块,包 括文件的传输,短消息的发送和接收,邮件功能的实现以及日程安排与会议通知。 c o v a 协同工作应用系统被分为c o v a 流程控制模块,a p i ,应用模块三个主 要部分,本文主要完成a p i 和部分应用模块的设计实现工作,为此,本文研究了 以下内容: 第一章绪论 计算机支持的协同工作应用系统结构研究 协同工作应用系统结构是协同工作应用设计的总体框架,在协同工作 的设计中,起到对设计总体把握的作用,成为设计层次和功能模块的划分 依据。在计算机支持的协同工作的应用体系中,协同工作的层次结构,网 络支持、协同支持、到上层应用与协同平台的连接,以及应用与网络的连 接,是开发过程中必须关注的问题,需要在协同工作的研究开发前了解 和掌握。 c o v a 支撑平台及其开发工具研究 一, c o v a 的开发可能填补国内协作平台的空白,具有十分重要的意义。 论文以c o v a 的客户一服务器机制作为协同工作的基础,一方面,应用系 统必须通过c o v a 的协同机制进行工作,实现应用的协同控制,另一方面 研究工作中也涉及到用c o v a 语言来设计应用流程控制模块,实现流程应 用的计算机化,那么,在应用层软件设计之前,必须对c o v a 的协同工作 机制进行深入的研究。 应用程序的接口设计 应用程序的接口包括两部分:应用程序和c o v a s e r v e r 之间的接口和 参与协同工作的应用程序之间的数据接口。应用程序和c o v a s e r v e r 之间 的接口,实现应用层和c o v a 协同工作的控制连接。在测试c o v a 平台功 能和底层流程控制模块时,c o v a 提供了c o v a s h e l l 作为功能测试平台, 用户可以通过c o v a s h e i | 观察协同工作( 流程) 的流转情况,并通过与 c o v a s e r v e r 的交互参与到协同工作中。但应用层软件的设计和运行,需 要在脱离c o v a s h e l l 的环境下进行。因此,应用层软件如何脱离 c o v a s h e l l ,与c o v a s e r v e r 进行交互,成为应用设计的关键,这是论文 中要完成的首要工作。为此,需要设计应用程序和c o v a s e r v e r 之间的接 口。另外,由于c o v a 仅仅提供针对简单数据结构的接口函数,如整形数、 字符等,而应用程序间的数据交互则复杂的多,因此有必要设计应用程序 间的数据接口,实现应用程序间的数据交互,这一部分接口可以通过实际 t c p i p 网络功能来实现。这两部分的接口模块分别采用不同的a p i 来完 成,这些a p i 有何功能,怎样实现对他们的使用和控制以及这两种a p i 如 何联系起来为整体的协同应用服务,是论文工作的主要内容之一。 协作应用系统和应用界面的设计 本文对于应用模块的研究,不仅体现在应用界面的设计,而且也体现 4 基于c o v a 协同工作应用系统软件设计 在对协同工作中的应用实现上。应用模块包括协同控制应用和客户端实际 应用,本文工作的重点是协同控制应用模块、客户端应用的数据传输和会 议通知的部分功能模块。另外,呈现给用户一个友好的界面,在此界面上 实现相关功能也是论文工作的重点之一,而且界面的完成应该和应用系统 结构相结合。论文中使用的界面编程语言是c h ,希望可以借助v c 强大 的功能,实现比较完备的界面设计,具备一些基本的功能和个人特色。 从论文设计的前期工作:需求分析、市场调研、功能测试等开始,到目前已 经完成底层协同流程模块的设计、各种a f i 的研究和设计,应用模块和界面的实 现和测试,基本完成了论文工作内容。具体表现为设计开发了= 个可供演示的军 事协同工作应用系统。系统采用面向对象技术,设计和实现了“作战计划制定 和“通信装备设计定型工作管理两个应用流程以及文件传送功能,并集成了面 向军事应用的共享白板,日程管理,短信息收发等应用模块。项目已经通过中期 验收。 1 4 论文的结构安排 以前面讨论的内容为基础,论文后续内容将介绍研究工作的具体内容。第二章 讨论协同工作的应用结构模型,它以四层应用模型为基础,也是整个应用的结构 层次;第三章简单介绍应用程序和c o v a 的接口设计;第四章为面向应用的设计, 包括应用层应用的设计和界面的设计;第五章总结论文并介绍遗留问题。具体的 结构如下图: l 。_ - - 巴i := ,二_ 介绍协同概念, 论文内容简介 7 弋 邑谨! ! 皂j 阳e 要! 叠。i j 互二习 i 。畦= 酒舅i r 乳翟二。互三盈盟一早固匿:一j ! i ! :写j 蔷霹圈 1 雪军j 盈r 日。j 姓;j 潮 介绍四层协同应c o v a 与其应用接口和应用系统结构与自应用层应用与界 用模型信息传递方式定义c o v aa p i 设计面的设计 _ 、邋么_ i 3 ;f ;ii 啵王:1 _ 论文工作的总结 和遗留的问题 图1 i 论文结构安排 第二章c s c w 协同应用系统体系结构 5 第二章c s c w 协同应用系统体系结构 作为全部研究工作的理论基础,本章主要分析了计算机支持的协同工作应用 系统的体系结构。此结构模型是基于计算机支持的协同工作应用的特点而建立起 来的,任何一种复杂的协同工作体系,都是根据这样的体系结构搭建。所以,认 识和了解协同应用系统的体系结构就成为认识论文中涉及到的协同应用工作的基 本要素。 一 2 1 计算机支持的协同工作系统模型 协同工作应用系统的设计目标是实现一个协同工作应用系统,系统基于计算 机支持的协同工作( c s c w ) 的概念,利用下层协同工作支撑平台和协同工作接口, 根据应用的具体需求,实现面向具体协同工作的应用系统。 协同t 作接u 挑l 司_ - l 作支撑f ,台 通信支持卜臼 图2 1c s c w 应用体系结构n 一个完整的协同工作系统结构如图2 1 所示。它是一个四层模型。第一层为通 信支持平台,提供开放的通信支持,保证协同工作所需的网络互连和信息交互, 一般采用采用支持t c p i p 的i n t e m e t 通信平台。第二层为协同工作支撑平台,解 决协同工作所需的主要机制( 如信息共享、信息安全控制、群体成员管理) 和工 具( 如电子邮件、会议系统、工作流系统等) 。第三层为协同工作接口,通过标准 化服务接口向应用系统提供下层服务,使应用系统和下层支撑平台保持相对独立。 它主要提供协同工作应用编程接e la p i 。第四层为协同工作应用系统。主要功能是 针对协同工作应用需要,利用下层网络环境,支撑平台和接口,构造实际的应用 系统。本文主要工作处于第三层,同时也包括第四层的部分内容。 6基于c o v a 协同工作应用系统软件设计 2 2 通信支持平台 计算机支持的协同工作,顾名思义,需要多台计算机相互合作来完成一项任 务,而协同概念的体现,就体现在计算机之间的互联,通过他们之间的信息交互, 在不同的时间不同地点完成与自己相关的部分工作。这样,我们必须保持一个计 算机之间的通信连接,即开放的通信系统互联环境。它是计算机支持的协同工作 的第一层,也是最根本的一层。 鉴于完成这项协同任务的各台计算机可能会分布在不同的地域,跨越不同的 地界,这个开放的通信支持环境可以利用现有的i n t e m e t 通信平台,并以此为依托, 搭建上层应用程序。通畅的支持t c p i p 的i n t e m e t 平台,可以完全保证协同工作 所需的网络互连和信息交互。在论文中, 上,以它作为协同工作的通信支持平台, 设计和测试是建立在局域网的网络连接 实现计算机的网络互联和信息交互。 2 3 协同工作支撑平台 协同工作系统结构的四层模型中的第二层是协同工作支撑平台,这一层也是 计算机支持的协同工作中最重要的一层。因为互联各个计算机之间可以实现通信, 但是怎样才能让可通信的各个终端协同完成一个项目呢? 这就需要有一个机制对 整个项目的开始,运作和完成进行控制,什么时候,由哪个终端,做此项目中的 哪一部分工作,都需要比较严密的机制来控制。这个机制就是我们所说的协同机 制。而完成和支撑这个机制的部分,我们称之为协同工作支撑平台。 协同工作能够进行,主要是依靠c s c w 平台对协同工作给予支持,如今具有 代表性的c s c w 平台有以下几种: t r e v o r :c o l a 轻权活动模型 r o b i n s o n :c s a 通信服务体系结构模型 h o l l i n g s w o r t h :c s c w 开发体系结构 e l l i s - 三元概念模型 e l l i s :群组自动机t e a ma u t o m a t i o n 模型 清华大学:c o v a 协同工作模型 鉴于篇幅,在这里不作一一介绍,鉴于本论文是基于c o v a 的计算机支持的 协同工作,所以,论文的设计和研究工作应用的协同工作支撑平台是c o v a 协同 工作模型。c o v a 协同支撑平台相对于其他的协同支撑平台具有其自己的特点, 我们将在后续章节做简单的介绍。 接受指令时,是一个指令解释器,除此,它实际上是一个分布式的动态自组织系 统。c o v a 虚拟机形式上可以表示为四元组( c ,0 ,p ,r ) ,其中,c 为类空间, o 为对象空间,p 为过程空间,而r 则为所有实时对话的集合n 1 ) 的协同操作,不 能实现应用层与c o v a 虚拟机之间数据的交互,不能满足协同工作的需要。因此, 必须对现有的a p i 进行扩展,完成应用层对c o v a 虚拟机中数据的写入和读取。 在使用c o v a 流程设计语言设计流程的时候,我们可以定义一些类成员函数 ( c o v a 称之为方法,m e t h o d ) ,这些成员函数一方面在c o v a 语言中作为活动的 成员函数被调用,另一方面也可作为上层应用与c o v a 虚拟机数据交互的接口, 在应用层用c o v a 提供的a p i 来执行,完成数据的写入和读取,所以,这些方法 从某种意义上就是一种扩展的自定义a p i 。该怎样定义这些a p i ,应该定义哪些 a p i 都是本论文研究工作的重要部分。当然,这些自定义的a p i 是在流程设计的 同时定义出来的,这就说明定义的a p i 是和具体的流程,具体的应用相结合的, 可以在流程定义的同时再去设计,这就使得a p i 的扩展更加灵活。但是有些具有 相同应用功能的a p i ,最好设计成统一的,适用于各个应用的形式,这样我们在应 用程序设计的时候,就可以更加灵活的按照同样的方式完成同样的功能,减少应 用程序设计的工作。 通过c o v a a p i 和扩展的自定义a p i ,我们就可以完成整个协同工作应用模型 的接口设计模块,这个接口设计就为上层应用和底层c o v a 之间架起了一座桥梁, 来交互用户和c o v a 之间的信息。能够成功的架起这座桥梁,就完成了协同和应 8基于c o v a 协同工作应用系统软件设计 用之间的连接,完成协同工作接口模块。 2 5 协同工作应用 协同工作应用系统的模块设计从功能上可以划分为流程控制模块和应用数据 通信模块两大部分。根据所处的位置不同,又可以分为服务器端和客户端应用两 类。服务器端应用的流程控制模块在c o v a 平台的支持下实现流程的定义、处理 和流转。该模块可以由系统管理员直接在服务器端定义,或者由特权用户在客户 端定义后加载到c o v a 服务器上运行。c o v a 服务器根据c o v a 流程控制模块管 理整个协同工作。服务器端的数据通信部分负责协同工作过程中的数据管理,包 括数据文件的权限管理、接收客户端的数据请求、向客户端提供数据服务等。客 户端应用的流程控制模块实现协同工作操作界面,为用户提供操作控制的控件, 方便用户完成协同操作。客户端的数据通信和流程相结合,流程在执行的过程中 通知客户端进行数据的通信,并向客户提供数据通信的功能实现与界面呈现。 协同工作的应用具体可以分为以下三种: 其一是与c o v a 相关的协同工作应用服务。协同工作应用服务是指按照c s c w 机制的要求,为通用应用服务提供的协同工作支持,包括实现应用流程中的各个 环节间的状态转换及数据的传递,以使这些环节按照一定的顺序在用户的参与下 依次完成。客户端的应用主要体现在上层应用程序对c o v a a p i 以及扩展的自定义 a p i 的操作上。客户端在应用层一方面通过c o v a a p i 完成协同工作的相关操作, 例如c o v a 服务器的登入登出,进程实例的创建,活动的打开与提交等等;另一 方面通过扩展的自定义a p i 的使用,完成应用层与c o v a 虚拟机的数据交互,和 不同活动之间的数据传输。 其二是与c o v a 无关的通用应用服务。通用应用服务是指按照指挥自动化一 体化体系结构要求而实现的应用服务,比如参与协同用户之间信息的交互( 文件 传送,短信服务,邮件服务) ,日程安排;当用户处理流程控制模块分配给自己的 工作任务时,用户数据信息( 例如某个文件、图像等) 直接在用户端应用层和服 务器应用层之间进行传输。 界面的设计采用的是o u t l o o k 风格的单文档界面,其中有登陆按钮,进程、 活动和用户列表,和当前操作和操作历史纪录。论文工作力求做到为用户提供一 个方便友好的界面,并且考虑到有些操作是否是用户所关心的,而在界面呈现上 鼍 j 第二章c s c w 协同应用系统体系结构9 一_ 对不同用户给予区分。 通过对协同工作层次结构的分析,我们就可以采用这样的机制在应用层搭建 自己的应用平台,实现协同工作的应用操作。 1 0 茎王竺q 坠塑旦王堡壁塑墨竺鏊丛堡生 _ _ _ _ _ _ _ l _ - - _ l _ l _ _ l l _ - _ - _ - l _ _ _ _ - _ _ _ _ _ _ _ _ - _ _ l - - _ - _ _ - _ - _ - - 。一 了什么功能,c o v a 怎样在协作中实现信息交互,就是这一章需要研究的内容。 3 1c o v a 支撑平台分析 c o v a 是清华大学自主开发的一套协同控制支撑平台,c o v a 一词取自英文 c o o p e r a t i v ea p p l i c a t i o n 中四个粗斜体字母的组合。它的基本方法是为群件开发者提 供两套设施:描述系统中控制对象及数据对象静态及动态语义的纯面向对象的编 程语言,以及基于这些对象的语义而为协作过程的不同阶段提供所需协同计算服 务的运行时系统。与其他协同平台相比,他具有如下特点: 广泛的描述能力 一致的描述能力 描述可复用能力 动态可修改能力 c o v a 提供了一套协同机制,即c o v a 运行时系统。c o v a 运行时系统解释 作为开发结果的控制对象及数据对象的语义,对系统中数据对象的动态演变过程 实施控制,给各种对象的动态演变过程提供一个运行环境,在此过程中提供相应 的具有通用性的服务,以实现开发者所期望的各种控制,从而达到简化开发工作 的目的。其主要内容是协作服务集和c o v a 虚拟机两部分。 协作服务集是协同工作所有机制的最终体现。我们将c o v a 所提供的协同计 算服务分为核心服务集与扩展服务集。核心服务集包含支持具备协作集成能力应 飞k蓬酽奄 1 2 基于c o v a 协同工作应用系统软件设计 用所需的最少的服务。而以核心服务集为基础,可以引入一组扩展服务以使协同 工作系统功能更强、更易用。图3 1 给出了c o v a 服务集的功能结构。 图3 1c o v a 服务集层次关系图 如图3 1 所示,c o v a 的协作核心服务集,即基于c o v a 对象及协作模型而提 供构造一个具有协作集成能力的群件系统所需的最少的服务,包括: 活动控制 复制控制 并发控制 c o v a 的协作扩展服务集扩展了c o v a 平台的功能,使开发者能够基于这一 平台方便地开发实用的群件系统而提供,主要包括: 目录服务 访问控制 版本控制 其他服务 c o v a 协作服务集是以c o v a 对象及协作模型为基础而提供的对于各类协同 应用系统具有共性的计算服务的集合。它的协作过程是一组相互关联的活动的集 合,此集合提供了关于现实世界中协作过程的计算机化的形式表示。c o v a 提供 了2 - 3 节中的协同工作支撑平台,同时还提供了一套c o v a 语言,并通过其运行 时系统提供协作过程不同阶段所需的协同计算服务,为不同模式协同应用系统的 开发提供一个强大的协同工作支撑平台。 c o v a 虚拟机在接受指令时,不仅仅是一个指令解释器,实际上它是一个分 布式的动态自组织系统。虚拟机将自动保证各复制对象的逻辑一致及用户操作在 多个站点分别被执行时,其执行结果的逻辑一致及因果依赖关系的一致。为了应 用系统研究的方便,c o v a 为协同控制的应用层设计提供了一套c o v a a p i ,用来 实现c o v a 与应用之间的数据交互,这套a p i 主要是为了在用户端创建一个c o v a 第三章c o v a 与协同工作接口 1 3 虚拟机,然后利用c o v a 虚拟机访问c o v a s e r v e r 。 3 1 1c o v a 语言 c o v a 语言包括两个部分:对象描述语言( c o v ao b j e c t i v ed e s c r i p t i o n l a n g u a g e :c o d l ) 和协作描述语言( c o v ac o o p e r a t i v ed e s c r i p t i o nl a n g u a g e : c c d l ) 。 对象描述语言c o d l 实现对象的操作语义,提供了一种过程性的对象查询及 操作。c o d l 的基本语法成分是标识符、关键字、注释、表达式、操作符和语句。 其表达式和语句除了常规的一些成份,如变量定义、对象成员及方法的访问、赋 值、各种运算、异常处理( t h r o w ;t r y c a t c h ( ) ;) ,流程控制( i f e l s e ; s w i t c h ( ) ;f o r ( ,) ;d o w h i l e ( ) ;w h i l e ( ) d o ;b r e a k ;c o n t i n u e ; r e t u r n ;) ,c o v a 还提供了用以处理聚合对象。的四条命令。使用f o r e a c h ( i n ) 遍历聚合对象中的所有元素:使用i n s e r ti n t o a t ) v a l u e s 向聚合 对象中插入新的元素;使用d e l e t e w h e r e 将聚合对象中满足特定条件的元 素删除;使用u p d a t e w h e r e 修改聚合中元素的属性。这些语句可以同 c o v a 编程语言的其他部分组合起来使用,从而使c o v a 成为一种能灵活实现数 据对象操作语义的完整的对象查询及操作语言。 协作描述语言c c d l 作为c o v a 模型可编程的实现手段,是此模型的另一种 形式化表示。c c d l 的基本语法是过程定义和活动定义,也是c o v a 语言区别于 其他语言的地方。 过程定义羽: 语法: 过程修饰符 p r o c e s s 过程名 e x t e n d s 父过程名 s t a r t 活动名 过程体 过程名在过程空间中是唯一的 过程修饰符:p u b l i cp r o t e c t e dp r i v a t e 过程体:类定义一局部本地类 过程定义一子过程 活动定义 活动定义b 1 : 活动定义的两种形式:原子活动复合活动 。c o v a 支持5 种聚合对象:a r r a y :带索引的线性表; s e t 无序无索引表,元素不可重复; b a g :无序无索引表,元素可蘑复l i s t :链表;( 昼) d i c t i o n a r y :通过键值( k e y ) 索引的元素集合 1 4 基于c o v a 协同工作应用系统软件设计 语法:原子活动 修饰符 a c t i v i t y 活动名 h a n d l e 对象类型 s t a r t s w h e n 表达式 活动体 复合活动 修饰符 a c t i v i t y 活动名a s 过程名: 活动体:触发器定义参与者定义 触发器:描述活动之间的依赖关系,规定了在特定事件发生且条件满足时 应该执行的动作 t r i g g e rt n a m ea sa c t i o n l i s te v e n t 【w h e r ee x p r e s s i o n j 参与用户定义:定义此活动的参与者,只有以参与者的身份登陆才可以看 到和打开此活动 u s e r sij s e r n a m e1 。u s e r n a m e 2 从触发器的定义可以看出,对某个活动而言,当其活动对象被指定为目的对 象时,它将可以接收输入;而通过在其触发器列表中指定其他活动对象为目的对 象,一个活动可以触发其他活动及其方法。在这个意义上,我们称每一个c o v a 活动是一个计算实体。 3 1 2c o v a a p l 分析 一旦前期开发工作完成( 核心的工作流程定义和活动定义都已经用c o v a 语 言实现) ,就进入应用层程序设计阶段。应用程序通过应用编程接口( c o v a a p i ) 和c o v a 虚拟机的通信实现协同工作的应用层的操作,而具体的应用,比如数据 传输和界面设计都需要上层应用和底层通信支撑平台直接进行交互。具体的交互 方式如图3 2 所示: i 上层应用 t c o v a a p i i c o v a 虚拟机 r t c p i p a p i 图3 2 应用层通过a p i 与c o v a 的交互 上层应用利用c o v a a p i 创建c o v a 虚拟机,并使用其他相应的c o v a a p i 完成同c o v a 虚拟机之间的交互,实现c o v a 虚拟机与c o v a s e r v e r 的连接。具 新的过程实例的创建。上层应用程序通过a p i 创建新的过程实例,相当于开始 了一个新的工作流程。在过程定义中指定了起始的活动,这时该活动对象被 c o v a s e r v e r 自动构造出来并加入到相关的用户的可访问活动列表中。 p c r e a t e l n s t a n c e ( ) 0 i 1 建过程实例的a p i 函数( 参数未列出) 获取活动对象。中a p i 的用户名和密码参数项反映了用户在协作过程中的角 色,不同的角色具有自己可以参与的活动对象列表,可参与活动对象列表放在 l p s z b u f f e r 中返回。 p g e t a c t i v i t y l i s t ( 1 p s z b u f f e r , n b u f l e n ) 获取活动对象a p i 函数( 参数未列出) 对活动对象进行操作。首先要打开活动对象,然后执行活动对象的方法。 p o p e n a c t i v i t y o b j e c t ( ) 打开活动对象a p i 函数( 参数未列出) p e x e c u t e m e t h o d c a l l ( ) 操作活动对象a p i 函数( 参数未列出) 向服务器提交操作结果。意味着用户已经完成了在该活动中的任务,向服务器 提交工作任务并且退出这个活动。 p s u b m i t a c t i v i t y o b j e c t ( ) 提交操作a p i 函数( 参数未列出) 从服务器退出 p l o g o u t ( ) 使虚拟机断开和c o v a 服务器的连接 ,氨多 1 6基于c o v a 协同工作应用系统软件i 殳计 3 2c o v a 中的信息交互 我们在协同工作应用系统中采用客户一服务器模式:不同用户( 客户端) 之 间的数据交互都必须通过服务器进行, 这样可以既可以保证用户间的信息交互 完全受流程的控制,也便于实现用户数 据的一致性,那么,c o v a 作为协同控 制支撑平台,如何实现不同用户之间的 信息交互呢? c o v a 语言的语法告诉 我们,用c o v a 语言编写流程的时候, 可以通过c o d l 来定义自己的功能函 数,完成某些特定的功能,这些函数一 般是在c o d l 的某个类中定义,c o v a 称之为方法。而c c d l 的一个活动相当 于一个类的对象,这样此活动的参与者 就可以通过执行此类定义的方法完成一 些特定的功能,包括数据的写入和读出。 通过t r i g g e r 语句的定义,我们可以将一 个活动中某个参数的数据写入c o v a , 然后“触发 另外一个活动中某个参数 改变成同样的值,这样,另外一个活动 的参与者就可以通过c o v a 读取此参 数,看到第一个活动参与者处理的数据 结果,从而实现数据信息的交互。 图3 3 中所示的的代码可以实现整 形数据从u s e r l 向u s e r 2 的传递。从代 码可以看出,活动a c t l 和a c t 2 分别由 u s e r l 与u s e r 2 进行操作,两个活动变量 m x 的初始值都是o 。当u s e r l 在打开活 动a c t l 之后,执行s e t x ( 1 ) 改变mx 的值,这个时候,如果在有多个终端同 时以u s e r l 的身份登陆时,在a c t l 还未 提交之前,他们都可以打开活动a c t l , 而且一旦其中一个终端执行了s e t ) ( ( 1 ) , 图3 3c o v a 简单流程示例 l p s z c l a s s n a m e ,i n tn b u f f e r l e n g t h ) ; 第一个参数是活动名,第二个参数是一个b u f f e r 名,用来存放打开活动后返 回的类名,这个参数很重要,因为随后的a p i 都会使用到这个返回的类名,第三 个参数是这个b u f f e r 的大小。 2 、执行方法 p e x e e u t e m e t h o d c a l l ( l p c t s t rl p s c z a c t i v i t y o b j e c t n a m e ,l p c t s t r l p s z m e t h o d n a m e ,l p c t s t rl p c s z a r g u m e m s ,l p b y t e l p b r e t u r r d 3 u f f e r , i n tn b u f f e r l e n ) ; 这里,第一个参数必须是这样的格式:类名活动名( 1 p s z c l a s s n a r n e i p c s z a c t i v i t y o b j e c t n a m e ) ,第二个参数是方法名,第三个是所执行方法的参数, c o v a 要求p e x e c u t e m e t h o d c a l l 的第三个参数是字符串指针类型,如果所执行的 方法具有非字符串类型的参数,此处格式为:”参数”。而当所执行方法的参数本 身就是字符串类型时,c o v a 规定此处必须使用这样的格式:。”参数, 。而 l p b r e t u m b u f f e r 则是有返回值函数的返回值存放的b u f f e r ,就如上例中g e t x 得到 的l 就应该存入此处。 3 、提交活动 p s u b m i t a c t i v i t y o b j e c t ( l p c t s t rl p c s z a c t i v i t y o b j e c t n a m e ) ; 这里的参数和p e x e c u t e m e t h o d c a l l 的a p i 的第一个参数一样,需要使用这样 的格式:类名活动名( 1 p s z c l a s s n a m e 1 p c s z a c t i v i t y o b j e c t n a m e ) ,用来提交活动。 如上所述,参与协同工作的两个用户使用c o v a 流程定义中的类成员函数来 i。悖盥爹,善 1 8基于c o v a 协同工作应用系统软件设计 实现他们之间的数据传输。这样的信息交互的过程,必须在协同工作平台和应用 平台两方面对这样的成员函数进行使用,才能成功实现信息的交互。即一方面通 过c o v a 语言t r i g g e r 语句的成员函数调用完成参数传递, t r i g g e rt la sa c t 2 s e t x ( a c t l g e t x o ) a f t e rs u b m i ta c t i v i t y ; 另一方面,还需要上层应用调用c o v a a p i 中的p e x e c u t e m e t h o d c a l l 来执行这两 个函数,这时类成员函数已经被当作种a p i 来实现用户数据的写入和读出,我 们称之为自定义c o v a a p h p e x e c u t e m e t h o d c a l l ( “c p o i n t x a c t l ”,”s e t x ”,”1 ”,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国汽车水箱烘焊炉市场调查研究报告
- 2025年中国抽桶市场调查研究报告
- 支架术后定期复查与随访管理
- 特别护理记录单的国际化趋势
- 人工智能辅助护理技术
- 药物过敏的护理创新方法
- 卧床老人心理障碍护理与干预
- 给排水工程施工方案
- 护理专业能力评估中的跨专业合作
- 痔疮术后个人卫生护理技巧
- 人教部编版道德与法治八年级下册道德与法治期末测试检测试题(解析版)
- 2024年北京中考语文试题及答案
- 新青岛版-二年级下册数学-口算题
- 周志华-机器学习-Chap01绪论-课件
- X矿业企业120万t选矿厂投标文件技术标
- 汉语写作与百科知识样题
- 提高喷射混凝土施工一次验收合格率QC成果
- 美丽中国(支教项目)
- 题型01 长句表达题的规范答题(课件) 高考生物二轮复习 (新教材专用)
- GB/T 17467-2020高压/低压预装式变电站
- 新通用设备经济寿命参考年限表
评论
0/150
提交评论