ФОРМАЛЬНОЕ ОПРЕДЕЛЕНИЕ АБСТРАКТНЫХ-УСЛУГ ХРАНИЛИЩА СООБЩЕНИЙ
Данное приложение, дополняющее главу 2, содержит формальное определение абстрактных услуг хранилища сообщений. Она использует АСН.1 и макрокоманды ГОСТ Р ИСО/МЭК 10021-3 OBJECT, PORT, ABSTRACT-BIND, ABSTRACT-UNBIND, ABSTRACT-OPERATION и ABSTRACT-ERROR.
Примечание - При использовании макрокоманд ABSTRACT-BIND, ABSTRACT-UNBIND, ABSTRACT-OPERATION и ABSTRACT-ERROR, образованных из макроопераций СЭУО BIND, UNBIND, OPERATION и ERROR не предполагается, что в каждом случае через границу между открытыми системами привлекаются абстрактные-операции и абстрактные-ошибки с выдачей отчетов. Однако часто это делается. И способ выполнения этого является предметом рассмотрения ГОСТ Р ИСО/МЭК 10021-6.
MSAbstractService { joint-iso-ccitt mhs-motis (б) ms (4) modules (0) abstract-service (1) }
DEFINITIONS: : =
BEGIN
- - Пролог
- - Экспортирует все
IMPORTS
- - Макрокоманды абстрактных услуг
ABSTRACT-BIND, ABSTRACT-ERROR, ABSTRACT-OPERATION, ABSTRACT-UNBIND, OBJECT, PORT
FROM AbstractServiceNotation { joint-iso-ccitt mhs-motis (6) asd (2) modules (0) notation (1) }
- - Порты ХС
administration, delivery, submission
- - Макрокоманда СПС
EXTENSION
- - Типы данных-абстрактных-услуг СПС
ContentLength, ContentType, Credentials, InitiatorCredentials, ORAddressAndOrDirectory-Name, ResponderCredentials, SecurityContext, SecurityError, SecurityLabel
FROM MTSAbstractService { joint-iso-ccitt mhs-motis (6) mts (3) modules (0) mts-abstract-service (1) }
- - Объекты-ХС
id-ot-ms, id-ot-ms-user, id-pt-retrieval
FROM MSObjectldentifiers { joint-iso-ccitt mhs-motis (6) ms (4) modules (0) object-identifiers (0) }
- - Верхние границы абстрактных услуг ХС
ub-attributes-supported, ub-attribute-values, ub-auto-actions, ub-auto-registrations, ub-default-registrations, ub-error-reasons, ub-information-bases, ub-messages, ub-nested-filters, ub-per-auto-action, ub-per-entry, ub-summaries
FROM MSUpperBounds { joint-iso-ccitt mhs-motis (6) ms (4) modules (0) upper-bounds (4) }
- - Абстрактные объекты ХС | ||||||||||
mS OBJECT | ||||||||||
PORTS | { retrieval [S], | |||||||||
indirectSubmission [S], | ||||||||||
administration [S], | ||||||||||
deliveiy [C], | ||||||||||
submission [C], | ||||||||||
administration [C] } | ||||||||||
: : = id-ot-ms | ||||||||||
msUser OBJECT | ||||||||||
PORTS | { retrieval [C], | |||||||||
indirectSubmission [C], | ||||||||||
administration [C] } | ||||||||||
: : = id-ot-ms-user | ||||||||||
- - Типы портов | ||||||||||
indirectSubmission PORT : : = submission | ||||||||||
retrieval PORT | ||||||||||
CONSUMER INVOKES { | ||||||||||
Summarize, | ||||||||||
List, | ||||||||||
Fetch, | ||||||||||
Delete, | ||||||||||
Register-MS } | ||||||||||
SUPPLIER INVOKES { | ||||||||||
Alert } | ||||||||||
: : = id-pt-retrieval | ||||||||||
- - Макрокоманды | ||||||||||
AUTO-ACTION MACRO : : = | ||||||||||
BEGIN | ||||||||||
TYPE NOTATION | : : = Registration | |||||||||
VALUE NOTATION | : : = value (VALUE OBJECT IDENTIFIER) | |||||||||
Registration | : : = "REGISTRATION PARAMETER IS" type | |||||||||
END | ||||||||||
- - Общие типы-данных, относящиеся к информационной модели | ||||||||||
InformationBase : : = INTEGER { | ||||||||||
stored-messages | (0), | |||||||||
inlog | (1), | |||||||||
outlog | (2) } (0 . . . ub-information-bases) | |||||||||
SequenceNumber : : = INTEGER (0 . . . ub-messages) | ||||||||||
CreationTime : : = UTCTime | ||||||||||
Attribute : : = SEQUENCE { | ||||||||||
type | AttributeType, | |||||||||
values | SEQUENCE SIZE (1 . . . ub-attribute-values) | |||||||||
OF ANY - - ОПРЕДЕЛЯЕТСЯ типом - - } | ||||||||||
AutoActionType : : = OBJECT IDENTIFIER | ||||||||||
EntryStatus : : = INTEGER { | ||||||||||
new | (0), | |||||||||
listed | (1), | |||||||||
processed | (2) } | |||||||||
- - Абстрактная связка | ||||||||||
MSBind : : = ABSTRACT-BIND | ||||||||||
TO { indirectSubmission [S], retrieval [S], administration [S] } | ||||||||||
SIND | ||||||||||
ARGUMENT | MSBindArgument | |||||||||
RESULT | MSBindResult | |||||||||
BIND-ERROR | MSBindError | |||||||||
MSUbind : : = ABSTRACT-UNBIND, | ||||||||||
FROM { indirectSubmission [S], retrieval [S], administration [S] } | ||||||||||
MSBindArgument : : = SET { | ||||||||||
initiator-name | ORAddressAndOrDirectoryName | |||||||||
initiator-credentials | [2] InitiatorCredentials, | |||||||||
security-context | [3] IMPLICIT SecurityContext OPTIONAL, | |||||||||
fetch-restriction | [4] Restrictions OPTIONAL | |||||||||
- - по умолчанию - отсутствует - - , | ||||||||||
ms-configuration-request [5] BOOLEAN DEFAULT FALSE } | ||||||||||
Restrictions : : = SET { | ||||||||||
allowed-content-types [0] SET SIZE (1 . . . un-content-types) OF OBJECT IDEN- | ||||||||||
TIFIER OPTIONAL | ||||||||||
- - по умолчанию - ограничено - - , | ||||||||||
allowed-EITs | [1] MS-EITs OPTIONAL | |||||||||
- - по умолчанию - ограничено - - , | ||||||||||
maximum-content-length | [2] ContentLength OPTIONAL | |||||||||
- - по умолчанию - ограничено - - } | ||||||||||
MS-EITs : : = SET SIZE (1. . . ub-encoded-information-types) OF MS-EIT | ||||||||||
MS-EIT : : = OBJECT IDENTIFIER | ||||||||||
MSBindResult : : = SET { | ||||||||||
responder-credentials | [2] ResponderCredentials, | |||||||||
available-auto-actions | [3] SET SIZE (1. . . ub-auto-actions) | |||||||||
available-attribute-types | [4] SET SIZE (1. . . ub-attributes-supported) | |||||||||
alert-indication | [5] BOOLEAN DEFAULT FALSE, | |||||||||
content-types-supported | [6] SET SIZE (1. . . ub-content-types) | |||||||||
MSBindError : : = ENUMERATED { | ||||||||||
authentication-error | (0), | |||||||||
unacceptable-security-context | (1), | |||||||||
unable-to-establish-association | (2) } | |||||||||
- - Общие типы-данных для абстрактных операций | ||||||||||
Range : : = CHOICE { | ||||||||||
sequence-number-range | [0] Number-Range, | |||||||||
creation-time-range | [1] TimeRange } |