|
Abstract Potapenko V., Sisyukin V. The given article is about a new way of sophisticated systems of modeling dynamic processes reconstruction. Введение Стремительное развитие средств вычислительной техники привел к тому, что многие разработки, ведущиеся годами, оказываются заложниками прогресса и не могут по ряду параметров быть приемлемыми в новых условиях. Особенно остро данный вопрос стоит для сложных исследовательских систем, в том числе для систем моделирования. Было бы очень неразумно "замораживать" старые проекты и пытаться создать новые, удовлетворяющие современным требованием. Практика показывает, что использование проверенных решений в большинстве случаев приводит к лучшим результатам, что является следствием накопленного опыта. Тем не менее, останавливаться на достигнутом означает потерять передовые позиции, что может быть губительным как для корпораций, так и для исследовательских центров. Одним из наиболее удачных решений данной проблемы является реинжиниринг существующих систем. При этом эффективно используется уже накопленный опыт и существующие разработки. Естественно, что реинжиниринг не всегда позволяет исправить все проблемы старых систем. Разработчики зачастую находятся в плену возможностей и ограничений уже существующей системы, что естественно находит отражение в новом продукте. Каким образом выполняется реинжиниринг? Это в первую очередь зависит от тех недостатков, от которых желательно избавиться в новой системе. В последнее время наиболее актуальным является оснащение системы новым или существенно улучшенным пользовательским интерфейсом, повышение быстродействия систем, добавление функциональности. В данной статье рассматривается пример реинжиниринга системы моделирования сложных динамических процессов DIVA [1]. Постановка задачи Прототип моделирующей среды DIVA был разработан в 1987-90 гг. в институте системной динамики и управляющей техники Штуттгартского университета на базе проводившихся ранее в институте исследовательских работ в области разработки моделирующих систем технологической ориентации и моделирования отдельных технологических процессов и аппаратов. Система DIVA написана на языке программирования FORTRAN для операционной системы UNIX. В исходном варианте она представлена в виде исходных текстов и программных модулей, предназначенных для компиляции. DIVA не имеет пользовательского интерфейса, при этом работа с ней осуществляется в режиме командной строки. DIVA позволяет: · производить моделирование параметров процессов, которые не могут быть измерены непосредственно; · определять причины отклонения текущих параметров процесса от заданных; · обеспечить оптимальные условия реализации технологических процессов по критериям безопасности и производительности; · использовать модели различных производственных процессов в учебном процессе при подготовке специалистов соответствующего профиля; · подготавливать и контролировать производственный персонал. Среди недостатков системы DIVA следует отметить следующие: · пользовательский интерфейс отсутствует как таковой, имеется возможность задавать параметры работы используя командную строку и редактируя файлы заданий; · отсутствует возможность работать в сетевой среде; · отсутствуют средства распределенного моделирования. Основным направлением реинжиниринга системы DIVA является реализация клиент - серверной архитектуры. Данный подход обладает рядом существенных преимуществ, среди которых: · разделение системы на серверную и клиентскую части, что позволяет реализовать принцип "разделяй и властвуй", т.е. становится возможным поднять функциональность системы на существенно новый уровень; · клиентская часть может быть реализована на базе "тонкого клиента", в то время как серверная на кластере мощных ЭВМ; · администрирование системы при данном подходе значительно упрощается. Клиент-серверверный подход для организации взаимодействия Так как в системе DIVA отсутствуют какие-либо средства для сетевой работы, то для обеспечения сетевого взаимодействия была реализована надстройка в виде дополнительных сетевых компонент. На сегодняшний день одним из лучших средств для создания сетевых компонент является среда программирования Java. Язык Java изначально разрабатывался как средство облегчающее создание сетевых приложений. Кроме того, Java является платформо-независимым языком, что позволяет выполнять приложения на различных вычислительных системах без какого-либо изменения исходного кода. В вязи с этим, использование данного языка является наиболее приемлемым для дополнения системы моделирования DIVA сетевыми возможностями. Система DIVA построена таким образом, что задание условий и способов моделирования происходит из командной строки посредством текстовых файлов, передаваемых в качестве параметров к исполняемому модулю. Результатом работы системы DIVA также являются текстовые файлы. Таким образом, имеется возможность создать некую программную оболочку, которая бы осуществляла передачу извне к DIVA исходных параметров в виде привычных для нее текстовых файлов и отдавала бы результат работы обратно. Система DIVA не является системой моделирования реального времени. Входные параметры для расчета могут быть сформированы в любой момент времени, и после отработки результат становится доступным пользователю. Данная особенность значительно упрощает создание клиент-серверной моделирующей среды. В результате, взаимодействие осуществляется следующим образом. Пользователь на клиентской части формирует задание для выполнения его в среде DIVA. После этого по сети, используя протокол TCP/IP, задание передается серверной части. В общем случае взаимодействие может быть реализовано в сети любого типа, поддерживающей протокол TCP/IP (локальная сеть, Internet/Intranet). Серверная часть, получив данные от клиентской, формирует стандартные для DIVA текстовые файлы задания на моделирование и запускает ее. Отработав, DIVA формирует файлы результата. Эти файлы преобразуются в поток данных и отсылаются клиентской стороне. В итоге, пользователь получает результат вычислений в виде данных и графиков. Данное взаимодействие изображено на рисунке 1.
Для формирования пользовательского интерфейса на стороне клиента можно использовать широкий набор средств, включающий различные языки программирования. Данную преемственность можно объяснить тем, что серверная часть, выполненная на JAVA для сетевого взаимодействия, использует стандартизованные объекты класса "socket". Аноприенко А.Я.,
Святный В.А. Универсальные моделирующие
среды // Сборник трудов факультета
вычислительной техники и информатики.
Вып.1. - Донецк: ДонГТУ. - 1996. - С. 8-23. |