Образовательный минипортал «Виртуальная случайность»

ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ

УДК 004.78:378.16 С.А. Веревкин, А.Г. Пимонов ОБРАЗОВАТЕЛЬНЫЙ МИНИПОРТАЛ «ВИРТУАЛЬНАЯ СЛУЧАЙНОСТЬ»

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

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

В соответствии с вышесказанным было решено для информационной поддержки дисциплины специализации «Имитационное моделирование экономических систем» создать веб-портал, реа-

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

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

• разделение формы и содержимого сайта;

• разбиение на страницы больших списков (как по количеству, так и по первой букве);

• новостные ленты;

• контроль доступа;

• ведение базы пользователей;

• работа с СУБД;

• работа с XML;

• закачивание файлов на сервер;

• построение графиков;

• другие возможности.

Фактически все вышеперечисленные элементы являются составными частями созданного минипортала «Виртуальная случайность»

http://vtit.kuzstu.ru/stat/. Большая часть из их уже была задействована при проектировании других сайтов, что наглядно подтверждает возможность эффективного повторного использования кода.

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

На основе объектно-ориентированного подхода был также разработан унифицированный способ описания распределений случайных величин, позволяющий держать в едином хранилище данные обо всех распределениях. Для генерации выборок случайных величин разработаны методы-классы с единым интерфейсом. Для расчета значений вероятностей в различных распределениях реализован ряд вычислительных алгоритмов: гамма-функций, комбинаторных выражений (сочетания, факториалы), суммы и произведения с использованием равномерно распределенной случайной величины и другие.

Для гибкости системы форма представления и содержание разделены, что является стандартом де-факто архитектуры современных веб-сайтов [1]. Для хранения информации в данном случае больше всего подходит XML, потому как эта технология позволяет хранить разнородную информацию структурированно. Языком реализации системы был выбран PHP. Это позволило переносить её на различные платформы.

В разработанной информационной системе можно выделить следующие модули и соответствующие им разделы (рис. 1).

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

ния MathML. Разделение формы и содержания позволяет одновременно иметь несколько готовых видов оформления сайта и даже организовать такой выбор для пользователя. Это также полезно при необходимости поддержки WAP и старых версий текстовых браузеров.

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

позволяет осуществлять так называемые функции управления содержимым (content management).

Модуль моделирования. Модуль состоит из ряда классов, инкапсулирующих методы

моделирования экономических процессов,

рассмотренные в работах [2-4]. Все алгоритмы моделирования были проанализированы с точки зрения возможности их унификации. Каждая группа моделей имеет общие принципы функционирования и задаётся ограниченным набором характеристик: уравнением

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

Рис. 1. Основные составляющие минипортала «Виртуальная случайность»

А

С

44

ЇГ

Начальнап цена |б

Результаты моделирования

Таблица

данных

График Рф

в

о

Количество периодов

ок I

Период

0

1

2

5

4

5

м

6

8,502 6, 433 10.103 3,9

и, ш

“1

о

27,552 30,513 25,064 34,163 20,967

“1

0

27,53

30.637

24.962

32,75

21.573

2

2А

График Р

is.jp._-;

Рис. 2. Результаты эксперимента с вероятностной паутинообразной моделью

схожий программный

интерфейс. С точки зрения теории систем в идеале каждая такая модель должна представлять собой чёрный ящик, который

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

единого подхода к их построению. На данный момент реализованы следующие модели:

• вероятностная паутинообразная модель. При моделировании предлагается ввести начальные условия (цена предшествующего периода), количество моделируемых периодов и константы, описывающие функционирование фирмы-монополиста ^, B, ^ D).

Результатами являются таблица изменений во времени цены, спроса, предложения и соответствующие им графики (рис. 2);

• паутинообразная модель с обучением. При моделировании предлагается ввести начальные условия (цена на двух предшествующих периодах), количество моделируемых периодов и константы, описывающие функционирование фирмы-монополиста ^, B, C, D, коэффициент степени учёта цен). По результатам моделирования выводятся те же наборы данных, что и при экспериментах с вероятностной паутинообразной моделью;

• паутинообразная модель с запасами. При моделировании предлагается ввести (рис. 3) начальные условия (цена предшествующего периода, начальный уровень запасов), количество моделируемых периодов и константы, описывающие функционирование фирмы-монополиста ^, B, ^ D, коэффициент эффективности запасов). По результатам моделирования выводятся те же наборы данных, что и в двух предыдущих случаях;

• модель дуополии. При моделировании предлагается ввести начальные условия (выпуск продукции первой и второй фирмами на предшествующем периоде), количество моделируемых пе-

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

Модуль генерации случайных величин. В результате анализа моделирующих алгоритмов [5]

А 108

В 7

С 23

о 11

Начальная иена (Р^ 5

Начальный уровень запасов 10

Степень эффективности запасов 1

Количество периодов 1°“

ок

Рис. 3. Задание параметров эконометрической модели с запасами

аЬв^айБеес)

function clear

function createSequence

function prepare

function super

-I—I—г

1---1—г

АЗніІ

>

function get Random Number

СЗеесІ

function getRandomlSumbcr

і I

вЗеесІ

function getRaiidomlSumber (}

• ОЭеес!

function gctRandomlSunibcr

ESeed 1

function getRandomlSumbcr

RandDispatcher

function RandDispatcher

function rnd

seedObject I объект-генератор]

Рис. 4. Взаимосвязи классов генерации случайных чисел

было произведено разделение всех генераторов случайных чисел на несколько групп. Каждому алгоритму сопоставлен класс, объект-экземпляр которого согласно алгоритму выполняет генерацию случайных чисел. Законы распределений и их характеристики описываются в специальном ХМЬ-файле. Таким образом осуществляется возможность простого расширения функциональности системы в пределах реализованных алгоритмов генерации случайных чисел (рис. 4). Блок моделирования случайных величин предоставляет возможность генерировать выборки случайных

чисел и оценивать их характеристики (рис. 6).

Реализованы следующие алгоритмы генерации случайных чисел из различных статистических распределений:

• стандартный метод моделирования дискретных случайных величин;

• модифицированный метод моделирования дискретных случайных величин (на основе вычисления вероятности появления следующего значения с помощью рекуррентного соотношения);

• стандартный метод моделирования непрерывных случайных величин (метод обратной

<га^Б1з‘Ьг1Ьи'Ыопз version="1.0" сгеа~Ьог=зегдеу.уегеук1п@дта11.сот date="01.03.05"> ^уре ^^е="Геометрическое распределение" id="1" method="a">

<рагат пате="р" ^^е="Вероятность" type="P" defau1t="0.2" />

<£ипс^оп пате='^х">р*ро'и(1-р,х)<^ипс^оп>

^ипс^оп name="Fx">1-pow(1-p,x-1)</function>

<function name="avg">(1-p)/p</function>

^ипс^оп name="disp">(1-p)/(p*p)</function>

<resu1t type="tab1eVa1ues" tit1e="Таблица сгенерированных значений" defau1t="no"/>

<resu1t type="tab1eStatistics" ^^е="Таблица статистик полученного ряда" defau1t="yes" />

<resu1t type="graphDensity" ^^е="График функции вероятности" defau1t="no" />

<resu1t type="graphDistribution" ^^е="График функции распределения"

defau1t="no"/>

<description>

Распределение <Ь>геометрическое</Ь>.

</description>

</type>

</randDistributions>

Рис. 5

функции);

• моделирование нормально распределенных случайных величин на основе центральной предельной теоремы;

• конгруэнтный метод генерации равномерно распределённых случайных величин;

• встроенный PHP-датчик равномерно распределенных случайных величин.

По буквенному наименованию эти методы задаются в XML-файле описания случайных величин (рис.5) .

В корневом узле randDistributions хранятся узлы type, каждый из которых описывает один вид распределения. Обязательными являются параметры title (название типа распределения), id (идентификатор для работы с распределением), method (буквенное наименование метода генерации случайных чисел). В каждом узле type хранятся разнотипные подузлы, порядок следования которых жёстко не регламентирован.

Параметры распределения, которые могут изменять пользователи, хранятся во множестве узлов param. Атрибуты узлов: name (имя для использования в формулах); title (заголовок для отображения запроса у пользователя); type (буквенное обозначение для типа множества, к которому должно принадлежать значение параметра: R

- множество действительных чисел; Z - множество целых чисел; P - множество [0;1], применяется для задания параметра распределения - вероятности события; N - множество натуральных чисел, «+» и «-» - множество положительных и отрицательных чисел соответственно, «0+» и «0-» - неотрицательные и неположительные числа); default (значение параметра по умолчанию). Дополнительно у пользователя будет запрошен объем выборки для генерации, поэтому включать его в описание каждого типа распределения не требуется.

Далее узлами function описывается множество функций, связанных с распределениями. Единственный атрибут узла function - name, описывающий идентификатор вида и роли функции. В реализованных методах используются следующие идентификаторы функций: fx - функции плотности или вероятности, Fx - функция распределения, ax - обратная функция, recurrent fx

- рекуррентное соотношение для вычисления вероятности, avg - теоретическое значение математического ожидания, disp - теоретическое значение дисперсии, exc - теоретическое значение коэффициента эксцесса, asym - теоретическое значение коэффициента асимметрии. Каждый метод моделирования использует разные функции и реализован по-своему. Например, стандартный метод генерации дискретных случайных величин требует одной формулы-функции - плотности распределения. Модифицированный метод также требует рекуррентного соотношения для вычисле-

ния вероятности появления следующего значения. Метод обращается к функциям, поименованным по их названиям. Аргументом каждой функции является х. В функциях могут использоваться все заданные переменные, знаки математических действий, математические функции PHP, аргументы которых находятся в скобках и разделяются запятыми (pow( основание, степень) — возведение в степень, exp(x) - экспонента, log(x) -натуральный логарифм, log10(x) - десятичный логарифм и другие), специальные дополнительные функции, разработанные для портала (fac-torial(x) - вычисление факториала; С(всё множество, требуемый объём) - число сочетаний требуемого объема объектов из всего множества; $this->super(x, имя функции) - возвращает вычисленное значение функции, заданной для распределения, для функций, не имеющих аргумента (математическое ожидание, дисперсия), вместо него используется любое значение, например, 0; sumR (a, b, expr) - ве-b

личина ^ expr, где в качестве итератора от

i-a

нижней до верхней границы в выражении expr

Hi ]Vl Ж¥ I p фф рЖЫ y

см ж iii'i'i'in

таблмил статиста *

полученное ô рвдя Гдофіін. №ЮТіМКІні

График функции

100

ГрЬфшхо

ЧАСТОТ

17

г

F

І*

м OK

Показатель Ожидаемо* значение Фактиі*еское значение

Илтепатіт-еоше аквда-ме Э 2.2-Й

¿¡чперсий 9 в. 344

Коэффммнт валийетрин «е- 0.01 L

ni опрмепен 0.S68

<оэфОи_ь!е»-т «скшда і 0.89

Статистиса ГЪ^юэна: Зйі^ 6,57 > 5,835

і—ь-

Уставные оёозш-ижя на графіках:

Энпнрлчеспи дам-ь*е Теоретические nflri-fc+e

Рис. 6. Генерация случайных чисел из распределения Вейбулла

служит переменная i ; G( х ) - значение гамма-функции; logGamma(x) - значение логарифма гамма-функции). Вся функция записывается в виде математического выражения без знаков равенства, её вычисленное значение приравнивается к результату и затем используется в соответствующем методе моделирования.

Для отображения результатов модельного эксперимента необходимо выбрать ряд типа отображения результатов из набора заранее заданных и разработанных: tableValues, tableSta-tistics, graphDensity, graphDistribution. Описание каждого результата хранится в подузле result со следующими атрибутами: type (тип результата), title (обозначение для вывода на экран при выборе пользователем необходимости отображения данного результата), default (значение желательности отображения по умолчанию).

Завершает описание типа в данном примере узел description, который содержит описание распределения в HTML-формате, зарезервированное для будущего использования.

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

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

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

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

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

ществляется автоматически.

Модуль контроля доступа. Этот полностью независимый модуль позволяет осуществлять контроль доступа к объектам. В данном портале объектами кроме основных действий по администрированию сайта являются и ресурсы. Такой подход позволяет очень гибко распределять и делегировать полномочия на взаимодействие с сайтом. Общие вопросы построения информационной системы на основе иерархических взаимосвязей рассмотрены в работах [6,7]. Поскольку большинство функций портала зависят от прав работающего пользователя, на первый план встаёт управление правами. Таким образом, под термином администрирование в данном случае понимаются не конкретные функции, доступные администратору, а контроль доступа к этим функциям. Такой подход позволяет объединить управление порталом в одном разделе с помощью системы контроля доступа с использованием иерархических структур [810].

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

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

Описать смысл и логику иерархического расположения информации об объектах можно следующим образом. Для централизации управления набор групп распределяется иерархически. Потомки (если корень расположить «сверху», то «ниже» по дереву) являются членами группы родителя. С увеличением вложенности происходит детализация до уровня объекта. В соответствии с

примененной логикой, все разрешения потомков передаются родителям, но не наоборот. В то же время пассивные объекты, несмотря на ту же логику их расположения в дереве, могут быть подвержены воздействиям, унаследованным от прародителей. Это можно описать простым примером. Возьмем группу лиц, имеющих руководителя и входящего в неё активного пользователя, воздействующего на часть системы. Если у пользователя есть доступ на работу со всей системой в целом, то у него есть доступ на работу с подсистемами (равно как и руководитель группы имеет права каждого из своих подчиненных). В применении к порталу данная система реализована в виде нескольких совокупностей направленных графов или деревьев:

• иерархия групп и пользователей, которая определяет наследование прав для активных участников взаимодействий;

• иерархия объектов, которая определяет наследование для пассивных объектов: разделов, ресурсов, прав на специфичные действия;

• иерархия взаимодействий, которая определяет разрешенные взаимодействия активных и пассивных объектов.

Строго говоря, таких деревьев должно быть несколько, что позволит распределять различные права более индивидуально. Тем не менее, в данном применении достаточно одного дерева взаимодействий. Визуализация легко создаётся с использованием компонента, отображающего информацию древовидно (^Ггее у2.05) (рис.7). Таким образом становится возможна точная настройка требуемых политик доступа.

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

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

Модуль по созданию меню портала реализован на основе технологии обработки ХМЬ-файлов. Каждый пункт меню представлен в виде узла в ХМЬ-файле. Формат файла меню следующий: <шепи> <паше>Виртуальная случайность

</паше>

<^еш>

<иг1></иг1>

<^^е>Экономические модели</'Ь1'Ь1е> <БиЬ^ет> <ur1>./enterprises.php?type=1</ur1>

^^^>Паутинообразная

(#1)</title>

</subItem>

</item>

</menu>

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

пользователе и дополнительной. В состав последней может входить любая требуемая информация. Для корректной работы модуля необходима его небольшая модификация: в файле настройки необходимо изменить определение массива с названием полей. Вследствие отсутствия строгой типизации в языке PHP никаких изменений больше в исходный код вносить не требуется.

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

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

/Объекты/ /Пользователи/ /Связи/

j /Связи/user:: key Гadm::site

j-Q adm::resources::Лабораторные раб оты •_} adm: resources:: Статьи i'-Q adm: ¡resources: ¡Правила оформления списка литературы ;.¡j Удалить текущий объект

Рис. 7. Визуализация дерева контроля доступа за счёт разделения обязательной информации о

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

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

Поскольку одной из основных функцией минипортала является хранение информационных ресурсов, чрезвычайно важным является вопрос по передаче ресурсов на сервер и безопасности данной процедуры. Для централизации этого процесса создан модуль по обработке закачиваемых файлов на сервер. Все параметры закачки предварительно задаются в файлах конфигурации для модуля обработки передачи файлов на сервер, содержимое которых аналогично содержимому ini-файлов Microsoft Windows. Единственное отличие - отсутствие секций. Внутри модуля в разделе комментариев находится полное его описание и описание возможных параметров работы. Заданием основных параметров определяются: ограничение расширений имен закачиваемого типа файлов либо запрет обработки таких файлов; сохранение в указанном каталоге; сохранение со случайным именем; ведение журнала по всем попыткам обращения к функции передачи файлов на сервер.

Если говорить о разделении всей предметной области на классы хранилищ данных (сущностей), интерфейсные классы (взаимодействия), управляющие классы, то при разработке портала было осуществлено следующее разделение. Каждая сущность, хранящаяся в базе данных (БД), считывается и сохраняется с помощью отдельного класса, осуществляющего все взаимодействия с БД. Модуль для работы с таблицами БД каждого класса генерируется автоматически на основании данных о наименованиях и типах полей. В нём реализована базовая функциональность для выборки по каждому полю, сохранению, добавлению объекта и прочие. Для реализации дальнейшей логики, проверки корректности данных и других дополнительных функций был использован следующий

подход. Автоматически созданный класс расширяется с помощью наследования. В классе-потомке реализуются дополнительные функции, например, поиск по двум и более полям. Таким образом осуществляется выделение класса в качестве интерфейса-посредника, знающего внутреннюю структуру сущности (таблиц БД) и предоставляющего набор функций для взаимодействия с данными. Такое решение особенно важно в свете возможного дальнейшего расширения набора сущностей, добавления новых свойств и автоматической генерации новых модулей при совместимости с интерфейсным классом, который может быть в дальнейшем постепенно доработан. Отдельные вопросы описанного архитектурного решения рассмотрены в работах [8-10].

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

В результате проделанной работы был создан образовательный минипортал «Виртуальная случайность» http://vtit.kuzstu.ru/stat/ для информационной поддержки курса «Имитационное моделирование экономических систем», реализующий функции как методического пособия, так и простого средства статистического анализа и моделирующего инструмента для получения общих представлений о динамике поведения некоторых экономических систем. Кроме того, портал может служить инструментом взаимодействия преподавателя и студента. С помощью реализованного объектно-ориентированного подхода, разработанной схемы классов и их взаимодействия принципиально возможно решение проблемы информационного веб-обеспечения любого учебного курса.

СПИСОК ЛИТЕРАТУРЫ

1. Интернет-порталы: содержание и технологии: Сб. науч. ст. Вып. 1.- М.: Просвещение, 2003.

2. Нейлор Т. Машинные имитационные эксперименты с моделями экономических систем.- М.: Мир, 1975.

3. Лебедев В.В. Математическое моделирование социально-экономических процессов.- М.: Изо-

граф, 1997.

4. Информационная экономика и управление динамикой сложных систем: Сборник трудов/ под. ред. Иванова Е.Ю., Нижегородцева Р.М.- М.-Барнаул: «Бизнес-Юнитек», 2004.

5. Ермаков С.М., Михайлов Г.А. Статистическое моделирование.- М.: Наука, 1982.

6. Веревкин С.А. Практика разработки унифицированной информационной системы: Молодёжь и современные информационные технологии. Сборник трудов 11-ой Всероссийской научно-практической конференции студентов.- Томск: Изд-во ТПУ, 2004.- С. 116-117.

7. Веревкин С.А. Иерархическая взаимосвязь объектов как основа построения унифицированной информационной системы: Информационные недра Кузбасса: Труды III региональной научнопрактической конференции.- Кемерово: ИНТ, 2004.- С. 205-207.

8. Веревкин С.А. Архитектура системы дистанционного контроля знаний: опыт разработки: Материалы ХЬШ Международной научной студенческой конференции «Студент и научно-технический прогресс»: Информационные технологии.- Новосибирск: Изд-во НГУ, 2005.- С.56-58.

9. Веревкин С.А. Образовательный информационный минипортал «Виртуальная случайность»: Информационные недра Кузбасса: Труды IV Всероссийской научно-практической конференции.- Кемерово: ИНТ, 2005. - С.129-131.

10. Веревкин С. А. Об информационной поддержке курса «Имитационное моделирование экономических систем»: Системы автоматизации в образовании, науке и производстве: Труды V Всероссийской научно-практической конференции.- Новокузнецк: СибГИУ, 2005.- С.327-328.

Авторы статьи:

Веревкин Сергей Анатольевич

- выпускник каф. вычислительной техники и информационных технологий

Пимонов Александр Григорьевич

- докт. техн. наук, проф. каф. вычислительной техники и информационных технологий

УДК 681.3

В.Ф. Шуршев, О.В. Демич

ИСПОЛЬЗОВАНИЕ МЕТОДА САМООРГАНИЗАЦИИ ПОИСКА В ЗАДАЧЕ ПОДДЕРЖКИ ПРИНЯТИЯ РЕШЕНИЯ ПРИ ОПРЕДЕЛЕНИИ КОМПОНЕНТОВ СИСТЕМЫ ЭНЕРГОУЧЕТА

Функциональные характеристики систем энергоучета почти полностью зависят от технических средств - счетчиков, контроллеров, устройств сбора и передачи данных. На сегодняшний день представлено огромное количество этих устройств. Учитывая то, что каждое предприятие предъявляет свои требования и ставит свои цели перед разрабатываемой автоматизированной системой контроля и учета энергоресурсов (АСКУЭ), проектирование систем энергоучета становится трудоемким и занимает на крупных предприятиях не один месяц исследований.

Отсутствие методов проектирования систем энергоучета

и, как следствие, возможности автоматизации процессов принятия решений на начальных этапах проектирования, привело к необходимости разработки

метода и создания автоматизированной системы поддержки принятия решения о выборе технических средств АСКУЭ.

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

Для решения этой задачи, во-первых, необходимо разработать концепцию задачи поиска компонентов АСКУЭ. Во-вторых, нужно разработать метод оптимизации поиска, который подходил бы к особенностям данной задачи: существуют как качественные, так и количественные критерии выбора, множество альтернатив - дискретно, большой объем данных

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

Наилучшие результаты дает совмещение метаэвристических методов и методов локального поиска (точных методов).

Предложен метод многокритериального поиска решений во множестве альтернатив большой мощности - Метод самоорганизации поиска

(МСП). Здесь для нахождения начальных решений применен видоизмененный и дополненный Метод муравьиных колоний (ММК), как наиболее современная метаэвристическая