ОРГАНИЗАЦИЯ СИСТЕМЫ СТРУКТУРНОГО МОДЕЛИРОВАНИЯ НА ОСНОВЕ СУБД
В.С. Фомичев, Т.Г. Фомичева
Санкт-Петербургский государственный электротехнический университет "ЛЭТИ" им. В.И.Ульянова (Ленина)
В работе рассматриваются принципы построения систем моделирования (СМ), ориентированных на предметные области, модель которых может быть задана в виде структуры, представляющей собой совокупность объектов (элементов) и связей между ними. К таким предметным областям относятся, например, блочные иерархические модели систем[1], системы проектирования схем различных устройств, блок-схем программ, структурных схем организаций, графиков выполнения работ и т.п.
Системы моделирования представляют собой, как правило, специализированные системы, которые ориентированы на определенную предметную область и включают в себя интерфейсную часть, имитатор модели и средства хранения и обработки протоколов моделирования. Переход к другой предметной области обычно связан с изменением семантики модели, что приводит к необходимости разработки новой СМ. Системы моделирования, в общем случае, должны обеспечивать достаточно высокий уровень сервиса и поддерживать процесс построения создаваемых моделей.
Разработка подобных систем является сложной и трудоемкой задачей. Уменьшить трудоемкость разработки СМ можно, во-первых, за счет создания специальной
графической оболочки, обеспечивающей требуемый уровень сервиса и не зависящей от предметной области, однако позволяющей при изменении предметной области корректировать семантику модели с помощью атрибутов. Во–вторых, за счет использования для хранения описаний моделей и результатов их имитации готовых СУБД. В-третьих, за счет использования специальных блоков настройки – конверторов, позволяющих подключать к системе различные имитаторы.Ядром оболочки рассматриваемых систем является графический редактор, который должен не только обеспечить удобство работы, предоставляя возможность графического ввода модели, но и реализовать операции, помогающие разработчику выполнять построение модели. Процесс построения модели обычно является итерационным и базируется на использовании нисходящего , восходящего методов или их комбинации.
Нисходящий метод предполагает последовательное
увеличение уровня детализации блоков создаваемой модели. Процедуру детализации можно описать с помощью операции детализации следующим образом.Допустим, что на уровне
K разрабатываемая модель состоит из нескольких блоков этого уровня, и каждому блоку Bi соответствует выполняемая им функция fi . Если в таком описании заменить описание Bi описанием нескольких блоков Bi1, Bi2,..., Bik, таких, что суперпозиция функций, выполняемых этими блоками, fi1, fi2,..., fik представляет функцию fi, то получим модель уровня K+1.При этом предполагается, что декомпозицию функций и построение отдельных блоков выполняет разработчик модели, а редактор обеспечивает только возможность перехода между моделями различных уровней с помощью щелчков мыши и сохранение соответствия между входами и выходами блоков разных уровней.
Для выполнения процедуры восходящего построения модели необходимо реализовать операцию сворачивания, которая должна заменять совокупность блоков уровня К+1 одним блоком уровня К.
В процессе создания разработчику приходится просматривать несколько вариантов построения модели в поиске наилучшего (приемлемого) решения. Эти варианты называют версиями модели. Учитывая необходимость хранения различных версий моделей и протоколов имитации их работы, в качестве ядра СМ рассматриваемого типа целесообразно использовать СУБД. Такой подход не только обеспечивает хранение данных, но и позволяет выполнять построение отчетов, а также простейшую статистическую обработку результатов моделирования. СУБД можно применять и для решения таких нетипичных для них задач, как создание графического редактора. Такая возможность появляется, благодаря наличию в СУБД объектно-реляционного типа графических базовых классов и средств создания пользовательских визуальных классов. Объекты, построенные с помощью такого встроенного графического редактора, могут сохраняться в СУБД в графическом виде (в виде экранной формы). Однако, для обеспечения связи между графическим редактором и имитатором целесообразно
использовать промежуточное представление графического образа модели в виде совокупности связанных таблиц базы данных. Такое представление позволяет использовать базу данных для компактного хранения моделей и может рассматриваться в качестве стандарта для последующего преобразования в форматы различных имитаторов. Сказанное выше позволяет представить структурную схему системы моделирования в виде, изображенном на рисунке.Графический ввод моделей , согласно этой схеме, осуществляется с помощью графического редактора (ГР), который включает в себя конвертор К1 для преобразования графических образов в формат СУБД, а также конвертор К2 для обратного преобразования, позволяющего восстанавливать графические образы моделей при их чтении из базы данных. Создание графических образов может выполняться одновременно с описанием семантики модели. Семантика описывается в виде совокупности атрибутов, задаваемых в диалоговых окнах и сохраняемых в таблицах базы данных.
Редактор должен обеспечивать следующие возможности:
Преобразование структурных описаний, хранимых в СУБД, в формат входных данных имитатора, согласно приведенной схеме, осуществляется с помощью конвертора К3. Преобразование формата выходных данных имитатора в формат СУБД выполняется также с помощью конвертора К4. При построении таких конверторов целесообразно использовать синтаксически-ориентированные методы преобразования, которые позволяют выполнять настройку конвертора при изменении, как структуры таблиц базы данных, так и входного формата имитатора. Такой способ построения конвертора позволяет использовать ядро системы моделирования, включающее базу данных и графический редактор, построенный на основе СУБД, для работы с имитаторами различных типов. Замена имитатора в такой системе может, например, происходить при изменении предметной области, что приводит к изменению семантики моделируемых объектов. Эти изменения могут быть учтены в системе за счет использования имен процедур, сохраняемых в библиотеке интерпретатора (БИ), в качестве имен атрибутов элементов и связей рассматриваемого объекта.
Исследованию возможности реализации описанных принципов построения систем моделирования было посвящено несколько выпускных работ бакалавров и инженеров,выполненых в СПбГЭТУ. Так, на базе СУБД Visua
l FoxPro был построен графический редактор, ориентированный на описание различных алгоритмов методом блок-схем, реализующий весь описанный выше интерфейс и позволяющий выполнять как восходящее, так и нисходящее проектирование алгоритма. Кроме того, был разработан прототип оболочки, предназначенной для графического ввода схем цифровых устройств, задания их атрибутов и последующего построения по этим данным описания схемы на языке VHDL, который используется в качестве входного языка систем автоматизации проектирования. Преобразование описания схем, сохраняемых в таблицах базы данных после их графического ввода, выполнялось с помощью конвертора, построенного с использованием принципа синтаксически-ориентированной трансляции. Конвертор позволяет выполнять настройку при изменении формата таблиц базы данных, а также изменять вид конструкций выходного языка конвертора. В конверторе предусмотрен режим настройки, во время которого модуль настройки выполняет чтение из файла исходных данных и построение таблиц, необходимых для работы конвертора. В качестве исходных данных используются описания форматов таблиц БД и атрибутная грамматика, описывающая процесс трансляции табличных данных в выходной текст. Семантика трансляции представлена в атрибутной грамматике с помощью символов действия, реализованных в виде функций языка C и сохраняемых в библиотеке конвертора. Библиотека может пополняться, если набор библиотечных функций оказывается недостаточным при переходе к другой предметной области.Выполненные работы позволяют сделать вывод, что построение оболочки для системы моделирования на основе СУБД, дает возможность существенно сократить сложность и время создания систем рассматриваемого типа. Кроме того,
использование готовых СУБД в системах моделирования открывает перед пользователями и разработчиками СМ доступ к другим полезным возможностям СУБД. Например, через запросы к БД пользователь может получать сведения о составе версий модели и ходе разработки. Разработчики СМ могут воспользоваться СУБД для создания репозитория, поддерживающего коллективную разработку моделей, а также получают доступ к сетевым возможностям СУБД, что позволяет ускорить создание распределенных систем моделирования.Литература
Site of Information
Technologies Designed by inftech@webservis.ru. |
|