Основы разработки программного обеспечения вычислительных систем. Милованов И.В - 35 стр.

UptoLike

35
Связи между объектами показаны на рис. 2.5 с помощью соедини-
тельных линий. Связи представляют возможные пути для передачи сооб-
щений. Сами сообщения показаны стрелками, отмечающими их направ-
ления, и помечены именами вызываемых операций.
Как участник связи, объект может играть одну из трёх ролей:
актёр объект, который может воздействовать на другие объек-
ты, но никогда не подвержен воздействию других объектов;
сервер объект, который никогда не воздействует на другие объ-
екты, он только используется другими объектами;
агент объект, который может как воздействовать на другие объ-
екты, так и использоваться ими. Агент создаётся для выполнения работы
от имени актёра или другого агента.
На рисунке 2.5, Том это актёр, Мери, Колонки серверы, Музы-
кальный центр агент.
Приведём пример. Допустим, что нужно обеспечить следующий
график разворота первой ступени ракеты по углу тангажа, представлен-
ный на рис. 2.6.
Запишем абстракцию графика разворота:
with Класс «ДатчикУглаТангажа»;
use Класс «ДатчикУглаТангажа»;
Package Класс «ГрафикРазворота» is
subtype Секунда is Natural range ...;
type ГрафикРазворота is tagged private;
procedure «Очистить» (in out ГрафикРазворота);
procedure «Связать» (in out ГрафикРазворота;
teta: Угол: si: Секунда: s2: Секунда);
function «УголНаМомент» (ГрафикРазворота;
s: Секунда) return Угол;
private
end Класс «ГрафикРазворота».
Рис. 2.6. График разворота первой ступени ракеты