From e47d38037f4a8b92e47b5750e0eb4a5b0c732233 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Thu, 22 Oct 2015 16:52:10 +0200 Subject: Normalize names --- .../Remote-Operations-Information-Objects.asn1 | 376 +++++++++++++++++++++ .../Remote-Operations-Useful-Definitions.asn1 | 93 +++++ csta/source-files/rose94.asn1 | 376 --------------------- 3 files changed, 469 insertions(+), 376 deletions(-) create mode 100644 csta/source-files/Remote-Operations-Information-Objects.asn1 create mode 100644 csta/source-files/Remote-Operations-Useful-Definitions.asn1 delete mode 100644 csta/source-files/rose94.asn1 diff --git a/csta/source-files/Remote-Operations-Information-Objects.asn1 b/csta/source-files/Remote-Operations-Information-Objects.asn1 new file mode 100644 index 0000000..98276a1 --- /dev/null +++ b/csta/source-files/Remote-Operations-Information-Objects.asn1 @@ -0,0 +1,376 @@ +Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)} +DEFINITIONS ::= +BEGIN +-- exports everything +IMPORTS emptyBind, emptyUnbind FROM Remote-Operations-Useful-Definitions{joint-iso-itu-t remote-operations(4) useful-definitions(7) version1(0)}; +OPERATION ::= CLASS +{ + &ArgumentType OPTIONAL, + &argumentTypeOptional BOOLEAN OPTIONAL, + &returnResult BOOLEAN DEFAULT TRUE, + &ResultType OPTIONAL, + &resultTypeOptional BOOLEAN OPTIONAL, + &Errors ERROR OPTIONAL, + &Linked OPERATION OPTIONAL, + &synchronous BOOLEAN DEFAULT FALSE, + &alwaysReturns BOOLEAN DEFAULT TRUE, + &InvokePriority Priority OPTIONAL, + &ResultPriority Priority OPTIONAL, + &operationCode Code UNIQUE OPTIONAL +} +WITH SYNTAX +{ + [ARGUMENT &ArgumentType [OPTIONAL &argumentTypeOptional]] + [RESULT &ResultType [OPTIONAL &resultTypeOptional]] + [RETURN RESULT &returnResult] + [ERRORS &Errors] + [LINKED &Linked] + [SYNCHRONOUS &synchronous] + [ALWAYS RESPONDS &alwaysReturns] + [INVOKE PRIORITY &InvokePriority] + [RESULT-PRIORITY &ResultPriority] + [CODE &operationCode] +} +ERROR ::= CLASS +{ + &ParameterType OPTIONAL, + ¶meterTypeOptional BOOLEAN OPTIONAL, + &ErrorPriority Priority OPTIONAL, + &errorCode Code UNIQUE OPTIONAL +} +WITH SYNTAX +{ + [PARAMETER &ParameterType [OPTIONAL ¶meterTypeOptional]] + [PRIORITY &ErrorPriority] + [CODE &errorCode] +} + +OPERATION-PACKAGE ::= CLASS +{ + &Both OPERATION OPTIONAL, + &Consumer OPERATION OPTIONAL, + &Supplier OPERATION OPTIONAL, + &id OBJECT IDENTIFIER UNIQUE OPTIONAL +} +WITH SYNTAX +{ + [OPERATIONS &Both] + [CONSUMER INVOKES &Supplier] + [SUPPLIER INVOKES &Consumer] + [ID &id] +} +CONNECTION-PACKAGE ::= CLASS +{ + &bind OPERATION DEFAULT emptyBind, + &unbind OPERATION DEFAULT emptyUnbind, + &responderCanUnbind BOOLEAN DEFAULT FALSE, + &unbindCanFail BOOLEAN DEFAULT FALSE, + &id OBJECT IDENTIFIER UNIQUE OPTIONAL +} +WITH SYNTAX +{ + [BIND &bind] + [UNBIND &unbind] + [RESPONDER UNBIND &responderCanUnbind] + [FAILURE TO UNBIND &unbindCanFail] + [ID &id] +} +CONTRACT ::= CLASS +{ + &connection CONNECTION-PACKAGE OPTIONAL, + &OperationsOf OPERATION-PACKAGE OPTIONAL, + &InitiatorConsumerOf OPERATION-PACKAGE OPTIONAL, + &InitiatorSupplierOf OPERATION-PACKAGE OPTIONAL, + &id OBJECT IDENTIFIER UNIQUE OPTIONAL +} +WITH SYNTAX +{ + [CONNECTION &connection] + [OPERATIONS OF &OperationsOf] + [INITIATOR CONSUMER OF &InitiatorConsumerOf] + [RESPONDER CONSUMER OF &InitiatorSupplierOf] + [ID &id] +} + +ROS-OBJECT-CLASS ::= CLASS +{ + &Is ROS-OBJECT-CLASS OPTIONAL, + &Initiates CONTRACT OPTIONAL, + &Responds CONTRACT OPTIONAL, + &InitiatesAndResponds CONTRACT OPTIONAL, + &id OBJECT IDENTIFIER UNIQUE +} +WITH SYNTAX +{ + [IS &Is] + [BOTH &InitiatesAndResponds] + [INITIATES &Initiates] + [RESPONDS &Responds] + ID &id +} +Code ::= CHOICE +{ + local INTEGER, + global OBJECT IDENTIFIER +} +Priority ::= INTEGER (0..MAX) +END -- end of Information Object specifications + + +Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t remote-operations(4) generic-ROS-PDUs(6) version1(0)} +DEFINITIONS IMPLICIT TAGS ::= +BEGIN +-- exports everything +IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects{joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)}; +ROS {InvokeId:InvokeIdSet, OPERATION:Invokable, OPERATION:Returnable} ::= CHOICE +{ + invoke [1] Invoke {{InvokeIdSet}, {Invokable}}, + returnResult [2] ReturnResult {{Returnable}}, + returnError [3] ReturnError {{Errors{{Returnable}}}}, + reject [4] Reject +} +(CONSTRAINED BY { -- must conform to the above definition -- } +! RejectProblem : general-unrecognisedPDU) +Invoke {InvokeId:InvokeIdSet, OPERATION:Operations} ::= SEQUENCE +{ + invokeId InvokeId (InvokeIdSet) + (CONSTRAINED BY {-- must be unambiguous --} + ! RejectProblem : invoke-duplicateInvocation), + linkedId CHOICE { + present [0] IMPLICIT present < InvokeId, + absent [1] IMPLICIT NULL + } + (CONSTRAINED BY {-- must identify an outstanding operation --} + ! RejectProblem : invoke-unrecognisedLinkedId) + (CONSTRAINED BY {-- which has one or more linked operations--} + ! RejectProblem : invoke-linkedResponseUnexpected) + OPTIONAL, + opcode OPERATION.&operationCode + ({Operations} + ! RejectProblem : invoke-unrecognisedOperation), + argument OPERATION.&ArgumentType + ({Operations} {@opcode} + ! RejectProblem : invoke-mistypedArgument) + OPTIONAL +} +(CONSTRAINED BY { -- must conform to the above definition -- } +! RejectProblem : general-mistypedPDU) +( + WITH COMPONENTS + {..., + linkedId ABSENT + } +| WITH COMPONENTS + {..., + linkedId PRESENT, + opcode + (CONSTRAINED BY {-- must be in the &Linked field of the associated operation --} + ! RejectProblem : invoke-unexpectedLinkedOperation) + } +) + +ReturnResult {OPERATION:Operations}::= SEQUENCE +{ + invokeId InvokeId + (CONSTRAINED BY {-- must be that for an outstanding operation --} + ! RejectProblem : returnResult-unrecognisedInvocation) + (CONSTRAINED BY {-- which returns a result --} + ! RejectProblem : returnResult-resultResponseUnexpected), + result SEQUENCE + { + opcode OPERATION.&operationCode + ({Operations})(CONSTRAINED BY {-- identified by invokeId --} + ! RejectProblem : returnResult-unrecognisedInvocation), + result OPERATION.&ResultType + ({Operations} {@.opcode} + ! RejectProblem : returnResult-mistypedResult) + } + OPTIONAL +} +(CONSTRAINED BY { -- must conform to the above definition -- } +! RejectProblem : general-mistypedPDU) +ReturnError {ERROR:Errors} ::= SEQUENCE +{ + invokeId InvokeId + (CONSTRAINED BY {-- must be that for an outstanding operation --} + ! RejectProblem : returnError-unrecognisedInvocation) + (CONSTRAINED BY {-- which returns an error --} + ! RejectProblem : returnError-errorResponseUnexpected), + errcode ERROR.&errorCode + ({Errors} + ! RejectProblem : returnError-unrecognisedError) + (CONSTRAINED BY {-- must be in the &Errors field of the associated -- + -- operation --} + ! RejectProblem : returnError-unexpectedError), + parameter ERROR.&ParameterType + ({Errors}{@errcode} + ! RejectProblem : returnError-mistypedParameter) OPTIONAL +} +(CONSTRAINED BY { -- must conform to the above definition -- } +! RejectProblem : general-mistypedPDU) +Reject ::= SEQUENCE +{ + invokeId InvokeId, + problem CHOICE + { + general [0] GeneralProblem, + invoke [1] InvokeProblem, + returnResult [2] ReturnResultProblem, + returnError [3] ReturnErrorProblem + } +} +(CONSTRAINED BY { -- must conform to the above definition -- } +! RejectProblem : general-mistypedPDU) +GeneralProblem ::= INTEGER +{ + unrecognisedPDU (0), + mistypedPDU (1), + badlyStructuredPDU (2) +} +InvokeProblem ::= INTEGER +{ + duplicateInvocation (0), + unrecognisedOperation (1), + mistypedArgument (2), + resourceLimitation (3), + releaseInProgress (4), + unrecognisedLinkedId (5), + linkedResponseUnexpected (6), + unexpectedLinkedOperation (7) +} +ReturnResultProblem ::= INTEGER +{ + unrecognisedInvocation (0), + resultResponseUnexpected (1), + mistypedResult (2) +} +ReturnErrorProblem ::= INTEGER +{ + unrecognisedInvocation (0), + errorResponseUnexpected (1), + unrecognisedError (2), + unexpectedError (3), + mistypedParameter (4) +} +RejectProblem ::= INTEGER +{ + general-unrecognisedPDU (0), + general-mistypedPDU (1), + general-badlyStructuredPDU (2), + invoke-duplicateInvocation (10), + invoke-unrecognisedOperation (11), + invoke-mistypedArgument (12), + invoke-resourceLimitation (13), + invoke-releaseInProgress (14), + invoke-unrecognisedLinkedId (15), + invoke-linkedResponseUnexpected (16), + invoke-unexpectedLinkedOperation (17), + returnResult-unrecognisedInvocation (20), + returnResult-resultResponseUnexpected (21), + returnResult-mistypedResult (22), + returnError-unrecognisedInvocation (30), + returnError-errorResponseUnexpected (31), + returnError-unrecognisedError (32), + returnError-unexpectedError (33), + returnError-mistypedParameter (34) +} +InvokeId ::= CHOICE +{ + present INTEGER, + absent NULL +} +noInvokeId InvokeId ::= absent:NULL +NoInvokeId InvokeId ::= {noInvokeId} +Errors {OPERATION:Operations} ERROR ::= {Operations.&Errors} +Bind {OPERATION:operation} ::= CHOICE +{ + bind-invoke [16] OPERATION.&ArgumentType({operation}), + bind-result [17] OPERATION.&ResultType ({operation}), + bind-error [18] OPERATION.&Errors.&ParameterType ({operation}) +} +Unbind {OPERATION:operation} ::= CHOICE +{ + unbind-invoke [19] OPERATION.&ArgumentType({operation}), + unbind-result [20] OPERATION.&ResultType ({operation}), + unbind-error [21] OPERATION.&Errors.&ParameterType ({operation}) +} +END -- end of generic ROS PDU definitions + + +Remote-Operations-Useful-Definitions {joint-iso-itu-t remote-operations(4) useful-definitions(7) version1(0)} +DEFINITIONS IMPLICIT TAGS ::= +BEGIN +-- exports everything +IMPORTS OPERATION, ERROR, OPERATION-PACKAGE, Code FROM Remote-Operations-Information-Objects{joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)} +InvokeId, ROS{} FROM Remote-Operations-Generic-ROS-PDUs{joint-iso-itu-t remote-operations(4) generic-ROS-PDUs(6) version1(0)}; +emptyBind OPERATION ::= {ERRORS {refuse} SYNCHRONOUS TRUE} +emptyUnbind OPERATION ::= { SYNCHRONOUS TRUE } +refuse ERROR ::= {CODE local:-1} +no-op OPERATION ::= +{ + ALWAYS RESPONDS FALSE + CODE local:-1 +} +Forward {OPERATION:OperationSet} OPERATION ::= +{ + OperationSet | + OperationSet.&Linked.&Linked | + OperationSet.&Linked.&Linked.&Linked.&Linked +} +Reverse {OPERATION:OperationSet} OPERATION ::= + {Forward{ {OperationSet.&Linked} }} +ConsumerPerforms {OPERATION-PACKAGE:package} OPERATION ::= +{ + Forward{{package.&Consumer}} | + Forward{{package.&Both}} | + Reverse{{package.&Supplier}} | + Reverse{{package.&Both}} +} +SupplierPerforms {OPERATION-PACKAGE:package} OPERATION ::= +{ + Forward{{package.&Supplier}} | + Forward{{package.&Both}} | + Reverse{{package.&Consumer}} | + Reverse{{package.&Both}} +} +AllOperations {OPERATION-PACKAGE:package} OPERATION ::= +{ + ConsumerPerforms {package} | + SupplierPerforms {package} +} +recode {OPERATION:operation, Code:code} OPERATION ::= +{ + ARGUMENT operation.&ArgumentType + OPTIONAL operation.&argumentTypeOptional + RESULT operation.&ResultType + OPTIONAL operation.&resultTypeOptional + RETURN RESULT operation.&returnResult + ERRORS {operation.&Errors} + LINKED {operation.&Linked} + SYNCHRONOUS operation.&synchronous + ALWAYS RESPONDS operation.&alwaysReturns + INVOKE PRIORITY {operation.&InvokePriority} + RESULT-PRIORITY {operation.&ResultPriority} + CODE code +} +switch {OPERATION-PACKAGE:package, OBJECT IDENTIFIER:id} OPERATION-PACKAGE ::= +{ + OPERATIONS {package.&Both} + CONSUMER INVOKES {package.&Supplier} + SUPPLIER INVOKES {package.&Consumer} + ID id +} +combine {OPERATION-PACKAGE:ConsumerConsumes, OPERATION-PACKAGE:ConsumerSupplies, OPERATION-PACKAGE:base} OPERATION-PACKAGE ::= +{ + OPERATIONS {ConsumerConsumes.&Both | ConsumerSupplies.&Both} + CONSUMER INVOKES {ConsumerConsumes.&Supplier | ConsumerSupplies.&Consumer} + SUPPLIER INVOKES {ConsumerConsumes.&Consumer | ConsumerSupplies.&Supplier} + ID base.&id +} +ROS-SingleAS {InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::= + ROS {{InvokeIdSet}, {AllOperations{package}}, {AllOperations{package}}} +ROS-ConsumerAS {InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::= + ROS {{InvokeIdSet}, {ConsumerPerforms{package}}, {SupplierPerforms{package}}} +ROS-SupplierAS {InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::= + ROS {{InvokeIdSet}, {SupplierPerforms{package}}, {ConsumerPerforms{package}}} +END -- end of useful definitions. diff --git a/csta/source-files/Remote-Operations-Useful-Definitions.asn1 b/csta/source-files/Remote-Operations-Useful-Definitions.asn1 new file mode 100644 index 0000000..e4430ce --- /dev/null +++ b/csta/source-files/Remote-Operations-Useful-Definitions.asn1 @@ -0,0 +1,93 @@ +Remote-Operations-Useful-Definitions {joint-iso-itu-t remote-operations(4) + useful-definitions(7) version1(0)} DEFINITIONS IMPLICIT TAGS ::= +BEGIN + +-- exports everything +IMPORTS + OPERATION, ERROR, OPERATION-PACKAGE, Code + FROM Remote-Operations-Information-Objects {joint-iso-itu-t + remote-operations(4) informationObjects(5) version1(0)} + InvokeId, ROS{} + FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t + remote-operations(4) generic-ROS-PDUs(6) version1(0)}; + +emptyBind OPERATION ::= {ERRORS {refuse} + SYNCHRONOUS TRUE +} + +emptyUnbind OPERATION ::= {SYNCHRONOUS TRUE +} + +refuse ERROR ::= {CODE local:-1 +} + +no-op OPERATION ::= {ALWAYS RESPONDS FALSE + CODE local:-1 +} + +Forward{OPERATION:OperationSet} OPERATION ::= + {OperationSet | OperationSet.&Linked.&Linked | + OperationSet.&Linked.&Linked.&Linked.&Linked} + +Reverse{OPERATION:OperationSet} OPERATION ::= + {Forward{{OperationSet.&Linked}}} + +ConsumerPerforms{OPERATION-PACKAGE:package} OPERATION ::= + {Forward{{package.&Consumer}} | Forward{{package.&Both}} | + Reverse{{package.&Supplier}} | Reverse{{package.&Both}}} + +SupplierPerforms{OPERATION-PACKAGE:package} OPERATION ::= + {Forward{{package.&Supplier}} | Forward{{package.&Both}} | + Reverse{{package.&Consumer}} | Reverse{{package.&Both}}} + +AllOperations{OPERATION-PACKAGE:package} OPERATION ::= + {ConsumerPerforms{package} | SupplierPerforms{package}} + +-- continued on the next page +recode{OPERATION:operation, Code:code} OPERATION ::= { + ARGUMENT operation.&ArgumentType + OPTIONAL operation.&argumentTypeOptional + RESULT operation.&ResultType + OPTIONAL operation.&resultTypeOptional + RETURN RESULT operation.&returnResult + ERRORS {operation.&Errors} + LINKED {operation.&Linked} + SYNCHRONOUS operation.&synchronous + ALWAYS RESPONDS operation.&alwaysReturns + INVOKE PRIORITY {operation.&InvokePriority} + RESULT-PRIORITY {operation.&ResultPriority} + CODE code +} + +switch{OPERATION-PACKAGE:package, OBJECT IDENTIFIER:id} OPERATION-PACKAGE ::= +{ + OPERATIONS {package.&Both} + CONSUMER INVOKES {package.&Consumer} + SUPPLIER INVOKES {package.&Supplier} + ID id +} + +combine{OPERATION-PACKAGE:ConsumerConsumes, OPERATION-PACKAGE:ConsumerSupplies, + OPERATION-PACKAGE:base} OPERATION-PACKAGE ::= { + OPERATIONS {ConsumerConsumes.&Both | ConsumerSupplies.&Both} + CONSUMER INVOKES + {ConsumerConsumes.&Consumer | ConsumerSupplies.&Supplier} + SUPPLIER INVOKES + {ConsumerConsumes.&Supplier | ConsumerSupplies.&Consumer} + ID base.&id +} + +ROS-SingleAS{InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::= + ROS{{InvokeIdSet}, {AllOperations {package}}, {AllOperations {package}}} + +ROS-ConsumerAS{InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::= + ROS + {{InvokeIdSet}, {ConsumerPerforms {package}}, + {SupplierPerforms {package}}} + +ROS-SupplierAS{InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::= + ROS + {{InvokeIdSet}, {SupplierPerforms {package}}, + {ConsumerPerforms {package}}} + +END -- end of useful definitions. diff --git a/csta/source-files/rose94.asn1 b/csta/source-files/rose94.asn1 deleted file mode 100644 index 98276a1..0000000 --- a/csta/source-files/rose94.asn1 +++ /dev/null @@ -1,376 +0,0 @@ -Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)} -DEFINITIONS ::= -BEGIN --- exports everything -IMPORTS emptyBind, emptyUnbind FROM Remote-Operations-Useful-Definitions{joint-iso-itu-t remote-operations(4) useful-definitions(7) version1(0)}; -OPERATION ::= CLASS -{ - &ArgumentType OPTIONAL, - &argumentTypeOptional BOOLEAN OPTIONAL, - &returnResult BOOLEAN DEFAULT TRUE, - &ResultType OPTIONAL, - &resultTypeOptional BOOLEAN OPTIONAL, - &Errors ERROR OPTIONAL, - &Linked OPERATION OPTIONAL, - &synchronous BOOLEAN DEFAULT FALSE, - &alwaysReturns BOOLEAN DEFAULT TRUE, - &InvokePriority Priority OPTIONAL, - &ResultPriority Priority OPTIONAL, - &operationCode Code UNIQUE OPTIONAL -} -WITH SYNTAX -{ - [ARGUMENT &ArgumentType [OPTIONAL &argumentTypeOptional]] - [RESULT &ResultType [OPTIONAL &resultTypeOptional]] - [RETURN RESULT &returnResult] - [ERRORS &Errors] - [LINKED &Linked] - [SYNCHRONOUS &synchronous] - [ALWAYS RESPONDS &alwaysReturns] - [INVOKE PRIORITY &InvokePriority] - [RESULT-PRIORITY &ResultPriority] - [CODE &operationCode] -} -ERROR ::= CLASS -{ - &ParameterType OPTIONAL, - ¶meterTypeOptional BOOLEAN OPTIONAL, - &ErrorPriority Priority OPTIONAL, - &errorCode Code UNIQUE OPTIONAL -} -WITH SYNTAX -{ - [PARAMETER &ParameterType [OPTIONAL ¶meterTypeOptional]] - [PRIORITY &ErrorPriority] - [CODE &errorCode] -} - -OPERATION-PACKAGE ::= CLASS -{ - &Both OPERATION OPTIONAL, - &Consumer OPERATION OPTIONAL, - &Supplier OPERATION OPTIONAL, - &id OBJECT IDENTIFIER UNIQUE OPTIONAL -} -WITH SYNTAX -{ - [OPERATIONS &Both] - [CONSUMER INVOKES &Supplier] - [SUPPLIER INVOKES &Consumer] - [ID &id] -} -CONNECTION-PACKAGE ::= CLASS -{ - &bind OPERATION DEFAULT emptyBind, - &unbind OPERATION DEFAULT emptyUnbind, - &responderCanUnbind BOOLEAN DEFAULT FALSE, - &unbindCanFail BOOLEAN DEFAULT FALSE, - &id OBJECT IDENTIFIER UNIQUE OPTIONAL -} -WITH SYNTAX -{ - [BIND &bind] - [UNBIND &unbind] - [RESPONDER UNBIND &responderCanUnbind] - [FAILURE TO UNBIND &unbindCanFail] - [ID &id] -} -CONTRACT ::= CLASS -{ - &connection CONNECTION-PACKAGE OPTIONAL, - &OperationsOf OPERATION-PACKAGE OPTIONAL, - &InitiatorConsumerOf OPERATION-PACKAGE OPTIONAL, - &InitiatorSupplierOf OPERATION-PACKAGE OPTIONAL, - &id OBJECT IDENTIFIER UNIQUE OPTIONAL -} -WITH SYNTAX -{ - [CONNECTION &connection] - [OPERATIONS OF &OperationsOf] - [INITIATOR CONSUMER OF &InitiatorConsumerOf] - [RESPONDER CONSUMER OF &InitiatorSupplierOf] - [ID &id] -} - -ROS-OBJECT-CLASS ::= CLASS -{ - &Is ROS-OBJECT-CLASS OPTIONAL, - &Initiates CONTRACT OPTIONAL, - &Responds CONTRACT OPTIONAL, - &InitiatesAndResponds CONTRACT OPTIONAL, - &id OBJECT IDENTIFIER UNIQUE -} -WITH SYNTAX -{ - [IS &Is] - [BOTH &InitiatesAndResponds] - [INITIATES &Initiates] - [RESPONDS &Responds] - ID &id -} -Code ::= CHOICE -{ - local INTEGER, - global OBJECT IDENTIFIER -} -Priority ::= INTEGER (0..MAX) -END -- end of Information Object specifications - - -Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t remote-operations(4) generic-ROS-PDUs(6) version1(0)} -DEFINITIONS IMPLICIT TAGS ::= -BEGIN --- exports everything -IMPORTS OPERATION, ERROR FROM Remote-Operations-Information-Objects{joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)}; -ROS {InvokeId:InvokeIdSet, OPERATION:Invokable, OPERATION:Returnable} ::= CHOICE -{ - invoke [1] Invoke {{InvokeIdSet}, {Invokable}}, - returnResult [2] ReturnResult {{Returnable}}, - returnError [3] ReturnError {{Errors{{Returnable}}}}, - reject [4] Reject -} -(CONSTRAINED BY { -- must conform to the above definition -- } -! RejectProblem : general-unrecognisedPDU) -Invoke {InvokeId:InvokeIdSet, OPERATION:Operations} ::= SEQUENCE -{ - invokeId InvokeId (InvokeIdSet) - (CONSTRAINED BY {-- must be unambiguous --} - ! RejectProblem : invoke-duplicateInvocation), - linkedId CHOICE { - present [0] IMPLICIT present < InvokeId, - absent [1] IMPLICIT NULL - } - (CONSTRAINED BY {-- must identify an outstanding operation --} - ! RejectProblem : invoke-unrecognisedLinkedId) - (CONSTRAINED BY {-- which has one or more linked operations--} - ! RejectProblem : invoke-linkedResponseUnexpected) - OPTIONAL, - opcode OPERATION.&operationCode - ({Operations} - ! RejectProblem : invoke-unrecognisedOperation), - argument OPERATION.&ArgumentType - ({Operations} {@opcode} - ! RejectProblem : invoke-mistypedArgument) - OPTIONAL -} -(CONSTRAINED BY { -- must conform to the above definition -- } -! RejectProblem : general-mistypedPDU) -( - WITH COMPONENTS - {..., - linkedId ABSENT - } -| WITH COMPONENTS - {..., - linkedId PRESENT, - opcode - (CONSTRAINED BY {-- must be in the &Linked field of the associated operation --} - ! RejectProblem : invoke-unexpectedLinkedOperation) - } -) - -ReturnResult {OPERATION:Operations}::= SEQUENCE -{ - invokeId InvokeId - (CONSTRAINED BY {-- must be that for an outstanding operation --} - ! RejectProblem : returnResult-unrecognisedInvocation) - (CONSTRAINED BY {-- which returns a result --} - ! RejectProblem : returnResult-resultResponseUnexpected), - result SEQUENCE - { - opcode OPERATION.&operationCode - ({Operations})(CONSTRAINED BY {-- identified by invokeId --} - ! RejectProblem : returnResult-unrecognisedInvocation), - result OPERATION.&ResultType - ({Operations} {@.opcode} - ! RejectProblem : returnResult-mistypedResult) - } - OPTIONAL -} -(CONSTRAINED BY { -- must conform to the above definition -- } -! RejectProblem : general-mistypedPDU) -ReturnError {ERROR:Errors} ::= SEQUENCE -{ - invokeId InvokeId - (CONSTRAINED BY {-- must be that for an outstanding operation --} - ! RejectProblem : returnError-unrecognisedInvocation) - (CONSTRAINED BY {-- which returns an error --} - ! RejectProblem : returnError-errorResponseUnexpected), - errcode ERROR.&errorCode - ({Errors} - ! RejectProblem : returnError-unrecognisedError) - (CONSTRAINED BY {-- must be in the &Errors field of the associated -- - -- operation --} - ! RejectProblem : returnError-unexpectedError), - parameter ERROR.&ParameterType - ({Errors}{@errcode} - ! RejectProblem : returnError-mistypedParameter) OPTIONAL -} -(CONSTRAINED BY { -- must conform to the above definition -- } -! RejectProblem : general-mistypedPDU) -Reject ::= SEQUENCE -{ - invokeId InvokeId, - problem CHOICE - { - general [0] GeneralProblem, - invoke [1] InvokeProblem, - returnResult [2] ReturnResultProblem, - returnError [3] ReturnErrorProblem - } -} -(CONSTRAINED BY { -- must conform to the above definition -- } -! RejectProblem : general-mistypedPDU) -GeneralProblem ::= INTEGER -{ - unrecognisedPDU (0), - mistypedPDU (1), - badlyStructuredPDU (2) -} -InvokeProblem ::= INTEGER -{ - duplicateInvocation (0), - unrecognisedOperation (1), - mistypedArgument (2), - resourceLimitation (3), - releaseInProgress (4), - unrecognisedLinkedId (5), - linkedResponseUnexpected (6), - unexpectedLinkedOperation (7) -} -ReturnResultProblem ::= INTEGER -{ - unrecognisedInvocation (0), - resultResponseUnexpected (1), - mistypedResult (2) -} -ReturnErrorProblem ::= INTEGER -{ - unrecognisedInvocation (0), - errorResponseUnexpected (1), - unrecognisedError (2), - unexpectedError (3), - mistypedParameter (4) -} -RejectProblem ::= INTEGER -{ - general-unrecognisedPDU (0), - general-mistypedPDU (1), - general-badlyStructuredPDU (2), - invoke-duplicateInvocation (10), - invoke-unrecognisedOperation (11), - invoke-mistypedArgument (12), - invoke-resourceLimitation (13), - invoke-releaseInProgress (14), - invoke-unrecognisedLinkedId (15), - invoke-linkedResponseUnexpected (16), - invoke-unexpectedLinkedOperation (17), - returnResult-unrecognisedInvocation (20), - returnResult-resultResponseUnexpected (21), - returnResult-mistypedResult (22), - returnError-unrecognisedInvocation (30), - returnError-errorResponseUnexpected (31), - returnError-unrecognisedError (32), - returnError-unexpectedError (33), - returnError-mistypedParameter (34) -} -InvokeId ::= CHOICE -{ - present INTEGER, - absent NULL -} -noInvokeId InvokeId ::= absent:NULL -NoInvokeId InvokeId ::= {noInvokeId} -Errors {OPERATION:Operations} ERROR ::= {Operations.&Errors} -Bind {OPERATION:operation} ::= CHOICE -{ - bind-invoke [16] OPERATION.&ArgumentType({operation}), - bind-result [17] OPERATION.&ResultType ({operation}), - bind-error [18] OPERATION.&Errors.&ParameterType ({operation}) -} -Unbind {OPERATION:operation} ::= CHOICE -{ - unbind-invoke [19] OPERATION.&ArgumentType({operation}), - unbind-result [20] OPERATION.&ResultType ({operation}), - unbind-error [21] OPERATION.&Errors.&ParameterType ({operation}) -} -END -- end of generic ROS PDU definitions - - -Remote-Operations-Useful-Definitions {joint-iso-itu-t remote-operations(4) useful-definitions(7) version1(0)} -DEFINITIONS IMPLICIT TAGS ::= -BEGIN --- exports everything -IMPORTS OPERATION, ERROR, OPERATION-PACKAGE, Code FROM Remote-Operations-Information-Objects{joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)} -InvokeId, ROS{} FROM Remote-Operations-Generic-ROS-PDUs{joint-iso-itu-t remote-operations(4) generic-ROS-PDUs(6) version1(0)}; -emptyBind OPERATION ::= {ERRORS {refuse} SYNCHRONOUS TRUE} -emptyUnbind OPERATION ::= { SYNCHRONOUS TRUE } -refuse ERROR ::= {CODE local:-1} -no-op OPERATION ::= -{ - ALWAYS RESPONDS FALSE - CODE local:-1 -} -Forward {OPERATION:OperationSet} OPERATION ::= -{ - OperationSet | - OperationSet.&Linked.&Linked | - OperationSet.&Linked.&Linked.&Linked.&Linked -} -Reverse {OPERATION:OperationSet} OPERATION ::= - {Forward{ {OperationSet.&Linked} }} -ConsumerPerforms {OPERATION-PACKAGE:package} OPERATION ::= -{ - Forward{{package.&Consumer}} | - Forward{{package.&Both}} | - Reverse{{package.&Supplier}} | - Reverse{{package.&Both}} -} -SupplierPerforms {OPERATION-PACKAGE:package} OPERATION ::= -{ - Forward{{package.&Supplier}} | - Forward{{package.&Both}} | - Reverse{{package.&Consumer}} | - Reverse{{package.&Both}} -} -AllOperations {OPERATION-PACKAGE:package} OPERATION ::= -{ - ConsumerPerforms {package} | - SupplierPerforms {package} -} -recode {OPERATION:operation, Code:code} OPERATION ::= -{ - ARGUMENT operation.&ArgumentType - OPTIONAL operation.&argumentTypeOptional - RESULT operation.&ResultType - OPTIONAL operation.&resultTypeOptional - RETURN RESULT operation.&returnResult - ERRORS {operation.&Errors} - LINKED {operation.&Linked} - SYNCHRONOUS operation.&synchronous - ALWAYS RESPONDS operation.&alwaysReturns - INVOKE PRIORITY {operation.&InvokePriority} - RESULT-PRIORITY {operation.&ResultPriority} - CODE code -} -switch {OPERATION-PACKAGE:package, OBJECT IDENTIFIER:id} OPERATION-PACKAGE ::= -{ - OPERATIONS {package.&Both} - CONSUMER INVOKES {package.&Supplier} - SUPPLIER INVOKES {package.&Consumer} - ID id -} -combine {OPERATION-PACKAGE:ConsumerConsumes, OPERATION-PACKAGE:ConsumerSupplies, OPERATION-PACKAGE:base} OPERATION-PACKAGE ::= -{ - OPERATIONS {ConsumerConsumes.&Both | ConsumerSupplies.&Both} - CONSUMER INVOKES {ConsumerConsumes.&Supplier | ConsumerSupplies.&Consumer} - SUPPLIER INVOKES {ConsumerConsumes.&Consumer | ConsumerSupplies.&Supplier} - ID base.&id -} -ROS-SingleAS {InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::= - ROS {{InvokeIdSet}, {AllOperations{package}}, {AllOperations{package}}} -ROS-ConsumerAS {InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::= - ROS {{InvokeIdSet}, {ConsumerPerforms{package}}, {SupplierPerforms{package}}} -ROS-SupplierAS {InvokeId:InvokeIdSet, OPERATION-PACKAGE:package} ::= - ROS {{InvokeIdSet}, {SupplierPerforms{package}}, {ConsumerPerforms{package}}} -END -- end of useful definitions. -- cgit v1.2.3