Методы и средства инженерии программного обеспечения



         

Описание интерфейса объектов-компонентов в распределенной среде


Для объединения компонентов в ПС необходимым условием является наличие для них формально определенных интерфейсов в языках IDL и APL,  а также механизмов динамического контроля связей между компонентами.

Спецификация интерфейса в API и IDL включает описание функциональных свойств компонентов, их типов и порядка задания операций передачи аргументов и результатов для взаимодействия компонентов. Описание интерфейса представляет собой интерфейсный посредник между двумя объектами.

ПС построенная из компонентов и предназначенная для функционирования в распределенной среде имеет некоторые особенности в структуре, а именно она  состоит из двух частей, каждая из которых выполняется на разных процессах и  взаимодействуют друг с другом через вызов интерфейсных функций. Первая часть – серверная программа, а вторая — клиентская (далее просто сервер и клиент).

В  функции интерфейсного модуля  клиента входят:

– подготовка внешних данных  клиента (параметров),

– набор вызовов  этих  процедур или обращение к сервису сервера, 

– обработка  разных ошибок,  возврат  данных  от сервера к клиенту.

Общие функции интерфейсного модуля сервера содержат:

– ожидание  сообщений клиента  и их обработка;  запуск удаленной процедуры и передача ей  параметров  клиента; 

– возврат результатов процедуры клиенту,  уничтожения  удаленной  процедуры и др.

Структура интерфейсного модуля не зависит от  ЯП взаимодействующих объектов и в целом одинакова для всех. Это связано со  стандартизированной его  структурой   и общим  языком спецификации интерфейса, синтаксис которого  представлен ниже  в форме  Бекуса–Наура:    

         <интерфейс объекта> ::= Object <имя_Объекта> :{<множество исходных интерфейсов>}; {<множество входных интерфейсов>} end

<множество входных интерфейсов> ::= <множество интерфейсов>

<множество выходных интерфейсов> ::= <множество интерфейсов>

<множество интерфейсов> ::= _ | <интерфейс>; <множество интерфейсов>;




Содержание  Назад  Вперед