Научная статья на тему 'Системная технология, использующая объектно-ориентированный подход'

Системная технология, использующая объектно-ориентированный подход Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
371
88
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
системная технология / объектно-ориентированная модель / иерархический подход / декларативная модель / экспертные знания / методы приятия решений

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Силич Виктор Алексеевич, Силич Мария Петровна

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Technology of carrying out system analysis including regulation, object-oriented methodology of simulating complex systems and support tools, has been proposed. Content of technology principle stages is examined by example of analysis of region power service and development of the program of increasing energy efficiency.

Текст научной работы на тему «Системная технология, использующая объектно-ориентированный подход»

УДК 658.512.011.56:519.87

СИСТЕМНАЯ ТЕХНОЛОГИЯ, ИСПОЛЬЗУЮЩАЯ ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ ПОДХОД

В.А. Силич, М.П. Силич*

Томский политехнический университет *Томский университет систем управления и радиоэлектроники E-mail: [email protected]

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

Ключевые слова:

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

Введение

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

Термин технология (от греч. techne - «искусство, мастерство, умение» и logos - «понятие, учение») широко используется в производственной сфере. Под технологией понимается последовательность согласованных технологических операций в процессе производства продукции. Системная технология призвана стандартизировать и регламентировать процесс системного анализа, т. е. разработку средств разрешения проблемы. В отличие от теории технология основана на четко организованных процессах и предполагает наличие конкретных рекомендаций относительно последовательности этапов разработки, состава работ и используемых процедур, методов и моделей. Системная технология является информационной технологией, т. е. организованной совокупностью методов обработки информации. Использование компьютерных инструментальных си-

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

В данной работе предлагается технология проведения системного анализа, основанная на объектно-ориентированном методе моделирования.

Принципы разработки системной технологии

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

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

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

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

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

В качестве методологии моделирования предлагается использовать объектно-ориентированную методологию OMSD (Object Model for System Design) [2-4], разработанную для принятия решений при анализе и проектировании сложных систем различного назначения. В соответствии с этой методологией модель сложной системы может включать пять видов моделей: компонент, классов, объектов, зависимостей атрибутов и координа-

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

Каждому компоненту системы может быть сопоставлен класс его описания, представляющий собой совокупность атрибутов (параметров, характеристик) и методов (процедур, операций). Типовые классы хранятся в модели классов и образуют иерархию наследования, отражающую родовидовые отношения типа «частное-общее» (kind-of). Классы используются для формирования модели объектов. Под объектом понимается экземпляр (реализация) класса, содержащий конкретные значения атрибутов, дополненные факторами уверенности. Объект описывает конкретное состояние компоненты системы, причем некоторые значения могут являться нечеткими величинами. Для отражения множества вариантов или состояний компоненты (например, в различные моменты времени, в различных точках пространства, в различных условиях) используется мультиобъект - набор экземпляров, выделенных в соответствии с некоторым признаком. Каждому значению признака сопоставляется один экземпляр. Различают три основных типа базовых признаков: время, пространство и группа (population).

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

Рис. 1. Использование принципа декларативности на различных этапах технологии

Модель зависимостей атрибутов

Рис. 2. Составляющие модели системы

используется модель зависимостей атрибутов. Предлагается использовать формализм функциональных сетей параметров [4], позволяющий комбинировать различные способы задания зависимостей, а также реализовывать различные стратегии логического вывода на сети. Основу модели зависимостей атрибутов, таким образом, составляет сеть, вершинами корой являются атрибуты, а дугами - отношения функциональной зависимости. Каждое такое отношение связывает несколько атрибутов-аргументов с одним атрибутом-функцией. Вид функциональной зависимости, определяющий, как именно значение атрибута-функции зависит от значений атрибутов-аргументов, может быть задан либо в виде аналитической формулы, либо в виде множества правил-продукций формата «если - то» (if - then), либо в виде процедуры-функции (например, процедуры фаззификации или дефаззификации, запроса на поиск значения в базе данных, процедуры генерации случайного значения). Модель зависимостей атрибутов используется как для формирования вариантов компоненты системы, так и для выбора оптимальных вариантов. Для согласования вариантов различных компонент друг с другом и с вариантом материнского компонента используется координационная модель, в которой фиксируются отношения зависимости между атрибутами различных компонент.

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

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

Этапы системной технологии

Рассмотрим содержание основных этапов системной технологии, основанной на объектно-ориентированной методологии моделирования.

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

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

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

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

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

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

Рис. 3. Модель системы энергосбережения региона

Плановые и Плановый и Оценки Оценки уровня

фактические фактический прироста по напРавлениям

показатели прирост

Рис. 4. Сеть функциональных зависимостей атрибутов модели оценки уровня энергосбережения региона

В истоках сети располагаются исходные количественные показатели («Энергоемкость ВРП», «Уд. потребление энергоресурсов на душу населения» и т. д.). Поскольку все они измеряются на различных шкалах, то необходимо их нормировать, т. е. каждому исходному показателю сопоставляется «оценочный» индикатор. Для его вычисления были используются относительные величины: фактический и плановый прирост (убыль) значения первичного показателя по отношению к предыдущему году (в %), а также отношение фактического прироста (убыли) к плановому. На основе оценок прироста определяются оценки состояния системы по отдельным направлениям (оценки энергопотребления, энергопотерь, энергонезависимости, реализации энергосберегающей политики) и интегральная оценка с использованием формул аддитивной свертки. Интегральная оценка переводится в качественную оценку в виде лингвистического значения уровня энергосбережения («низкий», «ниже среднего», «средний», «выше среднего», «высокий») с помощью процедуры фаззификации.

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

Для выявления подцелей и оценки их взаимовлияния целей можно построить дерево целей в виде модели зависимостей атрибутов. Атрибутами в данном случае выступают цели (подцели, задачи), а функциональными зависимостями - причинно-следственные связи по типу «средство - цель». Т. о. каждому атрибуту соответствует некоторая цель, для достижения которой нужна реализация ее подцелей (атрибутов, от которых она зависит). На рис. 5 представлен фрагмент дерева целей, построенного для программы повышения энергетической эффективности на территории Томской области. Для того чтобы оценить степень влияния тех или иных подцелей на глобальную цель, т. е. определить приоритеты подцелей, можно использовать метод анализа иерархий. В соответствии с этим методом для каждой группы подцелей, непосредственно подчиненных одной цели, составляется матрица парных сравнений, содержащая степени превосходства подцелей друг над другом.

Этап выработки решений. Основным содержанием этапа является выработка решений для ликвидации проблем, выявленных на этапе анализа, исходя из целей и задач, сформулированных на этапе постановки целей. Разработка осуществляется иерархически. На верхнем уровне осуществляется выработка обобщенного решения (выбор варианта реализации системы в целом в пространстве обобщенных атрибутов), затем решение уточняется на более низких уровнях (осуществляется выбор вариантов реализации отдельных компонент в пространстве более детальных атрибутов). Таким образом, сначала формируется модель компонент (иерархия подсистем и элементов). Иерархия может соответствовать иерархии компонент проблемосо-держащей системы, построенной на этапе анализа, или может быть построена заново, например, в соответствии с целями и задачами, выявленными на этапе постановки целей. Каждой подсистеме сопоставляется класс, в пространстве атрибутов которо-

Условия для реализации потенциала энергосбережения

а2=0,64а6+0,26а7+0Да8

Метод парных сравнений

аб а7 а8 Приоритет

аб 1 3 5 0,64

а7 1/3 1 3 0,26

а8 1/5 1/3 1 0,10

Рис. 5. Дерево целей программы повышения энергетической эффективности

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

Заключение

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

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

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

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

1. Перегудов Ф.И., Тарасенко Ф.П. Основы системного анализа. - Томск: Изд-во НТЛ, 1997. - 396 с.

2. Силич М.П. Системная технология: объектно-ориентированный подход. - Томск: Том. гос. ун-т систем управления и радиоэлектроники, 2002. - 224 с.

3. Силич В.А., Силич М.П. Метод объектного моделирования для проектирования сложных систем // Автоматизация и современные технологии. - 2003. - № 4. - С. 14-21.

4. Силич М.П. Технология разработки целевых программ на основе объектно-ориентированного подхода. - Томск: Том. гос. ун-т систем управления и радиоэлектроники, 2007. - 207 с.

5. Силич М.П., Стародубцев Г.В. Разработка инструментального средства построения интеллектуальных объектно-ориентированных моделей для поддержки принятия решений // Известия Томского политехнического университета. - 2006. -Т. 309. - № 7. - С. 165-169.

Поступила 20.04.2009г.

i Надоели баннеры? Вы всегда можете отключить рекламу.