ГОСТ Р ИСО/МЭК 10746-1-2004
Вычислительный язык позволяет разработчику спецификации выразить ограничения на рас
пределение приложения (в терминах контрактов сред, связанных с отдельными интерфейсами и
связываниями интерфейсов) без спецификации фактической степени распределения. Это гаранти
рует, что приложения не содержат необъявленных предположений, дзияющих на распределения их
компонентов. Поэтому конфигурация и степень распределения технического обеспечения, на кото
ром работают приложения ОРО, легко могут быть изменены, в зависимости от ограничений среды,
без существенного влияния на прикладное программное обеспечение.
Вычислительный язык не исключает использования в распределенной среде программного
обеспечения, спроектированного для централизованных систем. Этим допускается инкапсуляция
существующих приложений в качестве (нераспределенных) компонентов больших распределенных
приложений. Благодаря этому возможен эволюционный подход к обеспечению распределения и
сохранения капитальных вложений в существующее программное обеспечение.
Взаимодействия между вычислительными объектами яазяютея существенно асинхронными и
могут быть в трех разных формах:
- операции, которые похожи на процедуры и вызываются на предназначенных для них интер
фейсах:
- потоки, которые являются абстракциями непрерывных последовательностей данных между
интерфейсами;
- сигна.зы, которые являются элементарными взаимодействиями.
Операции отражают парадигму клиент/сервер. Операция является взаимодействием между обьек-
том-юзиентом и обьектом-ее/ш/юм, при котором запрашивается (вызывается) выполнение некото
рой функции сервером. Имеется два вида операций:
- запросы, при которых сервер возвращает ответ (завершение) на запрос клиента;
- сообщение, при котором ответ клиенту не возвращается.
Понятие завершения обобщает понятия результата и исключительного состояния, которые
существуют во многих объектно- и необъектно-ориентированных языках программирования.
Выполнение операций происходит в пространстве и во времени. Следовательно, когда опера
ция отказывает, то отказ не обязательно происходит для всех участников и может наблюдаться ими
в разное время. Возможности клиента наблюдать отказ и предпринимать какие-то действия
рахзич-ны для запросов и сообщений.
В случае запроса двусторонняя связь гарантирует как то, что клиент имеет подтверждение
выполнения функции, так и то, что. если связка деятельностей клиента привела к цепочке вызовов,
сервер будет отвечать на запросы клиента в порядке их поступления.
В случае сообщения гарантии и порядок осуществления определяются теми контрактами сред,
которые применяются к операциям.
Потоки могут использоваться для моделирования, например, потока аудио- или видеоинфор
мации в мультимедийном приложении или в ориентированных на голос телекоммуникационных
услугах, а также для моделирования непрерывного потока периодического чтения датчика в прило
жении управления процессом. Поток характеризуется именем и типом, который задает природу
и формат данных. Ввычислительной модели точная семантика потока остается неопределенной.
Фак тически может быть много различных семантик для потока в зависимости от прикладной
области.
Сигналы являются низшим уровнем описания взаимодействий между вычислительными объек
тами. Сигнал — это парное, элементарное, совместное действие, приводящее к односторонней
передаче от инициирующего вычислительного объекта к отвечающему (в данном контексте «отвечаю
щий* означает «принимающий передачу»). Это значит, что:
- сигнал происходит в определенный момент времени и, следовательно, является опорной
точкой для целей измерения (например, при наблюдениях КУ);
- отказ идентичен и видим для всех участников.
Во многих случаях сигнал яаляется ответом (в терминах реализации) на наблюдаемое событие
в некотором физическом месте, однако определение этого понятия не исключает реализацию сиг
налов методами транзакций, которые дают необходимые гарантии поведения.
Операции или потоки могут быть объяснены в терминах нескольких сигналов. Например, зап
рос можно понимать как последовательность сигналов: посылка вызова (объектом-клиентом), по
лучение вызова (объектом-сервером), посылка завершения (сервером), получение завершения
(кли ентом). Напротив, так как точная семантика потоков не устанавливается в вычислительной
модели, отображение их всигналы не определяется. Моделирование операций или потоков втерминах
сигналов
20