ГОСТ Р ИСО/МЭК 10165-1-2001
5.2.2.6 Расширения определении поведения
Правило для расширения определения поведения состоит в том. что определение поведения
для класса расширенного управляемого объекта не должно противоречить поведению класса совмес
тимых управляемых объектов.
Для того чтобы отчасти обеспечить отсутствие такого противоречия, к поведению расширен
ного управляемого объекта применяются следующие правила:
- расширенный управляемый объект должен включать в себя все инварианты класса совмес
тимых управляемых объектов;
- предусловия в расширенном управляемом объекте должны быть дизъюнктивной комбина
цией предусловий, определенных в классе совместимых управляемых объектов, и любых новых
предусловий, которые применяются к расширенному управляемому объекту;
- постусловия в расширенном управляемом объекте должны быть конъюнктивной комбина
цией постусловий, определенных в классе совместимых управляемых объектов, и любых новых
постусловий, которые применяются к расширенному управляемому объекту.
5.2.3 Методы о б е с п е ч е н и я взаимодействия
В 5.2.3.1и 5.2.3.2 описаны два метода обеспечения взаимодействия. Они различаются главным
образом тем, предоставляет ли дополнительные возможности система-агент или управляющая сис
тема.
5.2.3.1 Взаимодействие, обеспечиваемое системой-агентом
Алломорфизм является способностью управляемого объекта, являющегося экземпляром дан
ного класса, быть управляемым в качестве члена одного или нескольких других классов управляемых
объектов, когда эта возможность обеспечивается системой-агентом.
5.2.3.1.1 Алломорфизм .для экземпляров управляемых объектов
Алломорфизм является свойством управляемого объекта. Управляемым объектом, который
поддерживает алломорфизм, можно управлять так, как если бы он был экземпляром управляемых
объектов другого класса и был совместим с классом управляемых объектов, как определено в 5.2.2.
Классы, которые могут управлять управляемым объектом, называются его алломорфными классами.
Алломорфный класс .данного управляемого объекта может быть в иерархии наследования
одним из суперклассов класса этого управляемого объекта. Однако это не обязательно для алломор
физма.
5.2.3.1.2 Определение алломорфного класса для операций
Управляемым объектом, поддерживающим алломорфизм, можно управлять так, как если бы
он относился к любому из его алломорфных классов. Класс, который управляемый объект требует
в качестве алломорфного, становится доступным управляемому объекту на его границе.
Управляемый объект отвечает в соответствии со следующими общими принципами за то. что:
- операция проверяется на допустимость в алломорфном классе;
- операция осуществляется в соответствии с поведением фактического класса;
- ответы генерируются в соответствии с описанием алломорфного поведения в 5.3.
5.2.3.1.3 Определение алломорфного класса для сообщений
Когда управляемый объект, поддерживающий алломорфизм, создает сообщение, он делает
доступным на своей границе набор алломорфных классов, для которых сообщение определено, в
сочетании с самим сообщением. Если сообщение выбрано для передачи, система-агент определяет,
какой из алломорфных классов (или фактический класс) должен быть включен в отчет о событии для
управляющего.
Информационное содержимое отчета о событии будет точно таким, как определено в классе
управляемых объектов для управляемого объекта, создавшего сообщение, т. е. оно не изменяется
последующим алломорфизмом.
5.2.3.2 Взаимодействие, обеспечиваемое управляющей системой
При таком подходе управляемому объекту разрешается отвечать в соответствии с определением
его фактического класса. Управляющая система требуется .для обработки любой дополнительной
информации, которая непонятна шли неожиданна (например путем ее игнорирования).
Правила совместимости 5.2.2 не обязательно должны выполняться для достижения некоторого
уровня взаимодействия. Однако при выполнении правил совместимости взаимодействие может быть
расширено. В частности, взаимодействие легче достигается, если управляющему известно опреде
ление класса, совместимого с управляемым объектом, которым он управляет. Если управляющий
не знает о совместимом классе, то возможно ограниченное взаимодействие, когда некоторые из
характеристик участвующих объектов удовлетворяют правилам совместимости.
И