中华人民共和国国家标准信息技术远程操作第部分概念模型和记法发布实施国家质量技术监督局发布前言本标准等同采用国际标准信息技术远程操作第部分概念模型和记法以及技术更正在信息技术远程操作总标题下包括以下个部分第部分即概念模型和记法第部分即实现远程操作服务元素服务定义第部分即实现远程操作服务元素协议规范本标准的附录是标准的附录附录附录和附录是提示的附录本标准由中华人民共和国信息产业部提出本标准由中国电子技术标准化研究所归口本标准起草单位中国电子技术标准化研究所本标准主要起草人王宝艾过介前言国际标准化组织和国际电工委员会是世界性的标准化专门机构国家成员体它们都是或的成员国通过国际组织建立的各个技术委员会参与制定针对特定技术范围的国际标准和的各技术委员会在共同感兴趣的领域内进行合作与和有联系的其他官方和非官方国际组织也可参与国际标准的制定工作对于信息技术和建立了一个联合技术委员会即由联合技术委员会提出的国际标准草案需分发给国家成员体进行表决发布一项国际标准至少需要的参与表决的国家成员体投票赞成国际标准是由信息技术联合技术委员会开放系统互连数据管理和开放分布式处理与合作制定的这个文本也以公布在信息技术远程操作总标题下包括以下个部分第部分概念模型和记法第部分实现远程操作服务元素服务定义第部分实现远程操作服务元素协议规范附录构成的一部分而附录附录和附录仅提供参考信息引言远程操作是客体间交互式通信的范例因此它可用于分布式应用的设计和规范所涉及的基本交互作用是由一个客体调用者调用某一操作由另一个客体执行者执行该操作可能还跟有返回给调用者的操作效果报告的概念是抽象的可以用多种方法实现它例如使用概念进行交互作用的客体可以由软件界面或网络来隔开本标准描述了概念和模型它使用来规定对应于基本概念的信息客体类例如操作和差错这又提供了记法以便设计者能规定这些类的特殊实例例如特殊操作和差错本标准提供了一组类属的这些可用于相互远离的客体间概念的实现这些可用于的实现这些在本系列标准的伙伴标准中规定本标准还对基于应用的设计者提供了通用实用程序的一些定义中华人民共和国国家标准信息技术远程操作第部分概念模型和记法国家质量技术监督局批准实施范围本标准规定了远程操作服务该服务使用抽象语法记法来定义与基本概念相对应的信息客体类又提供了允许应用设计者规定这些类的特殊实例的记法本标准还提供了一批定义以规定使用概念进行通信的客体间的类属协议这些定义用于本系列标准的伙伴标准以提供的实现中使用的协议数据单元服务原语和应用背景定义本标准还对基于应用的设计者提供了通用实用程序的一些定义本标准没有规定一致性要求引用标准下列标准所包含的条文通过在本标准中引用而构成为本标准的条文本标准出版时所示版本均为有效所有标准都会被修订使用本标准的各方应探讨使用下列标准最新版本的可能性信息技术开放系统互连基本参考模型第部分基本模型信息技术远程操作第部分实现远程操作服务元素服务定义信息技术远程操作第部分实现远程操作服务元素协议规范信息技术抽象语法记法一基本记法规范信息技术抽象语法记法一信息客体规范信息技术抽象语法记法一约束规范信息技术抽象语法记法一规范参数化信息处理系统文本通信远程操作第部分模型记法和服务定义建议信息处理系统文本通信远程操作第部分协议规范建议建议消息处理系统抽象服务定义约定定义参考模型定义本标准采用中定义的下列术语抽象语法协议数据单元服务质量定义本标准采用中定义的下列术语数据类型数据值本标准采用中定义的下列术语字段信息客体信息客体类信息客体集本标准采用中定义的下列术语约束异常值本标准采用中定义的下列术语参数化的定义本标准采用下列定义自变量调用一个操作附带的数据值联系一对客体间的关系对于操作的调用和执行起关联的作用联系约定彼此可能有联系的一对通信客体的作用的规范不对称描述操作包或联系约定的双方所能执行的操作集是不同的连接包在其间动态地建立和释放联系的过程中一对通信客体的作用的规范约定为了规定共同的行为对一个或多个客体要求的集合差错操作不成功执行的报告等幂的一种操作特征即在不改变执行者状态的情况下可重复调用该操作链接操作一种操作该操作在另一个操作的执行期间由后者的执行者调用且又是后者的调用者试图执行的一种操作客体系统也可能是系统中一个独立部分的模型该模型通过其初始状态及其行为来表征这些行为是通过严格定义的接口处的外部交互作用而引起的操作一个客体调用者能够向另一个客体执行者请求的功能操作包用于规定一对通信客体的作用的有关操作的集合其中的每个操作能够被这对客体中的一个或两个调用并且能够被对方执行差错的参数差错报告可附带的数据值结果操作成功执行的报告可附带的数据值客体一种客体它与其他客体的交互作用是用概念来描述的对称描述操作包或联系约定的双方所能执行的操作集是相同的同步一种操作特征即该操作一经调用其调用者就只有在报告了效果之后才能调用另外一个具有相同的预期执行者的同步操作缩略语本标准采用下列缩略语抽象语法记法一协议数据单元服务质量或远程操作约定本标准使用来定义对应于概念的信息客体类如此还提供了应用的设计者能用以规定这些类特殊实例的记法那些类的特定信息客体类属协议的在这些定义中所需的数据类型这些定义的大部分被参数化了因此为了完善它们其用户必须给出实际的参数模型远程操作是客体间交互通信的范例使用描述和规定进行交互作用的客体就是客体所涉及的基本交互作用是由一个客体调用者调用操作而由另一个客体执行者执行其操作操作执行完成后成功或不成功可导致执行者对调用者返回一个执行效果的报告这些如图所示图操作的调用执行和返回操作成功完成的报告是结果操作不成功完成的报告是差错在执行操作期间执行者可以调用旨在由原来操作的调用者执行的链接操作为了正确地互工作必须让调用者和执行者双方都了解操作的某些特点这些特点包括是否要返回报告若要则返回哪一种值的类型如果有的话是随着操作的调用还是操作的返回来运送哪些操作如果有的话能与它链接为了把该操作与可能被调用的其他操作区分开来而使用的代码值根据称为操作包的相关操作集来定义某一客体类的成对的客体的互工作能力包可以是对称的在这种情况下用单一操作集来定义它可由这一对客体中的每一个客体来调用另一方面包可以是不对称的在这种情况下用两个操作集来定义即可由这一对客体中的某一客体调用的那些操作和可由另一个客体调用的那些操作来定义为了定义非对称包这两个客体可分别任意地标记为消费者和供应者注通常这些标记是任意的一般是进行直观的分配在这样一对客体中一个提供服务而另一个享用服务为了对操作的调用和执行起上下文的作用一对客体间必须存在联系通过联系约定来管理每一个这样的联系通过集中地决定联系可调用的操作的包集合来规定约定如果约定规范包括一个或多个非对称包则约定本身是不对称的为了规定不对称联系约定相互建立联系的两个客体可被标记为发起者和响应者可通过脱机手段来建立和释放联系另一种办法是动态地建立和释放联系本标准中描述的选择方案是分别通过调用和执行专用的联结和断联操作来动态地建立和释放联系后一种类型的联系约定包括连接包其中包括所使用的具体的联结和断联操作注也可以用其他标准中描述的其他方法进行联系的建立和释放联系需要客体间的关系即对于某一联系约定项目关系对应于客体的共同协定的实体注本规范没有涉及建立或终止这些关系的方法在上述内容中在操作中包括的客体才有可能是调用者和执行者但是一般情况下操作的调用者和执行者并不直接地互相连接而是通过可运送调用和返回的某一媒体来进行连接展开的视图如图所示图展开的视图在调用和返回的运送过程中以及在联系的建立释放和维持时媒体可能引起延迟并且引起失败或不准确的可能性它也可引起联系及其操作的安全受到威胁的可能性这些内容与其他因素一起可描述为服务质量联系约定目前能看作有三个部分第三个部分是媒体在约定期间媒体的职责是满足要求注今后目标和最低可接受要求可能形成操作操作包规范的一部分并且直接形成联系约定本身的一部分实现为了在客体之间运送调用和返回结果的实现包括定义适当的媒体例如这样的媒体可包含信息传递或过程调用能力以使操作的调用者和执行者能在单个计算机系统中以独立开发的软件模块来实现通信能力以使操作的调用者和执行者能在独立的计算机系统中实现实现可以是通用的在这种情况下它能用来支持任一联系约定另一些实现是专用的它仅适用于某些特殊约定图描述了利用通信手段实现的方法这种方法可能具有很广泛的用途图的通信实现方法在这种方法中媒体由若干插块客体和信息传送客体组成每一个客体对应一个插块客体与每个客体相关的插块客体似乎起着相应客体的作用但是它实际上并不调用或执行任何操作它只不过是相应地将调用和返回转换成反之亦然通过信息传送客体在插块间交换这些因此为了调用一个操作调用者调用相关插块的操作它形成一个描述该调用的插块利用信息传送能力将传送给另一个插块后一个插块解释该然后调用与执行者相关的客体的适当操作当操作执行完时执行者向其相关的插块运送任一个返回该插块形成一个描述返回的然后该插块利用信息传送能力将该运送给另一个插块后一个插块解释该并且把返回报告给调用者第章定义了一批合适的在这种实现中利用了各种信息传送能力尤其重要的是信息传送能力本标准的伙伴标准和描述了许多这样的实现概念引言本章定义了对应于基本概念的信息客体类以便规定这些类的客体具有的特性定义了下列信息客体类描述操作描述差错描述操作包描述连接包描述联系约定描述客体类使用来定义信息客体类如此提供的记法可用于应用的设计者规定这些类的具体事例鼓励设计者使用该规范方法但不强制使用如果使用其他的方法最终的规范应包括或涉及如何获得有效使用所提供的记法的描述注许多现有的规范使用宏记法它在标准的先前版本中定义见来规定有关信息客体的操作差错和其他类附录描述了如何将这些宏的使用转换成本标准所提供的记法对于新的应用不应使用这些宏操作操作是一个客体调用者能向另一个客体执行者请求的功能规定信息客体类所有操作均属于它如下各个字段在中描述字段规定了操作的自变量的数据类型如果在某一操作中省略该字段则该操作无自变量值字段规定操作自变量的数据类型是否可被省略只有当字段出现时该字段才出现如果该字段不存在或取值为在中不能省略的值见字段规定如果该操作执行成功是否返回结果若返回则取值否则取值字段规定操作的结果返回值的数据类型如果省略该值那么该操作就无结果值返回如果字段为应省略该字段字段规定是否可以省略作为执行操作结果的返回值的数据类型只有当字段出现时该字段才出现如果该字段不存在或取值在中不能省略的值见字段规定一组差错其中的任何一个都可返回来报告操作执行不成功如果省略该字段则不报告操作执行不成功字段规定是否总是返回执行该操作的效果如果返回则取值否则取值字段如果出现规定一组操作其中的任何一个都可在操作执行期间作为链接操作被调用如果省略该字段这一操作的调用不链接其他操作字段规定该操作是否同步如果同步则取值否则取值为如果字段为该字段也应取值为当字段置为时这就意味着在返回该操作之前没有其他同步操作可由这一侧调用注字段和字段的组合代替了中定义的操作类的早期概念字段规定能调用该操作的允许优先级见字段规定能返回该操作结果的允许优先级见字段如果出现规定标识该操作所使用的代码值见例如当该操作要被调用时注使用不能调用不具有的操作见实际上除打算在某一特定情况中使用外所有的操作应具有分配的例如作为一个联结操作字段规定操作是否是等幂的如果是等幂的取值否则取值差错差错是操作执行不成功的报告规定信息客体类所有的差错都属于它如下各个字段在中描述字段规定差错的参数的数据类型如果在某一差错中省略该字段则该差错无参数值字段规定作为限定差错参数返回值的数据类型是否可任选地出现只有当字段出现时该字段才能出现如果该字段不存在或取值在中不能省略的值见字段规定能返回差错的允许优先级见字段如果出现规定用于标识该差错的代码值见例如当返回差错时注使用后面定义的不能返回没有的差错实际上除打算在某一特定情况例如联结差错中使用外所有的差错都应具有分配的字段操作包操作包是一对通信客体所起作用的规范这是从他们能相互调用的观点来说的若该包是不对称的则术语消费者和供应者可用于所涉及的两个