ГОСТ Р ИСО/МЭК 10746-1-2004
7.3.3 К о н т р а к т
Контракт является соглашением. которое управляет кооперацией между несколькими объек
тами и содержит обязатыьство, разрешения, запрещения и ожидания, связанные с этими объектами.
Таким образом, контракт является общим понятием для характеристики и регулирования коопера
ции между объектами.
Всякий раз. когда между объектами существует кооперация (взаимодействие), между ними
существует некоторый контракт. В случаях, когда контракт в некоторый момент может быть согласо
ван и позднее — завершен, имеется динамическая спецификация конфигурации объектов. Хотя
кооперация между объектами возможна постоянно, правила, устанавливаемые контрактом, огра
ничивают возможную кооперацию некоторым текущим, временным поведением.
Часто контракты являются производными от правил языка точки зрения и не обязательно
должны быть выражены явно. Например, в случае вычислительного языка клиент обязан не вызы
вать операцию. которая не определена в интерфейсе сервера. Явно должны быть выражены только
контракты, устанавливающие дополнительные ограничения.
Например, контракт может устанавливать:
- роли объектов и обязательства для этих ролей, т. е. ожидаемое кооперативное поведение;
- вопросы качества услуг (КУ) кооперации объектов (вопросы зависимости, корректности и
пр.);
- вилы поведения, нарушающие контракт.
Контракт сре<)ыявляется частным видом контракта между объектом и его средой. Этот кон
тракт описывает требования, предъявляемые объектом к среде и средой к объекту. В частности, в
нем рассматриваются ограничения КУ.
7.3.4 В з а и м о д е й с т в и е и с в я з ы в а н и е
Связывающее повескние устанавливает контрактный контекст (связывание) между интерфей
сами и позволяет объектам кооперироваться. Связывание может существовать на нескольких уров
нях абстракции.
Взаимодействие является взаимосвязью, которая существует между объектами, кооперирован
ными на основе связывания. Когда имеет место взаимодействие, объекту известно, что другой объект
взаимодействия подчиняется контракту. Объект может вовлечен одновременно в несколько взаимо
действий; в этом случае для каждого из них имеется соответствующий контракт.
П р н м в ч а н и е - В примереследующегоабзаца операции Bind. BindRcsponsc. Unbind и прикладном
контекст используются в смысле БОС.
Примером установления взаимодействия является связывающее поведение ассоциации ВОС.
Устанавливающее поведениеобеспечивается операцией Bind, которая включает в себя отправку ини
циирующим прикладным объектом параметров контракта отвечающему прикладному объекту. От
вечающий объект использует операцию BindResponse (возможно, с другими параметрами контрак
та). устанавливая тем самым взаимодействие. Контрактный контекст для взаимодействия задается
прикладным контекстом, согласованным при обмене Bind и BindRespon.se. Когда стороны решат
закончить взаимодействие, они инициируют завершающее поведение, вызвав операцию Unbind.
8 Архитектура
В ГОСТ Р ИСО/МЭК 10746-3 установлены требования, которые должны быть справедливыми
для системы ОРО. В этом стандарте на основе понятий и терминологии ГОСТ Р ИСО/МЭК
10746-2 определены:
- основы архитектуры для построения спецификаций систем ОРО в терминах точек зрения,
спецификаций точек зрения и прозрачностейраспределения;
- набор языков, в терминах которых могут быть выражены спецификации различных точек
зрения;
- инфраструктура системы, обеспечивающая прозрачностираспределения для приложений сис
темы.
8.1 Основы архитектуры
Распределенные системы могут быть очень большими и сложными, и самые различные влия
ющие на их проекты подходы могут быть отражены в спецификации, которая должна иметь струк
туру, допускающую успешное управление. Удачная структура должна позволять проектировать от-
14