Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Інтерфейс в програмуванні

Міжмодульний інтерфейс– це модуль-посередник інтерфейсу між передаючім і приймаючім модулями, що виконує функції передачі, прийому і перетворення не релевантних даних, переданих між ними для проведення обчислень. Мова визначення інтерфейсів модулів (МІМ) в системі АПРОП призначено для опису інтерфейсного посередника: типів даних (ТД) в мові опису поєднуваних модулів, оператори типу CALL для передачі вхідних і вихідних параметрів, операції перевірки правильності переданих та приймаючих параметрів. На основі опису посередників генерувався вихідний код інтерфейсу за допомогою бібліотеки функцій перетворення нееквівалентних ТД в класі МП ОС ЄС. Він відіграв важливу роль при виконанні різномовних модулів в ПС.

Міжмовний інтерфейс – сукупність засобів і методів представлення і перетворення структур і ТД МП за допомогою алгебраїчних систем (з алгеброю операцій і функцій інтерфейсу) забезпечення взаємно однозначного перетворення відрізняючи ТД в МП об’єднаних інтерфейсним мовним посередником (наприклад, перетворення матриці по рядках в Фортрані в матрицю по стовпцях в PL/1 і зворотно, символьних даних в ціле та ін.) Бібліотека інтерфейсу була передана за актами впровадження в 52 організації СРСР і широко користувалася розробниками програм у різних МП ОС ЄС [2, 36–39].

Технологічний інтерфейс– це сукупність методів і засобів для взаємозв'язку процесів і операцій ТЛ ЖЦ реалізації складних програм, включаючи нормативні, методичні документи та форми (каркасу ТЛ, форматів документів ТЛ, мову зв'язки процесів та ін.) Ці документи застосовуються при контролі результатів процесів, оцінки виконаних вимог та забезпечення показників якості, внесення змін до продукт на процесах ЖЦ і передачі його проміжного стану наступному процесові та ін. Методика створення ТЛ запропонована нами в 1987р. [30], апробована і вдосконалена на шести лініях АІС «Юпітер–470». Вона є першою роботою по формалізації та застосуванню ТЛ в проектах розробки великих інформаційних систем. Подальшим розвитком ТЛ є продуктові лінії (Product Lines) SEI http://sei.cmu.edu/productlines/frame_report/) в 2004 р.

Створена нами концепція інтерфейсу МП і модулів була автоматизована за допомогою . а інтерфейсних модулів–посередників, які генерувала система АПРОП (1975–1985р.). Це описано в монографії «Зв'язок різномовних модулів в ОС ЄС» (М.: 1982, Фінанси і статистика, 127с.). Там же дано опис мови інтерфейсу і бібліотеки міжмовного інтерфейсу (з 64 функцій), які використовувалися для генерації між модульних посередників. Ця частина системи сприяла скороченню обсягу робіт при зборці різномовних програм через інструментарій генерації посередників.

Інтерфейс доповідався на міжнародної конференції «Інтерфейс СЄВ» (1987) [30] і колектив розробників (Коваль Г.І., Коротун Т.М., Лавріщева К.М.) отримав почесну грамоту від організатора цієї конференції ДКНТІ СРСР.

Набагато пізніше в 1985–90 роках з'явилися зарубіжні мови опису інтерфейсів: API, IDL, SIDL та ін. Вони використовуються і тепер при створенні нових ПС і СПС з готових програм, компонентів, КПВ та сервісів.

 

Мова опису інтерфейсів IDL

Ця мова створено в рамках об’єктна-орієнтованого проекта CORBA (1992–1994). Вона призначена для опису інтерфейсів об'єктів, включаючи опис типи даних, параметрів об'єктів, які передаються в повідомлення іншим об'єктам от клієнта до серверу і зворотно (stub-клієнта і skeleton-серверу), а методи програмних об’єктів описуються в ЯП (С++, JAVA, PASCAL і ін.).

Опис інтерфейсів починається з ключового слова interface, за яким слідує ідентифікатор (ім'я інтерфейсної програми), створюючи разом заголовок, і тіло, що містить опис типів параметрів для звернення до об'єкту. Приклад опису заголовка опису інтерфейсу:

interface { ... }

interface B { ... }

interface С: B, { ... }.

Тіло інтерфейсу містить опис: типів даних (type dcl), констант (const dcl), виняткових ситуацій (except dcl), атрибутів параметрів (attr dcl), операцій (op dcl).

Опис типів даних починається ключовим словом typedef, за яким слідує базовий або конструйований тип і його ідентифікатор. Як константи може бути деяке значення типа даного або вираз, складений з констант. Типи констант можуть бути: integer, boolean, string, float, char і ін.

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

Атрибути параметрів можуть починатися наступними службовими словами:

in – при відсиланні параметра від клієнта до серверу;

out – при відправці результатів від серверу до клієнта;

inout – при передачі параметрів в обидва напрями (від клієнта до серверу і від серверу до клієнта).

Опис інтерфейсу може успадковуватися іншим об'єктом, тоді такий опис інтерфейсу стає базовим, приклад наведений нижче:

const long l=2

interface {

void f (in float s [l]);

}

interface B {

const long l=3

}

interfaceЗ: B { }.

В ньому інтерфейс З використовує інтерфейс B і А і їх типів даних, які по відношенню до З – глобальні. Імена операцій можуть використовуватися під час виконання інтерфейсного посередника (Skeleton) для динамічного виклику інтерфейсу, приклад наведений нижче:

interfaceVlist {

status add item (

in Identifier item name

in type Code item type

invoid * value

in long value Len

in Flags item flags

);

status free ( );

status free memory( );

status get count (

out long count);

};

Опис модуля в мові IDL починається з ключового слова module, за яким слідує ім'я модуля і опис його тіла.

Типи даних вмові IDL дозволяє описувати типи даних, які задають параметри, передані від об'єкту до об'єкту, і підрозділяються на базові, складні і конструйовані. До базових типів відносяться фундаментальні типи даних:

16– і 32–бітові (короткі і довгі) із знаком і без знака двокомпонентні цілі;

32– і 64–бітові числа з плаваючою комою, що відповідає стандарту IEEE;

символьні (symbol);

8–бітовий непрозорий тип даних, що забезпечує перетворення даних у момент пересилки між об'єктами;

булеві (true, false);

рядок, який складається з масиву однакових довжин символів, допустимих під час виконання;

перераховуваний тип, що включає впорядковану послідовність ідентифікаторів;

довільний тип any, який представляє собою будь-який базовий або конструйований тип даних;

логічний тип boolean;

осtet – спеціальний 8–розрядний базовий тип даних, який не вимагає того, що перекодував при перенесенні з однієї платформи на іншу.

Конструйовані складні типи створюються з базових типів і включають:

– структуру (struct), що складається з сукупності різнорідних базових елементів;

– об'єднання (union), що містить дискримінатор, за яким розташовується відповідний тип і значення;

– послідовність (sequence), що є масивом, компоненти якого мають змінну довжину і однаковий тип;

– масив (array), що складається з компонентів фіксованої довжини однакового типу;

– інтерфейс (interface), що специфікує операції, які клієнт може послати в запиті.

Тип struct аналогічний мові С++, типи sequence і array – масиви містять елементи однакового типу змінної і фіксованої довжини відповідно. Тип union семантичний відповідає union в мові С++ і має додатково дескриптор варіантів. Кожному типу даних відповідає значення, яке задається в запиті клієнта або об'єкту, що відправляє відповідь на запит.


Читайте також:

  1. Cisco Packet Tracer - Знайомство з програмою. Інтерфейс
  2. WEB-документи та CGI-інтерфейси
  3. Аналіз паралельного інтерфейсу з DSP-процесорами: читання даних з АЦП, що під’єднаний до адресного простору пам’яті
  4. Аналіз послідовного інтерфейсу з DSP-процесорами
  5. Багаторівневий підхід. Протокол. Інтерфейс. Стек протоколів.
  6. Визначення конфігурації мережевих інтерфейсів
  7. Віконний інтерфейс
  8. Віконний, графічний інтерфейс.
  9. Внутрішні GSM - інтерфейси
  10. Електричний інтерфейс RS-232C
  11. Ієрархія мережевих інтерфейсів
  12. Інструкція по використанню графічного інтерфейсу прикладу




Переглядів: 899

<== попередня сторінка | наступна сторінка ==>
Модульне програмування та збиральний підхід | Зборка модулів по А.П.Єршову

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.005 сек.