kumoh national institute of technology
Networked Systems Lab.

MMS Standard

NSL > Researches> MMS> MMS Standard
MMS 표준 II_7
By : 관리자
Date : 2009-01-20
Views : 552

무제 문서
산업 자동화 시스템 -생산 메세지 시방-
제2부 : 프로토콜 시방 (9506-2)

- 목 차 -

제 1 장 인용범위
제 2 장 인용규격
제 3 장 정의
제 4 장 약어
제 5 장 규약
제 6 장 프로토콜 절차 요소
제 7 장 MMS PDU
제 8 장 환경및 일반 관리 프로토콜
제 9 장 VMD 지원 프로토콜
제 10 장 영역 관리 프로토콜
제 11 장 프로그램 기동 관리 프로토콜
제 12 장 변수 액서스 프로토콜
제 13 장 세마포 관리 프로토콜
제 14 장 조작자 통신 프로토콜
제 15 장 사건 관리 프로토콜
제 16 장 저널 관리 프로토콜
제 17 장 ACSE 및 프리젠테이션 서비스 사상
제 18 장 적합성
제 19 장 MMS 추상 구문
부 록 A 부대규격을 위한 요구사항들
부 록 B 파일 엑세스 프로토콜
부 록 C 파일 관리 프로토콜

제 7장 MMS PDU

이 절은 MMS 프로토콜을 조작하기 위해 사용되는 PDU들을 기술한다. 이 PDU들을 바탕이 되는 서비스들로 사상하는 것은 17절에 기술된다. MMS 서비스들을 이 PDU들로 사상하는 것은 8절 부터 16절 까지에 기술된다.

본 모듈은 MMS와 부대규격에 대해 모든 공통적인 구문을 정의한다.

MMS-General-Module-1

{iso standard 9506 part(2) mms-general-module-version1(2)}

DEFINITIONS :: = BEGIN

EXPORTS MMSpdu

-- 이 문장으로 인해서 MMPpdu의 하위로 생성되는 모든 것들도

-- 유출 (export)된다

IMPORTS AP-title, AP-invocation-id, AE-qualifier, AE-invovation-id

FROM ISO-8650-ACSE-1

{iso standard 8650 abstract-syntax(2) acse-pdi(1)};

MMSpdu ::= CHOICE {

confirmed-RequestPDU [0] IMPLICIT Confirmed-RequestPDU,

confirmed-ReesponsePDU [0] IMPLICIT Confirmed-ResponsePDU,

confirmed-ErrorPDU [0] IMPLICIT Confirmed-ErrorPDU,

unconfirmed-PDU [0] IMPLICIT Unconfirmed-PDU,

rejectPDU [0] IMPLICIT RejectPDU,

cancel-RequestPDU [0] IMPLICIT Cancel-RequestPDU,

cancel-ResponsePDU [0] IMPLICIT Cancel-ResponsePDU,

cancel-ErrorPDU [0] IMPLICIT Cancel-ErrorPDU,

initiate-RequestPDU [0] IMPLICIT Initiate-RequestPDU,

initiate-ResponsePDU [0] IMPLICIT Initiate-ResponsePDU,

initiate-ErrorPDU [0] IMPLICIT Initiate-ErrorPDU,

conclude-RequestPDU [0] IMPLICIT Conclude-RequestPDU,

conclude-ResponsePDU [0] IMPLICIT Conclude-ResponsePDU,

conclude-ErrorPDU [0] IMPLICIT Conclude-ErrorPDU

}

MMS에는 14가지 형의 PDU가 있다. 개시-요구PDU (Initiate-RequestPDU), 개시-응답PDU (Initiate-ResponsePDU), 개시-오류PDU (Initiate-ErrorPDU), 종결-요구PDU (Conclude-RequestPDU), 종결-응답PDU (Conclude-ResponsePDU), 종결-오류PDU (Conclude-ErrorPDU), 거부PDU (RejectPDU), 취소-요구PDU (Cancel-RequestPDU), 취소-응답PDU (Cancel-ResponsePDU) 및 취소-오류PDU (Cancel-ErrorPDU)가 18절에 정의되어 있다. 나머지 PDU 형들은 7.1절에서 7.4절 까지에 정의되어 있다.

7.1 확인-요구PDU (Confirmed-RequestPDU)

Confirmed-RequestPDU ::= SEQUENCE {

invokeID Unsigned32,

listOfModifier SEQUENCE OF Modifier OPTIONAL,

ConfirmedServiceRequest,

[79] CS-Request-Detail OPTIONAL

-- 만약 값이 NULL이면 전송되지 않는다

}

확인-요구 PDU는 네가지의 요소들을 포함한 순서열이다. 즉, 기동식별자 (invokeID), 선택사항인 수정자목록 (listOfModifier), 확인서비스요구 (ConfirmedServiceRequest), 및 CS-요구-세부사항 (CS-Request-Detail)이다.

기동식별자는 주어진 응용어소시에이션상에 특정 MMS-이용자로부터의 미결의 모든 확인 서비스 요구들중에서 임의의 서비스 요구를 명확하게 식별할 수 있는 부호가 없는 32 비트 정수이다. 임의의 시점에, 임의의 주어진 기동 식별자에 대한 응용어소시에이션 상의 특정 MMS-이용자로부터의 미결 서비스 요구는 최대로 하나이다. 기동 식별자 값은 MMS-이용자에 의해 요구 서비스 프리미티브 상에 제공된 값이다 (ISO/IEC 9506-1의 5절 참조). 확인-응답PDU와 확인-오류PDU에 제공된 기동 식별자는 MMS-제공자와 MMS-이용자에게 이 PDU들을 적절한 서비스 요구와 연관시키도록 허용한다.

수정자목록은 서비스 요구의 실행을 위한 수정자를 지정하기 위해서 사용된다. 수정자 목록에 지정된 수정자는 수정자 목록내의 다음 수정자 전에 또는 서비스 요구의 실행 전에 성공적으로 실행된다. 그러므로 목록에 있는 수정자의 순서는 중요하다. 만약 어떠한 수정자 목록도 표시되지 않는다면 서비스 요구 실행은 ?굽떠? 없이 요구를 수신하자마자 바로 시작된다.

확인서비스요구는 확인 서비스 및 그 확인 서비스를 위한 인자를 식별하기 위해 사용된다. 이 파라미터는 7.5.2절에 더욱 자세하게 기술된다.

CS-요구-세부사항은 부대규격 또는 19절에서 정의된 추상 구문으로 제공되는 부가적인 파라미터이다. 이 파라미터 상의 CHOICE의 식별자는 확인서비스요구에서의 CHOICE의 식별자와 동일하다. 이 파라미터는 7.5.2절에 더욱 자세하게 기술된다.

7.2비확인-PDU (Unconfirmed-PDU)

Unconfirmed-PDU ::= SEQUENCE {

UnconfirmedService,

[79] CS-Unconfirmed-Detail OPTIONAL

-- 만약 값이 NULL이면 전송되지 않는다

}

비확인-PDU는 비확인서비스 (UnconfirmedService)와 CS-비확인-세부사항 (CS-Unconfirmed-Detail)을 포함한 순서열이다.

비확인서비스는 비확인 서비스와 그 인자를 식별하기 위해 사용된다.

CS-비확인-세부사항은 부대규격 또는 19절에 정의된 추상 구문으로 제공되는 부가적인 파라미터이다. 이 파라미터 상의 CHOICE의 식별자는 비확인서비스에서의 CHOICE의 식별자와 동일하다. 이 파라미터는 7.5.3절에서 더욱 자세하게 기술된다.

7.3 확인-응답PDU (Confirmed-ResponsePDU)

Confirmed-ResponsePDU ::= SEQUENCE {

invokeID Unsigned32,

ConfirmedServiceResponse,

[79] CS-Response-Detail OPTIONAL

-- 만약 값이 NULL이면 전송되지 않는다

}

확인-응답PDU는 세가지 요소 즉, 기동식별자 (invokeID), 확인서비스응답 (ConfirmedServiceResponse) 및 CS-응답-세부사항 (CS-Response-Detail)을 포함한 순서열이다.

기동 식별자는 주어진 응용어소시에이션상에 특정 MMS-이용자로부터의 미결의 모든 확인 서비스 요구들중에서 임의의 서비스 요구를 명확하게 식별할 수 있는 부호가 없는 32 비트 정수이다. 임의의 시점에, 임의의 주어진 기동 식별자에 대한 응용어소시에이션 상의 특정 MMS-이용자로부터의 미결 서비스 요구는 최대로 하나이다. 기동 식별자 값은 MMS-이용자에 의해 응답 서비스 프리미티브 상에 제공된 값이며 (ISO/IEC 9506-1의 5절 참조), 수행될 서비스를 발생시킨 요구 실례를 식별한다. 이 PDU내의 기동 식별자는 MMS-제공자와 MMS-이용자가 이 PDU를 적절한 서비스 요구와 연관시키도록 허용한다.

확인서비스응답은 확인 서비스 및 그 확인 서비스를 위한 응답을 식별하기 위해 사용된다. 이 파라미터는 7.5.4절에 더욱 자세하게 기술된다.

CS-응답-세부사항은 부대규격 또는 19절에서 정의된 추상 구문으로 제공되는 부가적인 파라미터이다. 파라미터 상의 CHOICE의 식별자는 확인서비스응답에서의 CHOICE의 식별자와 동일하다. 이 파라미터는 7.5.4절에 더욱 자세하게 기술된다.

7.4 확인-오류PDU (Confirmed-ErrorPDU)

Confirmed-ErrorPDU ::= SEQUENCE {

invokeID [0] IMPLICIT Unsigned32,

modifierPosition [1] IMPLICIT Unsigned32 OPTIOANL,

serviceError [2] IMPLICIT ServiceError

}

확인-오류PDU는 세가지 요소 즉, 기동식별자 (invokeID), 선택 사항인 수정자위치 (modifierPosition), 및 서비스오류 (serviceError)를 포함한 열이다.

기동 식별자는 주어진 응용어소시에이션상에 특정 MMS-이용자로부터의 미결의 모든 확인 서비스 요구들중에서 임의의 서비스 요구를 명확하게 식별할 수 있는 부호가 없는 32 비트 정수이다. 임의의 시점에, 임의의 주어진 기동 식별자에 대한 응용어소시에이션 상의 특정 MMS-이용자로부터의 미결 서비스 요구는 최대로 하나이다. 기동 식별자 값은 MMS-이용자에 의해 응답 서비스 프리미티브 상에 제공된 값이며 (ISO/IEC 9506-1의 5절 참조), 수행될 서비스를 발생시킨 요구 실례를 식별한다. 이 PDU내의 기동 식별자는 MMS-제공자와 MMS-이용자가 이 PDU를 적절한 서비스 요구와 연관시키도록 허용한다.

수정자위치는 기동식별자로 식별된 확인-요구PDU 상의 수정자목록 순서열 상에 지정되었던 모든 수정자들 중에서 임의의 수정자를 명확하게 식별할 수 있는 부호가 없는 32 비트 정수이다. 이 파라미터는 응답 서비스 프리미티브에 표시된 서비스 오류 파라미터 상의 수정자 위치 부파라미터로부터 유도된다 (ISO/IEC 9506-1의 17절 참조).

서비스오류는 확인 서비스의 수정자 또는 그 확인 서비스 중 하나에 대해 오류 등급과 오류 코드를 식별하기 위해 사용된다. 서비스 오류 파라미터는 7.5.5절에 더욱 자세하게 기술된다.

7.5 지원 생성 규칙

다음의 지원 생성 규칙은 MMS PDU들의 규정에 사용되는 정의를 지원한다.

7.5.1 수정자 (Modifier)

Modifier ::= CHOICE {

attachToEventCondition [0] IMPLICIT AttachToEventCondition,

attachToSemaphore [1] IMPLICIT AttachToSemaphore

}

수정자 파라미터는 MMS 수정자들 중의 한 선택이다. 각 수정자는 서비스 요구 실례의 실행에 (서비스 실행이 시작되기 전에 성공적으로 실행될) 선조건을 두어 MMS 확인 서비스의 정상적인 실행을 수정하기 위해 제공된다. 수정자의 효과는 6절에서 제공되는 서비스 기동 상태 기계로 모형화된다. 수정자들의 정의는 ISO/IEC 9506의 이 부분의 다음 절들 상의 프로토콜 기술에서 찾을 수 있다.

7.5.2 확인서비스요구 (ConfirmedServiceRequest)

ConfirmedServiceRequest ::= CHOICE {

status [0] IMPLICIT Status-Request,

getNameList [1] IMPLICIT GetNameList-Request,

identify [2] IMPLICIT Identify-Request,

rename [3] IMPLICIT Rename-Request,

read [4] IMPLICIT Read-Request,

write [5] IMPLICIT Write-Request,

getVariableAccessAttributes [6] GetVariableAccessAttributes-Request,

defineNamedVariable [7] IMPLICIT DefineNamedVariable-Request,

defineScatteredAccess [8] IMPLICIT DefineScatteredAccess-Request,

getScatteredAccessAttributes [9] GetScatteredAccessAttributes-Request,

deleteVariableAccess [10] IMPLICIT DeleteVariableAccess-Request,

defineNamedVariableList [11] IMPLICIT

DefineNamedVariableList-Request,

getNamedVaribleListAttributes [12] GetNamedVaribleListAttributes-Request,

deleteNamedVariableList [13] IMPLICIT

DeleteNamedVariableList-Request,

defineNamedType [14] IMPLICIT DefineNamedType-Request,

getNamedTypeAttributes [15] GetNamedTypeAttributes-Request,

deleteNamedType [16] IMPLICIT DeleteNamedType-Request,

input [17] IMPLICIT Input-Request,

output [18] IMPLICIT Output-Request,

takeControl [19] IMPLICIT TakeControl-Request,

relinquishControl [20] IMPLICIT RelinquishControl-Request,

defineSemaphore [21] IMPLICIT DefineSemaphore-Request,

deleteSemaphore [22] DeleteSemaphore-Request,

reportSmaphoreStatus [23] ReportSmaphoreStatus-Request,

reportPoolSemaphoreStatus [24] IMPLICIT

reportPoolSemaphoreStatus-Request,

reportSemaphoreEntryStatus [25] IMPLICIT

ReportSemaphoreEntryStatus-Request,

initiateDownloadSequence [26] IMPLCIT

InitiateDownloadSequence-Request,

downloadSegment [27] IMPLICIT DownloadSegment-Request,

terminateDownloadSequence [28] IMPLICIT

TerminateDownloadSequence-Request,

initiateUploadSequence [29] IMPLICIT

InitiateUploadSequence-Request,

uploadSegment [30] IMPLICIT UploadSegment-Request,

terminateUploadSequence [31] IMPLICIT

TerminateUploadSequence-Request,

requestDomainDownload [32] IMPLICIT

RequestDomainDownload-Request,

requestDomainUpload [33] IMPLICIT RequestDomainUpload-Request,

loadDomainContent [34] IMPLICIT LoadDomainContent-Request,

storeDomainContent [35] IMPLICIT StoreDomainContent-Request,

deleteProgramInvocation [36] IMPLICIT

DeleteProgramInvocation-Request,

getDomainAttributes [37] IMPLICIT GetDomainAttributes-Request,

createProgramInvocation [38] IMPLICIT

CreateProgramInvocation-Request,

deleteProgramInvocation [39] IMPLICIT

DeleteProgramInvocation-Request,

start [40] IMPLICIT Start-Request,

stop [41] IMPLICIT Stop-Request,

resume [42] IMPLICIT Resume-Request,

reset [43] IMPLICIT Reset-Request,

kill [44] IMPLICIT Kill-Request,

getProgramInvocationAttributes [45] IMPLICIT

GetProgramInvocationAttributes-Request,

obtainFile [46] IMPLICIT ObtainFile-Request,

defineEventCondition [47] IMPLICIT DefineEventCondition-Request,

deleteEventCondition [48] DeleteEventCondition-Request,

getEventConditionAttributes [49] GetEventConditionAttributes-Request,

reportEventConditionStatus [50] ReportEventConditionStatus-Request,

alterEventConditionMonitoring [51] IMPLICIT

AlterEventConditionMonitoring-Request,

triggerEvent [52] IMPLICIT TriggerEvent-Request,

defineEventAction [53] IMPLICIT DefineEventAction-Request,

deleteEventAction [54] DeleteEventAction-Request,

getEventActionAttributes [55] GetEventActionAttributes-Request,

reportEventActionStatus [56] ReportEventActionStatus-Request,

defineEventEnrollment [57] IMPLICIT

DefineEventEnrollment-Request,

deleteEventEnrollment [58] DeleteEventEnrollment-Request,

alterEventEnrollment [59] IMPLICIT AlterEventEnrollment-Request,

reportEventEnrollment [60] ReportEventEnrollment-Request,

getEventEnrollment [61] IMPLICIT GetEventEnrollment-Request,

acknowledgeEventNotification [62] IMPLICIT

AcknowledgeEventNotification-Request,

getAlarmSummary [63] IMPLICIT GetAlarmSummary-Request,

getAlarmEnrollmentSummary [64] IMPLICIT

GetAlarmEnrollmentSummary-Request,

readJournal [65] IMPLICIT ReadJournal-Request,

writeJournal [66] IMPLICIT WriteJournal-Request,

initializeJournal [67] IMPLICIT InitializeJournal-Request,

reportJournalStatus [68] ReportJournalStatus-Request,

createJournal [69] IMPLICIT CreateJournal-Request,

deleteJournal [70] IMPLICIT DeleteJournal-Request,

getCapabilityList [71] IMPLICIT GetCapabilityList-Request,

fileOpen [72] IMPLICIT FileOpen-Request,

fileRead [73] IMPLICIT FileRead-Request,

fileClose [74] IMPLICIT FileClose-Request,

fileRename [75] IMPLICIT FileRename-Request,

fileDelete [76] IMPLICIT FileDelete-Request,

fileDirectory [77] IMPLICIT FileDirectory-Request,

additionalService [78] AdditionalService-Request,

-- 선택 [72]부터 [77]까지는 부속서 C에 정의된 서비스들에 의해

-- 사용되기 위해 예약되어 있다.

-- 선택 [79]는 예약되어 있다.

}

CS-Request-Detail ::= CHOICE {

status [0 ] IMPLICIT CS-Status-Request,

getNameList [1 ] IMPLICIT CS-GetNameList-Request,

input [17] IMPLICIT CS-Input-Request,

output [18] IMPLICIT CS-Output-Request,

initiateDownloadSequence [26] IMPLICIT

CS-InitiateDownloadSequence-Request,

downloadSegment [27] IMPLICIT CS-DownloadSegment-Request,

terminateDownloadSequence [28] IMPLICIT

CS-TerminateDownloadSequence-Request,

initiateUploadSequence [29] IMPLICIT

CS-InitiateUploadSequence-Request,

uploadSegment [30] IMPLICIT CS-UploadSegment-Request,

terminateUploadSequence [31] IMPLICIT

CS-TerminateUploadSequence-Request,

requestDomainDownload [32] IMPLICIT

CS-RequestDomainDownload-Request,

requestDomainUpload [33] IMPLICIT

CS-RequestDomainUpload-Request,

loadDomainContent [34] IMPLICIT CS-LoadDomainContent-Request,

storeDomainContent [35] IMPLICIT

CS-StoreDomainContent-Request,

deleteDomain [36] IMPLICIT CS-DeleteDomain-Request,

getDomainAttributes [37] IMPLICIT

CS-GetDomainAttributes-Request,

createProgramInvocation [38] IMPLICIT

CS-CreateProgramInvocation-Request,

deleteProgramInvocation [39] IMPLICIT

CS-DeleteProgramInvocation-Request,

start [40] IMPLICIT CS-Start-Request,

stop [41] IMPLICIT CS-Stop-Request,

resume [42] IMPLICIT CS-Resume-Request,

reset [43] IMPLICIT CS-Reset-Request,

kill [44] IMPLICIT CS-Kill-Request,

getProgramInvocationAttributes [45] IMPLICIT

CS-GetProgramInvocationAttributes-Request,

defineEventCondition [47] IMPLICIT

CS-DefineEventCondition-Request,

deleteEventCondition [48] IMPLICIT

CS-DeleteEventCondition-Request,

getEventConditionAttributes [49] IMPLICIT

CS-GetEventConditionAttributes-Request,

reportEventConditionStatus [50] IMPLICIT

CS-ReportEventConditionStatus-Request,

alterEventConditionMonitoring [51] IMPLICIT

CS-AlterEventConditionMonitoring-Request,

triggerEvent [52] IMPLICIT CS-TriggerEvent-Request,

defineEventAction [53] IMPLICIT CS-DefineEventAction-Request,

deleteEventAction [54] IMPLICIT CS-DeleteEventAction-Request,

getEventActionAttributes [55] IMPLICIT

CS-GetEventActionAttributes-Request,

reportEventActionStatus [56] IMPLICIT

CS-ReportEventActionStatus-Request,

defineEventEnrollment [57] IMPLICIT

CS-DefineEventEnrollment-Request,

deleteEventEnrollment [58] IMPLICIT

CS-DeleteEventEnrollment-Request,

alterEventEnrollment [59] IMPLICIT

CS-AlterEventEnrollment-Request,

reportEventEnrollmentStatus [60] IMPLICIT

CS-ReportEventEnrollmentStatus-Request,

getEventEnrollmentAttributes [61] IMPLICIT

CS-GetEventEnrollmentAttributes-Request,

acknowledgeEventNotification [62] IMPLICIT

CS-AcknowledgeEventNotification-Request,

getAlarmSummary [63] IMPLICIT CS-GetAlarmSummaty-Request,

getAlarmEnrollmentSummary [64] IMPLICIT

CS-GetAlarmEnrollmentSummary-Request,

readJournal [65] IMPLICIT CS-ReadJournal-Request,

writeJournal [66] IMPLICIT CS-WriteJournal-Request,

initializeJournal [67] IMPLICIT CS-InitializeJournal-Request,

reportJournalStatus [68] IMPLICIT

CS-ReportJournalStatus-Request,

createJournal [69] IMPLICIT CS-CreateJournal-Request,

deleteJournal [70] IMPLICIT CS-DeleteJournal-Request,

getCapabilityList [71] IMPLICIT CS-GetCapabilityList-Request,

}

확인서비스요구 파라미터는 서비스 형과 그 서비스를 위한 인자를 식별한다. 지원된 문맥 태그가 서비스 형을 식별한다. 각 개별적인 서비스를 위한 정의들은 형의 정의를 통해 그 서비스를 위한 인자의 (확인서비스요구 생성 규칙에 의해 참조되는) 형태를 규정한다. 확인서비스요구 선택 상의 각 서비스는 확인 서비스이다.

부가서비스-요구는 MMS 부대규격에 의한 부가적인 서비스들의 정의를 위해 남겨둔다.

주 - 모든 그러한 부가적인 서비스들은 부속서 A에서 기술된 것처럼 다음과 같은 요구 사항들을 만족한다

a) 어떠한 부가적인 서비스도 ISO/IEC 9506-1과 ISO/IEC 9506-2에서 제공된 어떠한 상태 천이 규칙도 위반하지 않는다. 이것은 부대규격을 기존의 MMS 상태들 내의 부상태들의 정의로 제한한다.

b) 어떠한 부가적인 서비스도 ISO/IEC 9506-1에서 제공된 어떠한 객체 모형도 위반하지 않는다.

c) 어떠한 부가적인 서비스도 ISO/IEC 9506-1과 ISO/IEC 9506-2의 의도와 정신을 방해하기 위해 사용되지 않는다.

7.5.3 비확인서비스 (UnconfirmedService)

UnconfirmedService ::= CHOICE {

informationReport [0] IMPLICIT InformationReport,

unsolicitedStatus [1] IMPLICIT UnsolicitedStatus,

eventNotification [2] IMPLICIT EventNotification,

additionalService [3] AdditionalUnconfirmedService

}

CS-Unconfirmed-Detail ::= CHOICE {

unsolicitedStatus [1] IMPLICIT CS-UnsolicitedStatus,

eventNotification [2] IMPLICIT CS-EventNotification

}

비확인서비스 파라미터는 서비스 형과 그 서비스를 위한 인자를 식별한다. 지원된 문맥 태그가 서비스 형을 식별한다. 각 개별적인 서비스를 위한 정의들은 형의 정의를 통해 그 서비스를 위한 인자의 (비확인서비스 생성 규칙에 의해 참조되는) 형태를 규정한다. 비확인서비스 선택상의 각 서비스는 비확인 서비스이다.

부가비확인서비스는 MMS 부대규격에 의한 부가적인 서비스들의 정의를 위해 남겨둔다.

주 - 모든 그러한 부가적인 서비스들은 부속서 A에서 기술된 것처럼 다음과 같은 요구 사항들을 만족한다

a) 어떠한 부가적인 서비스도 ISO/IEC 9506-1과 ISO/IEC 9506-2에서 제공된 어떠한 상태 천이 규칙도 위반하지 않는다. 이것은 부대규격을 기존의 MMS 상태들 내의 부상태들의 정의로 제한한다.

b) 어떠한 부가적인 서비스도 ISO/IEC 9506-1에서 제공된 어떠한 객체 모형도 위반하지 않는다.

c) 어떠한 부가적인 서비스도 ISO/IEC 9506-1과 ISO/IEC 9506-2의 의도와 정신을 방해하기 위해 사용되지 않는다.

7.5.4 확인서비스응답 (ConfirmedServiceResponse)

ConfirmedServiceResponse ::= CHOICE {

status [0 ] IMPLICIT Status-Response,

getNameList [1] IMPLICIT GetNameList-Response,

identify [2] IMPLICIT Identify-Response,

rename [3] IMPLICIT Rename-Response,

read [4] IMPLICIT Read-Response,

write [5] IMPLICIT Write-Response,

getVariableAccessAttributes [6] IMPLICIT

GetVariableAccessAttributes-Response,

defineNamedVariable [7] IMPLICIT DefineNamedVariable-Response,

defineScatteredAccess [8] IMPLICIT

DefineScatteredAccess-Response,

getScatteredAccessAttributes [9] IMPLICIT

GetScatteredAccessAttributes-Response,

deleteVariableAccess [10] IMPLICIT

DeleteVariableAccess-Response,

defineNamedVariableList [11] IMPLICIT

DefineNamedVariableList-Response,

getNamedVaribleListAttributes [12] IMPLICIT

GetNamedVaribleListAttributes-Response,

deleteNamedVariableList [13] IMPLICIT

DeleteNamedVariableList-Response,

defineNamedType [14] IMPLICIT DefineNamedType-Response,

getNamedTypeAttributes [15] IMPLICIT

GetNamedTypeAttributes-Response,

deleteNamedType [16] IMPLICIT DeleteNamedType-Response,

input [17] IMPLICIT Input-Response,

output [18] IMPLICIT Output-Response,

takeControl [19] TakeControl-Response,

relinquishControl [20] IMPLICIT RelinquishControl-Response,

defineSemaphore [21] IMPLICIT DefineSemaphore-Response,

deleteSemaphore [22] IMPLICIT DeleteSemaphore-Response,

reportSmaphoreStatus [23] IMPLICIT

ReportSmaphoreStatus-Response,

reportPoolSemaphoreStatus [24] IMPLICIT

reportPoolSemaphoreStatus-Response,

reportSemaphoreEntryStatus [25] IMPLICIT

ReportSemaphoreEntryStatus-Response,

initiateDownloadSequence [26] IMPLICIT

InitiateDownloadSequence-Response,

downloadSegment [27] IMPLICIT DownloadSegment-Response,

terminateDownloadSequence [28] IMPLICIT

TerminateDownloadSequence-Response,

initiateUploadSequence [29] IMPLICIT

InitiateUploadSequence-Response,

uploadSegment [30] IMPLICIT UploadSegment-Response,

terminateUploadSequence [31] IMPLICIT

TerminateUploadSequence-Response,

requestDomainDownload [32] IMPLICIT

RequestDomainDownload-Response,

requestDomainUpload [33] IMPLICIT RequestDomainUpload-Response,

loadDomainContent [34] IMPLICIT LoadDomainContent-Response,

storeDomainContent [35] IMPLICIT StoreDomainContent-Response,

deleteProgramInvocation [36] IMPLICIT

DeleteProgramInvocation-Response,

getDomainAttributes [37] IMPLICIT GetDomainAttributes-Response,

createProgramInvocation [38] IMPLICIT

CreateProgramInvocation-Response,

deleteProgramInvocation [39] IMPLICIT

DeleteProgramInvocation-Response,

start [40] IMPLICIT Start-Response,

stop [41] IMPLICIT Stop-Response,

resume [42] IMPLICIT Resume-Response,

reset [43] IMPLICIT Reset-Response,

kill [44] IMPLICIT Kill-Response,

getProgramInvocationAttributes [45] IMPLICIT

GetProgramInvocationAttributes-Response,

obtainFile [46] IMPLICIT ObtainFile-Response,

defineEventCondition [47] IMPLICIT

DefineEventCondition-Response,

deleteEventCondition [48] IMPLICIT

DeleteEventCondition-Response,

getEventConditionAttributes [49] IMPLICIT

GetEventConditionAttributes-Response,

reportEventConditionStatus [50] IMPLICIT

ReportEventConditionStatus-Response,

alterEventConditionMonitoring [51] IMPLICIT

AlterEventConditionMonitoring-Response,

triggerEvent [52] IMPLICIT TriggerEvent-Response,

defineEventAction [53] IMPLICIT DefineEventAction-Response,

deleteEventAction [54] IMPLICIT DeleteEventAction-Response,

getEventActionAttributes [55] IMPLICIT

GetEventActionAttributes-Response,

reportEventActionStatus [56] IMPLICIT

ReportEventActionStatus-Response,

defineEventEnrollment [57] IMPLICIT

DefineEventEnrollment-Response,

deleteEventEnrollment [58] IMPLICIT

DeleteEventEnrollment-Response,

alterEventEnrollment [59] IMPLICIT

AlterEventEnrollment-Response,

reportEventEnrollment [60] IMPLICIT

ReportEventEnrollment-Response,

getEventEnrollment [61] IMPLICIT GetEventEnrollment-Response,

acknowledgeEventNotification [62] IMPLICIT

AcknowledgeEventNotification-Response,

getAlarmSummary [63] IMPLICIT GetAlarmSummary-Response,

getAlarmEnrollmentSummary [64] IMPLICIT

GetAlarmEnrollmentSummary-Response,

readJournal [65] IMPLICIT ReadJournal-Response,

writeJournal [66] IMPLICIT WriteJournal-Response,

initializeJournal [67] IMPLICIT InitializeJournal-Response,

reportJournalStatus [68] IMPLICIT ReportJournalStatus-Response,

createJournal [69] IMPLICIT CreateJournal-Response,

deleteJournal [70] IMPLICIT DeleteJournal-Response,

getCapabilityList [71] IMPLICIT GetCapabilityList-Response,

fileOpen [72] IMPLICIT FileOpen-Response,

fileRead [73] IMPLICIT FileRead-Response,

fileClose [74] IMPLICIT FileClose-Response,

fileRename [75] IMPLICIT FileRename-Response,

fileDelete [76] IMPLICIT FileDelete-Response,

fileDirectory [77] IMPLICIT FileDirectory-Response,

additionalService [78] AdditionalService-Response,

-- 선택 [72]부터 [77]까지는 부속서 C에 정의된 서비스들에 의해

-- 사용되기 위해 예약되어 있다.

-- 선택 [79]는 예약되어 있다.

}

CS-Response-Detail ::= CHOICE {

status [0 ] IMPLICIT CS-Status-Response,

getNameList [1 ] IMPLICIT CS-GetNameList-Response,

input [17] IMPLICIT CS-Input-Response,

output [18] IMPLICIT CS-Output-Response,

initiateDownloadSequence [26] IMPLICIT

CS-InitiateDownloadSequence-Response,

downloadSegment [27] IMPLICIT CS-DownloadSegment-Response,

terminateDownloadSequence [28] IMPLICIT

CS-TerminateDownloadSequence-Response,

initiateUploadSequence [29] IMPLICIT

CS-InitiateUploadSequence-Response,

uploadSegment [30] IMPLICIT CS-UploadSegment-Response,

terminateUploadSequence [31] IMPLICIT

CS-TerminateUploadSequence-Response,

requestDomainDownload [32] IMPLICIT

CS-RequestDomainDownload-Response,

requestDomainUpload [33] IMPLICIT

CS-RequestDomainUpload-Response,

loadDomainContent [34] IMPLICIT

CS-LoadDomainContent-Response,

storeDomainContent [35] IMPLICIT

CS-StoreDomainContent-Response,

deleteDomain [36] IMPLICIT CS-DeleteDomain-Response,

getDomainAttributes [37] IMPLICIT

CS-GetDomainAttributes-Response,

createProgramInvocation [38] IMPLICIT

CS-CreateProgramInvocation-Response,

deleteProgramInvocation [39] IMPLICIT

CS-DeleteProgramInvocation-Response,

start [40] IMPLICIT CS-Start-Response,

stop [41] IMPLICIT CS-Stop-Response,

resume [42] IMPLICIT CS-Resume-Response,

reset [43] IMPLICIT CS-Reset-Response,

kill [44] IMPLICIT CS-Kill-Response,

getProgramInvocationAttributes [45] IMPLICIT

CS-GetProgramInvocationAttributes-Response,

defineEventCondition [47] IMPLICIT

CS-DefineEventCondition-Response,

deleteEventCondition [48] IMPLICIT

CS-DeleteEventCondition-Response,

getEventConditionAttributes [49] IMPLICIT

CS-GetEventConditionAttributes-Response,

reportEventConditionStatus [50] IMPLICIT

CS-ReportEventConditionStatus-Response,

alterEventConditionMonitoring [51] IMPLICIT

CS-AlterEventConditionMonitoring-Response,

triggerEvent [52] IMPLICIT CS-TriggerEvent-Response,

defineEventAction [53] IMPLICIT

CS-DefineEventAction-Response,

deleteEventAction [54] IMPLICIT

CS-DeleteEventAction-Response,

getEventActionAttributes [55] IMPLICIT

CS-GetEventActionAttributes-Response,

reportEventActionStatus [56] IMPLICIT

CS-ReportEventActionStatus-Response,

defineEventEnrollment [57] IMPLICIT

CS-DefineEventEnrollment-Response,

deleteEventEnrollment [58] IMPLICIT

CS-DeleteEventEnrollment-Response,

alterEventEnrollment [59] IMPLICIT

CS-AlterEventEnrollment-Response,

reportEventEnrollmentStatus [60] IMPLICIT

CS-ReportEventEnrollmentStatus-Response,

getEventEnrollmentAttributes [61] IMPLICIT

CS-GetEventEnrollmentAttributes-Response,

acknowledgeEventNotification [62] IMPLICIT

CS-AcknowledgeEventNotification-Response,

getAlarmSummary [63] IMPLICIT CS-GetAlarmSummaty-Response,

getAlarmEnrollmentSummary [64] IMPLICIT

CS-GetAlarmEnrollmentSummary-Response,

readJournal [65] IMPLICIT CS-ReadJournal-Response,

writeJournal [66] IMPLICIT CS-WriteJournal-Response,

initializeJournal [67] IMPLICIT

CS-InitializeJournal-Response,

reportJournalStatus [68] IMPLICIT

CS-ReportJournalStatus-Response,

createJournal [69] IMPLICIT CS-CreateJournal-Response,

deleteJournal [70] IMPLICIT CS-DeleteJournal-Response,

getCapabilityList [71] IMPLICIT

CS-GetCapabilityList-Response,

}

확인서비스응답 파라미터는 서비스 형과 그 서비스를 위한 인자를 식별한다. 지원된 문맥 태그가 서비스 형을 식별한다. 각 개별적인 서비스를 위한 정의들은 형의 정의를 통해 그 서비스를 위한 인자의 (확인서비스응답 생성 규칙에 의해 참조되는) 형태를 규정한다.

부가서비스-응답는 MMS 부대규격에 의한 부가적인 서비스들의 정의를 위해 남겨둔다.

주 - 모든 그러한 부가적인 서비스들은 부속서 A에서 기술된 것처럼 다음과 같은 요구 사항들을 만족한다

a) 어떠한 부가적인 서비스도 ISO/IEC 9506-1과 ISO/IEC 9506-2에서 제공된 어떠한 상태 천이 규칙도 위반하지 않는다. 이것은 부대규격을 기존의 MMS 상태들 내의 부상태?湧? 정의로 제한한다.

b) 어떠한 부가적인 서비스도 ISO/IEC 9506-1에서 제공된 어떠한 객체 모형도 위반하지 않는다.

c) 어떠한 부가적인 서비스도 ISO/IEC 9506-1과 ISO/IEC 9506-2의 의도와 정신을 방해하기 위해 사용되지 않는다.

7.5.5 서비스오류 (ServiceError)

ServiceError ::= SEQUENCE {

errorClass [0] CHOICE {

vmd-state [0] IMPLICIT INTEGER { -- VMD-STATE,

other (0), -- OTHER

vmd-state-conflict (1), -- VMD-STATE-CONFLICT

vmd-operational-problem (2), -- VMD-OPERATIONAL-PROBLEM

domain-transfer-problem (3), -- DOMAIN-TRANSFER-PROBLEM

state-machine-id-invalid (4) -- STATE-MACHINE-ID-INVALID

},

application-reference [1] IMPLICIT INTERGER { -- APPLICATION REFERENCE

other (0), -- OTHER

application-unreachable (1), -- APPLICATION-UNREACHABLE

connection-lost (2), -- CONNECTION-LOST

application-reference-invalid (3), -- APPLICATION-REFERENCE-INVALID

context-unsupported (4) -- CONTEXT-UNSUPPORTED

},

definition [2] IMPLICIT INTEGER { -- DEFINITION

other (0), -- OTHER

object-undefined (1), -- OBJECT-UNDEFINED

invalid-address (2), -- INVALID-ADDRESS

type-unsupported (3), -- TYPE-UNSUPPORTED

type-inconsistent (4), -- TYPE-INCONSISTENT

object-exists (5), -- OBJECT-EXISTS

object-attributes-inconsistent (6)

-- OBJECT-ATTRIBUTES-INCONSISTENT

},

resoure [3] IMPLICIT INTEGER { -- RESOURCE

other (0), -- OTHER

memory-unavailable (1), -- MEMORY-UNAVAILABLE

processor-resource-unavailable (2),

-- PROCESSOR-RESOURCE-UNAVAILABLE

mass-storage-unavailable (3), -- MASS-STORAGE-UNAVAILABLE

capability-unavailable (4), -- CAPABILITY-UNAVAILABLE

capability-unknown (5) -- CAPABILITY-UNKNOWN

},

service [4] IMPLICIT INTEGER { -- SERVICE

other (0), -- OTHER

primitives-out-of-sequence (1), -- PRIMITIVES-OUT-OF-SEQUENCE

object-state-conflict (2), -- OBJECT-STATE-CONFLICT

-- 3의 값은 차후의 정의를 위해 예약되어 있다.

continuation-invalid (4), -- CONTINUATION-INVALID

object-constraint-conflict (5) -- OBJECT-CONSTRAINT-CONFLICT

},

service-preempt [5] IMPLICIT INTEGER { -- SERVICE-PREEMPT

other (0), -- OTHER

timeout (1), -- TIMEOUT

deadlock (2), -- DEADLOCK

cancel (3) -- CANCEL

},

time-resolution [6] IMPLICIT INTEGER { -- TIME-RESOLUTION

other (0), -- OTHER

unsupportable-time-resolution (1) -- UNSUPPORTABLE-TIME-RESOLUTION

},

access [7] IMPLICIT INTEGER { -- ACCESS

other (0), -- OTHER

object-access-unsupported (1), -- OBJECT-ACCESS-UNSUPPORTED

object-non-existent (2), -- OBJECT-NON-EXISTENT

object-access-denied (3), -- OBJECT-ACCESS-DENIED

object-invalidated (4) -- OBJECT-INVALIDATED

},

initiate [8] IMPLICIT INTEGER { -- INITIATE

other (0), -- OTHER

-- 1과 2의 값은 차후의 정의를 위해 예약되어 있다.

max-services-outstanding-calling-insufficient (3),

-- MAX-SERVICES-OUTSTANDING-CALLING-INSUFFICIENT

max-services-outstanding-called-insufficient (4),

-- MAX-SERVICES-OUTSTANDING-CALLED-INSUFFICIENT

service-CBB-insufficient (5), -- SERVICE-CBB-INSUFFICIENT

parameter-CBB-insufficient (6), -- PARAMETER-CBB-INSUFFICIENT

nesting-level-insufficient (7) -- NESTING-LEVEL-INSUFFICIENT

},

conclude [9] INPLICIT INTEGER { -- CONCLUDE

other (0), -- OTHER

further-communication-required (1)

-- FURTHER-COMMUNICATION-REQUIRED

},

cancel [10] IMPLICIT INTERGER { -- CANCEL

other (0), -- OTHER

invoke-id-unknown (1) -- INVOKE-ID-UNKNOWN

cancel-not-possible (2) -- CANCEL-NOT-POSSIBLE

},

file [11] IMPLICIT INTEGER { -- FILE

other (0), -- OTHER

filename-ambiguous (1), -- FILENAME-AMBIGUOUS

file-busy (2), -- FILE-BUSY

filename-syntax-error (3), -- FILENAME-SYNTAX-ERROR

content-type-invalid (4), -- CONTENT-TYPE-INVALID

position-invalid (5), -- POSITION-INVALID

file-access-denied (6), -- FILE-ACCESS-DENIED

file-non-existent (7), -- FILE-NON-EXISTENT

duplicate-filename (8), -- DUPLICATE-FILENAME

insufficient-space-in-filestore (9)

-- INSUFFICIENT-SPACE-IN-FILESTORE

},

others [12] IMPLICIT INTEGER, -- OTHERS

cs-error [13] CS-Service-Error

-- 이 표준의 19절에 정의된 추상 구문에서는 선택되지 않는다.

},

additionalCode [1] IMPLICIT INTEGER OPTIONAL

additionalDescription [2] IMPLICIT VisibleSring OPTIONAL

serviceSpecificInformation [3] CHOICE {

obtainFile [0] IMPLICIT ObtainFile-Error,

start [1] IMPLICIT Start-Error,

stop [2] IMPLICIT Stop-Error,

resume [3] IMPLICIT Resume-Error,

reset [4] IMPLICIT Reset-Error,

deleteVariableAccess [5] IMPLICIT

DeleteVariableAccess-Error,

deleteNamedVariableList [6] IMPLICIT

DeleteNamedVariableList-Error,

deleteNamedType [7] IMPLICIT

DeleteNamedType-Error,

defineEventEnrollment-Error [8] DefineEventEnrollment-Error,

fileRename [9] IMPLICIT FileRename-Error,

-- 부속서 C 개명 서비스에 의해 사용되도록 예약되어 있다.

additionalService [10] AdditionalService-Error,

} OPTIONAL

서비스오류 파라미터는 오류의 코드와 등급을 식별하고, 국부적으로 정의된 오류 코드와 오류 메시지 정보를 제공할 수도 있으며, 오류의 경우에 수반될 부가적인 정보를 요구하는 서비스를 위한 서비스 특정 정보를 제공한다. 오류등급 (errorClass), 오류등급의 구별된 값들, 부가코드 (additionalCode), 및 부가기술 (additionalDescription) 파라미터들은 ISO/IEC 9506의 이 부분의 5.5절 규약과 ISO/IEC 9506-1 17절의 정의에 따라 유도된다.

오류등급 (errorClass) 선택의 선택은 응답 서비스 프리미티브에서 지정된 오류형 (errorType) 파라미터의 오류 등급 부파라미터에 기반을 둔다. 선택된 오류 등급을 위한 값의 선택은 응답 서비스 프리미티브에서 지정된 오류형 파라미터의 오류 코드 부파라미터에 기반을 둔다. 부가코드 및 부가기술 파라미터들은 같은 이름을 가지는 오류형 파라미터 내의 부파라미터로 부터 유도된다.

수정자위치 파라미터가 확인-오류PDU내에 제시된다면 서비스특정정보 (serviceSpecificInformation) 선택은 제시되지 않는다. 수정자위치가 확인-오류PDU내에 제시되지 않는다면 서비스특정정보 선택은 특정 서비스 (그러한 서비스 특정 부파라미터들이 존재한다면)를 위한 결과(-) 파라미터의 부파라미터들로서 지정된 다른 파라미터들로 부터 유도된다.

주 - 수정자가 확인-오류PDU의 반환을 유발할 때, 서비스 특정 정보는 지정되지 않는다. 확인-오류PDU가 확인 서비스 요구의 처리중에 발생하는 오류의 결과로서 반환될 때, 각 서비스 절차에서 요구된 정보를 제공하는 서비스들을 위해 서비스 특정 정보가 반환된다.

부가서비스-오류 (AdditionalService-Error)는 MMS 부대규격에서 지원하는 부가적인 서비스의 서비스 특정 오류 정보의 정의를 위해 남겨둔다.

주 - 모든 그러한 부가적인 서비스들은 부속서 A에서 기술된 것처럼 다음과 같은 요구 사항들을 만족한다

a) 어떠한 부가적인 서비스도 ISO/IEC 9506-1과 ISO/IEC 9506-2에서 제공된 어떠한 상태 천이 규칙도 위반하지 않는다. 이것은 부대규격을 기존의 MMS 상태들 내의 부상태들의 정의로 제한한다.

b) 어떠한 부가적인 서비스도 ISO/IEC 9506-1에서 제공된 어떠한 객체 모형도 위반하지 않는다.

c) 어떠한 부가적인 서비스도 ISO/IEC 9506-1과 ISO/IEC 9506-2의 의도와 정신을 방해하기 위해 사용되지 않는다.




 목록
(Total:62 articles / page:1/7 )
List
No. Subject By Date Views
62  MMS 표준 II_22 관리자 2009-01-20 565
61  MMS 표준 II_21 관리자 2009-01-20 409
60  MMS 표준 II_20 관리자 2009-01-20 415
59  MMS 표준 II_19 관리자 2009-01-20 432
58  MMS 표준 II_18 관리자 2009-01-20 446
57  MMS 표준 II_17 관리자 2009-01-20 513
56  MMS 표준 II_16 관리자 2009-01-20 426
55  MMS 표준 II_15 관리자 2009-01-20 418
54  MMS 표준 II_14 관리자 2009-01-20 378
53  MMS 표준 II_13 관리자 2009-01-20 383
Search