CASE-средства интеграции модулей и интерфейсов

С годами проблема связи разноязычных, разнородных (по коду и среде) программ обострилась в связи с быстрым изменением архитектуры компьютеров, появлением распределенных, клиент-серверных сред и т. п. Проявилась неоднородность ЯП в смысле как представления в них типов данных, так и платформ компьютеров, на которых реализованы соответствующие системы программирования, а также в различных способах передачи параметров между объектами в разных средах - маршаллинг данных через разные виды операторов удаленного вызова. Единого подхода к решению проблемы интерфейса не существовало. Стандарт ISO / IEC 11404-1996 определил подход к решению вопросов интерфейса всех видов ЯП с помощью универсального языка LI (Language Independent), независимого от ЯП. Однако до настоящего времени инструментальной его поддержки не существует. Пользователям разных ЯП приходится выбирать подходящую реализацию интерфейса из множества имеющихся в разных средах [10].

Отметим особенности сред, влияющих на реализацию интерфейса.

Вначале рассмотрим некоторые особенности систем программирования для ЯП:

  • 1) разные двоичные представления результатов компиляторов для одного и того же ЯП, реализованные на разных архитектурах компьютеров;
  • 2) двухнаправленность связей между ЯП и их зависимость от среды и платформы;
  • 3) параметры вызовов объектов отображаются в операции методов;
  • 4) связь с разными ЯП через ссылки на указатели в компиляторах;
  • 5) связь модулей в ЯП осуществляется через интерфейсы каждой пары из множества языков (L,..., Ln) промежуточной среды.

Современные наиболее распространенные среды - CORBA, COM, JAVA, каждая по своему решает проблему связи разноязычных компонентов с помощью интерфейса.

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >