构件化软件技术基于XML的构件组装平台分析_第1页
构件化软件技术基于XML的构件组装平台分析_第2页
构件化软件技术基于XML的构件组装平台分析_第3页
构件化软件技术基于XML的构件组装平台分析_第4页
构件化软件技术基于XML的构件组装平台分析_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

-.z摘要:构件组装技术是支持软件复用的核心技术,构件组装平台的使用将系统开发的重点从程序设计转移到已有构件的选取、组装和部署;在构件模型的支持下,通过复用已有的构件,软件开发者可以“即插即用〞地快速构造应用系统;在此,给出了一个基于*ML的构件组装平台的设计与描述,并且根据构件自身特点和构件组装的需要自定义了基于*ML的软件构造描述(SAD),其中包括基于*ML的构件描述、连接子描述和组装构造描述,这些描述对连接子生成与构件组装提供了根本的信息支持。关键字:*ML,构件化Abstract:ponentassemblytechnologyisthecoretechnologyofsoftwarereuse,ponentassemblyplatformsuccessfullyfulfillsthemainpointsofsystemdeveloping,suchasponentsearching,ponentassemblyandponenttransforminginsteadofprogramdesign.Undersustainingofponentmodel,reusingponent,softwaredevelopercouldquicklyconstructapplicationsystemasplugandplay.Adesignmethodanddescriptionofa*ML-basedponentassemblyplatformareproposedhere.Accordingtoponent-selfcharacterandrequirementofponentassembly,asoftwarearchitecturedescription:SAD(includesponentdescription,connectordescriptionandassemblydescription)isdefinedindetail,whichgivesbasicinformationalsupportforconnectorbuildingandponentassembly.Keywords:ponentassembly;connector;ponentassemblydescription目录TOC\o"1-3"\h\u155111构件分类、粒度划分、业务模型1123281.1构件分类1315241.2粒度划分212891.3业务模型之间的关系3251182典型构件模型技术3119062.1构件的模型3252442.2基于CORBA的CCM技术4281402.3E技术5150603典型构件模型技术及开展展望757654构件组装流程总体设计7203214.1用户需求的输入分析8182904.2构件搜索与获取892214.3构件匹配选择9312094.4构件组装9183234.5程序校验和执行10312415软件构造描述SAD10133025.1基于*ML的构件描述11264165.2基于*ML的连接子描述11275745.3基于*ML的组装构造描述12327576组装平台的实现16-.z基于*ML的构件组装平台的设计与实现1构件分类、粒度划分、业务模型1.1构件分类对大量构件进展分类有三个好处:便于组织管理、方便查询和辅助理解.构件分类是建立和维护构件目录信息的活动,构件的检索方法依赖于构件的表示和分类。目前有很多构件的分类和检索方法。从构件表示出发可分为人工智能方法、超文本方法和信息科学方法三类;而根据复杂度和检索效果的不同则可以分为基于文本、基于词法描述和基于规约的编码和检索三类。信息科学方法是软件复用工程中应用较为成功的一类,并且以枚举、刻面、属性值-关键词几种方法较为常见,其中刻面分类方法能够表达丰富的构件信息,为人关注。构件的分类方式有多种,为了检索和重用构件时更好的了解构件的性质,我们可以将构件分类如下:根据构件的复用方式,分为两种构件。一种是黑匣构件,我们不需要知道其内部是怎么工作,只需从外部使用它,能够到达即插即用;一种是白匣构件,需要经过修改才能重用;根据使用的*围,分为通用构件和专用构件。根据构件颗粒度的大小,分为小型构件,一般为根本数据构造类构件,如:窗口、按钮、菜单等;中型构件,具体指一些功能构建,如:录入、查询、删除等;大型构件,一般都是系统级构件,如一些系统框架等;根据功能用途,分为系统构件,实在整个构件集成环境和运行环境都使用的构件;支撑构件,是在构件集成环境、构件库管理系统中使用的构件;领域构建爱你,是为专用领域开发的构件;〔5〕根据构件的构造,分为原子构件和组合构件。1.1.1枚举分类通过定义一个层次构造来对构件进展分类。构件库中的可复用构件按照*种标准被分成了假设干个大类,每个大类中的构件再分成假设干个小类,这样就形成了一个构件分类的层次构造。层次构造的最低层罗列的就是实际的构件。1.1.2刻面分类一个刻面描述构件*一个方面的特征。刻面分类则是从不同的侧面对构件进展分类,每一种分类方式称为一个刻面。不同的刻面根据其重要性可以设置不同的优先级。对构件的每个刻面赋予相应的值,用以描述该构件。刻面分类具有较好的灵活性,易于参加新的刻面值,因此刻面分类比枚举分类更易于扩展和修改。支持多重观点对构件进展分类,例如从构件的应用领域、构件所描述的对象、构件的观点和编程语言等不同的方式来分类。每一种分类方式称为一个刻面。每个刻面把构件集合划分为一个子集,各刻面所划分的子集形成一些较小的交集。检索一个构件时,给出一组刻面值,将确定一组子集合,在这些子集合的交集中,确认所需的构件。构件可用属性描述,例如构件类型、开发单位、作者、提交日期等属性。检索时通过构件的属性可以缩小搜索*围。刻面和属性都不涉及构件内部实现,只是为了便于构件的管理、检索和使用。如果把构件比作一只箱子,其内容如同箱子中装的东西,刻面和属性则如同箱子外边的标签。刻面分类法可以看作层次分类法的扩大。1.1.3属性-值分类该方法首先是为构件库中的所有构件定义一组属性,并赋予相应的属性值。开发人员通过指定一组属性值在构件库中对构件进展检索。该分类方法与刻面分类方法有几点不同之处:属性的数量没有限制,而刻面描述一般限制在7或8个刻面;属性没有优先级,而刻面根据其重要程度,有相应的优先级。1.2粒度划分构件粒度是软件构件的一个重要属性,将粒度引入软件领域,是因为粒度可以用来衡量构件的规模,并在一定程度上影响着构件的可复用性。粒度过大,灵活性小,难以实现复用,粒度过小,管理本钱提升,使得复用性也很难改善。构件的粒度可以分为粗粒度、中等粒度、细粒度。对于粗粒度的构件来讲,往往含有非常复杂的业务逻辑,比方提供数据、数据构造、数据定义等功能的构件。中等粒度的构件是由细粒度的构件组成的,其中含有一些不复杂却很特殊的业务逻辑。细粒度构件往往是有一些RAD工具提供的,它具有很清晰的逻辑构造,例如JAVA的GUI组件,Active*和JavaBeans等。1.3业务模型之间的关系构件是从业务模型映射得到的。不稳定的业务模型需要频繁发生变化,与之相对应的构件要能够包容这种变化,即构件要能够在频繁变化的业务需求和相对稳定的软件系统之间建立缓冲,防止因业务的频繁变化而导致软件系统的频繁变化。这就需要构件本身应具备适应变化的能力,即构件能够通过对自身的配置和重构来满足不同的业务需求,但不会或极少影响到软件系统的变化。如果业务模型的这种变化不能通过*种抽象的形式描述出来并以可配置的形式封装在构件中,就不得不降低构件的粒度,将这些变化交由构件复用人员针对具体的复用环境在复用过程中去完成,否则,构件将不得不面临着因日后频繁重构而带来的巨大本钱。由此可知,构件的粒度与构件所实现的业务模型的稳定性密切相关。模型越稳定,可能发生变化的时机就越少,则相应的构件所需要包容的变化就越少,构件的粒度就可以越大。反之,模型越不稳定,模型的变化就越多,构件要包容这些变化的难度就越大,就不得不将该模型分解为假设干个粒度较小的构件。因此,对稳定的业务模型,可直接映射为大粒度构件;对不稳定的业务模型,通过对其进展分解,得到一组子业务模型,并将稳定的子业务元素映射为构件,其它不稳定元素继续进展分解,直到所有的业务元素都映射为构件为止。2典型构件模型技术2.1构件的模型软件构件模型是对软件构件本质特征的抽象描述,是对开发可重用软件构件和构件之间相互通信的一组标准的描述,它一般规定了创立和实现构件的知道原则,构件借口的构造,构件与软件架构及构件与构件间的交互机制。构件模型主要有构件和容器两个局部组成。构件模型分为两类:客户端构件模型和效劳器端构件模型。建立构件模型要考虑的几个要素:表达能力、简单性、语言无关性、一致性、完备性、可扩展性。对象模型、构件技术和Web技术的融合彻底改变了软件的构造方法。在分布式系统中,对象被用来表示分布的、可移动的、可通信的实体;构件化的软件开发方法使对象被加在网络上,到达跨平台的互操作和高的可伸缩性;Web技术使应用对象可以在Internet这个开放的计算平台上移动。这是一个全新的计算模式,核心是可互操作的对象,即软件对象间可透明地进展相互通信,并且地位对等地使用对方的效劳,而不管这些对象是处于同一编址空间,还是不同的编址空间,或是根本不同的机器上。分布式构件技术主要有三种:对象管理组织OMG的基于公共对象请求代理构造(CORBA)的CCM,SUN公司的E和Microsoft公司的/D/+。2.2基于CORBA的CCM技术CORBA是对象管理小组(OMG)的一个规*,它的底层和核心局部是对象请求代理(ORB)。从*种意义上说,CORBA是“软件总线〞。CORBA的实质是RPC与面向对象技术的有机结合。在CORBA中,每一个构件是一个对象,有一个基于面向对象的接口,内部代码实现可以是OO或非OO的语言,总线上的对象能够被任何其它对象所使用。CORBA提供了接口语言定义语言(IDL)到C,C++,Java,COBOL等语言的映射机制IDL编译器,它可以生成效劳器方的Skeleton和客户方Stub代码,通过分别与客户端和效劳器端的联编即可得到效劳方和客户方的程序。对一个CORBA客户机来说,效劳器的位置是透明的,客户机通过接口与效劳器构件进展通信。CORBA同时提供了一系列的公共效劳规*,其中包括名字效劳、永久对象效劳、生命周期效劳、事务处理效劳、对象事件效劳和平安效劳等,它们相当于一类用于企业级计算的公共构件。最新的CORBA规*主要包含以下内容:ORB核心、OMG界面定义语言、语言映射、存根(Stub)和框架(Skele-ton)、动态调用和仓库、对象适配器和ORB之间的互操作。CORBA的构造:IDL语言;ORB核心;客户程序;对象实现。2.3E技术SUN公司的E是一种基于构件的开发模型,它是Java效劳器端效劳框架的规*。E详细地定义了一个可以方便地部署Java构件的效劳框架模型,用于创立可伸缩、多层次、跨平台、分布式的应用,并可创立具有动态扩展性的效劳器端的应用。E效劳器实现了对E对象构件的管理,并提供对系统效劳的。E效劳器也可以提供其它软件接口标准,如优化的数据库接口,对CORBA效劳的,对SSL3.0的支持等。E以构件的形式组织效劳器E的构件实现仅需考虑应用需求,其系统级效劳诸如事务管理、平安性、构件生命周期和线程等,都是通过E效劳器自动进展管理的。E的体系构造具有面向对象、分布式、跨平台、可扩大性、平安性以及便于开发等优点。同时它还是以协议为中心的,任何协议都可以被利用,如IIOP,HTTP等。由此可见,E技术很好地补充了CORBA体系规*,在CORBA体系上引入E技术使得建造应用程序更为容易。事实上最近发布的CORBA规*中在建立Java语言的CORBA构件时已大量参考了E的体系构造。1996年10月,SUN公司推出的JavaBean,经过几次升级已成为比较重要的软件构件。按照SUN公司的定义,JavaBean是一种“能在开发工具中被可视化操作的、可重用的软件构件〞。它的最初目的是定义一种Java的软件构件模型,使第三厂方可以生成和销售供其他人员使用的Java构件。Bean可以被放置在“容器〞中,提供具体的操作性能。E规*是SUN于1997年12月发布的JavaBean构件模型。一个E是特定的在效劳器上运行的Jav-aBean,并且E能在可视化的工具下装配成新的应用。效劳器构件是运行在效劳器上的被包容器管理的Bean。包容器充当构件协调者的角色,使用标准的JAR从其包容器或工具中导入E。一旦E处于包容器内,就可以参加事件处理、状态管理、自动激活或撤销等功能。E框架的优点是以说明的方式定义效劳器方运行时的属性。因此,可以通过可视工具管理和设置效劳器方构件的属性,包括它们的事务处理、平安性和状态管理器。RMI(RemoteMethodInvocation)是JDK1.1引入的ORB,可看作是Java的RPC机制。它定义了一组远程接口,可用于生成远程对象,客户机可以像调用本地方法一样调用远程对象。RMI直接把分布式对象模型嵌入到Java语言内部,使Java程序员自然地编写分布式程序,不必离开Java环境或者涉及CORBAIDL,以及Java到CORBA的类型转换。然而,RMI不遵循CORBA标准,根本上是JavatoJava技术,它要求客户方、效劳器方程序由Java编写,难以实现与其它语言编写的对象间的互操作。技术是Microsoft推出的,它是一个二进制代码的标准,经历了OLE,,Active*,D和+等几个阶段。目前+把消息通信模块MSMQ和解决关键业务的交易模块MTS都加进去了,是分布对象计算的一个比较完整的平台。Microsoft的平台效率比较高,同时它有一系列相应的开发工具支持,应用开发相对简单。但它一个致命的弱点就是的跨平台性较差,如何实现与第三方厂商的互操作性始终是它的一大问题。Java提供了一个概念清晰、构造紧凑的分布计算模型和构件互操作的方法,为构件应用开发提供了相当的灵活性。但由于它还处于开展时期,因此其形态很难界定。CORBA是一种集成技术,而不是编程技术。它提供了对各种功能模块进展构件化处理并将它们捆绑在一起的粘合剂。Java和CORBA在很大的程度上可以看作是互补的。为了适应WEB应用的开展要求,许多软件厂商都急于促成CORBA和Java技术的结合,将来的RMI可能建立在IIOP之上。CORBA不只是对象请求代理ORB,也是一个非常完整的分布式对象平台。CORBA可以扩展Java在网络、语言、组件边界、操作系统中的各种应用。其次,Java也不仅仅是与CORBA捆绑的语言,它还是一个易变的对象系统,也是一个运行对象的便携式OS,而且允许CORBA对象在主机、网络计算机和蜂窝等应用上运行。Java还简化了大型CORBA系统中的代码分配,其中内置的多线程和垃圾收集使编写可靠的网络对象更为方便。此外,Java能创立可移动对象并将它们分发出去,而采用CORBA可以将它们连接在一起,并与计算环境中的数据库、遗留系统、其他语言编写的对象和应用相互集成。3典型构件模型技术及开展展望作为Internet上影响最大的Web应用,CORBA和Java的参加,不仅大大改善了Web应用的质量,如客户端可直接动态调用效劳器上的程序、多对象效劳群平衡处理输入的客户请求等,而且对于分布式对象的普及起到了积极的作用,它们的结合无疑是开发基于Web应用的最正确技术。/D/+技术虽然是由微软公司独家支配和制定,但其支撑和开发工具非常齐全,开发效率非常高;加之Windows系列平台在微机中的普遍使用,使人们不得不成认它已经成为了一种事实上的标准,并被大量使用。所以,/D/+是开发基于Windows平台应用的有效技术。分布构件技术已是目前企业信息系统和电子商务等大规模软件开发的主流技术,掌握它们的工作机理并加以灵活的应用,无疑是每个软件开发人员的必备能力。4构件组装流程总体设计从软件工程的角度看,构件组装平台特别适合于原形法和瀑布法软件过程模型。构件组装总体流程[2]:给定任务——软件模型——软件构造[3]——组装构造——组装实现——测试部署。整个构件组装分为5个局部吗,分别是用户需求的输入分析[4]、构件搜索与获取、构件匹配选择、构件组装、程序校验和执行。构件组装流程总体设计如图1所示。图1构件组装平台总流程4.1用户需求的输入分析在系统用户界面中,由于用户只关心自己所需程序的功能,所提出的请求往往带有一定的不确定性和模糊性。为了帮助用户更准确地提交请求,需要提供友好的输入界面。通过提供主题词表和图文导航目录等方法让用户通过输入界面提交有限定的非歧义的请求,为在相应的*围内高效获取可用构件创造条件。用户选定的关键词或图标及相关联关系是用户所需程序的初步描述,对用户请求的分析就是将问题按照应用领域和求解规则进展分解,将要解决的问题分解成小的模块,找出他们之间的依赖关系,直到各子问题可以通过*个构件或*些构件的组合实现为止。用户请求分析与构件搜索、获取严密联系,如果找不到相应的实现构件,就需要根据搜索结果重新调整分解策略,直到获得满足要求的问题分解与构件组装方案[5]。4.2构件搜索与获取通过对用户计算需求的分析,得到初步的构件组装方案,方案中的构件描述,形成构件搜索条件。搜索条件由构件的应用领域、功能描述、类别、接口特征等方面的属性组合而成,构件搜索代理的数量根据构件搜索任务的大小决定。构件搜索代理首先构件目录效劳器,通过目录协议查询构件目录信息库,得到相关或相近构件的位置信息。然后构件搜索代理在提供构件的库效劳器间自主移动并与库效劳器进展快速的本地交互,得到包含待选构件的资源文件,转交给下一步骤的代理处理。构件搜索过程分为两步进展:构件搜索代理首先在本地构件目录库中快速搜索需要的构件,如果本地库中没有,则马上返回错误信息,系统将该信息反响到上一阶段,要求重新调整分解策略,满足实时性要求高的应用的要求;对于对实时性要求不高的用户,系统可以启动代理通过相邻的构件目录效劳器到远程构件效劳器上继续搜索,获取需要的构件。4.3构件匹配选择待选构件的分析选择取决于前面的结果。在建立构件目录信息库阶段,构造出了描述构件静态属性以及动态行为的构件描述符,并做了分类组织,这是在构件层次上的描述;对用户需求的分析则得到用户所需程序的功能规约和自上而下的程序分解方案,这是应用层的描述。构件分析的任务就是根据用户需求分析阶段得到的程序描述和分解方案,按照相反的顺序自下而上验证分解方案的可行性,从分析构件的功能和依赖关系开场,逐步综合,得到更高抽象层次的构件组合,再进一步分析构件组合之间的关系,最终得到基于构件组装的程序,建立起应用层次和构件描述层次之间的联系。在分析待选构件的过程中,由于由多个构件实现一样或相似的功能,并且在组合过程中对外部条件有不同的要求,因此在实际组装之前需要对构件进展选择和优化。构件选择主要从两个层次进展:首先对功能相近的构件进展比较分析,综合考虑执行效率、时空开销等因素,对构件进展取舍,以满足用户的实际需要;另外,在更高一个层次上,对于实现一样功能的构件组合,也同样存在比较和取舍问题,确保构件组合在执行过程中不互相影响。这两方面的取舍对于整个过程的优化有重要意义。经过构件的分析选择,最终确定了待组装的构件和构件组装方案。4.4构件组装在组装环境中,按照构件组装方案定义的构件和调用关系,对选定的构件进展连线和组装。在组装过程中,需要根据用户的具体需求调整和设置各个构件的可定制属性,通过事前触发和方法调用将构件连接成统一的整体,并自动生成相关的程序代码,完成用户所要求的计算功能。在组装过程中,自动生成的代码主要包括构件之间的动态参数传递,以及支持整个程序执行的静态入口方法和变量设置等等。软构件之间的调用关系可以用*种构件配置的和连接语言描述,例如:*ML来描述JavaBean之间的调用和依赖关系,进展JavaBean的连接和组装。4.5程序校验和执行这一步的主要任务是在组装程序提交给用户之前,进展验证和测试,确保得到的程序能够完成用户需要的功能,并且在运行过程中不会给客户端系统带来不良影响。程序的校验在以下几个方面进展:组装程序的有效性和可靠性,程序功能规约的一致性和正确性,构件间依赖关系的描述的正确性,以及功能规约到实现转换的有效性。构件的组装将生成新构件,将新构件信息登记到构件目录信息库是构件再造和知识积累的过程。以上几个阶段相互联系,相互影响,形成一个统一的构件组装流程。5软件构造描述SAD构件组装的本质是在构件之间建立关联,根据这种关联来协调构件的行为,把它们组织成为一个有机的整体。构件之间的组装关系,宏观上由组装构造描述[6](简称组装描述)定义,构件之间复杂的行为关系,微观上由连接子描述。主要完成从软件体系构造到系统组装构造描述的映射过程,自定义了软件构造描述,给出系统的抽象规约描述,它是构件描述、连接子描述和组装构造描述的统称,并根据描述语言映射为最终的实现语言,生成应用系统骨架。SAD从构件、连接子和两者之间的组装构造关系三方面来建模系统。SAD有11个主要元素:(1)ponentName(构件名):构件有代表性的正规名称,也是构件的唯一性标识;(2)Function(构件功能):对构件功能的自然语言描述;(3)ponentLocation(构件位置):构件来源信息,一般与构件的获取方式相关;(4)Inputpara(输入参数):构件操作的输入参数数据类型以及参数名。包括两个项,分别是ParaName(参数名)和ParaType(参数类型);(5)Outputpara(输出参数):构件操作完后的输出参数数据类型以及参数名。同样包括两个项,分别是ParaName(参数名)和ParaType(参数类型);(6)ConnectorName(连接子名称):标识连接子的名字;(7)ConnectorFunction(连接子功能):连接子的功能,连接子功能化分为两个:数据的传递(Paratransmitter)和数据类型的转换匹配(Paramatching);(8)ponentObjects(连接的构件对象描述):对连接子连接的上一构件(Up_ponent)与下一构件(Down_ponent)的描述;(9)OutputParalist(来源参数列表):连接子接收的输入信息的参数序列;(10)InputParalist(目的参数列表):经连接子处理后发往下一个构件的输出,也是一个参数序列;(11)Condition(条件约束):这是一个条件约束,这个条件一般用自然语言描述,在由连接子描述映射到连接子实体时,半自动化生成选择语句的条件表达式。5.1基于*ML的构件描述软件体系构造人员根据用户需求,对构件的功能和其它特征进展刻画,形成构件描述[7]。在本文定义的构件描述中,与组装相关的构件描述分为两个局部,第一局部是构件的一般信息描述,包括构件名称、来源、功能等;第二局部是构件内部构造的详细说明,包括操作的名称及参数列表等。构件描述包含了SAD中的5个元素:ponentName,Function,ponentLocation,Inputpara,Outputpara。其中ponentName,Function和ponentLocation的数据类型是String类型,Inputpara和Outputpara是复杂类型。5.2基于*ML的连接子描述在软件组装构造中,连接子是一类特殊构件,它不但具有逻辑意义上的独立性,而且与构件和一样,都是独立的二进制实体。连接子实现构件之间的数据传送、控制转移(顺序、选择、循环、并行等)等功能,是构件之间建立联系的中介。本文所述的组装关系最终都被映射到一类特殊的构件∀-连接子上。连接子定义、连接子处理方法和连接子接口,都被封装在连接子中。因此,构件之间的组装关系,分散在对连接子的描述中。连接子的描述方法,其包括逻辑关系描述和组装描述,主要研究连接子的一般规约模型。规*化描述接连子是使连接子作为独立构件的根底,也是使连接子工具化的第一步。由于连接子是软件高层设计的构件,因此,它的描述不同于传统程序设计语言中的程序单元。它所描述的不是具体的实现功能、操作等,而应该明确、显示地描述它在体系构造中所扮演的抽象角色。连接子描述包括功能、约束、非功能属性描述等,它包含了SAD中的6个元素:ConnectorName,ConnectorFunction,ponentObjects,OutputParalist,InputParalist,Condition。5.3基于*ML的组装构造描述组装构造描述是软件构造描述的重点,它规定了应用系统中各个构件之间的作用形式和构件在运行期间的通信机制,其它描述都是直接为它效劳的。*ML表示的组装构造描述(简称组装描述)是对软件系统各个组成局部之间关系的准确刻画,它反映了构件、连接子之间的交互关系。构件组装平台的各个局部,可以根据自身在组装描述中的位置,确定构件与构件以及构件与连接子间的逻辑连接关系。每一个节点代表一个构件或连接子,节点之间代表数据的流向。数据的传递以及数据类型的匹配在连接子中完成。构件组装描述中的节点、前驱节点、后继节点定义如下:(1)节点(Node):节点是组装描述的根本元素,有两种类型的节点,一种是构件,另一种是连接子。连接子结点描述了构件之间的组装关系,是构件之间的粘合剂!。(2)前驱节点(PreNode):表示当前节点在组装构造中的前驱节点名称,前驱节点的类型可以是构件或连接子。(3)后继节点(Ne*tNode):表示当前节点在组装构造中的后继节点名称,后继节点的类型可以是构件或连接子。组装构造的逻辑描述如下:<CL><DesObject><ClassName>构件名称</ClassName><MethodName>方法名称</MethodName><Inputpara><ParaName>参数名称</ParaName><ParaType>参数类型</ParaType></Inputpara><Outputpara><ParaName>参数名称</ParaName><ParaType>参数类型</ParaType></Outputpara></DesObject><NodeListVersion=""Name="cl_table"><NodeName="start"><Ne*tNodes><Ne*tNodeName="构件名称"><Condition>true</Condition></Ne*tNode></Ne*tNodes></Node><NodeName="构件名称"><ClassType>构件类型</ClassType><MethodName>方法名称</MethodName><PreNode>前驱构件</PreNode><Inputpara><ParaName>参数名称</ParaName><ParaType>参数类型</ParaType></Inputpara><Outputpara><ParaName>参数名称</ParaName><ParaType>参数类型</ParaType></Outputpara><Ne*tNodes><Ne*tNodeName="构件名称"><Condition>条件</Condition></Ne*tNode><Ne*tNodeName="构件名称"><Condition>条件</Condition></Ne*tNode></Ne*tNodes></Node><NodeName="连接子名称"><ClassType>连接子类型</ClassType><MethodName>方法名称</MethodName><PreNode>前驱构件</PreNode><Inputpara><ParaName>参数名称</ParaName><ParaType>参数类型</ParaType></Inputpara><Outputpara><ParaName>参数名称</ParaName><ParaType>参数类型</ParaType></Outputpara><Ne*tNodes><Ne*tNodeName="构件名称"><Condition>条件</Condition></Ne*tNode><Ne*tNodeName="构件名称"><Condition>条件</Condition></Ne*tNode></Ne*tNodes></Node><NodeName="构件名称

温馨提示

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

评论

0/150

提交评论