Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Система VisTrails

Глава 23 из 1 тома книги "Архитектура приложений с открытым исходным кодом".

Оригинал: "VisTrails", глава из книги "The Architecture of Open Source Applications"
Авторы: Juliana Freire, David Koop, Emanuele Santos, Carlos Scheidegger, Claudio Silva, and Huy T. Vo
Дата публикации: 2012 г.
Перевод: Н.Ромоданов
Дата перевода: март 2013 г.

Creative Commons. Перевод был сделан в соответствие с лицензией Creative Commons. С русским вариантом лицензии можно ознакомиться здесь.


23.1. Обзор системы

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

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

23.1.1. Рабочие процессы и системы на базе рабочих процессов

В системах с рабочими процессами (workflow systems) поддерживается создание конвейеров или рабочих процессов (workflows), с помощью которых происходит объединение нескольких инструментальных средств. Как таковые, они позволяют автоматизировать повторяющиеся задачи и повторно воспроизводить полученные результаты. Рабочие потоки являются скриптами командных оболочек, в которых можно быстро аенять примитивы. Они предназначены для решения широкого спектра задач, о чем свидетельствует ряд приложений, в которых применяются рабочие процессы, причем как коммерческие (например, Apple Mac OS X Automator и Yahoo! Pipes), так и академические (например, NiPype, Kepler и Taverna).

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

Такая упрощенная модель программирования позволяет системам на базе рабочих процессов использовать интуитивно понятный визуальный интерфейс программирования, что делает их более удобными для пользователей, не обладающих существенным опытом программирования. Рабочие процессы также имеют понятную структуру: их можно изображать в виде графов, в которых узлы представляют собой процессы (или модули) вместе с их параметрами, а с помощью ребер представлен поток данных между процессами. В примере на рис.23.1 модуль CSVReader получает в качестве параметра имя файла (/weather/temp_precip.dat), читает файл, и передает его содержимое в модули GetTemperature и GetPrecipitation, которые, в свою очередь, отправляют значения температуры и осадков в функцию matplotlib, с помощью которой создается график разброса значений.

Большинство систем с рабочими потоками предназначены для конкретных областей применения. Например, назначение системы Taverna — рабочие процессы из области биоинформатики, а система NiPype позволяет создавать рабочие потоки для нейровизуализации. Хотя в системе VisTrails поддерживается большинство функциональных возможностей, предоставляемых другими системами с рабочими потоками, в ней, система VisTrails благодаря тому, что в ней интегрировано большое количество инструментальных средств, библиотек и сервисов, разработана для поддержки исследовательских задач общего назначения из широкого спектра областей применения.

23.1.3. Информация о происхождении данных и рабочих процессов

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

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

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

Рис.23.2: Информация о происхождении данных, снабженная аннотациями

23.1.3. Пользовательский интерфейс и базовые функциональные возможности

На рис.23.1 и рис.23.2 показаны различные компоненты пользовательского интерфейса системы. Пользователи с помощью редактора рабочих процессов Workflow Editor создают и редактируют рабочие процессы.

Чтобы создавать графы рабочих процессов, пользователи могут перетаскивать модули из реестра модулей Module Registry в канвас редактора рабочих процессов Workflow Editor. В системе VisTrails предложены наборы встроенных модулей, а пользователям также разрешается добавлять свои собственные модули (подробности смотрите в разделе 23.3). Когда модуль выбран, система VisTrails отображает его параметры (в области редактирования параметров Parameter Edits), и пользователь может задать их значения или их изменить.

По мере того, как спецификация рабочего процесса уточняется, система сохраняет изменения и представляет их пользователю для просмотра в окне дерева версий Version Tree View, которое будет описано ниже. Пользователи могут взаимодействовать с рабочими процессами и результатами их работы через таблицу VisTrails Spreadsheet. Каждая ячейка таблицы представляет собой окно, которое соответствует некоторому экземпляру рабочего процесса. На рис.23.1 результаты работы рабочего процесса показаны в редакторе рабочих процессов Workflow Editor, который показан в верхней левой ячейке таблицы. Пользователи могут либо напрямую изменять параметры рабочего процесса, либо синхронизировать их с содержимым различных ячеек электронной таблицы.

Окно дерева версий Version Tree View помогает пользователям переходить от одних версий рабочего процесса к другим. Как видно на рис.23.2, пользователь, щелкнув мышкой по узлу в дереве версий, может увидеть рабочий процесс, связанный с ним результат (режим предварительного просмотра Visualization Preview) и метаданные. Некоторые из метаданных сохраняются автоматически, например, идентификатор пользователя, который создал конкретный рабочий процесс, и дата его создания, но пользователи также могут предоставлять дополнительные метаданные, в том числе заполнить тег, идентифицирующий рабочий процесс, и ввести его текстовое описание.

Рис.23.3: Архитектура системы VisTrails


Далее: 23.2. История проекта