Перечисленные выше стандартные языки программирования мало пригодны для описания объектов и задач проектирования, так как в них отсутствуют такие понятия как «тип объекта», «связи объекта», «параметры объекта», не предусмотрены описания типовых процедур проектирования, обычно учитывающих специфику объекта проектирования. Необходимость специальных конструкций, выражений языка для описания перечисленных понятий приводит к созданию предметно-ориентированных языков, называемых входными языками, или языками проектирования.
Языки проектирования можно разделить на три группы – описательные, моделирующие и диалоговые. Их называют также соответственно языками структурного, процедурного и директивного типов.
1) Язык описания обычно состоит из трех частей – описания объекта, описания задачи и описания директив проектирования.
В описание объекта входят описания отдельных элементов, каждое из которых обычно имеет следующую структуру: тип элемента, тип модели элемента, параметры модели элемента, топологические связи элемента.
Способ описания топологических связей элементов зависит от типа элемента – направленного (ориентированного) или ненаправленного. Так, резистор – ненаправленный элемент, поэтому порядок указания узлов его включения в схему безразличен. Логический элемент, наоборот, является направленным, поэтому порядок перечисления его выводов имеет значение.
Язык описания задачи включает обычно следующую информацию:
· описание рассчитываемых выходных параметров;
· описание условий анализа параметров (тип варьируемых, внутренних параметров, шаг и диапазон варьирования и т.д.);
· описание условий оптимизации параметров;
· описание алгоритмов расчета, анализа и оптимизации;
· описание задания на вывод результатов проектирования.
Язык описания директив на проектирование в простейшем случае состоит из перечисления режимов, в которых должна последовательно работать САПР. Хотя каждая директива вызывает определенные действия, однако непосредственно в самих директивах никаких операторов действия нет, поэтому язык сохраняет описательный характер.
2) Языки моделирования (процедурные языки) описывают не только структуру и параметры объекта проектирования, но и алгоритм, процедуру его функционирования, например процесс передачи и преобразования сигнала от блока к блоку.
Часто язык моделирования строится на базе какого-либо языка программирования, к которому добавляются несколько новых конструкций, необходимых для моделирования в заданной предметной области. Такой моделирующий язык называется расширением языка программирования. Если язык моделирования основан на самостоятельных конструкциях, то он называется автономным. Как правило, языки моделирования применяются только на верхних уровнях проектирования – структурном и функциональном.
3) Языки диалога предназначены для организации взаимодействия пользователя и САПР в процессе проектирования. Различают три типа диалоговых языков: с инициативой у пользователя, с инициативой у ЭВМ и комбинированный.
Основными элементами языка диалога являются четыре: подсказка ЭВМ пользователю, директива пользователя ЭВМ, меню, представляющее для ЭВМ или, чаще, для пользователя возможность выбора, и анкета (бланк).