Язык заданий ППМ является средством общения пользователя (разработчика или исследователя машинной модели M процесса функционирования системы S) с пакетом. Он позволяет описывать последовательность выполнения различных операций, обеспечивающих решение задачи моделирования, или постановку задачи моделирования, по которой эта последовательность строится автоматически. Архитектура ППМ, т. е. предоставляющийся пользователю внешний вид АСМ, определяется тем, какие задачи система может решать и какие возможности дает она пользователю. Язык заданий отражает основные архитектурные решения, принятые разработчиками ППМ, стремившимися повысить уровень квалификации вычислительной системы в определенной прикладной области. Именно через язык заданий пользователь воспринимает и оценивает, какие «вычислительные услуги» предоставляет АСМ и насколько удобно их использование, т. е., другими словами, каков фактический уровень тематической квалификации системы.
Общая структура и стиль языка заданий ППМ в значительной степени зависят от дисциплины работы, принятой в обслуживаемой пакетом предметной области. Можно выделить две основные (в определенном смысле противоположные) дисциплины проведения моделирования:
ü активную дисциплину, предусматривающую при создании конкретных рабочих программ модели M модификацию и настройку имеющихся модулей функционального наполнения, а также разработку новых модулей;
ü пассивную дисциплину, предусматривающую проведение машинных экспериментов с моделью M без модификации функционального наполнения ППМ.
Активная дисциплина работы свойственна специалистам, создающим программное обеспечение АСМ, а пассивная дисциплина характерна для деятельности так называемых конечных пользователей, т. е. специалистов, которые не обязательно име
ют высокий уровень подготовки в области программирования. Такое выделение двух дисциплин работы достаточно условно и преследует цель подчеркнуть контрастность системных подходов, используемых при автоматизации процесса моделирования.
Так, характерной особенностью языков заданий пакетов, обслуживающих проведение моделирования в режиме активной дисциплины, является их направленность на описание схем программ решения конкретных задач моделирования процессов, причем центральное место в таких языках (их обычно называют языками сборки) занимают не средства описания данных и манипулирования ими, что свойственно универсальным процедурно-ориентированным языкам программирования, а средства:
ü конструирования схем программ, в которых указывается порядок выполнения и взаимодействия модулей при моделировании конкретной системы S;
ü развития или модификации функционального наполнения ППМ;
ü управления процессами генерации и исполнения рабочей программы, реализующей задание пользователя.
Главная цель разработки языка заданий ППМ, обеспечивающего решение задач моделирования в режиме пассивной дисциплины, заключается в том, чтобы «спрятать» от конечного пользователя основную массу алгоритмических подробностей моделирования его конкретной системы S, или, другими словами, повысить уровень непроцедурности языка. Такие языки, называемые языками запросов, ориентированы обычно на формулирование содержательных постановок задач, т. е. запросов, указывающих, «что необходимо получить», без явного задания того, «как это получить». Пользователь тем самым избавляется от необходимости конкретизировать способы и средства решения его задачи моделирования конкретной системы S, что позволяет понизить порог требований к уровню его программистской подготовки.
Язык заданий ППМ может быть реализован как в форме самостоятельного языка, так и в форме встроенного языка, т. е. расширения существующего языка программирования. Независимо от формы реализации разработчик языка должен стремиться к тому, чтобы лексика, синтаксис и семантика языка заданий были как можно ближе к пользовательскому восприятию решаемых задач моделирования, т. е. чтобы языковые конструкции приближались к концептуальной модели M.