Scientific journal
Fundamental research
ISSN 1812-7339
"Перечень" ВАК
ИФ РИНЦ = 1,674

MODELING THE OPTIMAL STRUCTURE OF COMPONENTS OF SCIENTIFIC AND EDUCATIONAL ENVIRONMENT

Zhukova S.A. 1
1 Tchaikovsky Technological Institute (branch) of the Izhevsk State Technical University
The article studies a synthesis model of the scientific-educational environment structure that consolidates resources of scientific activity and provides services in the area of computer modeling. The author suggests setting an objective of optimal structure of providing scientific-educational environment with programmes considering criterions of optimization and limitations. Selection of criterions has been carried out according to internal and external indexes of global information systems’ quality: scalability and interoperability. Synthesis of the system structure is carried out according to the mechanism of abstract-directed projection on the basis of classes, packs, and interfaces. The structure is described as a graph G(E,V) where E is elements of the structure (classes and packs), V is relations between the structure elements, dependences between classes and packs. Labour costs for introduction, attachment, and exploitation of the system have been selected as criterion of optimality. Two characteristic groups have been introduced as limitations: external consumer characteristics of the system function (coefficient of readiness, quantity of calculative power for processing an application unit, period of application to algorithm resources); internal characteristics that indirectly define values of external characteristics (number of classes, joints between classes and packs, singularity of implementing a method, number of interfaces, typology of external interfaces and data exchange formats). As a result of achieving the set objective, we have developed a structure of scientific-educational software considering criterions of optimization and limitations. Minimalizing labour costs has been achieved due to cutting relations between classes that are placed in different packs, decrease in relations between unstable classes and other classes, facilitation of unified data formats and interfaces for interaction with external systems. The offered mathematic model of structure synthesis provides for the search for optimal solution according to composition and structure of software components using the mechanism of object-directed projection considering global characteristics of information systems.
common information environment
the global system
the structure of information systems
module
interface
optimization
1. Efimov I.N., Kozlova S.Z., Zhukova S.A. Vestnik Izhevskogo gosudarstvennogo tehnicheskogo universiteta, 2011. no. 3, pp. 192–198.
2. Zhukova S.A., Germanuk D.E. Informatsionie tekhnologi I vichislitelnie systemy, 2011, no. 4, pp. 66–73.
3. Zhukova S.A. Journal of Electronic, 2013, no. 5, available at: http://jre.cplire.ru/jre/may13/9/text.pdf.
4. Ivanov D.., Novikov F. Modelirovanie UML. Teoria, practika, videokurs [Modeling on UML. Theory, practice, video course]. Spb, Nauka i tekhnika , 2010, 640 p.
5. Kuznecov N.A. Metody analiza u sinteza modulnikh system [Methods of analysis and synthesis of modular information management systems]. Moscow, FIZMATLIT, 2002, 538 p.
6. Chernikov B.V., Poklonov B.E. Ocenka kachestva programmnogo obespecheniya [Assessment of the quality of software]. Moscow, INFRA-M, 2012, 400 p.

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

pic_1.tif

Рис. 1. Состав исследовательского пространства

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

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

Синтез структуры системы осуществляется в соответствии с механизмом объектно-ориентированного проектирования на основе совокупности функциональных конструкций – классов и интерфейсов, представляющих собой программные компоненты [4].

Для синтеза оптимальной модульной структуры программного комплекса введем следующие определения:

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

подсистема – это совокупность модулей, объединенных в группу по некоторому признаку. В случае объектно-ориентированного проектирования в качестве подсистем рассматриваются пакеты;

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

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

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

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

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

pic_2.tif

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

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

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

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

Φ(Σ) = Φ(π, γ),

где π – план (решение) для общесистемной части (центра); γ – это план (решение) для вариативной части. Решение π и γ представляют собой графы G(E,V), где E – элементы структуры (программные компоненты); V – связи между элементами структур, описывающие зависимости между модулями. Вес вершины соответствует численным характеристикам модуля, а мощности дуг характеризуют объем передаваемой информации.

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

В качестве ограничений при решении задач синтеза оптимальной структуры системы используем две группы характеристик:

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

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

Значение критериев внешних характеристик определено на основе рекомендаций к типовым глобальным системам и с учетом специфики применения в научной сфере. Значение критериев внутренних характеристик определялось в соответствии с методами оценки характеристик программ на основе объектно-ориентированных метрик Чидамбера, Кемерера и Мартина [6].

Таким образом, задача синтеза оптимальной модульной структуры системы по критерию стоимости разработки, привязки и эксплуатации формулируется как задача оптимизации для системы с частичной централизацией [5]:

gyk01.wmf

где F – целевая функция оптимизации трудозатрат на разработку модулей центра системы; f – целевая функция оптимизации трудозатрат на привязку системы к сервисам внешних систем; xlm – = 1, если l – метод входит в состав m-го модуля; xlm – = 0, в противном случае; Sразm – трудозатраты на разработку m-го модуля (чел./ч); Sинтj – трудозатраты на разработку j-го интерфейса (чел./ч); Sпрn – трудозатраты на привязку n-го модуля внешней системы (чел./ч),

при следующих ограничениях:

– максимальное (M) и минимальное (M`) число методов в классе

gyk02.wmf

– уровень сцепления классов (A), принадлежащих разным пакетам, определяется количеством зависимостей между ними

gyk03.wmf

– уровень сцепления классов k*(A*), являющихся неустойчивыми к изменениям, определяется количеством зависимостей между этими классами с другими

gyk04.wmf

– однократность включения метода в класс

gyk05.wmf

– уровень связности k** классов (A**), обращающихся к компонентам внешних систем, определяется количеством зависимостей между ними

gyk06.wmf

Решением задачи является:

gyk07.wmf

где gyk08.wmf.

χ′ – область определения целевой функции Ф; χ″ – область определения целевой функции f при заданном уровне централизации.

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

Поставленная задача проектирования системы с частичной централизацией решается с использованием метода ограниченного перебора на множестве допустимых вариантов решений χ с учетом установленных ограничений. Синтез оптимальной структуры выполнялся на основе архитектурного анализа, принятого в объектно-ориентированном проектировании, и привязки типового шаблона структуры для веб-приложений.

На этапе анализа исследовательской деятельности определены: сервисы системы – множество U графа обработки данных G0, информационные элементы данных графа G0–D, множество сервисов внешних систем n, с которыми необходимо взаимодействие – Un, множество информационных элементов данных для сервисов множества Un – Dn.

На этапе предварительного проектирования в соответствии с сервисами множества U графа обработки данных G0 определены классы и зависимости между ними, проведена оценка сложности классов и межмодульных интерфейсов, оценка стоимостных характеристик разработки, внедрения, привязки и эксплуатации системы.

В результате решения поставленной задачи разработана структура программного обеспечения научно-образовательной среды с учетом критериев оптимизации и ограничений, описание которой приведено в [2, 3]. Минимизация затрат достигнута за счет сокращения зависимостей между классами, размещенными в разных пакетах, снижение зависимостей неустойчивых классов с другими классами, а также использования унифицированных форматов данных или интерфейсов для взаимодействия с внешними системами, доступных широкому кругу разработчиков. Система удовлетворяет качественным и количественным характеристикам функционирования масштабируемости и интероперабельности.

Рецензенты:

Кураков Ю.И., д.т.н., профессор, заведующий кафедрой «Естественнонаучные дисциплины», ШИ (ф) ЮРГПУ (НПИ) им. М.И. Платова, г. Шахты;

Бельтюков А.П., д.ф.-м.н., профессор, заведующий кафедрой «Теоретические основы информатики», Удмуртский государственный университет, г. Ижевск.

Работа поступила в редакцию 08.11.2013.