ISSN 1812-3368. Вестник МГТУ им. Н.Э. Баумана. Сер. «Естественные науки». 2012
181
ментарной сложной системы. Заранее оно неизвестно, поскольку мо-
жет зависеть от внешних по отношению к рассматриваемой компо-
ненте условий, на которые она должна уметь должным образом реа-
гировать. Следовательно, такие поведенческие моменты необходимо
вычислять, и алгоритмы их вычисления должны быть описаны на
императивных языках программирования. С другой стороны, кое-что
о поведении компоненты нам всегда заранее известно, так как она в
силу исходных предположений работы имеет в предметной области
моделирования достаточно хорошо изученный прообраз. Поэтому
обычно можно предварительно перечислить весь набор ее элемен-
тарных действий и какое из них может перейти в другое, под дей-
ствием каких обстоятельств, поскольку так устроен прообраз этой
компоненты в предметной области моделирования. Именно это зна-
ние, коррелирующее с пониманием устройства в предметной области
как прообраза отдельной компоненты, так и всей многокомпонентной
модели, мы имеем заранее (еще до построения модели), и оно не за-
висит от хода имитационных экспериментов. Следовательно, знание
об устройстве модели сложной системы вполне можно выразить на
декларативном языке программирования.
Такой подход позволяет получить так называемые ортогональные
(
подобным образом ортогональны, например, описания стиля и
наполнения в Word- или HTML-документах) описания модели слож-
ной системы: на декларативном языке описывается то, как устроена
система и правила поведения ее составляющих. На императивном
языке описываются отдельные законченные элементарные алгорит-
мы, ни с чем не взаимодействующие в модели кроме собственных
входных и выходных параметров.
Предлагаемое разделение описаний на декларативное и импера-
тивное оказывается весьма технологичным: декларативную и импе-
ративные части можно отлаживать независимо одна от другой. Самая
сложную императивная составляющая программы распадается на ряд
независимых между собой законченных элементарных алгоритмов.
При этом она редуцируется настолько, что чаще всего возможности
ООП оказываются слабо востребованными: алгоритмически цельную
программу с фиксированным набором входных и выходных парамет-
ров чаще всего нетрудно реализовать даже на языке FORTRAN.
И это существенно облегчает отладку системы. Вся объектная ориен-
тированность, идущая от предметной области моделирования, оказы-
вается в декларативном описании модели.
Одной из первых сред программирования, воплотивших рассмот-
ренную выше концепцию разделения описания сложной системы на
декларативную и императивную составляющие, была разработанная
в ВЦ АН СССР инструментальная система имитационного модели-
рования MISS (Multilingual Instrumental Simulation System). Концеп-