Сайт Информационных Технологий

ОРГАНИЗАЦИЯ СИСТЕМЫ СТРУКТУРНОГО МОДЕЛИРОВАНИЯ НА ОСНОВЕ СУБД

В.С. Фомичев, Т.Г. Фомичева

Санкт-Петербургский государственный электротехнический университет "ЛЭТИ" им. В.И.Ульянова (Ленина)

Abstract – The way of structural modeling systems design based on use of existing typical programming components is considered. The basic component of such system is DBMS of a object-relational type, which is used in system as for a storage of the structural model descriptions, processing its and storage results of modeling. The graphic editor connected with DBMS enables graphic input of the structural descriptions. The editor displays a graphic images of models, converters its in tabulated representation and allows to produce the backward conversion. The tabulated storage of model in a database allows also to connect different simulators of models, which, as a rule, are close associated with semantics of a subject domain. The connection to simulators or another system are implemented with help of the appropriate adjustable converters. The offered way of construction allows to reduce time of development of similar systems.

В работе рассматриваются принципы построения систем моделирования (СМ), ориентированных на предметные области, модель которых может быть задана в виде структуры, представляющей собой совокупность объектов (элементов) и связей между ними. К таким предметным областям относятся, например, блочные иерархические модели систем[1], системы проектирования схем различных устройств, блок-схем программ, структурных схем организаций, графиков выполнения работ и т.п.

Системы моделирования представляют собой, как правило, специализированные системы, которые ориентированы на определенную предметную область и включают в себя интерфейсную часть, имитатор модели и средства хранения и обработки протоколов моделирования. Переход к другой предметной области обычно связан с изменением семантики модели, что приводит к необходимости разработки новой СМ. Системы моделирования, в общем случае, должны обеспечивать достаточно высокий уровень сервиса и поддерживать процесс построения создаваемых моделей.

Разработка подобных систем является сложной и трудоемкой задачей. Уменьшить трудоемкость разработки СМ можно, во-первых, за счет создания специальной графической оболочки, обеспечивающей требуемый уровень сервиса и не зависящей от предметной области, однако позволяющей при изменении предметной области корректировать семантику модели с помощью атрибутов. Во–вторых, за счет использования для хранения описаний моделей и результатов их имитации готовых СУБД. В-третьих, за счет использования специальных блоков настройки – конверторов, позволяющих подключать к системе различные имитаторы.

Ядром оболочки рассматриваемых систем является графический редактор, который должен не только обеспечить удобство работы, предоставляя возможность графического ввода модели, но и реализовать операции, помогающие разработчику выполнять построение модели. Процесс построения модели обычно является итерационным и базируется на использовании нисходящего , восходящего методов или их комбинации.

Нисходящий метод предполагает последовательное увеличение уровня детализации блоков создаваемой модели. Процедуру детализации можно описать с помощью операции детализации следующим образом.

Допустим, что на уровне K разрабатываемая модель состоит из нескольких блоков этого уровня, и каждому блоку Bi соответствует выполняемая им функция fi . Если в таком описании заменить описание Bi описанием нескольких блоков Bi1, Bi2,..., Bik, таких, что суперпозиция функций, выполняемых этими блоками, fi1, fi2,..., fik представляет функцию fi, то получим модель уровня K+1.

При этом предполагается, что декомпозицию функций и построение отдельных блоков выполняет разработчик модели, а редактор обеспечивает только возможность перехода между моделями различных уровней с помощью щелчков мыши и сохранение соответствия между входами и выходами блоков разных уровней.

Для выполнения процедуры восходящего построения модели необходимо реализовать операцию сворачивания, которая должна заменять совокупность блоков уровня К+1 одним блоком уровня К.

В процессе создания разработчику приходится просматривать несколько вариантов построения модели в поиске наилучшего (приемлемого) решения. Эти варианты называют версиями модели. Учитывая необходимость хранения различных версий моделей и протоколов имитации их работы, в качестве ядра СМ рассматриваемого типа целесообразно использовать СУБД. Такой подход не только обеспечивает хранение данных, но и позволяет выполнять построение отчетов, а также простейшую статистическую обработку результатов моделирования. СУБД можно применять и для решения таких нетипичных для них задач, как создание графического редактора. Такая возможность появляется, благодаря наличию в СУБД объектно-реляционного типа графических базовых классов и средств создания пользовательских визуальных классов. Объекты, построенные с помощью такого встроенного графического редактора, могут сохраняться в СУБД в графическом виде (в виде экранной формы). Однако, для обеспечения связи между графическим редактором и имитатором целесообразно использовать промежуточное представление графического образа модели в виде совокупности связанных таблиц базы данных. Такое представление позволяет использовать базу данных для компактного хранения моделей и может рассматриваться в качестве стандарта для последующего преобразования в форматы различных имитаторов. Сказанное выше позволяет представить структурную схему системы моделирования в виде, изображенном на рисунке.

Графический ввод моделей , согласно этой схеме, осуществляется с помощью графического редактора (ГР), который включает в себя конвертор К1 для преобразования графических образов в формат СУБД, а также конвертор К2 для обратного преобразования, позволяющего восстанавливать графические образы моделей при их чтении из базы данных. Создание графических образов может выполняться одновременно с описанием семантики модели. Семантика описывается в виде совокупности атрибутов, задаваемых в диалоговых окнах и сохраняемых в таблицах базы данных.

Редактор должен обеспечивать следующие возможности:

Преобразование структурных описаний, хранимых в СУБД, в формат входных данных имитатора, согласно приведенной схеме, осуществляется с помощью конвертора К3. Преобразование формата выходных данных имитатора в формат СУБД выполняется также с помощью конвертора К4. При построении таких конверторов целесообразно использовать синтаксически-ориентированные методы преобразования, которые позволяют выполнять настройку конвертора при изменении, как структуры таблиц базы данных, так и входного формата имитатора. Такой способ построения конвертора позволяет использовать ядро системы моделирования, включающее базу данных и графический редактор, построенный на основе СУБД, для работы с имитаторами различных типов. Замена имитатора в такой системе может, например, происходить при изменении предметной области, что приводит к изменению семантики моделируемых объектов. Эти изменения могут быть учтены в системе за счет использования имен процедур, сохраняемых в библиотеке интерпретатора (БИ), в качестве имен атрибутов элементов и связей рассматриваемого объекта.

Исследованию возможности реализации описанных принципов построения систем моделирования было посвящено несколько выпускных работ бакалавров и инженеров,выполненых в СПбГЭТУ. Так, на базе СУБД Visual FoxPro был построен графический редактор, ориентированный на описание различных алгоритмов методом блок-схем, реализующий весь описанный выше интерфейс и позволяющий выполнять как восходящее, так и нисходящее проектирование алгоритма. Кроме того, был разработан прототип оболочки, предназначенной для графического ввода схем цифровых устройств, задания их атрибутов и последующего построения по этим данным описания схемы на языке VHDL, который используется в качестве входного языка систем автоматизации проектирования. Преобразование описания схем, сохраняемых в таблицах базы данных после их графического ввода, выполнялось с помощью конвертора, построенного с использованием принципа синтаксически-ориентированной трансляции. Конвертор позволяет выполнять настройку при изменении формата таблиц базы данных, а также изменять вид конструкций выходного языка конвертора. В конверторе предусмотрен режим настройки, во время которого модуль настройки выполняет чтение из файла исходных данных и построение таблиц, необходимых для работы конвертора. В качестве исходных данных используются описания форматов таблиц БД и атрибутная грамматика, описывающая процесс трансляции табличных данных в выходной текст. Семантика трансляции представлена в атрибутной грамматике с помощью символов действия, реализованных в виде функций языка C и сохраняемых в библиотеке конвертора. Библиотека может пополняться, если набор библиотечных функций оказывается недостаточным при переходе к другой предметной области.

Выполненные работы позволяют сделать вывод, что построение оболочки для системы моделирования на основе СУБД, дает возможность существенно сократить сложность и время создания систем рассматриваемого типа. Кроме того, использование готовых СУБД в системах моделирования открывает перед пользователями и разработчиками СМ доступ к другим полезным возможностям СУБД. Например, через запросы к БД пользователь может получать сведения о составе версий модели и ходе разработки. Разработчики СМ могут воспользоваться СУБД для создания репозитория, поддерживающего коллективную разработку моделей, а также получают доступ к сетевым возможностям СУБД, что позволяет ускорить создание распределенных систем моделирования.

Литература

  1. Б.Я.Советов, С.А. Яковлев. Моделирование систем - М.: Высш. шк., 1985. – 271с.
  2. С.А. Каратыгин, А.Ф. Тихонов, Л.Н. Тихонова. Visual FoxPro 6 – М.: ЗАО "Издательство БИНОМ", 1999. – 784 с.
  3. В.С Фомичев, Т.Г. Фомичева. Система моделирования на основе базы данных. Известия ГЭТУ, вып.515, СПб.,1997, с. 145-152.

 


Site of Information Technologies
Designed by  inftech@webservis.ru.