Разработка программного обеспечения для обработки сложноструктурированных данных научного эксперимента


Цитировать

Полный текст

Аннотация

На сегодняшний день компьютерный эксперимент является наиболее значимым инструментом в областях, где имеется большой разрыв между возможностями теории и эксперимента. Сфера физической химии и металлургии является наиболее ярким примером из списка данных областей. Моделирование химических процессов, извлечение свойств и результатов, полученных в ходе компьютерного эксперимента, а также предоставление удаленного доступа к ним - основная цель проекта ИИС «MD_SLAGMELT». Авторами статьи разработана подсистема, обеспечивающая конвертирование данных для базового Legacy Application ИИС «MD_SLAGMELT» из текстового в реляционный формат и автоматического переноса данных из файлового хранилища в реляционную базу данных. В подсистеме реализованы следующие функциональные возможности: - перенос термодинамических характеристик, энергетических параметров, кинетических коэффициентов компьютерного эксперимента в базу данных; - проверка *.DAT файлов на наличие ошибок в генерации; - перенос в базу данных результатов предыдущих экспериментов; - формирование отчетности в формате *.xls; - конфигурирование программы под текущие настройки базы данных. Разработанное программное обеспечение позволяет переносить сложноструктурированные данные результатов компьютерных экспериментов в области физической химии из текстового в реляционный формат, строить представления для разных измерений гиперкуба свойств, формировать SQL-запросы, обеспечивающие выборки данных из нескольких таблиц базы данных ИИС «MD_SLAGMELT». Рассмотрены существующие подходы считывания данных в текстовом формате, из которых выбран оптимальный, исходя из условий поставленной задачи, спецификации программного комплекса, особенности формата хранения результатов. Разработана методика ведения отладочной информации в целях проверки целостности структуры итоговых результатов эксперимента. В процессе внедрения программного обеспечения «Программа обработки сложноструктурированных данных для научного эксперимента в ИИС “MD_ SLAGMELT”» функциональность программы была протестирована на основном сервере проекта. Полученные результаты обеспечивают повышение степени автоматизации проекта ИИС «MD_SLAGMELT», промежуточной проверки стандартов формирования результирующих файлов, построение отчетов в заданном диапазоне составов при заданных температурах: исследование зависимости «состав - свойство».

Полный текст

Компьютерный эксперимент - это исследование математической модели объекта изучения на ЭВМ, состоящее в том, что по известным параметрам вычисляются искомые и на этой основе делаются выводы о свойствах объекта. Значение компьютерного эксперимента особенно велико в тех областях, где имеется большой разрыв между возможностями теории и эксперимента, к ним относятся физическая химия и металлургия. Как правило, в физической химии предметом исследования является взаимосвязь структурных характеристик и физико-химических свойств. Для проведения КЭ создаются автоматизированные информационные системы (АИС), главной целью которых является расширение границы исследований, оптимизация научной работы и ускорение проведения исследований. Одной из таких систем является ИИС «Шлаковые расплавы» [6]. Преобразование сложноструктурированных данных, полученных в результате компьютерного эксперимента, в реляционный формат и обеспечение удаленного доступа к ним является одной из первоочередных задач в рамках проекта ИИС «Шлаковые расплавы». Основной целью работы стала разработка методов конвертирования данных из текстового в реляционный формат при проведении компьютерных экспериментов, и реализующих их алгоритмов и инструментальных средств. Эта проблема связана с разработкой программного обеспечения для «Legacy application» (унаследованных приложений) ИИС «MD_SLAGMELT» [3], с переходом от локальных приложений, рассчитанных на моделирование нескольких тысяч частиц к системе с удаленным доступом, обеспечивающей компьютерный эксперимент для «больших данных» с количеством частиц порядка сотен тысяч, что серьезно осложняет задачу обработки и передачи данных между подсистемами. ИИС позволяет вести моделирование в нескольких «режимах» с широким набором получаемых свойств: - моделирование комплекса свойств определенного состава многокомпонентной системы вблизи выбранной температуры; - моделирование многокомпонентной системы в заданном диапазоне составов при заданных температурах: исследование зависимости состав-свойство; - моделирование состава по ряду температурных точек (плавление/затвердевание): исследование температурных зависимостей свойств; - комплексное моделирование многокомпонентной системы (набор температурных зависимостей свойств состава для заданного диапазона составов): получение многомерных зависимостей состав-температура-свойство-структура. WEB-СЕРВЕР WEB-КЛИЕНТ Сервер базы данных Программаадаптер Файловое хранилище результатов СЕРВЕР ПРИЛОЖЕНИЙ Мост JDBC Задание начальных условий компьютерного эксперимента Формирование отчетов Статистический анализ результатов моделирования Квантово-химическое моделирование Приложение MNDO Молекулярно-динамическое моделирование Приложение МД Распределение МД Статистико-геометрическое моделирование Приложение SGR Приложение STRUCTURE Анализ и обработка данных Приложение STATISTICA Визуализация Приложения, отображающие данные в графических форматах Рис. 1. Архитектура ИИС «Шлаковые расплавы» [1-3] Для исследования многомерных зависимостей состав-температура-свойство-структура разработана информационная модель оксидного расплава [2]. На рис. 1 приведена архитектура ИИС «MD_SLAGMELT», ядром которой является база данных для хранения результатов моделирования. Однако наполнение базы данных происходит после обработки файлового хранилища, куда в текстовых форматах записываются данные достаточно больших объемов. Таким образом, предметом автоматизации является создание компонента «адаптер», предназначенного для преобразования сложноструктурированных данных, полученных в результате компьютерного эксперимента в реляционный формат. Результаты проведенных экспериментов записываются в текстовом формате в набор файлов во внутреннем серверном файловом хранилище, структура которого формируется динамически в зависимости от входных данных. Для примера на рис. 2 приведена структура директории, сформированной после компьютерного эксперимента с системой SiO2-Na2O (0,5-0,5). Подобная директория создается для каждого из проведенных экспериментов, ее название и уровень вложенности формируется на основании названий элементов, входящих в название химической системы и мольных долей. Например, SiONa → 0505 (мольные доли) → 806 (идентификационный номер математической модели) Рис. 2. Организация хранимых файлов по завершении проводимого эксперимента Все результаты делятся на определенные группы. Они представляют собой документы формата «*.DAT». В них содержится информация о начальных условиях эксперимента, о каждой из групп характеристик (средних значений параметров, давления, длины связей и т.д.), полученных в результате исследования (рис. 3). Рис. 3. Структура MD_DAT файла и SM_INF.DAT файла соответственно Каждый из документов формата «*.DAT» представляет собой текстовый файл с позиционным расположением характеристик эксперимента. Между файлами существуют корреляции. Так, MD_DAT файл содержит информацию о количестве элементов, количестве запусков и температурных точках, что определяет размер файла SM_INF.DAT (рис. 3). При разработке программного обеспечения было выбрано построчное считывание данных ввиду хранения результатов с разделителями «\t» и « » (рис. 4). Рис. 4. Позиционное хранение на примере файла SM_INF.DAT В целях распознавания элементов, разделяющихся одним или несколькими знаками « », была использована стандартная библиотека, входящая в состав Java Development Kit java.lang.Object String. В частности были использованы методы split() и разработанный метод класса StringUtils skip(), назначение которого заключается в пропуске «пустых» строк [7]. MD_DAT: · Каждая строка определена для описания нижерасположенных свойств или самих свойств (рис. 4); · Каждая строка содержит «заключительный» символ «_», позволяющий использовать его как точку останова при считывании массива данных (рис. 4); · Содержит параметры, определяющие структуру файла SM_INF.DAT. SM_INF.DAT: · Количество данных зависит от количества температурных точек, указанных в MD_DAT; · Каждая группа характеристик отделена одной из строк-разделителей (табл. 1, знач. 1-4); · Каждый из значений эпсилонов результатов эксперимента может быть мал (10-7), ввиду чего его значение не записывается в файл и имеет обозначение (табл. 1, знач. 5). Таблица 1 Символьные обозначения [10] № Символьное обозначение Кол-во в файле Даты экспериментов 1 “--------------------------------------------------------------“ 1-2 От 07.2012 2 “ -------------------------------------------------------------” 16-20 От 07.2012 3 “ -----------------------------------------------------------“ 1-2 От 07.2012 4 “ ---------” 1-4 До 07.2012 5 “******” Зависит от кол-ва температурных точек При определении типа элементов были использованы стандартные классы JDK java.lang.Number: Integer, Float, Double (табл. 3). Таблица 2 Числовые типы [4; 5; 8; 9] № Наименование Разрядность Диапазон значений 1 Integer 32 -2, 147, 483, 648 .... 2, 147, 483, 647 2 Float 32 3.4e-038 .... 3.4e+ 038 3 Double 62 1.7e-308 .... 1.7e+ 308 При попытке считывания очередного числового элемента при подаче нечислового значения (в случае, если файл был поврежден или числовое значение не было выведено) возникает обрабатываемое исключение NumberFormatException. Для администратора проекта ИИС «MD_SLAGMELT» разработан вид логирования - ведения отладочной информации в целях проверки целостности структуры суммарных результатов эксперимента. После завершения выполнения программы, в случае возникновения исключительных ситуаций, администратор проекта, имеющий доступ к файловой системе, содержащей результаты проведенных экспериментов, имеет возможность ознакомиться с причиной, вызвавшей «некорректную» работу программы. Завершение программы при возникновении исключительной ситуации ведет к построению и записи актуального информационного сообщения администратору в файле error.log.0 в директории с результатами связанного эксперимента. Для удобства обеспечения отладки и поиска ошибок в формате сформированных результатов осуществляется хранение вплоть до пяти логов с соответствующей нумерацией *.0-*.4. Представление формирования логов для файла SM_INF.DAT и запуска программы с аргументом “-makexls” - соответственно (рис. 5-6). Рис. 5. Сгенерированный лог для исключительной ситуации, возникшей при считывании SM_INF.DAT Рис. 6. Сгенерированный лог для исключительной ситуации, возникшей при формировании output.xls При разработке логера была использована стандартная библиотека, входящая в состав Java Development Kit java.util.logging.Logger, некоторые из параметров управления логером могут быть изменены по желанию администратора в файле logging.propeties (рис. 7-8). Рис. 7. Директория пути к файлу logging.properties Рис. 8. Параметры логера в файле logging.properties При запуске программы с входными параметрами {“-makexls” “filename.xls” “температурная_точка” “отклонение” “элемент”} происходит извлечение результатов экспериментов с температурными точками, находящимися в диапазоне от [температурная_точка - отклонение; температурная_точка + отклонение], содержащих “элемент”. Извлеченные из базы данных характеристики, соответствующие запросу, хранятся в оперативной памяти, после чего с помощью интерфейса прикладного программирования (API) jXLS формируется файл *.xls, содержащий искомые данные (рис. 9). Рис. 9. Сформированный *.xls файл и практическая значимость отчетности По каждой из групп характеристик, относящихся к определенному временному промежутку и пользователю, в сформированном программой «*.xls» файле оператор с помощью стороннего ПО может сформировать графики их изменения относительно мольных долей и температур. Таким образом, решена задача переноса сложноструктурируемых данных, генерируемых Legacy application ИИС «MD_SLAGMELT» из набора текстовых файлов в реляционный формат. Реализовано программное обеспечение, позволяющее проводить необходимые преобразования данных и обеспечивающее запись в реляционную базу данных. При этом разработана схема базы данных, архитектура программного обеспечения, обеспечен информационный обмен компонентами ИИС «MD_SLAGMELT», осуществлена реализация переноса всех групп выходных данных (термодинамических характеристик, энергетических параметров, кинетических коэффициентов) компьютерного эксперимента из текстовых файлов в реляционную базу данных; выстроена система проверки *.DAT файлов на наличие ошибок в генерации и проведено тестирование; разработана логика формирования отчетности в формате *.xls; осуществлено конфигурирование программы под текущие настройки базы данных. В процессе внедрения программного обеспечения «Программа обработки сложноструктурированных данных для научного эксперимента в ИИС “MD_SLAGMELT”» функциональность программы была протестирована на основном сервере проекта.
×

Об авторах

Дмитрий Владимирович Косенко

Национальный исследовательский университет «Высшая школа экономики»

студент 4 курса факультета программной инженерии

Лилия Ивановна Воронова

Российский государственный гуманитарный университет

заведующая кафедрой информационных систем и моделирования

Вячеслав Игоревич Воронов

Российский государственный гуманитарный университет

доцент кафедры информационных систем и моделирования

Список литературы

  1. Буч Г., Рамбо Д., Джекобсон А. UML. Руководство пользователя. М., 2001.
  2. Воронова Л.И., Григорьева М.А., Воронов В.И., Трунов А.С. Программный комплекс «MD-SLAG-MELT» для моделирования наноструктуры и свойств многокомпонентных расплавов // Расплавы. 2013. № 4.
  3. Воронова Л.И., Трунов А.С. Оптимизация параллельного алгоритма подсистемы распределенного молекулярно-динамического моделирования // Межотраслевая информационная служба. 2011. № 3.
  4. Дейт К. Дж. Введение в системы баз данных. 8-е изд. М., 2005.
  5. Дюбуа П. MySQL. Полное руководство. 3-е изд. М., 2006.
  6. ИИС «MD-SLAG-MELT». URL: http://nano-md-simulation.com
  7. Марка Д., МакГоуэн К. Методология структурного анализа и проектирования. М., 1993.
  8. Моримото Р. Microsoft Windows Server 2012. Полное руководство / М.Ноэл, Г.Ярдени, О.Драуби, Э.Аббейт, К.Амарис. 2-е изд. М., 2013.
  9. Рамбо Дж., Блаха М. UML 2.0. Объектно-ориентированное моделирование и разработка. 2-е изд. СПб., 2007.
  10. Уорсли Дж. PostgreSQL. Для профессионалов. 3-е изд. СПб., 2003.

Дополнительные файлы

Доп. файлы
Действие
1. JATS XML


Creative Commons License
Эта статья доступна по лицензии Creative Commons Attribution 4.0 International License.

Данный сайт использует cookie-файлы

Продолжая использовать наш сайт, вы даете согласие на обработку файлов cookie, которые обеспечивают правильную работу сайта.

О куки-файлах