Содержание к диссертации
Введение
Глава 1. Обзор предметной области, существующих подходов и программных средств 10
1.1. Понятие сетевой модели 10
1.2. Проблематика применения методов сетевого моделирования 11
1.3. Области применения сетевых моделей 15
1.4. Общая схема реконструкции и анализа сетевых моделей сложных систем 16
1.5. Понятие и проблематика генных сетей 24
1.6. Понятие и проблематика экологических сетей 32
1.7. Обзор программных средств реконструкции сетевых моделей 35
1.7.1. Общая характеристика существующих программных средств 36
1.7.2. Обзор системы GeneNet 43
1.7.3. Анализ методов и средств интеграции биологических данных 49
Глава 2. Анализ требований 55
2.1. Краткая формулировка основных требований и ограничений 55
2.2. Представление данных 57
2.2.1. Семантика онтологии и метамодели 58
2.2.2. Функциональность метамодели 63
2.3. Интеграция внешних информационных ресурсов 67
2.4. Представление сетевых моделей 71
2.5. Визуальная реконструкция сетевых моделей 75
2.6. Расширяемость и адаптивность 80
2.7. Контроль доступа к данным 81
Глава 3. Архитектура и реализация 83
3.1. Анализ способов реализации требований 83
3.1.1. Способы реализации метамодели 84
3.1.2. Прототипная реализация метамодели 86
3.1.3. Прототип подсистемы интеграции данных 89
3.1.4. Оптимизация производительности подсистемы интеграции данных 90
3.1.5. Выбор технологической базы для визуального редактирования сетевых моделей .93
3.2. Общая архитектура системы 95
3.3. Метамодель 98
3.3.1. Структура основной метамодели 98
3.3.2. Метамодель для представления сетей 105
3.4. Реализация требований 110
3.4.1. Методика интеграции данных 110
3.4.2. Транзакционные операции и удаленный программный интерфейс 114
3.4.3. Контроль доступа к данным 119
3.5. Язык запросов 123
3.6. Программная реализация 130
3.6.1. Подсистема MetaBase 130
3.6.2. Подсистема Araneus 136
3.6.3. Редактор онтологии 143
Глава 4. Практическое использование 144
4.1. Объединение баз данных в области молекулярно-генетических систем 144
4.1.1. Постановка задачи 144
4.1.2. Онтология 148
4.1.3. Заключение 157
4.2. Визуальная реконструкция генных сетей 158
4.3. Программная среда для моделирования эволюции популяций одноклеточных, организмов 161
4.4. Задачи сетевого моделирования экосистем 164
Заключение 173
Литература 175
- Проблематика применения методов сетевого моделирования
- Интеграция внешних информационных ресурсов
- Выбор технологической базы для визуального редактирования сетевых моделей
- Программная среда для моделирования эволюции популяций одноклеточных, организмов
Введение к работе
Под сетевыми моделями будем понимать ориентированные графы, отражающие структурные и функциональные характеристики моделируемой системы и представляющие их в терминах вершин и дуг графа. Вершины и дуги типизированы и могут характеризоваться определенными признаками, свойствами и величинами различной природы.
На сегодняшний день сетевое моделирование сложных систем различной природы является одним из наиболее эффективных, наглядных и универсальных способов изучения их структурно-функциональной организации. Этот подход успешно применяется во многих областях, таких как проектирование программного обеспечения, схемотехника, планирование и оптимизация бизнес-процессов и т.д.
Сетевое моделирование наиболее эффективно при условии использования средств компьютерной поддержки. В первую очередь это средства визуального моделирования, позволяющие наглядно представлять для пользователя, дополнять и модифицировать модель, а также различные средства анализа и симуляции. Разработка такого программного обеспечения стала возможна только в последние 10-15 лет вследствие развития информационных технологий и соответствующих аппаратных средств. Это в свою очередь явилось стимулом для развития самого подхода и его практических приложений.
Одна из областей применения сетевых моделей — это исследование биологических систем, по своей природе являющихся сложными. Сетевая модель биологической системы позволяет изучать ее в комплексе, учитывая непрямые и неочевидные влияния одних элементов на другие, выявлять значимые функциональные элементы и т.д. Например, применительно к молекулярно-генетическим системам, таким способом может исследоваться функционирование организмов на уровне молекулярных и суб-молекулярных элементов (генов, белков) в различных условиях in silico и без постановки дорогостоящих экспериментов in vitro, планироваться такие эксперименты,
изучаться воздействие лекарственных препаратов, проектироваться трансгенные организмы с целевыми свойствами.
Наиболее трудоемкой стадией сетевого анализа биологических систем является реконструкция сетевой модели. Типичные размеры таких моделей для молекулярно-генетических систем — от сотен до десятков тысяч элементов. Трудоемкость обусловлена необходимостью извлечения информации из большого количества публикаций и баз данных, причем в большинстве случаев это ручная работа. Данные разнородны, не полностью структурированы, представлены в различных форматах, имеют различную семантику. Часто в данных встречаются ошибки, пробелы противоречия между различными источниками. Вследствие чего их сбор и обработка требует значительных трудозатрат.
Таким образом, актуальна задача автоматизации процесса реконструкции сетевых моделей с помощью средств компьютерной поддержки. Такая автоматизация избавит исследователя от части рутинной работы и повысит эффективность исследований, в частности, при решении вышеперечисленных задач.
Цель работы
Целью работы является разработка методов и средств компьютерной поддержки, направленных на автоматизацию и повышение эффективности реконструкции сетевых моделей сложных биологических (молекулярно-генетических, экологических) систем.
Молекулярно-генетические системы рассматриваются, как основной объект исследования, на котором отрабатываются все принципы и методы и реконструкции. Далее методика обобщается и переносится на экологические системы.
Для достижения поставленной цели в работе решаются следующие задачи: анализ проблематики предметной области и потребностей пользователей с целью формулировки требований к программному обеспечению, предназначенному для поддержки реконструкции сетевых моделей;
разработка методов универсального компьютерного представления и
реконструкции сетевых моделей сложных биологических систем,
обеспечивающих эффективный ввод, верификацию и хранение такого рода
данных, а также настраиваемых на проблематику решаемых прикладных
задач;
разработка методов централизованного структурированного поиска
данных об элементах молекулярно-генетических систем во внешних базах
данных и других структурированных источниках, основанных на их
семантической интеграции;
разработка архитектуры программного обеспечения, основанного на
созданных методах универсального представления биологических данных,
их семантической интеграции, а также реконструкции сетевых моделей;
реализация программного обеспечения, позволяющего осуществлять
структурированный централизованный поиск данных по расширяемому
набору внешних источников информации с целью повышения
эффективности процесса сбора первичных данных для реконструкции
сетевых моделей;
реализация универсального программного обеспечения для визуальной
реконструкции сетевых моделей биологических систем, настраиваемого на
проблематику различных задач, связанных с моделированием
молекулярно-генетических и экологических систем;
настройка и адаптация разработанных программных средств для решения
следующих прикладных задач:
о интеграция ряда баз данных по элементам молекулярно-генетических систем и их сетевым моделям;
о реконструкция сетевых моделей молекулярно-генетических систем;
о реконструкция сетевых моделей экосистем на примере иксодовых клещей.
Методы исследования
Для разработки методов представления и реконструкции сетевых моделей, а также проектирования программных средств применяется объектно-ориентированная методология, включая методы объектно-ориентированного анализа предметной области и архитектуры, проектирования и программирования. Для оптимизации производительности операций поиска и интеграции данных применяется реляционная алгебра, методы проектирования баз данных, в частности объектно-реляционного отображения. Также используется методы семантической интеграции структурированных данных (data warehousing) и методы представления онтологии.
Научная новизна
В работе получены следующие новые научные результаты.
Разработана и применена методика анализа требований к ПО для задач с нечетко определенной терминологической базой. В предложенной методике в первую очередь рассматриваются требования к представлению данных, включая требования к метамодели, отражающей семантику поддерживаемых онтологии. Далее, функциональные требования формулируются в терминах метамодели. Стандартная методика, напротив, рассматривает в первую очередь функциональные требования, которые выражаются в терминах рассматриваемой предметной области.
Разработаны и реализованы в виде программного приложения, методы, обеспечивающие визуальную реконструкцию сетевых моделей биологических систем на основе задаваемой пользователем онтологии. Обеспечивается адаптивность под различные виды биологических систем (молекулярно-генетические и экологические) и строгая типизация вершин. Строгая типизация необходима для дальнейшего применения методов компьютерного анализа к реконструированной сетевой модели, в том числе проблемно-ориентированных, требующих биологической интерпретации входных данных. Наиболее распространенные аналоги (Cytoscape, CellDesigner, GeneNet) либо работают с
фиксированной моделью предметной области, либо не обеспечивают необходимого уровня типизации данных.
3. Разработаны методы и основанные на них программные средства,
обеспечивающие семантическую интеграцию слабоструктурированных
биологических данных. В отличие от существующих аналогов (K2/Klesli,
Biomediator) используется предварительная интеграция и индексация данных на
основе онтологии, что обеспечивает:
высокую производительность при выполнении запросов, не зависящую от качества канала связи с внешними источниками;
идентификацию синонимичных объектов из различных источников, противоречий и пробелов в информации, а также возможность контроля релевантности источников.
4. Разработан язык запросов, обеспечивающих поиск данных,
представленных в рамках разработанной метамодели. Принципиальным
отличием от SQL-подобных языков является поддержка критериев запросов
относительно многозначных (неатомарных) свойств.
Практическая значимость
Разработанное программное обеспечение для реконструкции сетевых моделей внедрено:
Для реконструкции сетевых моделей молекулярно-генетических систем в Институте цитологии и генетики СО РАН (ИЦиГ). Используется в качестве клиентской части ранее эксплуатируемой системы.
Для реконструкции сетевых моделей экосистем в ИЦиГ и Новосибирском госуниверситете (НГУ). Применяется для решения задач, связанных с построением универсальной базовой онтологии экосистем, а также задач моделирования ряда экосистем.
Для поиска данных по элементам молекулярно-генетических систем во внешних базах данных в ИЦиГ. Обеспечивается интеграция 7-ми баз.
Структура диссертации
В главе 1 описывается проблематика реконструкции сетевых моделей биологических систем, приводится обзор существующих программных решений, а также рассматривается ряд методов и технологий, необходимых для дальнейшего изложения. Глава 2 посвящена анализу требований к разработанному программному обеспечению. В ней предлагается методика анализа требований, учитывающая специфику данной работы. Далее в соответствии с этой методикой приводятся обоснование и описание основных групп требований (поддержка онтологического описания, манипуляция данными, пользовательский интерфейс для визуальной реконструкции и др.). В главе 3 в соответствии с приведенными требованиями описывается архитектура и основанное на ней программное обеспечение. Обосновывается выбор архитектурных и технических решений, приводятся структура и функциональные особенности метамодели, метод семантической интеграции данных, описание разработанного языка запросов. В последней главе рассматривается практическое использование разработанных методов и программных средств на примерах решения ряда прикладных биологических задач.
Проблематика применения методов сетевого моделирования
Как уже отмечалось, сетевая модель может быть построена для любой системы, которую можно рассматривать, как совокупность объектов, находящихся в определенных структурных и/или функциональных отношениях. Термин «объект» здесь употребляется в широком смысле и не обязательно обозначает некоторую атомарную сущность, имеющую четкие границы. Например, применительно к молекулярно-генетическим системам в качестве объектов зачастую рассматриваются не отдельно взятые молекулы (в этом случае модель получится слишком обширной), а совокупности одинаковых молекул, равномерно распределенные в определенных объемах (компартментах).
Для того чтобы оценить область возможного применения сетевых моделей рассмотрим одну из методологий, базирующуюся на них — объектно-ориентированную (ОО) методологию проектирования и разработки программного обеспечения. Типы вершин сетевой модели аналогичны классам в ОО-методологии, вершины — объектам, также выделяется несколько видов связей, как структурных, так и функциональных. Каждый объект характеризуется (1) определенным состоянием, структура которого определяется классом, (2) уникальностью, т.е. возможностью отличить его от другой модели, и (3) поведением [2]. Первая и вторая характеристики присущи любой методологии, использующей сетевые модели, поведение же является спецификой ОО-методологии. На основе этой методологии создано множество методик разработки ПО [3, 4, 5], рассматривающие различные стадии процесса разработки, действующих лиц, артефакты, методы планирования и оценки.
С технической точки зрения ОО-методология является одним из примеров успешного применения технологии сетевого моделирования. Она является парадигмой программирования, применяемой в большинстве проектов в современной индустрии производства программного обеспечения.
Отметим также, что разработка любого программного продукта так или иначе связана с моделированием некоторой реальной системы. Учитывая, что ОО-методология, по сути, является методологией сетевого анализа, а также что современная ИТ-индустрия охватывает весьма широкий спектр областей человеческой деятельности, можно оценить масштаб потенциального применения сетевых моделей.
На практике любая методология, связанная с сетевым моделированием и анализом, эффективна только при использовании средств компьютерной поддержки. Применительно к ОО-методологии такими средствами являются различные CASE-системы (Computer-Aided Software Engineering), как например IBM Rational Software Architect [6], Jude [7] и среды программирования (MS Visual Studio, Eclipse). Применительно к другим инженерным областям (например, схемотехнике) также существуют программные продукты. Отметим, что разработка таких продуктов является весьма дорогостоящей, при этом большинство из них имеет весьма узкую специализацию. Следствием является то, что их разработка ведется в первую очередь для тех областей, где их применение может иметь непосредственный экономический эффект. По этой причине научные и околонаучные области знаний не поддержаны такими разработками, так как рентабельность их, как правило, низка. Дополнительным отрицательным фактором при разработке продуктов, связанных с сетевым моделированием и анализом в таких областях знаний является то, что предметная область не всегда четко определена, непрерывно меняется и сама часто является предметом исследования. Программные же продукты, как правило, строятся на основе очень четкой и формализованной модели предметной области.
Одним из выходов из этой ситуации, который, как правило, реализуется на практике, является разработка такого рода программ отдельными исследовательскими группами для собственных нужд. Такие программы постоянно модифицируются в процессе накопления знаний в данной области (либо заменяются новыми). Накладные расходы таких разработок, связанные с их сопровождением, весьма высоки. Экономический фактор усугубляется тем, что исследователи редко являются профессиональными программистами. Кроме того, качество таких программ редко приближается к уровню коммерческих программных продуктов, использование их другими исследовательскими группами практически невозможно.
Другим способом разрешения данной проблемы является разработка универсальных программных средств сетевого анализа, которые можно было сравнительно легко адаптировать под различные предметные области. В общем случае эта проблема представляется практически неразрешимой. Например, сложно себе представить универсальный метод моделирования динамики системы, который бы можно было легко настроить под любые необходимые задачи. То же самое можно сказать про большинство количественных методов анализа, так или иначе затрагивающих поведенческие аспекты системы. Однако можно выдвинуть тезис о возможности, как минимум, частичного решения задачи разработки универсальных средств такого рода. Подтвердим этот тезис на примере следующих рассуждений.
Отметим еще раз, что сами по себе сетевые модели не требуют полного описания поведения своих элементов, являясь качественными по своей природе. Сетевые модели в разных областях отличаются различными типами возможных вершин и связей. Если программное средство предоставляет механизм описания типов вершин и связей, и в соответствии с таким описанием в дальнейшем позволяет строить сетевые модели, оно может рассматриваться как универсальное.
На текущий момент существует ряд языков позволяющих описывать модели предметных областей или онтологии, а также соответствующие средства компьютерной поддержки (средства редактирования, трансляторы на языки программирования и схемы баз данных, синтаксические анализаторы). Наиболее известные из таких языков - Unified Modeling Language (UML) [1], XML-Schema [8], Web Ontology Language (OWL) [9]. С их помощью можно описывать схемы данных практически любой сложности, включающие как качественные, так и количественные характеристики.
Интеграция внешних информационных ресурсов
Одной из функций, которая может существенно упростить трудоемкость процесса сбора первичных данных является возможность централизованного поиска информации во внешних структурированных источниках, т.е. в первую очередь базах данных. Решение такой задачи требует интеграции данных. Поддержка структурированных запросов требует семантической интеграции [35].
В главе 1 были рассмотрены основные подходы, применяющиеся при интеграции биологических баз данных. На основе приведенного анализа был обоснован выбор подхода, известного как data warehousing. Суть его заключается в том, что данные из всех интегрируемых баз (или других источников) физически объединяются в рамках одного информационного ресурса с заданной онтологией. При этом интеграция необходима в первую очередь для тех данных, которые в дальнейшем будут использоваться при построении запросов. Интеграция, происходит с использованием метамодели, требования к которой были сформулированы ранее. Это позволяет без модификации- программного кода системы включать в нее дополнительные внешние базы.
Выделяются- две основные группы требований, связанных с интеграцией баз данных. Первая, группа отвечает за формирование запросов к базе и формулируется относительно пользователя. Эти требования получены на основе анализа-потребностей пользователей в поиске элементов сетевых моделе&МГС2 при их- реконструкции. Необходимость поддержки структурированных запросов обусловлена в первую очередь использованием критериев, которые формулируются относительно нескольких объектов, связанных ссылками. Отметим, что большинство биологических баз позволяют ограниченно использовать даже собственные внутренние ссылки в запросах, не говоря уже о навигационных ссылках между различными базами.
Вторая группа содержит требования, связанные с процессом интеграции баз и в качестве пользователей здесь выступают разработчик и администратор данной системы. Требования обусловлены: (1) выбранным подходом к интеграции (data warehousing); (2) необходимостью расширения набора интегрируемых источников; (3) характеристиками интегрируемых источников данных.
Требования к формированию запросов: Должна быть обеспечена поддержка структурированных запросов. Запросы строятся на основе заданной онтологии. Типы элементов и свойства (в том числе — ссылочные) могут быть использованы при формировании критериев запроса. Должны поддерживаться запросы, критерии которых формулируются относительно нескольких объектов, связанных ссылками (типичный пример - поиск взаимодействия по заданным именам входных и выходных объектов).
Результатом запроса всегда является набор объектов заданного в формулировке запроса типа и удовлетворяющих критериям запроса. При этом, если на стадии интеграции два или более объектов из различных источников были признаны эквивалентными, то они рассматриваются как один объект, содержащий всю совокупность данных из своих источников. При проверке критериев запроса учитывается вся эта информация.
Результаты запроса должны содержать данные обо всех первичных источниках информации. Другими словами, должна быть обеспечена возможность определить,происхождение любого значения свойства объекта. Это требование необходимо для контроля достоверности данных, что в свою очередь является одной из ключевых проблем при реконструкции сетевых моделей МТС.
При построении запросов должна быть предусмотрена возможность фильтрации данных по источникам. Это необходимо, например, для контроля уровней доверия к различным информационным источникам, интегрированным в систему.
Требования к интеграции данных: Набор интегрируемых источников данных должен быть расширяем — это одно из ключевых требований, определяющее архитектуру системы интеграции. С учетом того, что форматы представления существующих баз различны, система не может взаимодействовать с произвольным источником напрямую. Для каждого интегрируемого источника необходимо разработать периферийную по отношению к системе компоненту, назовем ее «драйвер». Драйвер предоставляет системе данные, представленные в унифицированном формате и соответствующие онтологии, то есть фактически его основное назначение - преобразование данных. Таким образом, с точки зрения системы интеграции информационный ресурс — любая внешняя сущность, для которой ей предоставлен драйвер. Типично это база данных или набор относительно структурированных данных. Однако это может быть, например, и полнотекстовый документ из которого драйвер извлекает структурированные данные посредством text-mining, лингвистического анализа или других методов.
Интеграция данных из внешнего источника происходит на основе драйвера этого источника и заданной онтологии. Посредством драйвера происходит преобразование формата данных, далее на основе критериев эквивалентности происходит поиск эквивалентных объектов. Критерий эквивалентности задается отдельно для каждого типа элементов в онтологии. Все найденные объекты, в зависимости от настроек системы, могут быть либо объединены автоматически (посредством универсального механизма, не зависящего от драйвера) либо в интерактивном режиме при участии пользователя (администратора) посредством соответствующего пользовательского интерфейса. Для каждого значения свойства (минимальная единица информации, имеющая ценность для пользователя) должна быть сохранена информация о его происхождении, по которой однозначно можно восстановить источник исходных данных. Допускается, что одно значение может быть подписано более чем одним источником. Не допускается значений без источников. Таким образом, типичный сценарий интеграции нового источника в систему состоит из следующих этапов
Выбор технологической базы для визуального редактирования сетевых моделей
При разработке редактора сетевых моделей наиболее трудозатратной частью является визуализация сетевых моделей. С точки зрения реализации эта функциональность сводится к использованию интерактивной векторной графики для визуализации достаточно большого количества графических объектов. Это обусловлено, во-первых, сложностью самих сетевых моделей, во-вторых, тем, что для визуализации элемента сетевой модели используется несколько графических векторных примитивов, таким образом, общее число примитивов для отдельных сетей может достигать 10 и более. Были исследованы несколько программных библиотек, предоставляющую такую функциональность.
При реализации GeneNet был использована специализированная библиотека для визуализации векторной графики. Для сетей порядка 1000 элементов перерисовка сети при перемещении элемента занимала до нескольких секунд, что не удовлетворяло требованиям интерактивности. Были предприняты попытки использовать ее для разработки редактора сетевых моделей экосистемы (где оценочной количество элементов на порядок меньше), однако отсутствие документации, неочевидный программный интерфейс и ряд внутренних ошибок привели к необходимости от этой библиотеки отказаться. Ранее пришлось отказаться от повторного использования других компонент GeneNet ввиду жесткой архитекторы и сложности адаптации для реализации предъявленных требований. На основании этого было принято решение о разработке редактора сетевых моделей без использования технологической базы GeneNet.
В качестве основного языка разработки был выбран Java (версии 1.4 на тот момент, далее 1.5 и 1.6). Основные критерии выбора: простота кода (в сравнении с C++) и мультиплатформенность (в сравнении с языками .NET). Сравнительная простота языка уменьшает трудозатраты на разработку и отладку, что существенно в данной работе. Кроссплатформенность не входит в число базовых требований, однако повышает конкурентные характеристики продукта. Известно, например, что существенная часть потенциальных пользователей, в том числе и отечественных, используют ОС на базе Linux и вследствие этого не могут использовать платформу .NET.
В качестве инструментария для Java (помимо Java SDK) была выбрана система Eclipse [59]. Библиотека DRAW2D в составе Eclipse была протестирована на производительность и показала адекватные результаты. При 2000 вершин, представленных одиночными графическими примитивами и средней степени инцидентности 10 (итого 12000 примитивов) перерисовка, вызванная перемещением отдельных вершин, происходила без видимых задержек. Тестирование происходило на ЭВМ, которая по современным меркам является устаревшей для рабочей станции (Intel Р4 на базе 865 чипсета, 1 ГБ ОЗУ).
На основе исследования были приняты следующие решения, существенные для проектирования и реализации: использование языка Java; использования набора библиотек Eclipse для визуализации. На основе требований, изложенных в главе 2, а также проведенных исследований была разработана архитектура системы [60]. На рисунке Рис. 3.2 представлена ее общая компонентная модель. Синим цветом отмечены ключевые модули системы, включая программные интерфейсы.
MetaModel (метамодель) — пакет системы, задающий стандарт семантики представления данных для системы и ее периферийных компонент.
Собственной, реализации этот пакет не имеет, т.е. является набором программных интерфейсов, реализуемых в компонентах MetaBase и Araneus.
Метамодель также может быть использована периферийными компонентами с помощью соответствующих программных интерфейсов двух вышеперечисленных компонент.
MetaBase является компонентой; предназначенной для хранения данных, манипуляции хранимыми данными, а также семантической интеграции внешних информационных ресурсов. Кроме того, она отвечает за разграничение доступа пользователей. Компонента предоставляет только программные интерфейсы, пользовательские интерфейсы, могут быть разработаны в форме1 внешних компонент. Интерфейсы Ы и L2" предоставляют функции по манипуляции данными в, рамках метамодели, поиску, а также интеграции данных. Семантически эти интерфейсы практически одинаковы, однако интерфейс Ы может быть использован только локально (т.е. только с того же узла, на котором развернута MetaBase), при этом обеспечивая лучшую производительность. Интерфейс L2 предназначен в первую очередь для взаимодействия с драйверами внешних баз данных, обеспечивающих поддержку процесса интеграции. Интерфейс L2 может быть использован удаленно (за счет того, что реализован на основе технологии Enterprise Java Beans), ввиду чего латентность запросов может быть значительной (за счет латентности сетевого соединения). Интерфейс предназначен для большинства периферийных компонент, таких как пользовательский поисковый интерфейс или компоненты для реконструкции сетевых моделей (по отношению к MetaBase они также рассматриваются как периферийные).
Программная среда для моделирования эволюции популяций одноклеточных, организмов
Методика и пакет программ «Эволюционный Конструктор» разработаны в ИЦиГ СО РАН [75] и предназначены для моделирования динамики сосуществования популяций трофически-связанных одноклеточньгх гаплоидных организмов. Моделируемая система является экосистемой, но также в ней учитываются некоторые генетические характеристики.
Была поставлена задача разработки графического интерфейса для задания начальных данных, а также управления моделированием и визуализации промежуточных результатов. Одним из требований была визуализация и визуальное редактирование отношений между популяциями и веществами в виде сети. Реализация такого интерфейса «с нуля» потребовала бы значительных трудозатрат. Для решения этой задачи была использована библиотека Araneus, расширенная рядом дополнительных компонент. Это позволило использовать уже готовое решение для реализации наиболее трудоемкой части графического интерфейса, связанной с интерактивной векторной графикой. Специализированные компоненты, разработанные для данного приложения, значительно менее трудоемки в реализации.
Рассмотрим предметную область. Моделируется поведение и эволюция одноклеточных организмов во взаимодействии с окружающей средой. Окружающая среда является однородной и содержит набор веществ с определенными в каждый момент времени концентрациями. Концентрации могут меняться в зависимости от: (1) внешнего притока или оттока; (2) деятельности организмов.
По отношению к организму вещества могут являться субстратами (то есть утилизируются организмом) или продуктами их жизнедеятельности. Субстраты в свою очередь могут способствовать либо росту популяции (питательные вещества) либо ее вымиранию (ингибиторы). Объединение организмов в популяции происходит по принципу сходного поведения, то есть взаимодействия с одними и теми же субстратами и продуктами. При этом представители одной и той же популяции могу отличаться скоростью потребления или выделения отдельных веществ.
Поведение организмов обусловлено генотипом популяции, который в данной модели выглядит следующим образом. Популяции соответствуют определенный набор генетических спектров (характеризуется геном и некоторыми дополнительными статистическими характеристиками), В данной модели спектр характеризуется: веществом, с которым определяет взаимодействие; типом взаимодействия (утилизация или продуцирование); влиянием вещества на организм; набором аллелей, каждая из которых характеризуется скорость взаимодействия, а также частоты этих аллелей в популяции.
За счет аллелей отдельные организмы в популяции могут несколько различаться по поведению, в частности обладать различной устойчивостью к негативным воздействиям. При моделировании динамики концентрация аллелей может меняться (способ изменения полностью определяется применяемым алгоритмом моделирования динамики). Также может меняться и набор спектров, что приводит к появлению новых популяций. За счет этого происходит моделирование эволюции.
На Рис. 4.5 приведена онтология, соответствующая приведенному выше описанию предметной области. Спектр играет роль взаимодействия, так как определяет отношение между веществом и популяцией. На сетевой модели по аналогии с генными сетями не рассматриваются отдельные представители популяций.
На Рис. 4.6 представлен разработанный графический интерфейс. Для сетевого представления использована стандартная компонента Araneus, настроенная на приведенную выше онтологию (нижняя часть рисунка). Компоненты редактирования спектров (сверху справа), общей структуры модели (сверху слева), а также управления моделирование и отображения результатов специфичны для данного приложения и используют точки расширения Araneus.
Разработанный графический интерфейс позволил наглядно задавать начальные данные, а также визуализировать результаты моделирования динамики в рассматриваемой задаче. Использование компонент Araneus позволило значительно снизить трудозатраты по реализации этого интерфейса.
Для реконструкции сетевых моделей экосистем было разработано приложение EcoNet Studio, также основанное на библиотеке Araneus. Для апробации приложения было выделено два класса задач: (1) построение универсальной базовой онтологии экосистем; (2) имитационное моделирование экосистем. Перечисленные классы задач являются одними из наиболее актуальных в современной экологии. Одним из лимитирующих факторов при решении таких задач является отсутствие адекватных средств компьютерной поддержки, обеспечивающих систематизацию и формализацию слабоструктурированной и разнородной информации. Это в свою очередь практически не позволяет использовать существующие компьютерные методы анализа и моделирования. Методы и их программные реализации, созданные в рамках настоящей работы, являются именно таким связующими звеном. Кроме того, результаты апробации важны для развития самих методов и расширения их возможностей. В частности, в рамках апробации был исследован вопрос возможности полуавтоматической генерации имитационных моделей на основе сетевого представления экосистем.
Работа по созданию универсальной онтологии экосистем ведется совместно с Новосибирским госуниверситетом под руководством профессора М.Г.
Сергеева. Основная проблема заключается в том, что каждый вид экосистем описывается с помощью своего терминологического аппарата, при этом он плохо формализован и часто термины трактуются по-разному. Более подробно проблематика данной задачи была описана в главе 1. EcoNet Studio применяется в данном случае для построения моделей различных видов экосистем и их сравнения. Как уже говорилось ранее, каждой такой модели соответствует своя онтология, которая также должна быть построена с помощью Ontology Manager. Сравнительный анализ таких онтологии позволяет делать некоторые обобщения. Эти обобщения могут быть использованы для построения новых онтологии. Такой итеративный процесс постепенно ведет к повышению универсальности терминологического аппарата и делает его более компактным.
Задача, связанная с имитационным моделированием экосистем рассматривалась на примере экосистемы переносчиков клещевого энцефалита (иксодовых клещей, далее — клещей). Стоит отметить, что проблема клещевого энцефалита весьма актуальна, в частности, для Новосибирской области. Предполагается, что построение модели поможет в будущем регулировать численность и/или активность клеща или же процент зараженных клещей, что, в конечном счете, снизит заболеваемость людей.