Функциональное наполнение ППМ отражает специфику предметной области применительно к конкретному объекту моделирования, т. е. системе S, и представляет собой совокупность модулей. Под модулем здесь понимается конструктивный элемент, используемый на различных стадиях функционирования пакета. Язык (языки), на котором записываются модули функционального наполнения, будем называть базовым языком ППМ. Состав функционального наполнения пакета, его мощность или полнота охвата им предметной области отражают объем прикладных знаний, заложенных в ППМ, т. е. потенциальный уровень тематической квалификации пакета.
Одной из ключевых проблем разработки ППМ является модуляризация, т. е. разбиение функционального наполнения пакета на модули. Тщательно выполненный анализ объекта моделирования и проведенная на его основе модуляризация позволяют сократить объем работ по реализации ППМ, повышают его надежность и облегчают дальнейшую эволюцию пакета.
Число разнообразных форм модулей, используемых в пакетах, весьма велико. Прежде всего, следует выделить различные виды модулей:
ü программные модули;
ü модули данных;
ü модули документации.
Для программных модулей известны, например, такие формы, как подпрограмма; конструкция алгоритмического языка, допускающая автономную трансляцию; макроопределение; файл, содержащий такой текст фрагмента программы, который рассматривается как самостоятельный объект для изучения или редактирования; набор указаний, задающих способ построения конкретной версии программы; реализация абстрактного типа данных и др.
Уточним, что понимается под конструктивностью модуля. Прежде всего, имеется в виду алгоритмическая конструктивность, так как модуль представляет собой элемент полученного в результате модульного анализа предметной области алгоритмического базиса, служащего основой для построения программ моделирования. Кроме того, на алгоритмическую конструктивность модулей влияют структуры типичных вы
числительных алгоритмов, связи между элементами алгоритмического базиса, используемые в этих структурах, информационные потоки.
Помимо алгоритмической следует выделить и технологическую конструктивность модулей, определяемую дисциплиной работы в конкретной машинной модели M и системной средой, на базе которой разрабатывается и эксплуатируется ППМ. На технологическую конструктивность воздействуют такие факторы:
ü формы представления программных модулей М;
ü виды управляющих связей между отдельными частями программных комплексов (открытые и закрытые подпрограммы);
ü методы разработки (сверху вниз, снизу вверх и др.) программных комплексов, применяемые при работе с моделирующим алгоритмом системы S;
ü базовый язык или языки программирования, используемые при подготовке программ моделирования;
ü ограничения на размеры программ моделирования;
ü возможности штатных системных средств, обеспечивающих редактирование связей, загрузку и сегментацию программных комплексов, редактирование текстов.
Требования, вытекающие из алгоритмической и технологической конструктивности, составляют в совокупности регламент модуляризации, т. е. принятую разработчиками пакета форму представления материала в функциональном наполнении, а также способы его создания и эволюции. Если описание языка заданий рассматривать как спецификацию сопряжения пользователя с пакетом, то посредством регламента модуляризации определяется сопряжение с пакетом (точнее, с функциональным наполнением пакета) его разработчиков.