Визуальное проектирование модульных информационно-коммуникационных систем

В.В.Макаров
с.н.с., доц., к.т.н., с.н.с.,
ИПУ РАН,
makarov@ipu.ru, г.Москва

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

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

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

В работе рассмотрен визуальный редактор, предназначенный для построения элементов модульной структуры (образующих, связей) внутренних и внешних границ ИКС. Редактор позволяет работать со схемами модульных сетей: гипертекстовых документов, модульных компьютерных программ, территориально-распределенных информационных систем и иных модульных систем. Проект реализован с использованием единой открытой интегрированной платформы разработки приложений – Eclipse Platform на языке Java, на клиентской машине требуется установка Java Runtime Environment, что дает системе важнейшее свойство – кросс-платформенность. При создании редактора использовалась среда для разработки приложений Eclipse IDE for Java Developers ver. 3.3.1.1. build id:M20071023-1652 [1, 2]. Реализованная система расширяет функциональные возможности языка UML за счет дополнения модульными диаграммами.

Модульные свойства паттерновых сетей

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

 

Рис.1 Ориентированный граф а). и ориентированная паттерновая сеть б)

 

 

 

На рис.1а изображен элементарный ориентированный граф. На нем показано, что ребро графа нельзя разрезать. На Рис. 1б изображена наглядная схема линейной ориентированной паттерновой сети, состоящей из двух линейных ориентированных образующих g1 и g2 . Образующая g1 имеет вершину и две связи (bonds). Вершина изображена точкой и помечена именем образующей. Помимо вершины образующая g1 имеет две ориентированные связи – входную и выходную.

На рисунке 1 показана очень простая паттерновая сеть, состоящая всего лишь из двух образующих, причем каждая из них имеет только две связи – входную и выходную. Такая сеть может моделировать, например, две строки, видимые на экране дисплея. В сложных сетях образующие могут иметь много входных и много выходных связей, а паттерновые сети могут состоять из многих соединенных между собой образующих. Такими паттерновыми сетями, более сложными, чем сеть на Рис.1, можно смоделировать различные модульные системы [3,4]. В следующем примере рассмотрено применение модульных диаграмм, основанных на модульных сетях, к моделированию и проектированию территориальной части Консолидированного бюджета РФ, работающего на основе компьютерной сети. 

В СССР управление экономикой осуществлялось с помощью государственного плана. Сегодня после проведения в России рыночных реформ главным инструментом управления страной и ее экономикой является Консолидированный бюджет (КБ) РФ. Он имеет две части: территориальную и ведомственную [5]. Территориальная часть КБ объединяет в единую систему федеральный бюджет, бюджеты 89 субъектов РФ (регионов) и бюджеты всех муниципалитетов страны. Одним из основных направлений развития компьютеризации КБ РФ является создание компьютерной сети, объединяющей автоматизированные информационные системы (АИС) федерального бюджета, бюджетов регионов и муниципалитетов.

 

 

Рис.2 Фрагмент модели территориальной части АИС Консолидированного бюджета РФ в виде модульной сети

 

На рисунке .2 приведён фрагмент диаграммы модулей, наглядно изображающая территориальную часть АИС КБ РФ в виде модульной сети со многими неориентированными сетевыми связками и двумя внешними несоединенными связями. Данная диаграмма была спроектирована с помощью графического редактора Boundaries рассматриваемого в работе.

Как видно, диаграмма представляет территориальную часть АИС КБ в виде взаимосвязанных модулей, объединенных в трехуровневую древовидную структуру. В этой структуре каждая бюджетная АИС  является модулем, моделью которого служит образующая теории модулей. Диаграмма наглядно показывает региональный и муниципальный граничные профили АИС КБ РФ. На модульной модели в виде внешней выходной связи модульной сети показан Интернет-сайт Минфина, содержащий среди прочих данных информацию, предназначенную для специалистов, разрабатывающих региональные и иные бюджеты, объединенные в КБ. Сеть на Рис.2 имеет три уровня. На верхнем, федеральном уровне, находится АИС федерального бюджета. С помощью компьютерной сети она взаимодействует с АИС бюджетов 89 субъектов федерации (регионов), которые образуют второй, региональный, уровень АИС КБ. В свою очередь, АИС бюджета каждого региона через компьютерную сеть взаимодействует с АИС бюджетов его муниципалитетов. Совокупность АИС бюджетов всех муниципалитетов составляет третий, муниципальный, уровень АИС КБ. Региональный и муниципальный профили представляют собой внутренние границы, через которые происходит обмен электронными версиями документов между АИС бюджетов, объединенных в АИС КБ. Для нормального функционирования АИС КБ все сетевые связки регионального и муниципального профилей должны быть согласованы с помощью соответствующих протоколов взаимодействия. На рисунке 3 показана таблица протоколов взаимодействия регионального профиля АИС КБ РФ.

В таблице объединены 89 протоколов взаимодействия АИС федерального бюджета с АИС бюджетов регионов России. Каждый из этих протоколов имеет индивидуальные особенности и, вместе с тем, некоторую общую часть, присущую всем 89 протоколам. Эта общая часть выделена в типовой протокол взаимодействия АИС, показанный на рисунке 3 справа. Типовой протокол может быть разделен на частные протоколы, каждый из которых регламентирует один из аспектов типового взаимодействия АИС. Одной из составных частей типового протокола регионального профиля АИС может стать протокол согласованных типовых форм документов обмена данными через региональный профиль. При этом типовые формы документов обмена могут быть представлены в виде кода, записанного на языке XML.

 

 

Рис.3 Таблица протоколов взаимодействия регионального

профиля КБ РФ.  - типовой протокол регионального взаимодействия

Среда разработки редактора

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

Eclipse включает в себя:

o       Platform – собственно платформу;

o       PDE – Plug-in Development Environment – инструмент расширения Eclipse-платформы посредством Eclipse-плагинов;

o       JDT – Java Development Tools – инструмент разработки Java-программ;

o       RCPRich Client Platform – платформа расширенного клиента – минимальный набор плагинов для построения программы с графическим интерфейсом.

Eclipse в первую очередь полноценная Java IDE (интегрированная среда разработки) нацеленная на групповую разработку, снабженная средствами для работы с системами контроля версий. С версии 3.0 Eclipse стал не монолитной IDE, поддерживающей расширения, а набором расширений.

Основой Eclipse является платформа расширенного клиента (RPCRich Client Platform). Её составляют следующие компоненты:

o       ядро платформы – загрузка Eclipse, запуск модулей;

o       OSGi – стандартная среда поставки комплектов;

o       SWT – портируемый инструмент виджетов;

o       JFace – файловые буферы, работа с текстом, текстовые редакторы 

Графический редактор Boundaries состоит из двух компонент:

o       Editor Framework – главный компонент, содержит основные части редактора, которые используют библиотеку JGraph и определяют основную схему построения приложения;

o       Application – использует Editor Framework и реализует основные элементы построения редактора.

Библиотека JGraph подключается как jar, для реализации основных элементов построения графов в программе. JGraph – это библиотека классов с открытым исходным кодом для визуализации графов, написанная на языке Java. Основные пакеты, содержащие JGraph-классы:

o       org.jgraph – Basic JGraph Class;

o       org.jgraph.event – Graph Event Models;

o       org.jgraph.graph – Graph Structure and Nodes;

o       org.jgraph.plaf – Graph UI Delegate Component;

o       org.jgraph.util – General Purpose Utilities.

Исходные коды библиотеки можно свободно скачать по адресу: http://sourceforge.net/projects/jgraph.

 Другая используемая библиотека – Swing – библиотека визуальных компонентов для создания графического интерфейса на языке Java. Она содержит ряд графических компонентов, таких как кнопки, поля ввода, таблицы и т.п. Библиотека Swing относится к JFCJava Foundation Classes, которая представляет собой набор библиотек для разработки графических оболочек.

Компонент Editor Framework определяет структуру приложения, архитектуру для работы с событиями, инструментами и создает пользовательский интерфейс. Этот компонент использует архитектуру MVCModel-View-Controller, в которой модель данных приложения, пользовательский интерфейс и управляющая логика разделены на три отдельных компонента:

o       Model – предоставляет данные, обычно для View, а также реагирует на запросы, обычно от Controller, изменяя свое состояние;

o       View – отвечает за отображение информации;

o       Controller – интерпретирует данные, введенные пользователем и информирует Model и View о необходимости соответствующей реакции.

Все классы Editor Framework содержатся в пакете сом.jgraph.editor, кроме класса JGraphEditor.

Жизненный цикл состоит из следующих фаз:

1.      Создание настроек и комплекта ресурсов, инструментов, ресурсов factory methods, kit.

2.      Создание интерфейса пользователя на основе конфигурационных настроек. Определяется editor kit и factory methods. Factory methods используется для создания элементов интерфейса непосредственно или используя имя фабричного метода как ключ.

3.      Запуск приложения.

4.      Выход посредством вызова метода выхода в Editor Framework.

Компонент Application реализован на уровень выше Editor Framework. Он не представляет новых концепций, а использует созданные в Editor Framework: actions и tools для реализации функционала, а factory methods – для создания интерфейса пользователя и модели документа.

Заключение

Некоторые компьютерные специалисты  пришли к выводу, что нужны принципиально новые методы проектирования информационных систем и компьютерных программ [6].

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

Литература

1.       http://java.sun.com/javase/referense/api.jsp Java SE APIs & Documentation.

2.       http://java.sun.com/docs/books/tutorial/index.html Java SE Tutorials

3.       Grenander U. Lectures in Pattern Theory, Springer-Werlag, New York, Heidenberg Berlin, vol.I (1976) Рattern Synthesis, vol.II (1978) Pattern Analysis, vol.III (1981) Regular Structures. Рус. пер.: У. Гренандер. Лекции по теории образов. Под ред. Ю. Журавлева. – М., Мир, 1979-1983.

4.       Шуткин Л. В. Парадигма модульного мышления в компьютерной науке и практике. М. НТИ, № 10, Сер. 2, 2004

5.       http://www.minfin.ru Сайт Минфина РФ. Отчет об исполнении консолидированного бюджета за 2007г.

6.       France R.B., Grosh S., Dinh-Trong T., Solberg A. Model-Driven Development Using UML 2.0: Promises and Pitfalls. IEEE Computer Society, V.38, No.2, 2005.