Математико-механический факультет Кафедра системного программирования Сервис для моделей оптимизации на основе рекуррентных алгоритмов




Скачать 389.32 Kb.
НазваниеМатематико-механический факультет Кафедра системного программирования Сервис для моделей оптимизации на основе рекуррентных алгоритмов
страница3/6
Дата17.04.2013
Размер389.32 Kb.
ТипЗадача
1   2   3   4   5   6

Глава 2. Сервис рекуррентных алгоритмов RecService


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

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

Таким образом, компонент может иметь свойства и самостоятельно вызывать другие компоненты для решения возникающих в ходе вычисления подзадач. Иначе говоря, компоненты соединяются направленными каналами передачи информации, обычно – в векторной либо скалярной форме. Абстракции компонента и канала ничем не отличаются принципиально от принятых в -calculus [30] понятий канала и агента. Сложные многокомпонентные модели, прежде чем быть реализованными в данном сервисе, могут верифицироваться средствами -calculus. Для задания многоагентных моделей в рамках сервиса c участием нескольких внешних агентов необходимо интеграция с каким-нибудь средством исполнения бизнес-процессов.

Вычисление в рамках замкнутой системы невозможно без инициатора, который контролирует переход от шага n к шагу n+1. Иногда такой компонент называют delay, задержка, так как между последовательными шагами процесса должно пройти время. Он важен для полностью автономных систем. Если к процессу подключена внешняя система, то ее обращения к веб-службе и являются индикатором перехода к следующему шагу. В данной версии RecService можно осуществить подключение системы, участвующей в процессе (не мониторинг), только в рамках одного компонента. Поэтому не возникает необходимости поддержания сложного потока работ. В будущем, если с помощью RecService будут решаться действительно сложные задачи, возможно использование внешнего средства для выполнения потока работ.

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

Для реализации выбран язык программирования Java. В реализации каждой задаче соответствует интерфейс, каждому компоненту - класс. Связи между компонентами реализуются через внедрение ссылок на объекты, реализующие интерфейсы необходимых компоненту подзадач, с помощью Spring Framework [31].

Хранение данных реализовано на основе Hibernate 3.0 Core [11], используется база данных HSQL DB. Для каждого компонента задается дескриптор (mapping) в формате Hibernate, определяющий сопоставление свойств объекта полям таблицы реляционной базы данных. В дескрипторах свойства-ссылки на внешние компоненты помечены атрибутом lazy=false, что означает загрузку и сохранение данных о связях в рамках одной транзакции базы данных. При необходимости выполнения метода определенного компонента, он извлекается из базы данных, затем сессия закрывается и производятся необходимые вычисления. После этого объект сохраняется в новой сессии. Разделение транзакций взятия компонента и его сохранения позволяет производить расчеты значительное время. Впоследствии развитием RecService может стать система, отсылающая вычислительно сложные задачи в грид.

Координирующим средством для всего сервиса является фреймворк Spring. Основной чертой Spring признана удобная реализация dependency injection-паттерна[9], используемого в RecService при инициализации процесса и обмене сообщениями с внешними участниками процесса. В приложении 1 приведен xml-файл с описанием задач и компонентов (их свойств и связей) для модели вводного примера из главы 3. Таким синтаксисом описывается инициализация процесса, а также изменения свойств компонентов в силу реакции внешней системы.

За общение с внешними участниками отвечает модуль коммуникации. Он реализован на основе Spring-WS, удобном средстве генерации contract-first веб-служб, что означает создание службы на основе wsdl-дескриптора, что позволяет сделать его как можно более простым и обеспечить высокую независимость интерфейса и реализации. Сообщения сервису могут быть трех типов: инициировать процесс по передаваемой модели, продолжить процесс, остановленный на стадии обмена данными с внешней системой, закончить процесс и удалить сведения о нем из базы данных сервиса.

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

Язык описания компонентов и задач



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

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

Задача задается парой <S,M>, где S – это семантическое описание, хранящееся в информационной системе и понятное человеку, а M - формальное описание. M является конечным набором методов вида
{(ik->ok)} где ik,ok – (упорядоченные) списки входных и выходных параметров. Естественной аналогией и средством реализации задачи для коллекции компонентов RecService является интерфейс.

Компонент – это средство решения задачи, то есть реализация функциональности, необходимой для исполнения модели. Компонент является исполняемым модулем, написанным на языке программирования, имеет открытые методы, обладает состоянием и поведением. Задается компонент четверкой <I,T,F,P>, где I – набор упорядоченных списков параметров для инициализации компонента, T – набор задач, решаемых компонентом, вместе с сопоставлением {(ikl->i’kl,okl->o’kl)} для ikl,okl – параметров метода k задачи l и i’k,o’k – параметров метода k компонента, соответствующего k-му методу задачи l.

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

Модель задается сильно связным направленным графом G=<V,B> где каждому - множества вершин – соответствует задача RecService, каждому - множества ребер – компонент RecService.
1   2   3   4   5   6

Похожие:

Математико-механический факультет Кафедра системного программирования Сервис для моделей оптимизации на основе рекуррентных алгоритмов iconПетербургский Государственный Университет Математико-Механический Факультет Кафедра Системного Программирования
Сравнение различных методов хранения xml в реляционных базах данных и в разных системах
Математико-механический факультет Кафедра системного программирования Сервис для моделей оптимизации на основе рекуррентных алгоритмов iconМатематико-механический факультет Кафедра системного программирования «Мультиагентные платформы и их применение в сетевых задачах»
Мас концентрируют все необходимые для таких технологий свойства с наибольшей выразительностью и полнотой. Результаты внедрения агентных...
Математико-механический факультет Кафедра системного программирования Сервис для моделей оптимизации на основе рекуррентных алгоритмов iconМатематико-механический факультет Кафедра системного программирования Генерация веб-сервисов C#. net на основе bpel
Задача кодогенерации веб-сервисов возникла в рамках проекта «К700». «К700» — это проект создания рабочих мест оператора и инженера...
Математико-механический факультет Кафедра системного программирования Сервис для моделей оптимизации на основе рекуррентных алгоритмов iconМатематико-механический факультет Кафедра системного программирования Поддержка структурных изменений в процессах загрузки данных
Исследование необходимости поддержки структурных изменений в источниках данных 35
Математико-механический факультет Кафедра системного программирования Сервис для моделей оптимизации на основе рекуррентных алгоритмов iconМатематико-механический факультет Кафедра системного программирования Разработка системы сравнения производительности субд
Существует большое количество разнообразных субд (Система управления базами данных), предназначенных для разных задач, однако обычно...
Математико-механический факультет Кафедра системного программирования Сервис для моделей оптимизации на основе рекуррентных алгоритмов iconМатематико-механический факультет Кафедра системного программирования Разработка jre на ecma cli
Виртуальная машина, включая сборщик мусора и jit компилятор, является наиболее крупным монолитным компонентом среды управляемого...
Математико-механический факультет Кафедра системного программирования Сервис для моделей оптимизации на основе рекуррентных алгоритмов iconМатематико-механический факультет Кафедра системного программирования Создание режима быстрого прототипирования в case-системе qreal
Использование различных видов диаграмм и сущностей позволяет пользователям наглядно и подробно описать необходимые модули и поведение...
Математико-механический факультет Кафедра системного программирования Сервис для моделей оптимизации на основе рекуррентных алгоритмов iconМатематико-механический факультет

Математико-механический факультет Кафедра системного программирования Сервис для моделей оптимизации на основе рекуррентных алгоритмов iconМатематико-механический факультет

Математико-механический факультет Кафедра системного программирования Сервис для моделей оптимизации на основе рекуррентных алгоритмов iconМатематико-механический факультет

Разместите кнопку на своём сайте:
Библиотека


База данных защищена авторским правом ©lib.znate.ru 2014
обратиться к администрации
Библиотека
Главная страница