ГОСТ Р ИСО/МЭК 10021-3-98
Symmetrical
Asymmetrical
:: = «ABSTRACT* «OPERATIONS* « { «OperationList* 1 *
:: = Onesided | TwoSided
Onesided
TwoSided
:: = Consumer | Supplier
:: = Consumer Supplier | Supplier Consumer
Consumer
Supplier
:: = «CONSUMER* «INVOKES* « { «Operational* ) *
:: = «SUPPLIER* «INVOKES* « { «OperationList* }»
Operat ionList
Operation
:: = Operation • , » OperationList ]Operation
:: = value (ABSTRACT-OPERATION) |
------идентифицирующее абстрактную операцию
по типу значения данных
------идентифицирующее абстрактную операцию
по типу данных
END
Если тип порта —симметричный, оба объекта предлагают асе перечисленные абстрактные
операции. Если тип порта —асимметричный, макрокоманда определяет различие между абстракт
ными операциями, которые предлагает объект с портом потребителя, и абстрактными операциями,
которые предлагает объект с портом поставщика.
Значение данных типа PORT — это объектный идентификатор, который однозначно и недву
смысленно идентифицирует определенный тип порта.
7.3 А б с т р а к т н ы еу с л у г и
Абс
1
рактиая услуга —это набор возможностей, предлагаемых одним объектом другому посред
ством одного или нескольких его портов. Первый объект называется поставщиком абстрактной услуги
(поставщиком), другой —пользователем абстрактной услуги (пользователем). Каждый рассматривае
мый порт может был» либо симметричным, либо асимметричным и в последнем случае —либо
потребителем, либо поставщиком.
Абстрактная услуга может иметь любое число пользователей и поставщиков.
Когда порты абстрактной услуги поставщика связаны с совместимыми портами пользователя,
считается, что между этими двумя объектами существует абстрактная ассоциация (или ассоциация).
Абстрактные услуги определены в разделе 8.
П р и м е ч а н и е —Абстрактная услуга выполняет почти ту же задачу в прикладном уровне, которую
она выполняет в услугах нижних уровней ВОС.
7.4 Л б с т р а к т и ы е у т о ч н е н и я
Объект может выглядеть по-разному в разное время. В некоторых случаях удобно считать
объект атомарным. Это удобно, например, при описании способа взаимодействия объекта с другими
объектами, внешними по отношению к нему. т.е. при определении его абстрактных услуг. Вдругих
случаях может быть удобнее считать объект составным, т. е. построенным из других объектов. Это
может быть удобно, например, при описании способа реализации объекта.
Как и любые другие объекты, объекты компонентов имеют порты. Некоторые из них видимы
на «поверхности» построенного объекта. Другие позволяют объектам компонентов взаимодейство
вать. поддерживая, таким образом, обеспечение и использование более мелких абстрактных услуг
среди объектов компонентов, взаимодействующих для обеспечения абстрактного сервиса построен
ного объекта.
Функциональное разложение объекта на несколько меньших объектов называется абстрактным
уточнением (уточнением) этого объекта.
Метод уточнения может быть применен рекурсивно. Сам объект-компонент может быть
уточнен для раскрытия его внутренней структуры. Этот процесс может продолжаться, пока не будут
достигнуты объекты-компоненты, которые лучше рассматривать как атомарные.
Уточнение определяется посредством макрокоманды REFINE. Она идентифицирует объект,
внутренняя структура которого раскрывается, и объекты-компоненты, используемые при постро
ении. Каждый объект-компонент характеризуется или как уникальный, или как повторяющийся.
5