Технологии разработки программного обеспечения


Операции


Общий синтаксис представления операции имеет вид

Видимость Имя (Список Параметров): ВозвращаемыйТип {Характеристики}

Примеры объявления операций:

записать

+ записать

зарегистрировать) и: Имя, ф: Фамилия)

балансСчета ( ) : Integer

нагревать ( ) (guarded)

Только имя

Видимость и имя

Имя и параметры



Имя и возвращаемый тип

Имя и характеристика

В сигнатуре операции можно указать ноль или более параметров, форма представления параметра имеет следующий синтаксис:

Направление Имя : Тип = ЗначениеПоУмолчанию

Элемент Направление может принимать одно из следующих значений:

in

out

inout

Входной параметр, не может модифицироваться

Выходной параметр, может модифицироваться для передачи информации в вызывающий объект

Входной параметр, может модифицироваться

Допустимо применение следующих характеристик операций:

leaf

isQuery

sequential

guarded

concurrent

Конечная операция, операция не может быть полиморфной и не может переопределяться (в цепочке наследования)

Выполнение операции не изменяет состояния объекта

В каждый момент времени в объект поступает только один вызов операций. Как следствие, в каждый момент времени выполняется только одна операция объекта. Другими словами, допустим только один поток вызовов (поток управления)

Допускается одновременное поступление в объект нескольких вызовов, но в каждый момент времени обрабатывается только один вызов охраняемой операции. Иначе говоря, параллельные потоки управления исполняются последовательно (за счет постановки вызовов в очередь)

В объект поступает несколько потоков вызовов операций (из параллельных потоков управления). Разрешается параллельное (и множественное) выполнение операции. Подразумевается, что такие операции являются атомарными

 



Содержание раздела