На правах рекламы:
ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Авторитетность издания

ВАК - К1
RSCI, ядро РИНЦ

Добавить в закладки

Следующий номер на сайте

2
Ожидается:
16 Июня 2024

Автоматизация процессов управления сервис-ориентированными системами

The automation of service-oriented systems management
Статья опубликована в выпуске журнала № 1 за 2011 год.
Аннотация:Важными функциями системного управления являются анализ причин сбоев при работе системы и облегчение процесса принятия управленческих решений. В данной статье обсуждаются вопросы анализа и моделирования рас-пределенных гетерогенных сервис-ориентированных систем. Рассматривается методика анализа таких систем, по-строенная на основе аппарата сетей Петри. Описывается инструментальное средство имитационного моделирования и анализируются сервис-ориентированные системы.
Abstract:The important functions of system management are considered to be the analysis of system failures and decisions support. The article presents an approach to the modeling and analysis of distributed heterogeneous service-oriented systems. The methods of analysis based on Petri nets are discussed. The article also describes a software tool for the simulation, modeling and analysis of service-oriented systems.
Авторы: Сорокин А.Н. (arseny_sorokin@mail.ru) - Вологодский государственный технический университет, кандидат технических наук
Ключевые слова: объектно-ориентированные сети петри, сети петри, имитационное моделирование, сервис-ориентированные системы
Keywords: object-oriented Petri nets, Petri-net, simulation, service-oriented systems
Количество просмотров: 16016
Версия для печати
Выпуск в формате PDF (5.09Мб)
Скачать обложку в формате PDF (1.32Мб)

Размер шрифта:       Шрифт:

По формальному определению специалистов корпорации IBM, сервис-ориентированная архитектура (СОА) – это прикладная архитектура, в которой все функции определены как независимые сервисы с вызываемыми интерфейсами. Обращение к этим сервисам в определенной последовательности позволяет реализовать тот или иной бизнес-процесс.

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

Описание методики

Методика исследования разрабатываемой сервис-ориентированной системы заключается в следующем.

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

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

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

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

Определим основные задачи предлагаемой методики.

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

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

3. Поддержание работоспособности – определение и устранение сбоев при работе системы.

Теоретическое описание

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

Потоки сообщений и заданий в распределенной системе (так называемые workflow- и dataflow-модели) удобно исследовать с применением аппарата P/T сетей Петри [1] и понятия компонента. Каждый сервис будем представлять в виде отдельного модуля со своими входами и выходами. Всякий сервис обладает некоторым набором операций (методов). Интерфейс сервиса представим в виде набора входных мест. Токены в интерфейсных местах интерпретируются как задания (сообщения) на обработку информации, передаваемые сервису по асинхронным каналам связи. При этом надо понимать, что порядок доставки сообщений может отличаться от порядка их посылки. Выходные места сервиса представляют собой передачу потока управления другим сервисам для обработки какой-то информации.

Обозначим сервис как кортеж S=(PI, PO, PINT, TINT, F, M0), где PI – множество входных портов сервиса; PO – множество выходных мест; PINT – множество внутренних мест сервиса; TINT – множество внутренних переходов сервиса; F – отношение инцидентности; M0 – начальная разметка внутренних мест сервиса. При этом кортеж (PIÈPOÈPINT, TINT, F, M0) является обыкновенной сетью Петри.

Модель уровня бизнес-процессов достаточно примитивна и служит лишь для отображения взаимосвязей между различными сервисами. Она не позволяет описать реальный процесс передачи сообщений между сервисами, не предоставляет возможности промоделировать объектно-ориенти­рованные детали реализации сервисов (например, динамическое создание экземпляров сервисов, разделение интерфейса и реализации и т.д.).

Детальный анализ внутренней структуры сервисов и потоков сообщений между сервисами предлагается исследовать с помощью модифицированных объектно-ориентированных G-сетей Петри [2].

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

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

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

Рассмотрим расширение G-сетей, которое позволяет отделять моделирование на уровне классов и на уровне объектов. Идея модификации G-сети состоит в генерации уникального идентификатора для каждого объекта. Вызов метода объекта теперь представим не двух-, а трехэлементным кортежем: ISP(G¢.NID, G¢.Oid, mtd), где NID – идентификатор вызываемой G-сети; Oid – уникальный идентификатор вызываемого объекта; mtd – имя вызываемого метода.

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

Сетью-наследником назовем сеть, которая расширяет (или изменяет) функциональность другой G-сети (базовой сети).

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

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

Сервис-ориентированную SG-систему определим как кортеж SOS=(TS, SS, SI, OS, OI, AS), где TS – набор токенов, динамически генерируемых в течение жизненного цикла системы; SS – набор моделируемых сервисов; SI – набор экземпляров сервисов; OS – набор объектов системы (реализация сервисных операций); OI – набор экземпляров объектов; AS – набор вычислительных агентов, исполняющих G-систему.

Подпись:  Рис. 1. Пример модифицированной G-сети ПетриСервис-ориентированная SG-сеть (сервис) – это кортеж: SG=(SGSP, IS, FM, RM, LMM, NM, OPM, IMD, OMD), где SGSP (Service Generic Switch Place) обеспечивает абстракцию сервиса (представление сервиса для других объектов системы); IS (Internal Structure – внутренняя структура) – модифицированная Pr/T сеть Петри; FM (Factory Module) – модуль обработки фабричных запросов; RM (Registry Module) – реестр экземпляров сервиса; LMM (Lifetime Management Module) – модуль управления жизненным циклом экземпляра сервиса; NM (Notification Module) – модуль обработки уведомляющих сообщений; OPM (Operation Processing Module) – модуль обработки операций сервиса; IMD (Input Message Dispatcher) – модуль обработки входящих сообщений; OMD (Output Message Dispatcher) – модуль обработки исходящих сообщений.

Экземпляр сервиса – это экземпляр SG-сети с уникальным идентификатором. Экземпляр будем представлять как кортеж (SG , Sid, State), где SG – сервис-ориентированная G-сеть; Sid – уникальный идентификатор экземпляра сервиса; State – состояние экземпляра.

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

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

Подпись:  Рис. 2. Структура программного комплекса для моделирования и анализамногокомпонентных системДля анализа расширенных объектно-ориенти­рованных сетей можно использовать модифицированные средства автоматизированного анализа предикатных сетей Петри. Для анализа структурных и поведенческих свойств расширенных объектно-ориентированных G-сетей возможно применение предикатной логики языка Пролог.

Разработка программных средств

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

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

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

Блок загрузки и хранения моделей должен обеспечивать возможность хранения, а также загрузки построенных моделей. Для хранения моделей и отдельных компонентов используется формат PNML (Petri Nets Markup Language), основанный на XML. Для обеспечения хранения предикатных и объектно-ориентированных G-сетей Петри предложено собственное расширение формата PNML с помощью дополнительных тегов.

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

Кроме этого, использование предлагаемой методики и программных средств дает возможность снизить на 20–30 % материальные и временные затраты на внедрение сервис-ориентированной системы за счет предварительного анализа и верификации модели на этапе проектирования, увеличить отказоустойчивость и стабильность распределенной сервис-ориентированной системы за счет возможности оценивать важные характеристики функционирования системы (критические состояния системы, наличие тупиковых ситуаций, среднее время обработки запросов и др.), а также сократить временные затраты на анализ и моделирование распределенных, гетерогенных сервис-ориентированных систем за счет разработанных программных средств.

Литература

1. Котов В.Е. Сети Петри. М.: Наука, 1984. 158 с.

2. Perkusich A. and J. de Figueiredo. G-nets: A Petri Net Based Approach for Logical and Timing Analysis of Complex Software Systems // Journal of Systems and Software, 1997. № 39(1), pp. 39–59.

3. Сорокин А.Н. Расширение аппарата G-сетей Петри с помощью дополнительных объектно-ориентированных механизмов // Образование, наука, бизнес: особенности регионального развития и интеграции: сб. тр. Всеросс. науч.-практич. конф. Череповец: ИМИТ СПбГПУ, 2005. С. 308–312.


Постоянный адрес статьи:
http://swsys.ru/index.php?page=article&id=2720&lang=
Версия для печати
Выпуск в формате PDF (5.09Мб)
Скачать обложку в формате PDF (1.32Мб)
Статья опубликована в выпуске журнала № 1 за 2011 год.

Возможно, Вас заинтересуют следующие статьи схожих тематик: