Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Підручник КНУ-4кк11.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
16 Мб
Скачать
☆

2.4.2. Моделі компонентного програмування

Модель компонента є наслідком узагальнених типових рішень чи функцій, які подаються компонентом та його інтерфейсом з властивостями і характеристиками у такому вигляді:

C = (CNa, CIn, CFa, CIm, CSe), (3)

Множина CIn складається з вхідних CInIn та вихідних CInOut інтерфейсів, тобто CIn = {CInIn È CInOut}. Компонент має вхідні інтерфейси при власної реалізації і вихідні інтерфейси реалізації іншого компонента. Кожен з них має відповідну модель

CIni = ( InNai , InFui , InSpi ), (4)

Інтерфейс CFa визначає методи і звернення до екземплярів компонентів (пошук, вибір, знищення тощо).

Кожна реалізація CImj Î CIm задається моделлю:

CImj = (ImNaj , ImFuj , ImSpj), (5)

Необхідною вимогою існування компонента є умова його цілісності:

" CIniÎ CInI $ CImjÎ CIm [Pr(CIni) ÍCImj], (6)

Аксіома 3. Для об’єднання ї двох різнорідних компонентів C1 та C2 існує умова, якщо CIni1ÎCInO1, то повинен існувати CInk2ÎCInI2 такий, що

Sign(CIni1)=Sign(CInk2)&Pr(CIni1)ÍCImj2, де Sign(…) означає сигнатуру відповідного інтерфейсу і Pr (provide) означає функціональність щодо реалізації методів інтерфейсу CIni.

Модель компонентної ПС. Ця модель ПС (PS) містить компоненти з множини реалізації, предикати з множини предикатів інтерфейсів.

PS = {PSLm{Lm1 ,…, Lmn}, R {Ri, …, Rm}, PSLn{In1 ,…, Ink},

Операції множини Р відповідають об’єднанню чи конфігурації КПВ в деякі складні структури програм і ПС з множини компонентів і інтерфейсів.

Компоненти чи КПВ моделі ПC можуть змінюватися або замінюватися новими функціонально подібними, еквівалентними КПВ з метою отримання різних варіантів ПП за такими аксіомами.

Аксіома 4. Два компоненти C1 та C2 є тотожними (рівними), якщо тотожними є їх відповідні складові. Як наслідок, заміна C1 на C2 не впливає на компонентну модель, до якої належить компонент C1.

Аксіома 5. Два компоненти C1 та C2 є еквівалентними, якщо тотожними є їх множини інтерфейсів та реалізацій. Заміна C1 на C2 не змінює функціональності компонентної програми чи системи за умови встановлення відповідності між іменами у самій програмі.

Головна мета КП це зв’язування компонентів, а також змінювання їх тотожними чи еквівалентними в структурі ПС. Зв’язування має свою арність і може складатися з множини даних, які входять до класу інтерфейсів означеного класу КПВ. Ця операція виконується за моделлю компоненту (3) і інтерфейсу (4). Модель компоненту і інтерфейсу завдають операції і предикати, які визначають умову передачі даного іншому компоненту.

Між компонентами можуть існувати такі типи відношень: успадкування, екземпляризаці, контракту, об’єднання (зв’язування) та взаємодії Усі відношення визначаються на інтерфейсах і предикатах.