Software technology for conducting simulation experiments with mathematical models of physiological systems

Based on the given analysis of existing systems the necessity of development of new flexible physiologist-researcher oriented system is shown. The developed system, which allows physiologists to build virtual organisms from the extendable set of blocks, is described.

Saved in:
Bibliographic Details
Date:2018
Main Author: Aksnova, T.V.
Format: Article
Language:Ukrainian
Published: Інститут програмних систем НАН України 2018
Subjects:
Online Access:https://pp.isofts.kiev.ua/index.php/ojs1/article/view/45
Tags: Add Tag
No Tags, Be the first to tag this record!
Journal Title:Problems in programming

Institution

Problems in programming
id pp_isofts_kiev_ua-article-45
record_format ojs
resource_txt_mv ppisoftskievua/e3/1d68f553c54fdaa9b6de92f4685d17e3.pdf
spelling pp_isofts_kiev_ua-article-452018-07-25T14:00:23Z Software technology for conducting simulation experiments with mathematical models of physiological systems Программная технология для проведения имитационных экспериментов с математическими моделями физиологических систем Програмна технологія для проведення імітаційних експериментів з математичними моделями фізіологічних систем Aksnova, T.V. BioUML UDC 519.6 bioUML УДК 519.6 BioUML УДК 519.6 Based on the given analysis of existing systems the necessity of development of new flexible physiologist-researcher oriented system is shown. The developed system, which allows physiologists to build virtual organisms from the extendable set of blocks, is described. Проводится анализ существующих систем, на основании чего показывается необходимость разработки гибкой системы, ориентированной на физиолога-исследователя. Приводится описание разработанной системы, которая позволяет физиологам строить виртуальные организмы из набора блоков, который постоянно расширяется. Проводиться аналіз існуючих систем, на підставі чого доводиться необхідність розробки гнучкої системи, орієнтованої на фізіолога-дослідника. Наводиться опис розробленої системи, що дозволяє фізіологам будувати віртуальні організми з набору блоків, що постійно розширюється. Інститут програмних систем НАН України 2018-07-23 Article Article application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/45 PROBLEMS IN PROGRAMMING; No 1 (2012) ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 1 (2012) ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 1 (2012) 1727-4907 uk https://pp.isofts.kiev.ua/index.php/ojs1/article/view/45/46 Copyright (c) 2015 ПРОБЛЕМИ ПРОГРАМУВАННЯ
institution Problems in programming
baseUrl_str https://pp.isofts.kiev.ua/index.php/ojs1/oai
datestamp_date 2018-07-25T14:00:23Z
collection OJS
language Ukrainian
topic BioUML
UDC 519.6
spellingShingle BioUML
UDC 519.6
Aksnova, T.V.
Software technology for conducting simulation experiments with mathematical models of physiological systems
topic_facet BioUML
UDC 519.6
bioUML
УДК 519.6
BioUML
УДК 519.6
format Article
author Aksnova, T.V.
author_facet Aksnova, T.V.
author_sort Aksnova, T.V.
title Software technology for conducting simulation experiments with mathematical models of physiological systems
title_short Software technology for conducting simulation experiments with mathematical models of physiological systems
title_full Software technology for conducting simulation experiments with mathematical models of physiological systems
title_fullStr Software technology for conducting simulation experiments with mathematical models of physiological systems
title_full_unstemmed Software technology for conducting simulation experiments with mathematical models of physiological systems
title_sort software technology for conducting simulation experiments with mathematical models of physiological systems
title_alt Программная технология для проведения имитационных экспериментов с математическими моделями физиологических систем
Програмна технологія для проведення імітаційних експериментів з математичними моделями фізіологічних систем
description Based on the given analysis of existing systems the necessity of development of new flexible physiologist-researcher oriented system is shown. The developed system, which allows physiologists to build virtual organisms from the extendable set of blocks, is described.
publisher Інститут програмних систем НАН України
publishDate 2018
url https://pp.isofts.kiev.ua/index.php/ojs1/article/view/45
work_keys_str_mv AT aksnovatv softwaretechnologyforconductingsimulationexperimentswithmathematicalmodelsofphysiologicalsystems
AT aksnovatv programmnaâtehnologiâdlâprovedeniâimitacionnyhéksperimentovsmatematičeskimimodelâmifiziologičeskihsistem
AT aksnovatv programnatehnologíâdlâprovedennâímítacíjniheksperimentívzmatematičnimimodelâmifízíologíčnihsistem
first_indexed 2025-07-17T10:06:32Z
last_indexed 2025-07-17T10:06:32Z
_version_ 1838410597550522368
fulltext Прикладні засоби програмування та програмне забезпечення  УДК 519.6 Т.В. Аксьонова ПРОГРАМНА ТЕХНОЛОГІЯ ДЛЯ ПРОВЕДЕННЯ ІМІТАЦІЙНИХ ЕКСПЕРИМЕНТІВ З МАТЕМАТИЧНИМИ МОДЕЛЯМИ ФІЗІОЛОГІЧНИХ СИСТЕМ Проводиться аналіз існуючих систем, на підставі чого доводиться необхідність розробки гнучкої сис- теми, орієнтованої на фізіолога-дослідника. Наводиться опис розробленої системи, що дозволяє фізіо- логам будувати віртуальні організми з набору блоків, що постійно розширюється. Вступ Особливістю моделювання фізіоло- гічних систем є необхідність враховувати горизонтальний та вертикальний напрямки взаємодії підсистем організму, більше то- го, процеси є різномасштабними у часі [1]. Отже, при розробці програмного засобу потрібно враховувати, що він працювати- ме із великими моделями, що ймовірно мі- ститимуть деякі підмоделі та будуть взає- модіяти між собою. Серед існуючих програмних засобів потрібно згадати розроблений в медично- му центрі університету Міссісіпі біологіч- ний симулятор «HumMod» [2], що дозво- ляє проводити лабораторні дослідження для більш ніж 30 стандартних ситуацій, таких як голод, знаходження на великій висоті, нестача кисню та інші. Система є досить потужною, дозволяє працювати з інтегрованою моделлю організму людини, що складається з під моделей органів та рецепторів. Головним недоліком даного симулятора є те, що він поставляється із запрограмованими значеннями параметрів та фіксованими зв’язками, які вже немож- ливо змінити, отже експерименти обме- жуються стандартним набором. У межах проекту Physiome розроб- лено моделюючий комплекс JSim [3 – 5]. Цей комплекс орієнтований для роботи з математичними моделями фізіологічних систем, причому моделі можуть бути у ви- гляді як звичайних, так і диференційних рівнянь, також підтримуються інтеграли. Всі моделі мають відповідати відкритому стандарту, що з одного боку полегшує ро- боту з моделями інших розробників, а з іншого – ускладнює роботу фізіолога, оскільки мова MML, що використовується для побудови моделей, схожа на мову про- грамування і є інтуїтивною лише для роз- робників програмного забезпечення. Спробою зробити процес роботи з моделями більш дружнім для користувача є інтегрована у Matlab система Simulink [6], та побудована на його основі біологіч- но-орієнтована система BioUML [7, 8]. На відміну від попередніх систем тут корис- тувач має змогу самостійно будувати мо- делі на підставі графічних діаграм, причо- му можливим є використання стандартних моделей та збереження моделей в базі да- них для подальшого використання. Крім того, BioUML підтримує роботу із ієрархі- чними моделями та дозволяє використання підмоделей. До недоліків слід віднести те, що використання BioUML є досить склад- ним і користувач потребує спеціальних навичок. Першою спробою вирішення про- блем, що все ще стоять перед фізіологом- дослідником, була розробка спеціалізова- ної програми [9 – 11], що дозволяла ство- рювати системи з моделей та підмоделей, працювати з моделями, що мають групи параметрів, та мала високу ефективність обчислень. Недоліком даного дослідниць- кого інструменту була жорсткість системи: всі зв’язки задавалися на етапі програму- вання, а отже, для повторного використан- ня моделей необхідним було втручання програміста. Наступним кроком розвитку системи стала побудова такого дослідни- цького середовища, в якому фізіолог- дослідник має змогу самостійно будувати віртуальний організм із існуючих модулів. © Т.В. Аксьонова, 2012 ISSN 1727-4907. Проблеми програмування. 2012. № 1 110   Прикладні засоби програмування та програмне забезпечення Розроблена комп’ютерна технологія дозволяє: реалізувати моделі, які описуються співвідношеннями «вхід-вихід» або «вхід- стан-вихід», що відповідає прямим алгеб- раїчним залежностям та диференційним рівнянням у формі Коші; − створювати конфігурації таких моделей (фіксовані сукупності моделей, що працюють разом та дозволяють пода- вати на вхід моделі вихід іншої моделі); − в будь-який час додавати нові моделі до системи; − ефективно виконувати обчислен- ня за рахунок використання паралельно працюючих потоків; − змінювати з інтерфейсу та збері- гати параметри та вхідні дані для кожної з моделей; − зберігати результати експериме- нтів у різних текстових та графічних фор- матах; − гнучко налаштовувати інтерфейс користувача. Структура програмного забезпечення Згідно наведених вимог було розро- блено структуру програмного комплексу для моделювання, показану на рис. 1. Що- до цієї архітектури, моделюючий комплекс є трирівневим. Кожен рівень є максималь- но автономним і реалізує відведену йому задачу. Детальний опис кожного з рівнів наведено у наступних пунктах, при цьому використано такі терміни: модель – це певний клас, що реалі- зує базовий для всіх моделей інтерфейс IModel та містить у собі опис певного об’єкта (фізіологічної системи, органу, ме- ханізму, зовнішнього середовища і т. д.); модельна зборка – модель скомпі- льована у dll зборку з унікальним іменем; конфігурація – зафіксована і поіме- нована сукупність моделей, зв’язків між ними, їх параметрів та вхідних даних. Рис. 1. Архітектура програмного забезпечення 111   Прикладні засоби програмування та програмне забезпечення  Опис клієнтської частини Почнемо детальний аналіз архітек- тури з клієнтської частини, яка є репрезен- тативною частиною усього комплексу. Го- ловне вікно системи (рис. 2) можна поді- лити на 6 частин: − титульна частина – показує назву та версію системи, а також поточну конфі- гурацію моделей; − стрічка панелі інструментів - ви- конана у стилі MS Office 2007 як найбільш зручний та перспективний варіант, що до- зволяє зекономити дорогоцінний простір робочої області та полегшити для користу- вача пошук потрібного йому інструмента- рію серед різномаїття існуючих. Містить системне меню (закладка Main) та меню для вибраної у дереві моделі (закладка з назвою, що збігається з ім’ям моделі). Де- тальний опис кожної кнопки меню міс- титься у керівництві користувача, що роз- повсюджується разом з даною програмою та може бути відкрите за допомого кнопки Help головного меню; − ліва панель – містить дерево мо- делей та панель налаштувань експеримен- ту; − центральна частина – слугує для виводу результатів обчислень у вигляді графіків або таблиці. Крім того, кожна мо- дель може мати свою закладку на центра- льній частині для покращення візуалізації результатів або виконання додаткових на- лаштувань; − права панель – для вибраної в дереві моделі містить таблицю для завдан- ня параметрів (закладка Parameters), таб- лицю для завдання початкового стану мо- делі (закладка Init values), та панель нала- штувань даної моделі (закладка Settings); − панель стану – показує хід вико- нання обчислень. Рис. 2. Головне вікно системи 112   Прикладні засоби програмування та програмне забезпечення Цей поділ є досить умовним, так як робоча область головного вікна в повному обсязі підтримує технологію drag-n-drop, тому всі її дочірні вікна користувач може розмістити у будь-якому порядку, «вмон- тувати» одне в одне, або взагалі відокре- мити від головного вікна. Більше того, ви- користовуючи форму налаштувань систе- ми користувач може у будь-який час схо- вати чи знов показати дані панелі. Для більшої зручності користувача система автоматично підлаштовується під нього за рахунок зберігання так званого «користувацького вибору». Це досягається через створення спеціального класу що мі- стить такі дані як: поточна кольорова схе- ма та шрифти, розмір та положення голо- вного вікна, перелік видимих панелей та їх розташування, остання використовувана конфігурація, час експерименту, парамет- ри підказок та графіка результатів. При закритті програми всі ці дані автоматично серіалізуються в xml файл з ім’ям default.prefs що зберігається в тому самому каталозі, що й виконавчий файл системи, а при запуску за наявності даного файлу во- ни з нього десеріалізуються після чого ін- терфейс перебудовується згідно з останнім користувацьким вибором. Дуже важливою частиною головно- го вікна є дерево моделей (рис. 3), що до- зволяє користувачу бачити з якими саме моделями він нині працює, вибирати мо- дель для налаштувань, вибирати які змінні яких моделей буде показано на графіки результатів та навіть змінювати ім’я та опис моделей та їх змінних. Дерево моде- лей розташовано на закладці Models лівої панелі (частина 3 головного вікна). Рис. 3. Дерево моделей Для різних елементів у дереві вико- ристано наступні позначки: – конфігурація; – модель; при наведенні миші на вузол такого типу спливаюча підказка міс- тить опис моделі; – група змінних моделі; – змінна моделі, що буде відо- бражена на графіку результатів; – змінна моделі, що не буде ві- дображена на графіку результатів; – результат обчислень відкри- тий з .result файлу. Для переводу змінної моделі зі ста- ну «буде відображена на графіку» до стану «не буде відображена на графіку» корис- тувачеві необхідно лише клікнути лівою клавішею миші по вузлу даної змінної. З головного меню системи може бу- ти відкрито вікно керування конфігурація- ми (рис. 4), що дозволяє створювати нові та редагувати існуючі конфігурації моде- лей. Дане вікно системи можна поділити на 5 частин: − титульна частина – показує назву конфігурації, що редагується; − меню – дозволяє зберігати кон- фігурацію у файл, добавляти чи виділяти моделі, відкривати граф конфігурації; − описова частина – містить назву та детальний опис конфігурації; − перелік всіх моделей конфігура- ції; − перелік всіх зв’язків конфігурації – виконаний у вигляді таблиці, де для ко- жної вхідної змінної кожної моделі ство- рено рядок, у якому в стовпці Link має бу- ти встановлено відповідне вихідне значен- ня деякої іншої моделі (зв’язки встанов- люються та змінюються за допомогою клі- ку мишею по потрібній клітині з стовпчика Link) або на вхід моделі може бути прив’язана константа. Більш наочно конфігурація пред- ставляється за допомогою форми, що міс- тить направлений граф конфігурації (рис. 5), вершинами якого є моделі, що містить у собі дана конфігурація. Вершини графа поєднані дугою, якщо між моделями кон- фігурації є зв'язок. 113   Прикладні засоби програмування та програмне забезпечення  Рис. 4. Вікно керування конфігураціями Дуга виходить з моделі, що має вихідну змінну, і входить у модель, що має вхідну змінну на яку приєднано дану вихідну змінну. Якщо конфігурація містить моделі, що не під’єднанні до жодної іншої моделі, то даний граф буде незв’язним. Рис. 5. Вікно графа конфігурації З точки зору користувача, що про- водить імітаційні експерименти в даній системі, найбільш часто використовува- ним модулем клієнтської частини є підсис- тема виведення та збереження результатів. Як бачимо з рис. 6 дана підсистема містить у собі чотири компоненти, причому один з них не є постійно видимим, оскільки він надто громіздкий та не так часто вживаний як інші. Розглянемо ці компоненти більш детально: − елементи меню для швидкого збереження результатів – дозволяють од- ним кліком миші зберегти зображені на графіку результатів дані або як рисунок у графічний файл формату .jpg або як набір розрахованих значень у текстовий файл формату .xlsx; − графік результатів – відображає у вигляді двомірних кривих розраховані значення для всіх змінних моделей, що ви- брано у дереві моделей. Для більшої зруч- ності користувача система автоматично підбирає кольори так щоб за умови що та- ке можливо всі зображені криві мали різні контрастні кольори; 114   Прикладні засоби програмування та програмне забезпечення − редактор графіка результатів – дає користувачеві повний доступ до всіх налаштувань графіка результатів та мож- ливих засобів збереження отриманих зна- чень. Основними можливостями редактора є: налаштування написів на графіку; нала- штування кольорів та позначок для кожної з зображених кривих; побудова нових кри- вих як функції існуючих (підтримуються основні математичні функції +, - , *, /, де- які статистичні – середнє, мода, медіана та спеціальні – брати більше чи менше зна- чення); друк зображення на принтері; збе- реження розрахованих даних як картинки у одному з можливих графічних форматів (підтримуються .bmp, .jpg, .png, .gif, .tiff, .pdf); збереження розрахованих даних як набору значень з можливих текстових фо- рматів (підтримуються .txt, .xml, .html, .xlsx); − таблиця результатів (рис. 7) – до- зволяє відслідковувати точні значення об- раних змінних у фіксовані моменти часу та експортувати їх використовуючи буфер обміну або зберігати їх як .xlsx файли. Рис. 6. Підсистема виведення та збереження результатів 115   Прикладні засоби програмування та програмне забезпечення  Рис. 7. Таблична форма виведення результатів Опис базових класів Основними базовими класами сис- теми є: 1. Інтерфейс IXmlObject – містить методи для роботи з Xml. Є базовим ін- терфейсом, оскільки всі об’єкти в системі мають зберігати та відновлювати свої па- раметри з .xml файлів. Даний підхід забез- печує уніфікацію методів для збереження та завантаження даних і дозволяє досвід- ченим користувачам редагувати значення прихованих параметрів системи. 2. Клас ObjectBase – реалізує ін- терфейс IXmlObject і дозволяє швидко створювати класи, що вміють працювати з .xml файлами. Даний клас спадкується всіма іншими базовими класами системи. 3. Інтерфейс IModel – його мають реалізовувати всі моделі системи. Містить наступні групи методів та властивостей: − для отримання загальної інфор- мації про модель (внутрішнє ім’я, корис- тувацьке ім’я, детальний опис); − інтерфейсні методи (за потреби повертають елементи меню та головну па- нель для даної моделі); − методи для налаштувань (списки змінних та параметрів); − методи для розрахунків (шаг ро- зрахунку, поточний шаг розрахунку, стан розрахунку, метод Calculate, що саме й ви- конує розрахунки для даної моделі); − методи для роботи з Xml (збере- ження та відновлення з .xml файлів налаш- тувань моделі та результатів обчислень). 4. Клас Value – описує змінну мо- делі. Містить наступні групи методів та властивостей: − загальна інформація про змінну моделі (внутрішнє ім’я, користувацьке ім’я, ім’я групи змінних, тип); − для проведення розрахунків (мі- німальне та максимальне значення, масив розрахованих значень); − для зв’язків між моделями (ім’я моделі та ім’я змінної моделі до яких ця змінна прив’язана); − методи для роботи з Xml (збере- ження та відновлення з .xml всіх парамет- рів класу). 5. Містить наступні групи методів та властивостей: 116   Прикладні засоби програмування та програмне забезпечення − загальна інформація про пара- метр моделі (внутрішнє ім’я, користуваць- ке ім’я); − для проведення розрахунків (мі- німальне та максимальне значення, поточ- не значення); − методи для роботи з Xml (збере- ження та відновлення з .xml всіх парамет- рів класу). 6. Клас ModelBase – створений для спрощення і пришвидшення створення простих моделей. Він реалізовує всі мето- ди інтерфейсу IModel наступним чином: − там де це можливо вертає пусті значення; − за замовчуванням створює еле- менти меню, що дозволяють зберігати та відновлювати з файлу налаштування мо- делі незалежно від конфігурації; − знаходить всі задекларовані в класі змінні типів Value та Parameter і бу- дує з них списки змінних та параметрів; − контролює поточний шаг і стан розрахунку. 7. Клас Configuration – описує сис- тему моделей. Даний клас виконує всі роз- рахунки та повідомляє інтерфейсну части- ну системи про стан виконання. Містить наступні групи методів та властивостей: − загальна інформація про систему моделей (ім’я, опис, ім’я файлу в якому зберігаються дана конфігурація, перелік моделей); − для проведення розрахунків (ме- тоди що стартують чи зупиняють обчис- лення та методи для синхронізації моде- лей); − методи для роботи з Xml (збере- ження та відновлення з .xml всіх парамет- рів класу і всіх моделей); − методи для збереження результа- тів розрахунків; − методи для збереження та відно- влення налаштувань дерева моделей для даної конфігурації. 8. Клас SavedConfiguration – описує збережені результати розрахунків. Вико- ристовується при аналізі проведених екс- периментів. Особливістю даного класу є те, що параметри не можна змінювати. Мі- стить наступні групи методів та властиво- стей: − загальна інформація про систему моделей (ім’я, опис, ім’я файлу в якому зберігаються дані, перелік моделей та роз- раховані значення моделей); − методи для роботи з Xml (тільки відновлення з .xml всіх значень). Структура файлів на жорсткому диску Розроблена система є «гнучкою» у тому розумінні, що нові моделі можуть бути під’єднанні до неї у будь-який час. Це досягається за рахунок того, що система працює не з класами, а з заздалегідь ском- пільованими модельними зборками, кожна з яких містить клас, що реалізує базовий інтерфейс IModel. При запуску системи вона шукає доступні модельні зборки та будує з них лист всіх доступних моделей, з якого далі необхідні моделі будуть додані до конфігурації. Оскільки пошук модельних зборок по всій файловій системі комп’ютера за- ймає забагато часу, то система бачить ли- ше ті модельні зборки, що у вигляді .dll файлів лежать у каталозі моделей ModelsFolder, що визначається конфігура- ційним файлом системи (Modelling tool.exe.config) (рис. 8); якщо цей каталог не задано (по замовчуванню) – у тому ка- талозі, де знаходиться виконавчий файл системи Modelling tool.exe (системному каталозі). При завданні шляху до каталогу припускається використання як абсолют- них шляхів, так і шляхів відносно систем- ного каталогу. Ще одним спеціальним каталогом використовуваним системою є каталог да- них. У цьому каталозі зберігаються всі ко- ристувацькі файли – такі як файли конфі- гурацій, налаштування окремих моделей, збережені результати розрахунків. Шлях до каталогу даних налаштовується анало- гічно шляху до каталогу моделей (ім’я у конфігураційному файлі системи – Data- Folder). Оскільки зазвичай користувач має багато збережених файлів даних, то заради запобігання перенасичення системного ка- талогу необов’язковими файлами за замо- вчуванням каталог даних розміщено у під- каталозі Data каталогу з виконавчим фай- лом. 117   Прикладні засоби програмування та програмне забезпечення  Рис. 8. Фрагмент конфігураційного файлу системи Алгоритм проведення обчислень Обчислення ініціюються користу- вачем з головного меню головної форми системи. Після цього клієнтська програма очищає графік розрахунків, обнуляє дані на панелі стану розрахунків та викликає метод поточної конфігурації, що саме й виконує розрахунки. У процес розрахунків клієнтська програма не втручається (за умови, якщо користувач не захоче зупини- ти процес), оновлення інтерфейсу відбува- ється наступним чином: із початком роз- рахунків запускається спеціальний таймер і на кожен його тік клієнтська частина за- питує у поточної конфігурації в якому ста- ні знаходиться процес, до якого часу вже виконано розрахунки і за потреби оновлю- вати графіки результатів також запрошу- ються розраховані значення. Оскільки ко- жна модель розраховується незалежно і зі своїм кроком, то розрахованим часом вва- жається максимальний час, на який кожна модель конфігурації вже розрахувала всі свої змінні та саме цей час (і розраховані до нього значення) показуються користу- вачеві; розрахунки вважаються заверше- ними коли всі моделі завершать свої роз- рахунки. Коли конфігурація повідомляє що розрахунки закінчено таймер вимика- ється і оновлення інтерфейсу зупиняється. Конфігурація виконує розрахунки наступним чином: для кожної моделі ви- конує підготовчі дії (встановлює час екс- перименту, виділяє пам'ять та ін.), створює окремий потік і в цьому потоці запускає процес обчислень моделі. Перед обчис- ленням кожного наступного кроку для ко- жної моделі конфігурація перевіряє, чи має модель вхідні дані. Якщо ні, то модель просто розраховує наступний крок, якщо ж так, то конфігурація запрошує необхідні вхідні дані у моделі, з якою пов’язана дана модель (якщо ці дані ще не готові – обчис- лення даної моделі буде призупинено поки необхідні вхідні дані не надійдуть). Крім того, конфігурація відслідковує всі виклю- чні ситуації, що виникають під час обчис- лень, і якщо для будь-якої моделі така си- туація виникає, то розрахунок всієї конфі- гурації примусово зупиняється і користу- вачеві показується відповідне повідомлен- ня. Процес проведення обчислень схе- матично показано на рис. 9. На даній схемі не зафарбовані прямокутники відповіда- ють діям користувача, зафарбовані у косу клітинку – діям клієнтської частини сис- теми, зафарбовані у крапочку – діям підси- стеми оновлення інтерфейсу, повністю за- фарбовані – операції що виконуються у конфігурації, зафарбовані у клітинку – операції що виконуються у моделях. 118   Прикладні засоби програмування та програмне забезпечення Рис. 9. Схема проведення обчислень Висновки Розроблена програмна технологія дозволяє робити декомпозицію моделей складних фізіологічних систем на під мо- делі, що під час виконання експериментів пов’язуються між собою за допомогою файлів конфігурацій. Це дозволяє спрости- ти процес налаштування та візуалізації, а також збільшує можливості з повторного використання моделей. Дана система ви- користана при побудові віртуального ор- ганізму, що складався з наступних частин: серцево-судинна система, нирки, лімфати- чна система, рідкі середовища, термо- та баро- регулятори [12], що показало її зруч- ність для проведення практичних дослі- джень. 1. Григорян Р.Д., Атоев К.Л., Лиссов П.Н., Томин А.А. Программно-моделирующий комплекс для теоретических исследований взаимодействия физиологических систем человека // Проблеми програмування. – 2006. – № 1. – С. 79–92. 119   Прикладні засоби програмування та програмне забезпечення  2. An integrative mathematical model of human biomedicine [Електронний ресурс] http://hummod.org/ 3. Сайт комплексу JSim проекту Physiome [Електронний ресурс] // http://nsr.bioeng.washington.edu. 4. Hunter P., Robbins P., Noble D. The IUPS human physiome project // European Journal of Physiology. – 2002. – Vol.44. – P. 1–9. 5. Bassingthwaighte J. B. Strategies for the Phy- siome Project // Annals of Biomedical Engi- neering. – 2000. – Vol. 28. – P. 1043–1058. 6. Simulink Release Notes / [Електронний рсурс]: http://www.mathworks.com/access/helpdesk/h elp/pdf_doc/simulink/rn.pdf. 7. Kolpakov F.A. BioUML – framework for visal modeling and simulation of biological systems // International Conference on Bioinformatics of Genome Regulation and Structure-Systems Biology: proceedings. – Novosibirsk, 2002. 8. Колпаков Ф.А. BioUML – компьютерная программа для визуального моделирования биологических и других сложных систем: тезисы IV Всеросс. конф. молодых ученых по математическому моделированию и ин- формационным технологиям (г. Красно- ярск, 3-5 ноября 2003) // Институт вычисли- тельного моделирования СО РАН. – Крас- ноярск, 2003. – С. 98. 9. Аксенова Т.В. Імітаційне моделювання про- цесів клітинного реагування на дефіціт енергії // СППМІ–2008. 10. Аксенова Т.В. Специализированное про- граммное обеспечение для решения физио- логических задач методом математического моделирования // Проблеми програмування. – 2008. – № 2–3. – С. 765–769. 11. Григорян Р.Д., Аксенова Т.В. Модели- рование адаптивного реагирования орга- низма на изменения в окружающей среде // Кибернетика и системный анализ. – 2008. – № 1. – С. 136–147. 12. Григорян Р.Д, Лиссов П.Н., Аксенова Т.В., Мороз А.Г. Специализированный про- граммно – моделирующий комплекс “PHYSIOLRESP”. // Проблеми програму- вання. – 2009. – № 2. – С. 67–82.   Отримано 14.07.2011 Про автора: Аксьонова Тетяна Валеріївна, інженер-програміст. Місце роботи автора: Інститут програмних систем НАН України, 03187, Київ, проспект Академіка Глушкова, 40. Тел.: 526 5169. Е-mail: akstanya@ukr.net 120   http://hummod.org/ mailto:akstanya@ukr.net Вступ Структура програмного забезпечення Рис. 1. Архітектура програмного забезпечення Опис клієнтської частини Рис. 2. Головне вікно системи Рис. 3. Дерево моделей Рис. 4. Вікно керування конфігураціями Рис. 5. Вікно графа конфігурації Рис. 7. Таблична форма виведення результатів Опис базових класів Структура файлів на жорсткому диску Рис. 8. Фрагмент конфігураційного файлу системи Алгоритм проведення обчислень Висновки