практике указанные термины употребляются для сходных по признакам
программных объектов, интуитивно понятных большинству специалистов. Из этого
следует, что объекты, их свойства, операции над ними, рассматриваемые в данной
книге, будут анализироваться с позиций сборочного программирования и
полученные результаты не претендуют на всеобщность применения.
Рассмотрим два типа программных объектов сборочного программирования. К
первому отнесем объекты, которые могут менять формы своего представления при
разработке ПС. В частности, к ним относятся макромодуль, модуль, программный
сегмент. Все эти объекты изменяют форму представления (исходную, объектную,
выходную) на различных процессах разработки ПС. Макромодуль используется на
процессе макрогенерации, результат которой – исходный или объектный текст
модуля. Модуль может проходить процессы трансляции и сборки (редактирования
связей). Программный сегмент включается в более сложный объект на процессе
редактирования связей его элементов. К этим объектам относятся также,
приведенные в главе1: компонент, сервис, агент и др. Среди объектов первого типа
выберем в качестве базового – модуль. Все проблемы комплексирования для
объектов данного типа сводятся к проблемам взаимодействия объектов и построения
из них более сложных программных структур.
Ко второму типу относятся производные программные объекты, не меняющие
форму представления при их использовании: программы, комплексы, системы и т.п.
Все эти объекты автономны, решают определенные классы задач, и для их
использования не требуется дополнительная обработка. Базовый объект этого типа –
программа. Предполагается, что более сложные объекты – комплексы, системы и
т.д. представляют собой множество взаимодействующих программ. Сама программа
как конечный результат процесса разработки ПС состоит из некоторого множества
модулей, компонентов, сервисов и др.
Определение понятий модуль и программы не достаточно формализовано. Более
строгое определение этих понятий в рамках метода сборочного программирования
будет приведено ниже.
В программных системах новых поколений в качестве объектов используются
также пакеты прикладных программ, а любая система обработки данных
представляется как открытая система. Сюда относится архитектура ISA и SAA.
Выбор модуля и программы в качестве базовых программных объектов
сборочного программирования оказывает принципиальное влияние на реализацию
функций комплексирования, что вызвано следующими особенностями этих
объектов.
1. Возможность изменения объектов при реализации интерфейсов между ними.
Для модулей такие изменения допустимы. К ним, в частности, относятся изменения в
описаниях данных и порядке следования передаваемых параметров, особые режимы
трансляции и редактирования связей. Программы такой возможности не имеют.
Поэтому, если программа формирует файл определенной структуры, то для ее
изменения необходимо вносить изменения в модули, входящие в программу, что
противоречит требованию неизменяемости формы представления.
2. Уровень реализации интерфейсных функций. Для реализации интерфейсов
между модулями используются механизмы, определяемые ЯП и соответствующими
трансляторами. Для информационного сопряжения необходимо наличие средств
преобразования данных (типов и внутреннего представления) ЯП. Решение