Товары в корзине: 0 шт Оформить заказ
Стр. 1
 

34 страницы

487.00 ₽

Купить ГОСТ Р ИСО/МЭК 10746-4-2004 — официальный бумажный документ с голограммой и синими печатями. подробнее

Официально распространяем нормативную документацию с 1999 года. Пробиваем чеки, платим налоги, принимаем к оплате все законные формы платежей без дополнительных процентов. Наши клиенты защищены Законом. ООО "ЦНТИ Нормоконтроль".

Наши цены ниже, чем в других местах, потому что мы работаем напрямую с поставщиками документов.

Способы доставки

  • Срочная курьерская доставка (1-3 дня)
  • Курьерская доставка (7 дней)
  • Самовывоз из московского офиса
  • Почта РФ

Прогресс в области распределенной обработки привел к необходимости координации стандартов по открытой распределенной обработке (ОРО). Базовая модель ОРО предоставляет необходимый для этого каркас, а также устанавливает архитектуру, в которой могут быть скоординированы поддержка распределения, взаимодействия, совместимости и переносимости

  Скачать PDF

Оглавление

1 Область применения

2 Нормативные ссылки

3 Определения

3.1 Определения по ИСО/МЭК 8807

3.2 Определения по Рекомендаци МСЭ-Т Z.100

3.3 Определения Z

3.4 Определения по ИСО/МЭК 9074

3.5 Сокращения

4 Интерпретация моделирующих понятий

4.1 Архитектурная семантика в LOTOS

4.2 Архитектурная семантика в ACT ONE

4.3 Архитектурная семантика в SDL

4.4 Архитектурная семантика в Z

4.5 Архитектурная семантика в ESTELLE

Показать даты введения Admin

ГОСТ Р ИСО/МЭК 10746-4-2004

НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

Информационная технология

ОТКРЫТАЯ РАСПРЕДЕЛЕННАЯ ОБРАБОТКА

БАЗОВАЯ МОДЕЛЬ

Ч а с т ь 4

Архитектурная семантика

БЗ 4-2002/61


Издание официальное

ГОССТАНДАРТ РОССИИ Москва

Предисловие

1    РАЗРАБОТАН Государственным научно-исследовательским и конструкторско-технологическим институтом «ТЕСТ» Министерства Российской Федерации по связи и информатизации

ВНЕСЕН Министерством Российской Федерации по связи и информатизации

2    УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ Постановлением Госстандарта России от 4 февраля 2004 г. № 51-ст

3    Настоящий стандарт идентичен международному стандарту ИСО/МЭК 10746-4—98 «Информационная технология. Открытая распределенная обработка. Базовая модель. Часть 4. Архитектурная семантика»

4    ВВЕДЕН ВПЕРВЫЕ

© ИПК Издательство стандартов, 2004

Настоящий стандарт не может быть полностью или частично воспроизведен, тиражирован и распространен в качестве официального издания без разрешения Госстандарта России

11

(через определения процессов), создание объектов соответствует созданию интерфейсов. Таким образом, определение создания интерфейса дано определением создания объекта.

4.1.2.16    Введение (объекта)

Реализация поведения, связанного со спецификацией на LOTOS.

4.1.2.17    Удаление (<Х>)

Удаление объекта — прекращение процесса реализации. Оно может быть достигнуто использованием запрещающего оператора LOTOS, остановкой (стоп) выражения поведения, которая не допускает передачи управления, или успешным завершением (выход) выражения поведения, когда передача управления возможна через разрешающий оператор.

Удаление интерфейса — процесс, которым будущее поведение объекта ограничивается в том, что этому поведению не требуется удаляемый интерфейс.

4.1.2.18    Экземпляр типа

Экземпляр типа шаблона объекта — экземпляр данного шаблона объекта представляется в LOTOS реализацией этого шаблона объекта или приемлемой подстановкой для реализации этого шаблона объекта. Приемлемая подстановка должна охватывать характеристики, идентифицирующие тип. Таким образом, приемлемой подстановкой может быть другой шаблон, поведенчески совместимый с первым. Он может быть получен путем расширения, как описано в 4.1.2.4. Использование этого отношения гарантирует, что включены все характеристики рассматриваемого типа. Однако возможен случай, когда могут быть найдены различные формы соответствия типу, которым требуются не все характеристики, связанные с данным шаблоном, а только некоторое их подмножество.

Экземпляр типа шаблона интерфейса — так как шаблон интерфейса представляется точно так же, как и шаблон объекта (через определение процесса в LOTOS), то сказанное выше применимо (с заменой термина «объект» на «интерфейс») к реализации шаблона интерфейса.

Экземпляр типа шаблона действия — экземпляр шаблона действия (обозначение действия) представляется в LOTOS другим обозначением действия, предлагающим эквивалентное событие.

4.1.2.19    Тип шаблона (<Х>)

Предикат, выражающий, что <Х> является экземпляром данного шаблона, где <Х> может быть объектом, интерфейсом или действием.

4.1.2.20    Класс шаблонов (<Х>)

Класс шаблона <Х> — это множество всех <Х>, которые являются экземплярами этого шаблона <Х>, где <Х> может быть объектом, интерфейсом или действием.

Примечание — Применение класса шаблона действия ограничено в LOTOS, так как LOTOS не обеспечивает явно шаблоны действий, реализации и типы шаблонов действий.

4.1.2.21    Производный класс/базовый класс

Если шаблон класса является нарастающей модификацией шаблона другого класса, то первый класс является производным от второго, второй — базовым классом первого.

Шаблоны LOTOS могут нарастающе модифицироваться путем расширения, обогащения и изменения типов данных или поведения. Проблема возникает с модификацией поведения, в частности:

-    подтипы: в систему может быть внесена неопределенность, когда начальное состояние наследуемого шаблона и его модификации одинаковы и, таким образом, отношение подтипа не может быть гарантировано;

-    необходимость перенаправления автоссылки: любая ссылка на производный шаблон из родительского должна быть перенаправлена на производный шаблон, что не всегда возможно.

Удовлетворительного решения этих проблем в стандартном LOTOS нет.

4.1.2.22    Инвариант

В LOTOS могут быть записаны только инварианты, являющиеся определениями процессов. Нет способа присоединить к определению процесса инвариант, который сам не является определением процесса.

4.1.2.23    Предусловие

Предикат, который обязательно должен быть истинным для того, чтобы действие могло осуществиться; он может быть непосредственно выражен в LOTOS с использованием одного или нескольких:

-    последовательностей действий;

-    предохранителей и предикатов выбора.

ГОСТ Р ИСО/МЭК 10746-4-2004

4.1.2.24 Постусловие

В LOTOS осуществление действия зависит от состояния системы после осуществления действия. Таким образом, LOTOS не предоставляет средства для непосредственного выражения постусловий.

4.2 Архитектурная семантика в ACT ONE

В настоящем разделе приведена формализация основных моделирующих и специфицирующих понятий, установленных в ГОСТ Р ИСО/МЭК 10746-2. Хотя конструкция ACT ONE не является ЯФС, она используется в стандартизованных ЯФС LOTOS и SDL и предоставляет альтернативную возможность формализации указанных выше понятий. Поэтому формализация на ACT ONE понятий, установленных в ГОСТ Р ИСО/МЭК 10746-2, приводится в отдельном разделе.

4.2.1    Основные моделирующие понятия

4.2.1.1    Объект

Экземпляр сорта, который может быть однозначно указан. Следует отметить, что объекты, моделируемые таким способом, должны быть специфицированы таким образом, чтобы они имели некоторую форму существования. Это может быть достигнуто использованием алгебраического стиля спецификации. Примеры такого стиля включают в себя рекурсию в определениях процессов, когда объект является элементом списка значений параметров связанного с этим определением процесса. Альтернативно для моделирования объектов с формой существования могут использоваться разделы let . . . in. В обоих стилях требуются предохранители и предикаты выбора для гарантии того, что реализации определений сорта являются уникальными.

4.2.1.2    Среда (объекта)

В ACT ONE среда объекта не обеспечивается. Это понятие может рассматриваться только через алгебру обработки и выражения ACT ONE. В результате среда объекта может рассматриваться как вся алгебра обработки, отличная от выражений ACT ONE, представляющих рассматриваемый объект, и от операций на этом объекте. Таким образом, среда используется как причина осуществления операций на объекте. Такое понятие среды не требует, чтобы операции на объекте вызывались другими объектами. Следствием этого является такое понятие, как взаимодействие, т. е. здесь взаимодействие происходит не между объектами, а между объектом и некоторым внешним агентом — алгеброй обработки.

4.2.1.3    Действие

Осуществление операции. Следует заметить, что это справедливо только в общем случае, так как нет существенного различия между взаимодействием и внутренним действием с позиций только ACT ONE. А именно, возможные действия моделируются операциями в сигнатуре сорта ACT ONE, и они могут происходить или не происходить в зависимости от выражений ACT ONE, существующих в алгебре обработки. Таким образом, внутренние действия не обеспечиваются явным образом в ACT ONE. Однако возможны случаи, когда внутреннее действие может моделироваться определенными локально в алгебре обработки сортами. Альтернативно все операции, объявленные в алгебре обработки, могут трактоваться как взаимодействия. Операции, используемые для удовлетворения таких операций, т. е. уравнения, связанные с рассматриваемыми операциями, могут трактоваться как внутренние действия. Например, если процесс вызывает операцию рор2, которая удаляет два элемента из очереди, а она в связанных с нею уравнениях дважды использует операцию pop, то рор2 может трактоваться как взаимодействие, a pop — как внутреннее действие. Однако при такой трактовке внутренних действий проблема заключается в том, что нет понятия спонтанного перехода как такового, например как для экземпляра с символом внутреннего события i в алгебре обработки.

Следует отметить, что в таком виде взаимодействия не требуется, чтобы два или более объектов взаимодействовали в смысле алгебры обработки, т. е. через синхронизацию в общих воротах. Здесь взаимодействие может быть интерпретировано как нечто, что вызвано косвенно средой, а не обязательно объектом, т. е. не другим экземпляром сорта, моделирующего объект. Таким образом, возможен случай, когда появление предложения события, которое не содержит выражений ACT ONE, вызывает осуществление взаимодействия, например появление предложения события, приводящего к реализации определения процесса, список значений параметров которого содержит операцию (взаимодействие) на объекте (или объектах).

4.2.1.4    Интерфейс

Операции и уравнения, связанные с объектом.

4.2.1.5    Деятельность

Последовательность применения операций на данном сорте. Эти операции должны удовлетворять уравнениям, связанным с сортом. Каждая операция в последовательности встретившихся операций, т. е. каждая операция в активности должна иметь предусловия, которые удовлетворяют

9

постусловиям ранее встретившихся операций. Предусловия и постусловия для операций определены в 4.2.2.23 и 4.2.2.24, соответственно.

4.2.1.6    Поведение (объекта)

Поведение объекта, моделируемого в ACT ONE, зависит от операций, связанных с шаблоном объекта, и от текущего состояния привязанных к нему объектов. А именно, значение состояния привязанного объекта может быть использовано для ограничения возможных операций, например путем исключения некоторых операций, уравнения которых не выполняются для этого состояния.

ACT ONE не обеспечивает явно такие ограничения на появление операций, как последовательность, недетерминизм, конкуренция и ограничения реального времени. ACT ONE предоставляет операции и уравнения, которые сами по себе обозначают все возможные ограничения, т. е. все возможное поведение с ассоциированными с ним ограничениями.

В ACT ONE нет характеристик специально для моделирования внутренних действий. Конкретнее, нет понятия спонтанного перехода, которое может встретиться в алгебре обработки с символом внутреннего события i, например.

Следует отметить, что реально нет понятия поведения, фактически осуществляющегося только в ACT ONE. Осуществляющееся поведение ACT ONE обычно связывается с выражениями ACT ONE, которые вычисляются в алгебре обработки.

4.2.1.7    Состояние (объекта)

Текущее значение того экземпляра сорта, моделирующего объект, к которому это значение привязано. Сорт, моделирующий объект, должен содержать идентификатор, используемый для отличия друг от друга разных экземпляров сорта. Значение этого идентификатора не является частью состояния, т. е. это значение должно оставаться неизменным в операциях и уравнениях, связанных с сортом.

4.2.1.8    Коммуникация

Это понятие не поддерживается в ACT ONE. Возможен случай, когда коммуникация абстрактного вида может быть смоделирована при использовании алгебраического стиля спецификации. Однако и это не будет отражать текста ГОСТ Р ИСО/МЭК 10746-2, т. е. это не будет переносом информации от одного объекта к другому. Скорее, среда (алгебра обработки) используется для коммуникации с объектами.

4.2.1.9    Положение в пространстве

Понятие положения в пространстве не поддерживается явным образом в ACT ONE. Если требуется, то это понятие может быть построено в модели спецификации, например через сорт, моделирующий положение в пространстве, который используется в тех операциях, где нужно установить положение в пространстве.

4.2.1.10    Положение во времени

Понятие положения в пространстве не поддерживается явным образом в ACT ONE. Однако, если понятие времени относится к текущему состоянию данного объекта, т. е. к изменениям состояния, которые уже произошли и которые могут произойти, то положение во времени, при котором данное действие может произойти, можно определить, с некоторыми расширениями, текущим состоянием данного объекта.

Положение во времени, при котором данное действие может произойти, может быть построено в спецификации, например через сорт, моделирующий положение во времени, который используется в тех операциях, где нужно установить положение во времени.

4.2.1.11    Точка взаимодействия

Это понятие не поддерживается явным образом в ACT ONE. Однако возможен случай, когда это понятие может быть построено в спецификации, например через сорт, используемый в операциях, которые входят в множество интерфейсов в одном и том же месте. А именно, всем операциям в множестве интерфейсов в одном и том же месте требуется входной параметр (сорт), указывающий положение, в котором эти операции существуют. При необходимости можно смоделировать несколько точек взаимодействия так, чтобы они существовали в одном и том же месте. Этого можно достичь через операцию создания сорта «положение», которая требует на входе несколько сортов «точка взаимодействия». Операции и уравнения, ассоциированные с этими сортами, должны позволять идентифицировать разные точки взаимодействия и положения.

4.2.2 Специфицирующие понятия

4.2.2.1 Композиция

Композиция объектов — в общем случае в ACT ONE нельзя скомбинировать два произвольных объекта и получить осмысленный результат, т. е. составной объект со своим собственным поведе-

10

ГОСТ Р ИСО/МЭК 10746-4-2004

нием и пр. Наиболее похожей формой композиции в ACT ONE является операция «конструктор», имеющая два и более объектов в качестве входных параметров; это означает, что объекты могут быть однозначно идентифицированы.

Рассмотрим следующую операцию «конструктор» ACT ONE:

такеСО: Id, ОЫ, ОЬ2 -» СО

Здесь составной объект создается из двух других объектов, имеющих свои собственные операции и уравнения, т. е. свое собственное поведение. Хотя объект со = такеСО (idl, оЫ, оЬ2) является составным объектом из объектов оЫ и оЬ2, сам объект со не имеет такого поведения. А именно, поведение, ассоциированное с оЫ и оЬ2, не применимо к экземплярам СО.

Для решения этой проблемы составной объект может иметь дополнительные операции и уравнения. Тогда вид этих операций и уравнений и их взаимосвязь с объектами-компонентами определят вид композиции. Например, если операции и уравнения составного объекта просто позволяют получить доступ к изолированным компонентам-объектам, то получается вид делегирования с композицией объектов-компонентов, представленных в агрегации. Если операции и уравнения составного объекта заданы таким образом, что изменяют поведение составляющих объектов, то получается вид композиции, более похожий на описанный в ГОСТ Р ИСО/МЭК 10746-2. Однако следует заметить, что данное в ГОСТ Р ИСО/МЭК 10746-2 понятие композиции не требует дальней спецификации, т. е. для создания новых объектов и поведений нужна композиция существующих объектов и поведений, а не спецификация дополнительного поведения, позволяющего создавать осмысленную композицию объектов-компонентов.

Композиция поведений — так как ACT ONE не предоставляет специальных операторов композиции, понятие композиции поведений явно не обеспечивается. Надо отметить, что в ACT ONE существует форма композиции, и это — обогащение. Однако в общем случае оно не может быть классифицировано как композиция, так как не обеспечивает явную композицию поведений (и объектов). Обогащение само по себе, т. е. без дополнительной спецификации, не обеспечивает свойств композиции. При применении обогащения все типы данных существуют независимо. Понятие композиции может применяться только в том случае, когда специфицированы операции и уравнения, которые позволяют использовать сорта, доступные через обогащение. Однако так нельзя адекватно отразить текст ГОСТ Р ИСО/МЭК 10746-2, т. е. это не тот случай, когда два поведения просто образуют комбинацию. Для комбинации поведения требуется дополнительная спецификация. Обогащение позволяет скомбинировать все существующие операции и уравнения сортов. Таким образом, повторная спецификация необходима для комбинации поведения, не включенного операциями и уравнениями сортов через обогащение.

Некоторая форма композиции поведений может быть получена путем актуализации параметризованных типов данных. Актуализация типа данных должна удовлетворять любым формальным сортам, операциям и уравнениям актуализируемого типа данных. Это ближе, чем может быть получено с ACT ONE, к охвату понятия композиции поведений, очерченного в ГОСТ Р ИСО/МЭК 10746-2. Спорным остается вопрос, представляется ли таким образом композиция поведений, так как поведение параметризованного типа данных не может существовать до того, как будет актуализировано, т. е. экземпляр этого сорта не может появиться в алгебре обработки и применяемых операциях.

4.2.2.2    Составной объект

Результат композиции объектов.

4.2.2.3    Декомпозиция

Декомпозиция объектов — в ACT ONE объекты могут быть разложены при условии, что в связанной с объектом сигнатуре существуют операции, допускающие декомпозицию. Например, следующий тип данных позволяет разложить составной объект на компоненты:

type Z is X, Y, IdType sorts Z

opns makeZ: Id, X, Y — > Z getX: Z - > X getY: Z - > Y eqns forall x:X, y:Y, id: ID ofsortX

getX (makeZ (id, x, y)) = x; of sortY

getY (makeZ (id, х, у)) = у;

endtype (* Z *)

Таким образом, данный z:Z = makeZ (idl, х, у), где х и у — экземпляры сортов, моделирующих объекты, a idl — уникальный идентификатор, можно разложить на х и у, т. е. на его компоненты, операциями getX (Z) и getY (Z), соответственно.

Примечание — Эта интерпретация основана на идее о том, что можно разделить составной объект на части-компоненты (объекты). Однако ГОСТ Р ИСО/МЭК 10746-2 только требует, чтобы декомпозиция определяла данный объект как комбинацию двух или нескольких объектов, т. е. композицию. В ACT ONE составные объекты всегда специфицированы как комбинация объектов-компонентов. Следовательно, различие между композицией и декомпозицией, определенное ГОСТ Р ИСО/МЭК 10746-2, несколько размывается при представлении в ACT ONE.

Декомпозиция поведений — понятие декомпозиции поведений зависит от спецификации композиции поведений. Это понятие не обеспечивается в ACT ONE явным образом (см. 4.2.2.1). А именно, поведение представляется операциями и уравнениями, действующими на сорт. Это не тот случай, когда два произвольных поведения сортов могут быть скомбинированы и дадут новое поведение.

Примечание — Так же можно считать, что понятие декомпозиции поведений обеспечивается операциями и уравнениями ACT ONE, связанными с сортом. А именно, эти операции и уравнения обеспечивают все возможные комбинации поведений. Так например, последовательная композиция может быть создана последовательным применением операций. Каждое применение операции в последовательности должно удовлетворять необходимым для появления уравнениям. Остается спорным, является ли это композицией поведений, так как операции и уравнения уже существуют и определены для всех возможных поведений.

4.2.2.4    Поведенческая совместимость

В LOTOS поведенческая эквивалентность типов данных основана на эквивалентности имен сортов и, возможно, на значении, с которым эти сорта связаны. В результате, в общем случае, объект не может быть заменен в некоторой среде другим объектом, если объекты получены из разных шаблонов объектов, т. е. являются экземплярами разных сортов. Однако иногда может оказаться возможным заменить один объект другим, полученным из другого шаблона объектов. Для этого требуется, чтобы среда предлагала операции, применимые к обоим сортам, а результаты этих операций были одинаковы. Например, в некоторой среде могут оказаться поведенчески совместимыми сорта, представляющие стек целых чисел и очередь целых чисел, если среда предлагает только операцию «верх», а стек и очередь имеют одинаковое количество помещенных в них целых чисел. А именно, в обоих случаях результатом будет целое число. Если среда предлагает операцию «вытолкнуть» или «втолкнуть», то между этими объектами не будет поведенческой совместимости, так как операции вернут сорта «стек» или «очередь». Так как в общем случае среда объекта может вызвать любую операцию из сигнатуры, то эта форма поведенческой совместимости является ограниченной.

4.2.2.5    Уточнение

Хотя понятие уточнения обеспечивается алгеброй обработки LOTOS явным образом, например через отношения тестирования соответствия и эквивалентности, в ACT ONE для уточнения сделано очень мало. Интуитивно ясно, что уточнение в ACT ONE может иметь разные формы, например через расширение сигнатуры данного сорта, т. е. обеспечение дополнительных операций. Эта форма уточнения будет создавать поведенческую совместимость, т. е. существующие операции и уравнения остаются неизменными. Возможны и другие формы уточнения, например изменение уравнений, связанных с операциями над сортом. Не похоже, что обеспечение поведенческой совместимости будет тривиальным в этом случае.

4.2.2.6    Трасса

Так как в ACT ONE взаимодействия не представлены явным образом, то понятие трассы ограничено, т. е. нельзя гарантировать, что она не содержит внутренних действий. Если взаимодействия рассматривать как операции, которые происходят в алгебре обработки, а внутренние действия — как операции, используемые для вычисления уравнений, связанных с этими операциями, то в некоторых ограниченных пределах можно моделировать трассу. В таком случае она соответствует последовательности применения операций, связанных с экземпляром моделирующего объект сорта. Нужно отметить, что если уравнения, связанные с моделирующими взаимодействия операциями, были переписаны, то запись взаимодействий объекта, т. е. трасса, вероятно, является некорректной. Например, применение к очереди операции «втолкнуть» с последующей «вытолкнуть» будет, веро-

ГОСТ Р ИСО/МЭК 10746-4-2004

ятно, переписано как «очередь», а не как выражение pop (push (х, q)). Таким образом, понятие трассы в ACT ONE ограничено.

4.2.2.7    Тип <Х>

Объекты, интерфейсы и действия, специфицированные в ACT ONE, могут удовлетворять многим различным произвольным характеризующим предикатам. Типы, которые могут быть записаны явно, являются типами шаблонов.

4.2.2.8    Класс <Х>

Понятие класса зависит от характеризующего тип предиката, которому должны удовлетворять члены класса. Объекты, интерфейсы и действия могут удовлетворять многим произвольным характеризующим тип предикатам. Тип, который может быть в нем записан, является типом шаблона. Класс объектов, интерфейсов или действий, связанных с этим типом, является классом шаблонов.

Примечание — Следует заметить, что если ограничиться единственной возможной в LOTOS классификацией объектов, интерфейсов и действий, что они соответствуют типу шаблона, то понятия класса и класса шаблонов, определенные в ГОСТ Р ИСО/МЭК 10746-2, суживаются до методов моделирования в LOTOS. В LOTOS нет разницы между классом в широком смысле слова и классом шаблонов в более узком смысле как множества реализаций данного типа шаблонов.

4.2.2.9    Подтип/супертип

Понятия подтипа и супертипа, вообще говоря, не поддерживаются в ACT ONE, так как при проверке типа LOTOS использует эквивалентность имен. Например, два типа объектов являются одинаковыми только тогда, когда они представляются одним и тем же сортом. Таким образом, в общем случае один сорт не может быть подставлен вместо другого. Однако возможен случай, когда существует ограниченная форма отношений подтипа между двумя разными сортами, если характеризующий тип предикат основан на некотором аспекте сорта, отличном от имени, например такая-то операция допустима над этим сортом и возвращает такой-то результат. Это — ограниченная форма создания типа, и вряд ли она существует в большинстве случаев.

4.2.2.10    Подкласс/суперкласс

Понятия подкласса и суперкласса поддерживаются в ACT ONE только в очень ограниченных пределах, т. е. когда характеризующий тип предикат основан на некотором аспекте сорта. В результате эти понятия не полностью поддерживаются в ACT ONE. Если между двумя сортами существует отношение подтип/супертип, то между экземплярами сортов в алгебре обработки существует отношение подкласс/суперкласс.

4.2.2.11    Шаблон <Х>

Шаблон объектов — определение сорта (с соответствующими операциями и уравнениями), моделирующего объект.

Шаблон интерфейсов — набор операций и уравнений, связанных с определением сорта, моделирующего объект. Понятия шаблонов интерфейсов и объектов можно рассматривать как идентичные, так как операции и уравнения всегда должны действовать на определении сорта. Это справедливо и в том случае, когда декларация экземпляра сорта в алгебре обработки имеет неявно связанные с ней операции и уравнения, что устанавливается в части ACT ONE спецификации.

Шаблон действий — операции с соответствующими уравнениями.

4.2.2.12    Сигнатура интерфейса

Операции, которые применяются к переменной, объявленной как экземпляр сорта, моделирующего объект.

4.2.2.13    Реализация (шаблон <Х>)

Реализация шаблона объекта — для реализации шаблона объекта требуется инициализация моделирующего объект сорта допустимым начальным состоянием. Эта инициализация сорта должна гарантировать, что экземпляр сорта может быть однозначно указан.

Реализация шаблона интерфейса — реализация шаблона интерфейса происходит при реализации шаблона объекта. В таком случае объект имеет единственный интерфейс, заданный операциями и уравнениями, действующими на сорт, из которого объект был реализован.

Реализация шаблона действия — появление операции ACT ONE в алгебре обработки. Эта операция должна удовлетворять уравнениям, связанным с операцией.

4.2.2.14    Роль

Понятие роли лучше всего может быть промоделировано в ACT ONE сортом. Это происходит потому, что роль представляет собой идентификатор поведения. Именно через декларацию сорта становятся доступными операции и уравнения, применяемые к этому сорту.

13

4.2.2.15    Создание (<Х>)

Создание объекта или интерфейса — так как объекты и интерфейсы имеют форму существования, когда ACT ONE используется совместно с алгеброй обработки, то сам ACT ONE не может использоваться для моделирования создания. ACT ONE совместно с алгеброй обработки может использоваться для моделирования в ограниченных пределах создания объектов и интерфейсов при условии следования определенному стилю спецификации. Например, как операция, связанная с моделирующим объект сортом, т. е. операция над уже существующим объектом, которая приводит к созданию нового объекта. Должна быть возможность уникальной ссылки на вновь созданный объект. Этот новый объект будет использоваться в алгебре обработки, так что он имеет некоторую форму существования (подробнее см. 4.2.1.1).

4.2.2.16    Введение (объекта)

Введение объекта в ACT ONE может быть достигнуто несколькими способами при использовании совместно с алгеброй обработки. Например, с помощью предложения события, появление обозначения действия которого приводит к созданию нового экземпляра сорта, моделирующего объект. Эти новые экземпляры должны находиться в допустимом начальном состоянии, быть однозначно указываемыми и иметь некоторую форму существования в алгебре обработки. Альтернативно объекты могут быть введены через разделы let . . . in. Эти объекты тоже должны иметь допустимое начальное состояние, использоваться в алгебре обработки так, что они имеют форму существования, и должна быть возможность их однозначной идентификации.

4.2.2.17    Удаление (<Х>)

Удаление объекта или интерфейса — удаление объекта или интерфейса в ACT ONE может быть достигнуто при совместном использовании с алгеброй обработки путем перезаписи соответствующего появления уравнений, связанных с операциями над сортами, моделирующими объекты. Например, для моделирования удаления может быть использована операция, которая перемещает элемент из множества, т. е. объект с конкретным идентификатором перемещается (удаляется) из множества реализованных объектов, существующего как часть списка значений параметров рекурсивного определения процесса.

4.2.2.18    Экземпляр типа

Экземпляр типа шаблона объекта, интерфейса или действия — экземпляр типа зависит от определяющего его характеризующего предиката. Если предикат типа является типом шаблоном для объектов и интерфейсов, то экземпляр типа объекта или интерфейса соответствует появлению в алгебре обработки сорта, моделирующего рассматриваемые объекты и интерфейсы. Аналогично, если предикат типа является типом шаблона для действия, то экземпляр типа действия задается появлением в алгебре обработки операции, моделирующей тип действия.

4.2.2.19    Тип шаблона (<Х>)

Тип шаблона объекта или интерфейса — предикат на реализациях сорта, используемого для моделирования объекта. Все реализации (появления) шаблона (сорта) в алгебре обработки имеют операции и уравнения, ассоциированные с этим сортом. Так как шаблоны для объектов и интерфейсов моделируются одним и тем же образом, т. е. определением сорта с соответствующими операциями и уравнениями, то тип шаблона объекта и тип шаблона интерфейсов для этого объекта в ACT ONE являются синонимами: они оба соответствуют появлению сорта в алгебре обработки.

Тип шаблона действия — предикат на появлениях операции в алгебре обработки. А именно, все реализации (появления) шаблона (операции) в алгебре обработки должны соответствовать требованиям шаблона, т. е. они должны иметь те же самые входные данные и давать тот же самый результат, что и рассматриваемое определение операции, а вычислением операции управляют уравнения, ассоциированные с этой операцией.

4.2.2.20    Класс шаблонов (<Х>)

Класс шаблонов объектов — множество реализаций данного сорта, моделирующего объект, в алгебре обработки.

Класс шаблонов интерфейсов — множество реализаций данного сорта, моделирующего интерфейс объекта, в алгебре обработки.

Класс шаблонов действий — множество реализаций данной операции в алгебре обработки.

4.2.2.21    Производный класс/базовый класс

В ACT ONE производные и базовые классы не поддерживаются. Это происходит потому, что в ACT ONE классы обычно задаются только через классы шаблонов, т. е. (для объектов) множеством

14

ГОСТ Р ИСО/МЭК 10746-4-2004

реализаций данного сорта, моделирующего объект, в алгебре обработки. В данном случае сорта не могут модифицироваться нарастающим образом. Конкретно, сорта и присвоенные им метки, т. е. имена сортов, не позволяют ссылаться на другой сорт, т. е. всегда существует автоссылка. Таким образом, операции и уравнения, связанные с данным сортом, применимы только к нему, но не к другим сортам.

Понятие актуализации параметризованных классов, хотя интуитивно и имеет характеристики отношения производный/базовый класс, не влияет на представление этого отношения. Дело в том, что в данном случае экземпляры параметризованного класса не могут появляться в алгебре обработки, т. е. они должны быть актуализированы так, чтобы класс мог существовать.

4.2.2.22    Инвариант

Это понятие неявно подразумевается в ACT ONE, т. е. объекты всегда должны удовлетворять операциям и уравнениям, которые к ним применяются.

4.2.2.23    Предусловие

В ACT ONE все операции должны удовлетворять всем уравнениям (и любым ассоциированным предохранителям), которые применяются к ним до их появления.

4.2.2.24    Постусловие

Это понятие неявно подразумевается в ACT ONE, т. е. появление данной операции (действия) требует, чтобы соответствующие уравнения были определены (справедливы).

4.3 Архитектурная семантика в SDL

SDL является стандартизированным ЯФС. Методические материалы приведены в приложении к Рекомендации МСЭ-Т Z.100. Существует ряд руководств по SDL и его коммерческих реализаций, поддерживающих различные аспекты SDL: от работы с графикой до анализа и генерации программного кода на основе SDL.

В SDL система моделируется как набор (множество) запоминающих конечных автоматов, взаимодействующих с помощью сообщений, называемых сигналами. Понятие данных в SDL основано на ACT ONE. Конечные автоматы являются запоминающими в том смысле, что могут быть определены локальные переменные для хранения части их истории. Сигналы передаются асинхронно, представляя таким образом потерю связи между компонентами в распределенной системе.

В настоящем разделе представлен один из способов, которым основные моделирующие понятия могут быть выражены на SDL. Это представление не является единственно возможным. Он показывает, что большинство фундаментальных понятий может быть выражено на SDL. Альтернативный подход к моделированию многих понятий основан на использовании ACT ONE. Подробнее он описан в 4.2.

Использована версия SDL-92, определенная в Рекомендации МСЭ-Т Z. 100. Эта версия по сравнению с SDL-88 имеет несколько расширений. Среди них важнейшими являются:

-    объектно-ориентированные конструкции;

-    возможность каналов без задержки;

-    недетерминизм;

-    возможность включения понятия альтернативных данных и вызовов удаленных процедур.

Наиболее важной характеристикой альтернативных данных является возможность комбинированного использования ACT ONE и АСН.1 в SDL. Семантика комбинации SDL-92 с АСН.1 определена в Рекомендации МСЭ-Т Z. 105.

Во избежание путаницы термины SDL при необходимости выделены курсивом.

4.3.1    Основные моделирующие понятия

4.3.1.1    Объект

В SDL объектами являются экземпляры типа систем, типа блоков, типа процессов, типа услуг, таймера, канала и сигнального пути. Эти экземпляры характеризуются состоянием и поведением.

Каждый экземпляр инкапсулирован, т. е. любые изменения в его состоянии могут произойти только в результате внутренних действий или взаимодействия с его средой.

Ссылки для каждого вида объектов должны быть обеспечены явно.

4.3.1.2    Среда (объекта)

Среда объекта зависит от его вида. См. таблицу 1.

15

Таблица! — Среда объекта

Вид объекта

Ограничения среды

Система

- входящие сигналы каналов

Блок

-    глобальные типы данных

-    входящие сигналы каналов

-    вызовы экспортированных процедур

-    импортированные переменные

Процесс

-    глобальные типы данных

-    входящие сигналы явных и неявных сигнальных путей

-    вызовы экспортированных процедур

-    видимые/импортированные переменные

-    ограничения времени для входящих действий

Услуга

-    глобальные переменные /таймеры/ типы данных, совместно используемые буфера сигналов (принадлежащие объемлющему экземпляру процесса)

-    входящие сигналы явных и неявных сигнальных путей

-    вызовы экспортированных процедур

-    видимые/импортированные переменные

-    ограничения времени для входящих действий

Таймер

-    вызовы стоп, установить и переустановить

-    процессами владельца

Канал

- входящие сигналы от соединенных блоков

Сигнальный путь

- входящие сигналы от соединенных экземпляров процессов/услуг

4.3.1.3    Действие

В SDL действие — это единичное предложение действия, ввести или сохранить, вся транзакция или завершенное выполнение процедуры. Возможными единичными предложениями действия являются:

-    задача, импорт, экспорт, вид;

-    вывести;

-    создать;

-    установить, переустановить, активизировать;

-    вызов процедуры;

-    стоп/вернуть;

-    следующее-состояние.

Передача сигналов каналами или сигнальными путями также является действием, как и генерация сигнала таймера. Взаимодействиями являются ввод/вывод сигнала, вызов и возврат удаленной процедуры и использование разделяемых переменных (глобальных переменных процесса для услуг, обна-руженных/видимых и экспортированных/импортированных переменных процесса). Последовательность действий отправки, передачи и, возможно, приема сигнала (вывести—ввести) может рассматриваться как одно взаимодействие.

4.3.1.4    Интерфейс

В зависимости от вида объекта в SDL имеются различные способы описания интерфейсов, как показано в таблице 2.

В случае объекта блок должны быть инкапсулированы в один или несколько процессов набор экспортированных/импортированных удаленных процедур и набор сигналов, отправляемых/получаемых процессами этого блока. Тогда эти процессы работают как интерфейсы объекта блок. Этими описаниями интерфейсов определены потенциальные взаимодействия объекта, а каждый интерфейс описывает подмножество потенциальных взаимодействий объекта.

Таблица2 — Интерфейсы объекта

Вид объекта

Интерфейс характеризуется:

Система

-    воротами системы с их списками сигналов

-    входными/выходными каналами с их списками сигналов

Блок

-    воротами блока с их списками сигналов

-    входными/выходными каналами с их списками сигналов

-    входными/выходными путями сигналов с их списками сигналов

-    набором (экспортированных/импортированных) удаленных процедур

-    набором (экспортированных/импортированных) удаленных переменных

Процесс

-    воротами процесса с их списками сигналов

-    набором всех допустимых входных/выходных сигналов

-    набором всех экспортированных/импортированных процедур

-    набором (обнаруженных/видимых) разделяемых переменных

Услуга

-    воротами услуги с их списками сигналов

-    набором всех допустимых входных/выходных сигналов

-    набором всех экспортированных/импортированных процедур

Таймер

- идентификацией таймера

Канал

- наборами всех сигналов, передаваемых в каждом направлении

Сигнальный путь

- наборами всех сигналов, передаваемых в каждом направлении

4.3.1.5    Деятельность

В общем случае деятельность не может быть обозначена явно, так как она может охватывать несколько объектов.

Одним из частных случаев деятельности является выполнение локальной или удаленной процедуры с действием вызов в начале деятельности и потенциальными действиями возврата в конце.

4.3.1.6    Поведение (объекта)

Поведение процесса/услуги является множеством всех переходов этого (ой) процесса/услуги. Действия ввести дают ограничения на обстоятельства, при которых могут происходить переходы. Дополнительные ограничения могут быть введены с помощью конструкций обеспечить и непрерывный сигнал. Объект может демонстрировать недетерминированное поведение.

Поведение блока собирается из поведений содержащихся в нем процессов. Поведение системы собирается из поведений содержащихся в ней блоков.

Поведением канала или сигнального пути является перенос сигналов (немедленный или с задержкой).

В SDL поведение таймера является предопределенным в смысле работы в качестве будильника.

4.3.1.7    Состояние (объекта)

Множество всех последовательностей действий, в которых может участвовать объект, в данный момент времени для процесса или услуги определяется текущим состоянием SDL в это время, значениями локальных переменных и содержимым входного порта.

Состоянием блока или системы является общее состояние всех содержащихся в нем (ней) процессов и блоков плюс всех содержащихся каналов и сигнальных путей.

Состояние канала явно или неявно задается блоком. Это состояние зависит от того, имеет ли канал свойство задержки.

Состояние сигнального пути всегда задано неявно.

Состоянием таймера — активен или не активен. Состояние активного таймера определяется временем задержки до отправки сигнала тайм-аута.

4.3.1.8    Коммуникация

Перенос информации между двумя или несколькими объектами осуществляется явными или неявными (в случае удаленных процедур или экспортированных/импортированных переменных) каналами или сигнальными путями. Информацию переносят сигналы.

4.3.1.9    Положение в пространстве

Действия осуществляются в экземплярах процессов и услуг. Передача действий осуществляется в каналах и сигнальных путях.

17

ГОСТ Р ИСО/МЭК 10746-4-2004

Содержание

1    Область применения.......................................................1

2    Нормативные ссылки.......................................................2

3    Определения.............................................................2

3.1    Определения по    ИСО/МЭК 8807...........................................2

3.2    Определения по    Рекомендации МСЭ-Т Z. 100.................................2

3.3    Определения Z........................................................3

3.4    Определения по    ИСО/МЭК 9074...........................................3

3.5    Сокращения..........................................................3

4    Интерпретация моделирующих    понятий........................................3

4.1    Архитектурная семантика    в    LOTOS.........................................3

4.2    Архитектурная семантика    в    ACT ONE.......................................9

4.3    Архитектурная семантика    в    SDL...........................................15

4.4    Архитектурная семантика    в    Z.............................................20

4.5    Архитектурная семантика    в    ESTELLE.......................................26

111

ГОСТ Р ИСО/МЭК 10746-4-2004

4.3.1.10    Положение во времени

Каждое действие характеризуется датами начала и окончания действия. Действия могут быть мгновенными. Длительность действия не может быть обозначена явно. Для действий может быть составлено расписание: происходить в конкретное время или после заданной задержки.

Примечание

а)    Глобальное время доступно в SDL через now. При этом ничего не говорится о единицах измерения.

б)    Для двух последовательных действий а! и а2 справедливо отношение now (al) <= now (а2).,

в)    Явным образом обращаться ко времени можно только с помощью действий установки таймера, a now применяется в разрешающих условиях и непрерывных сигналах. Следует избегать составления расписания действий для фиксированных моментов времени.

4.3.1.11    Точка взаимодействия

Точками взаимодействия являются ворота экземпляров блоков, процессов и услуг и оконечные точки (возможно, неявные) каналов и сигнальных путей. Совместно используемые переменные так же являются точками взаимодействия. Они имеют положение. Объект может иметь несколько точек взаимодействия.

4.3.2 Специфицирующие понятия

4.3.2.1    Композиция

Композиция объектов:

а)    объект система может быть конкурентной композицией объектов блок, которые могут быть соединены каналами;

б)    объект блок может быть конкурентной композицией объектов блок (которые могут быть соединены каналами) или конкурентной композицией объектов процесс (которые могут быть соединены сигнальными путями);

в)    объект процесс может быть чередующейся композицией объектов услуга;

г)    канал может быть композицией блоков, соединенных каналами.

Композиция поведений:

а)    поведение системы является конкурентной композицией поведений ее блоков;

б)    поведение блока является конкурентной композицией поведений его подблоков или процессов',

г)    поведение процесса является чередующейся композицией поведений его услуг или последовательной композицией действий графа процесса',

д)    поведение услуги является последовательной композицией взаимодействий графа услуги;

е)    поведение канала может быть композицией поведений составляющих его блоков и соединяющих их каналов.

4.3.2.2    Составной объект

Согласно 4.3.2.1 следующие объекты могут быть представлены как композиции:

-    система,

-    блок,

-    процесс,

-    канал.

4.3.2.3    Декомпозиция

Декомпозиция объектов — спецификация данного объекта как композиции.

Декомпозиция поведений — спецификация данного поведения как композиции.

4.3.2.4    Поведенческая совместимость

В SDL нет общих способов явного описания поведенческой совместимости, однако семантические основы языка допускают определение поведенческой совместимости и ее проверки в терминах переходных систем.

Экземпляр переходного класса может рассматриваться как ограниченно поведенчески совместимый с экземпляром соответствующего базового класса, а экземпляр переопределенного типа может рассматриваться как ограниченно поведенчески совместимый с экземпляром соответствующего виртуального типа. Для требований ограниченной поведенческой совместимости может быть использован раздел at least.

4.3.2.5    Уточнение

В SDL имеется два способа уточнения спецификации объекта:

-    построение подструктур (на уровне блока или системы)',

-    использование объектно-ориентированных свойств (наследования, виртуальных и родовых параметров).

18

НАЦИОНАЛЬНЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИ

Информационная технология

ОТКРЫТАЯ РАСПРЕДЕЛЕННАЯ ОБРАБОТКА БАЗОВАЯ МОДЕЛЬ

Ч а с т ь 4

Архитектурная семантика

Information technology. Open Distributed Processing. Reference Model. Part 4. Architectural semantics

Дата введения 2005—01—01

1 Область применения

Прогресс в области распределенной обработки привел к необходимости координации стандартов по открытой распределенной обработке (ОРО). Базовая модель ОРО предоставляет необходимый для этого каркас, а также устанавливает архитектуру, в которой могут быть скоординированы поддержка распределения, взаимодействия, совместимости и переносимости.

Базовая модель открытой распределенной обработки (БМ-ОРО) основана на строгих понятиях, полученных из анализа современных разработок распределенной обработки, и, насколько возможно, на методах формального описания для спецификации архитектуры.

БМ-ОРО состоит из:

-    ГОСТ Р ИСО/МЭК 10746-1, который содержит обзор основных причин создания ОРО, описывает область действия, обосновывает и объясняет ключевые понятия и очерчивает архитектуру ОРО. Эта часть не является нормативной;

-    ГОСТ Р ИСО/МЭК 10746-2, который содержит определения понятий, аналитический каркас и обозначения для нормализованного описания (произвольных) систем распределенной обработки. Уровень подробности достаточен для обеспечения ГОСТ Р ИСО/МЭК 10746-3 и установления требований к новым методам спецификации. Эта часть является нормативной;

-    ГОСТ Р ИСО/МЭК 10746-3, который содержит спецификацию обязательных характеристик, позволяющих квалифицировать распределенную обработку как открытую, а также устанавливает ограничения, которым должны соответствовать стандарты ОРО, и использует методы описания по ГОСТ Р ИСО/МЭК 10746-2. Эта часть является нормативной;

-    настоящего стандарта, который содержит формализацию моделирующих понятий, определенных в ГОСТ Р ИСО/МЭК 10746-2, разделы 8 и 9, и формализацию языков точек зрения, определенных в ГОСТ Р ИСО/МЭК 10746-3. Формализация достигается путем интерпретации каждого понятия в терминах конструкций различных стандартизованных методов формального описания. Эта часть является нормативной.

Целью настоящего стандарта является установление архитектурной семантики ОРО. Она имеет вид интерпретации основных моделирующих и специфицирующих понятий ГОСТ Р ИСО/МЭК 10746-2 и языков точек зрения ГОСТ Р ИСО/МЭК 10746-3 с использованием различных средств различных языков формальных спецификаций. Архитектурная семантика разработана для четырех языков формальных спецификаций: LOTOS, ESTELLE, SDL и Z. Результатом разработки является формализация архитектуры ОРО. В стандарте показана согласованность с ГОСТ Р ИСО/МЭК 10746-2.

Архитектурная семантика дает дополнительные преимущества за счет:

-    содействия точной и единообразной разработке формальных описаний систем ОРО;

Издание официальное

-    возможности единообразного и согласованного сравнения формальных описаний одного и того же стандарта на разных языках формальных спецификаций.

Особое внимание в настоящем стандарте обращается на отображение самых основных (но не всех) понятий ГОСТ Р ИСО/МЭК 10746-2. Семантика архитектурных понятий высших уровней устанавливается косвенно, через их определения в терминах основных понятий ОРО.

Примеры использования некоторых языков формальных описаний приведены в ИСО/МЭК ТО 10167.

В последующих разделах понятия нумеруются в соответствии со схемой, использованной в ГОСТ Р ИСО/МЭК 10746-2.

Настоящий стандарт устанавливает архитектурную семантику ОРО, необходимую:

-    для обеспечения формализации моделирующих понятий ОРО;

-    для содействия точной и единообразной разработке формальных описаний в стандартах по распределенным системам;

-    для связи между моделирующими понятиями ОРО и семантическими моделями языков спецификаций LOTOS, ESTELLE, SDL и Z;

-    для возможности единообразного и согласованного сравнения формальных описаний одного и того же стандарта на разных языках формальных спецификаций, которые использовались для разработки архитектурной семантики.

Настоящий стандарт является нормативным.

2    Нормативные ссылки

В настоящем стандарте использованы ссылки на следующие стандарты:

ГОСТ Р ИСО/МЭК 10746-1—2004 Информационная технология. Открытая распределенная обработка. Базовая модель. Часть 1. Основные положения

ГОСТ Р ИСО/МЭК 10746-2—2000 Информационная технология. Открытая распределенная обработка. Базовая модель. Часть 2. Модель

ГОСТ Р ИСО/МЭК 10746-3—2001 Информационная технология. Открытая распределенная обработка. Базовая модель. Часть 3. Архитектура

ИСО/МЭК 8807—89*) Системы обработки информации. Открытая распределенная обработка. LOTOS — метод формального описания, основанный на временном упорядочении наблюдаемого поведения

ИСО/МЭК 9074—97*) Информационная технология. Открытая распределенная обработка. ESTELLE — метод формального описания, основанный на расширенной модели переходов между состояниями

ИСО/МЭК ТО 10167—91*) Информационная технология. Открытая распределенная обработка. Руководство по применению ESTELLE, LOTOS и SDL

Рекомендация МСЭ-Т Z. 100 (1999) Язык спецификации и описаний (SDL)

Рекомендация МСЭ-Т Z. 105 (1999) Комбинация SDL с модулями АСН.1 Рекомендация МСЭ-Т Z. 120 (1999) Диаграмма последовательности сообщений (MSC)

3    Определения

3.1    Определения по ИСО/МЭК 8807

В настоящем стандарте применены следующие термины:

обозначение действия, актуализация параметров, выражение поведения, выбор, соответствие, запрещение, разрешение, обогащение, уравнение, событие, расширение, список формальных ворот, список формальных параметров, ворота, сокрытие ворот, предохранитель, реализация, перекрытие, внутреннее событие, наблюдаемое событие, операция, параллельная композиция, определение параметризованного типа, определение процесса, уменьшение, предикат выбора, сортировка, синхронизация, определение типа, список значений параметров.

3.2    Определения по Рекомендации МСЭ-Т Z.100

В настоящем стандарте применены следующие термины:

-к)

предложение действия, блок (тип), вызов, канал, параметр содержимого, непрерывный сигнал, разрешающее условие, экспорт, экспортированная процедура, экспортированная переменная, конечный,

Международные стандарты — во ВНИИКИ Госстандарта России.

ГОСТ Р ИСО/МЭК 10746-4-2004

ворота, импорт, импортированная переменная, ввод, вывод, процедура, процесс (тип), предоставленный, переопределенный, удаленная процедура, переустановка, возврат, обнаруженная переменная, услуга (тип), множество, сигнал, сигнальный путь, стоп, система (тип), задача, время, таймер, переход, вид, видимая переменная, виртуальный.

3.3    Определения Z

В настоящем стандарте применены следующие термины:

аксиоматическое описание, сопряжение, уточнение данных, инвариант, уточнение операции, перезапись, постусловие, предусловие, схема (операции, состояний, кадрирования), вычисление схемы, композиция схем.

3.4    Определения по ИСО/МЭК 9074

В настоящем стандарте применены следующие термины:

деятельность, предложение присваивания, присоединение, канал, определение канала, соединение, состояние контроля, раздел-DELA Y, отсоединение, рассоединение, экспортированная переменная, внешняя точка взаимодействия, раздел-FROM, функция, реализация, взаимодействие, точка взаимодействия, определение тела модуля, определение заголовка модуля, экземпляр модуля, вывод, родительский экземпляр, примитивная процедура, процедура, раздел-PROVIDED, освобождение, роль, раздел-ТО, переход, блок переходов, раздел переходов, раздел-WHEN.

3.5    Сокращения

В настоящем стандарте применены следующие сокращения:

АСН.1 — абстрактная синтаксическая нотация версии 1;

БМ-ОРО — базовая модель ОРО;

ДЗП — диаграмма записи последовательностей;

ИСО — Международная организация по стандартизации;

ОРО — открытая распределенная обработка;

ПК — подкомитет;

РГ — рабочая группа;

ЯФС — язык формальных спецификаций;

SDL — Specification and Description Language (язык спецификаций и описаний).

4 Интерпретация моделирующих понятий

4.1    Архитектурная семантика в LOTOS

LOTOS является стандартизованным (ИСО/МЭК 8807) языком формальных спецификаций (ЯФС). Методические материалы приведены в указанном стандарте.

В настоящем разделе объясняется, как основные моделирующие понятия могут быть выражены на LOTOS. Нужно отметить, что в LOTOS существует два основных способа моделирования понятий, установленных в ГОСТ Р ИСО/МЭК 10746-2. Один из них основан на алгебраической части языка, другой — на типе данных ACT ONE. Так как формализация понятий с помощью ACT ONE применима и для SDL, то эта формализация приведена в отдельном подразделе (см. 4.2).

Во избежание путаницы в терминологии ОРО и LOTOS в последующих подразделах курсивом выделены специфические для LOTOS термины.

4.1.1    Основные моделирующие понятия

4.1.1.1    Объект

Реализация определения процесса LOTOS, на которую можно однозначно ссылаться.

4.1.1.2    Среда (объекта)

Часть модели, которая не является частью объекта. В LOTOS среда объекта в данный момент времени в спецификации задается средой спецификации и другими выражениями поведения, которые сочленены с данным объектом в данное время.

Примечание — Среда спецификации пуста, если спецификация не параметризована.

4.1.1.3    Действие

В LOTOS действия моделируются либо как внутренние, либо как наблюдаемые события. Все события в LOTOS являются элементарными. Внутреннее действие может быть явно выражено символом внутреннего события i или совершением события, с которым связаны скрытые от среды ворота.

Взаимодействие представляется в LOTOS синхронизацией между двумя или несколькими выра-

3

жениями поведения, связанными с объектами в общей точке взаимодействия (воротах). Взаимодействия могут быть следующих видов:

-    чистая синхронизация в общих воротах без представления: передачи значений между объектами не происходит;

-    ! и ! для чистой синхронизации: нет обмена значениями между объектами;

-    ! и ? для передачи значения при условии, что событие ? содержит событие !: другой способ рассмотрения — событие ! выбирает значение из значений для события?;

-    ? и ? для установления значения: результатом является согласование значения из пересечения множеств значения. Если это пересечение является пустым множеством, то нет синхронизации и, следовательно, взаимодействие не происходит.

Если требуется неэлементарное дробление действий, то можно использовать уточнение событий. Это позволит моделировать нереализуемые и перекрывающиеся действия. Следует заметить, что уточнение событий является нетривиальной задачей, особенно когда должна обеспечиваться поведенческая совместимость.

В LOTOS нет конструкций для выражения взаимосвязей причина — результат, однако иногда они могут быть выражены неформально.

4.1.1.4    Интерфейс

Это — абстракция поведения объекта, которая состоит из подмножества наблюдаемых действий данного объекта. Так как всем наблюдаемым действиям объекта в LOTOS требуются ворота, синхронизированные со средой, то обычно подмножество наблюдаемых действий получается делением ворот, заданных в определении процесса, связанного с объектом. Для получения рассматриваемого интерфейса не обязательно доходить до скрытых ворот. Альтернативно можно использовать синхронизацию на подмножестве ворот, связанных с объектом. В этом случае действия, происходящие через те ворота в определении процесса, которые не входят в синхронизированное множество, могут рассматриваться как внутренние действия объекта до тех пор, пока рассматривается образующая интерфейс синхронизация со средой в этих воротах.

Следует учитывать, что данное определение требует, чтобы интерфейсы объекта использовали разные имена ворот, так как невозможно различать интерфейсы, использующие одни и те же ворота.

4.1.1.5    Деятел ьност ь

Деятельность является однонаправленным ациклическим графом действий, в котором каждый узел представляет состояние системы, а каждая дуга — действие. Для того чтобы действие могло осуществиться, должны быть выполнены предусловия состояния системы.

4.1.1.6    Поведение (объекта)

Поведение объекта определяется в LOTOS выражением поведения, связанным с определением процесса, которое образует шаблон объекта. Выражение поведения может состоять из последовательности как видимых внешне событий, так и внутренних событий. Фактическое поведение объекта, которое может быть записано при трассировке, зависит от выражения поведения, связанного с объектом, и от того, как он конфигурирован со средой. Фактическое поведение объекта показывает зависимость от выражения поведения объекта и от того, как оно синхронизировано со средой. Объект может демонстрировать недетерминированное поведение.

4.1.1.7    Состояние (объекта)

Условие объекта, определяющее множество всех последовательностей действий, в которых может участвовать объект. Этим условием управляет выражение поведения, определенное в шаблоне объекта, из которого был создан объект, и, возможно, текущими значениями любых существующих локальных переменных.

4.1.1.8    Коммуникация

Перенос информации (через передаваемые значения) между двумя или несколькими взаимодействующими объектами. Невозможно выразить непосредственно взаимоотношения причина — результат. Следует отметить, что синхронизация сама может быть построена как коммуникация.

4.1.1.9    Положение в пространстве

LOTOS абстрагируется от понятия положения в пространстве. Можно отождествлять пространство со структурой модели спецификации. Положение события (структурное положение относительно модели спецификации) задается в LOTOS воротами для взаимодействий. От понятия положения в пространстве, в котором может произойти внутреннее событие, LOTOS полностью абстрагирован. Эта абстракция достигается неявным использованием в LOTOS конструкции «скрыть . . . в», которая делает ворота, используемые внутри процесса, невидимыми для среды процесса, или явным использованием символа внутреннего события i.

ГОСТ Р ИСО/МЭК 10746-4-2004

Некоторое положение в пространстве может использовать несколько точек взаимодействия. В LOTOS это возможно с помощью единственных ворот с разными обозначениями действий.

Положение объекта задается объединением положений связанных с ним ворот, т. е. объединением всех положений действий, в которых объект может участвовать.

4.1.1.10    Положение во времени

LOTOS абстрагируется от понятия времени, рассматривая только временной порядок; таким образом, нет абсолютного положения в реальном метрическом времени. Однако положение во времени возможно, если расширить LOTOS за счет включения вопросов времени.

4.1.1.11    Точка взаимодействия

Ворота с (возможно пустым) списком ассоциированных значений.

Примечание — В спецификации изменения положения могут отражаться в ассоциированных значениях.

4.1.2 Специфицирующие понятия

4.1.2.1    Композиция

-    Композиция объектов — составной объект, описанный путем применения одного или нескольких операторов комбинации LOTOS. В их число входят

оператор чередования (| | |),

операторы параллельной композиции (| | и | [список-ворот]|),

оператор разрешения (>>),

оператор запрета ([>),

оператор выбора ([]).

-    Композиция поведений — композиция выражений поведения, связанных с объектами-компонентами при создании составного объекта с помощью композиции. Операторы для композиции поведений те же самые, что и для композиции объектов.

4.1.2.2    Составной объект

Объект, описанный с использованием одного или нескольких операторов чередования, параллельной композиции, разрешения, запрета и выбора.

4.1.2.3    Декомпозиция

-    Декомпозиция объектов — выражение данного объекта как составного. Может быть несколько способов декомпозиции объекта.

-    Декомпозиция поведений — выражение данного поведения как составного. Может быть несколько способов декомпозиции поведения.

Примечание — Также можно считать, что представление декомпозиции поведения обеспечивается операциями ACT ONE и уравнениями, связанными с сортом. Эти операции и уравнения дают все возможные комбинации поведения. Так, например, последовательная композиция может быть создана последовательным применением операций. Каждое применение операции в последовательности должно удовлетворять обязательным для появления уравнениям. Хотя остается спорным, является ли это композицией поведений, так как операции и уравнения уже существуют и определяют все возможные поведения.

4.1.2.4    Поведенческая совместимость

В LOTOS были разработаны специальные теории для проверки поведенческой совместимости. Нет специфических для языка LOTOS синтаксических особенностей для построения и гарантии поведенческой совместимости в общем случае. Однако в стандарте LOTOS разработано представление соответствия, которое обеспечивает основу для рассмотрения поведенческой совместимости.

Для определения того, являются ли два объекта поведенчески совместимыми, должно быть введено представление соответствия. Соответствие нацелено на оценку функционирования реализации относительно спецификации; здесь термин реализация может рассматриваться как менее абстрактное описание спецификации.

Если Р и Q — два процесса LOTOS, то утверждение «Q соответствует Р» (записывается «Q conf Р») означает, что Q является допустимой реализацией Р. Это, в свою очередь, означает, что если Р может пройти по некоторой трассе о и ведет себя при этом как некоторый процесс Р’ и Q может пройти по трассе о и ведет себя как Q’,to для Р’ и Q’ должны выполняться следующие условия: когда Q’ может отказаться от осуществления любого события из данного множества наблюдаемых действий А, тогда Р’ также может отказаться от осуществления любого события из А.

Таким образом, Q conf Р только в том случае, если Q, помещенный в среду, допускающую только трассы для Р, не может привести к взаимоблокировке, когда Р не может этого сделать. Другой способ определения: Q имеет взаимоблокировки Р в среде, трассы которой ограничены трассами Р.

Объект может быть сделан поведенчески совместимым с другим объектом после некоторой модификации его поведения, которая может включать в себя расширение (добавление нового поведения) или сужение (ограничение) поведения объекта. Этот процесс модификации объекта называется уточнением (см. 4.1.2.5).

4.1.2.5    Уточнение

Уточнение является процессом, с помощью которого объект может быть модифицирован путем расширения или сужения его поведения (либо комбинацией этих способов) таким образом, чтобы соответствовать другому объекту. Если Р и Q — процессы LOTOS, то «Q расширяет Р» (записывается «Q extends Р») означает, что Q имеет не меньше трасс, чем Р, но в среде, трассы которой ограничиваются трассами Р, Q имеет те же самые взаимоблокировки. «Q суживает Р» (записывается «Q reduce Р») означает, что Q имеет не больше трасс, чем Р, но в среде, трассы которой ограничиваются трассами Q, Р имеет те же самые взаимоблокировки.

4.1.2.6    Трасса

Трасса поведения объекта из его начального состояния в некоторое другое является записью конечной последовательности взаимодействий (наблюдаемых событий) между объектом и его средой.

4.1.2.7    Тип <Х>

Типы, которые могут быть явно записаны в LOTOS для объектов и интерфейсов, являются типами шаблонов. В LOTOS нет явных конструкций, позволяющих моделировать типы действий как таковые. Спецификация LOTOS состоит из выражения поведения, которое само состоит из обозначений действий (шаблонов действий). Эти шаблоны действий либо проявляются как часть поведения системы, и в этом случае их появление может неформально рассматриваться как реализация шаблона действия, либо не проявляются, и в этом случае шаблон действия остается нереализованным. Сами шаблоны действий могут задаваться либо символом внутреннего события i либо представлениями событий в воротах, которые могут иметь или не иметь конечной последовательности значений и (или) деклараций переменных.

LOTOS не предоставляет возможностей для непосредственной характеристики действий, но ограниченная форма характеристики действия встроена в синхронизацию LOTOS. А именно, можно считать, что синхронизированные обозначения действий (шаблоны действий) должны соответствовать одному и тому же типу действия для того, чтобы действие могло произойти. Однако LOTOS не классифицирует характеризующие признаки этих произвольных обозначений действий и, таким образом, нет возможности ввести формальный тип для любого заданного действия. Может встретиться случай, когда неформально представлению события, участвующему во взаимодействии, приданы роли причины и результата, но в общем случае это не так. См. 4.1.1.8.

Символ внутреннего события может использоваться для представления типа действия, когда общая характеристика этой совокупности действий состоит в том, что они не имеют характеристик.

Следует заметить, что если ограничиться единственным возможным в LOTOS предикатом для объектов (и интерфейсов), которые соответствуют типу шаблона, то понятия типа и шаблона, определенные в ГОСТ Р ИСО/МЭК 10746-2, суживаются до методов моделирования в LOTOS. В LOTOS нет разницы между типом в широком смысле слова и типом шаблона в более узком смысле реализации шаблона.

4.1.2.8    Класс <Х>

Представление класса есть зависимость от характеризующего тип предиката, которому должны удовлетворять члены класса. Объекты, интерфейсы и действия могут удовлетворять многим произвольным характеризующим тип предикатам. Тип, который может быть в нем записан, является типом шаблона. Класс объектов, интерфейсов или действий, связанных с этим типом, является классом шаблонов.

Примечание — Следует заметить, что если ограничиться единственной возможной в LOTOS классификацией объектов, интерфейсов и действий, которые соответствуют типу шаблона, то понятия класса и класса шаблонов, определенные в ГОСТ Р ИСО/МЭК 10746-2, суживаются до методов моделирования в LOTOS. В LOTOS нет разницы между классом в широком смысле слова и классом шаблонов в более узком смысле как множества реализаций данного типа шаблонов.

4.1.2.9    Подтип/супертип

Так как типы, которые могут быть написаны в LOTOS для объектов, интерфейсов и, отчасти, действий, являются типами шаблонов, то отношение подтипа в LOTOS является отношением, которое может существовать между типами шаблонов. Однако в LOTOS существует непрямой способ записи отношения подтипа непосредственно. Если требуется отношение подтипа, то можно исполь-

ГОСТ Р ИСО/МЭК 10746-4-2004

зовать расширение для получения этого отношения на основе возможности подстановки, но этот способ в LOTOS не предназначен для таких целей.

4.1.2.10    Подкласс/суперкласс

Так как типы, которые могут быть написаны в LOTOS для объектов, интерфейсов и, отчасти, действий, являются типами шаблонов, то отношение подкласса существует между двумя классами, когда отношение подтипа существует между двумя соответствующими типами шаблонов.

4.1.2.11    Шаблон <Х>

Шаблон объектов — определение процесса с некоторым средством, которое позволяет однозначно идентифицировать реализацию процесса. Если не задан список параметров, то будет невозможна идентификация объекта для более чем одной реализации из этого шаблона объектов.

Что касается комбинации шаблонов объектов в LOTOS, то не существует операторов комбинации, за исключением ограниченного вида области действия, использующей термин LOTOS «where».

Шаблон интерфейсов — любое поведение, полученное из определения процесса при рассмотрении только взаимодействий на подмножестве ворот, связанных с определением процесса. Это подмножество ворот получается путем сокрытия ворот, не нужных для рассматриваемых взаимодействий.

Что касается комбинации шаблонов интерфейсов в LOTOS, то не существует операторов комбинации, за исключением ограниченного вида области действия, использующей термин LOTOS «where».

Шаблон действий — обозначение действия, которое может быть символом внутреннего события, идентификатором ворот или идентификатором ворот с конечной последовательностью значений и (или) деклараций переменных.

П р и м е ч а н и е — Здесь определение обозначение действия является придуманным, так как LOTOS фактически не обеспечивает понятие шаблона действия. В LOTOS возможное поведение специфицируется заданием скомбинированных в некотором виде обозначений действий. Аналогия между шаблоном и обозначением действия — лучшее, что может быть сделано в LOTOS. Однако ГОСТ Р ИСО/МЭК 10746-2 требует, чтобы шаблоны действий были сгруппированы по характеристикам действий. Этого нет в LOTOS, так как представления событий (обозначения действий) существуют изолированно, их невозможно собрать вместе и применить шаблон для их характеристики.

Композиция шаблонов действий может быть связана с синхронизацией с передачей или генерацией значения. В этом случае два (или несколько) шаблонов действий согласуют общий шаблон действия для осуществления синхронизации, т. е. шаблон действия с общими характеристиками всех участвующих в синхронизации (композиции) шаблонов действий.

4.1.2.12    Сигнатура интерфейса

Сигнатура интерфейса как набор шаблонов действий, связанных с взаимодействиями интерфейса, представляется в LOTOS как набор обозначений действий. Члены этого набора являются теми обозначениями действий, которым для осуществления требуется синхронизация со средой.

4.1.2.13    Реализация (шаблона <Х>)

Реализация шаблона объекта — результат процесса, который использует шаблон объекта для создания нового объекта в начальном состоянии. Этот процесс включает в себя актуализацию формального списка ворот и формальных параметров определения процесса подстановкой из заданного списка ворот и списка фактических параметров. Характеристиками создаваемого объекта управляют шаблон объекта и параметры, использованные при его реализации.

Реализация шаблона интерфейса — результат процесса, которым из шаблона интерфейса создается интерфейс. Создаваемый интерфейс может в дальнейшем использоваться объектом, с которым он связан, для взаимодействия со средой. Характеристики создаваемого интерфейса определяются шаблоном интерфейса и параметрами, использованными при его реализации.

Реализация шаблона действия — осуществление действия в LOTOS. Оно может включать в себя перезапись выражений ACT ONE.

4.1.2.14    Роль

Имя, связанное с определением процесса в шаблоне для составного объекта (т. е. композиция LOTOS выражений поведения). Роль не может быть использована в качестве параметра. Однако каждой роли в композиции можно присвоить значения данных для их различения или адресации.

4.1.2.15    Создание (<Х>)

Создание объекта — реализация шаблона объекта как часть поведения существующего объекта.

Создание интерфейса — так как объекты и интерфейсы моделируются в LOTOS одинаково

7