УДК 004.942
Д.В.Косенко Л.И.Воронова В.И.Воронов
Москва, Россия
РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ ОБРАБОТКИ СЛОЖНОСТРУКТУРИРОВАННЫХ ДАННЫХ НАУЧНОГО ЭКСПЕРИМЕНТА
Аннотация. На сегодняшний день компьютерный эксперимент является наиболее значимым инструментом в областях, где имеется большой разрыв между возможностями теории и эксперимента. Сфера физической химии и металлургии является наиболее ярким примером из списка данных областей. Моделирование химических процессов, извлечение свойств и результатов, полученных в ходе компьютерного эксперимента, а также предоставление удаленного доступа к ним — основная цель проекта ИИС «MD_SLAGMELT». Авторами статьи разработана подсистема, обеспечивающая конвертирование данных для базового Legacy Application ИИС «MD_SLAGMELT» из текстового в реляционный формат и автоматического переноса данных из файлового хранилища в реляционную базу данных.
В подсистеме реализованы следующие функциональные возможности:
- перенос термодинамических характеристик, энергетических параметров, кинетических коэффициентов компьютерного эксперимента в базу данных;
- проверка *.DAT файлов на наличие ошибок в генерации;
- перенос в базу данных результатов предыдущих экспериментов;
- формирование отчетности в формате *.xls;
- конфигурирование программы под текущие настройки базы данных.
Разработанное программное обеспечение позволяет переносить сложноструктурированные данные результатов компьютерных экспериментов в области физической химии из текстового в реляционный формат, строить представления для разных измерений гиперкуба свойств, формировать SQL-запросы, обеспечивающие выборки данных из нескольких таблиц базы данных ИИС «MD_SLAGMELT». Рассмотрены существующие подходы считывания данных в текстовом формате, из которых выбран оптимальный, исходя из условий поставленной задачи, спецификации программного комплекса, особенности формата хранения результатов. Разработана методика ведения отладочной информации в целях проверки целостности структуры итоговых результатов эксперимента.
В процессе внедрения программного обеспечения «Программа обработки сложноструктурированных данных для научного эксперимента в ИИС "MD_ SLAGMELT"» функциональность программы была протестирована на основном сервере проекта.
D. V.Kosenko L.I. Voronova VI. Voronov
Moscow, Russia
DEVELOPING SOFTWARE FOR PROCESSING COMPLEX STRUCTURED DATA OF SCIENTIFIC EXPERIMENT
Abstract: Computer experiment is one of the most significant tools today, especially in areas with a large gap between the theory and experiment. The field of physical chemistry and metallurgy is the most striking example among such areas. The goals of IMS «MD_SLAG-MELT» project are to construct chemical processes, to extract properties and results, obtained during a computer experiment, and to provide a remote access to such results.
The main purpose is the development of the methods of converting data from a text into a relational format during computer experiments, and the development of algorithms and tools they correspond for IMS «MD_SLAG-MELT» project.
As a result of the project conduction the following functional tasks have been implemented:
- transferring of thermodynamic characteristics, energy parameters, kinetic coefficients of a computer experiment into the database;
- checking *.DAT files for generation errors;
- transferring the results of previous experiments into the database;
- developing a report in *.xls;
- forming a program for the current settings of the database.
The developed software allows transferring complex structured data results of computer experiments in physical chemistry from the text format to the relational one for IMS «MD_SLAGMELT». The existing approaches to reading data from text files were presented, the optimal of which was selected, based on the conditions of the task specification software system, especially the storage format of the results. In addition, some other techniques were presented: transfer characteristics approach in a relational database,and a technique of debugging information in order to verify an integrity of the structure of final results of an experiment. During the application of "Processing program of complex-structured data for scientific experiment in IMS «MD_SLAGMELT»" software its functionality was tested on the main server of the project. The obtained results provide a higher level of IMS «MD_SLAGMELT» project automation, intermediate inspections of the output files' formation standards and reports in the specified range of structures for the given temperature (dependence of the structure on the property).
Полученные результаты обеспечивают повышение степени автоматизации проекта ИИС «MD_SLAG-MELT», промежуточной проверки стандартов формирования результирующих файлов, построение отчетов в заданном диапазоне составов при заданных температурах: исследование зависимости «состав — свойство».
Ключевые слова: компьютерный эксперимент; физическая химия; конвертирование данных; реляционные базы данных; ИИС «MD_SLAGMELT»._
Сведения об авторах: Дмитрий Владимирович Ко- About the authors: Dmitriy Vladimirovich Kosenko1,
Key words: computer experiment; physical chemistry; data processing; reporting; IRS «MD_SLAGMELT».
сенко , студент 4 курса факультета программной инженерии; Лилия Ивановна Воронова2, заведующая кафедрой информационных систем и моделирования; Воронов Вячеслав Игоревич3, доцент кафедры информационных систем и моделирования. Место работы: 1 Национальный исследовательский университет «Высшая школа экономики»; 2' 3 Российский государственный гуманитарный университет.
4 grade student at Program Engineering Faculty; Lilia Ivanovna Voronova2, Head of the Department of Information Systems and modeling; Vyacheslav Igorevich Voronov3, Associate Professor, Department of Information Systems and Modeling.
Place of employment: 1 National Research University
«Higher School of Economics»; versity for the Humanities._
Russian State Uni-
Контактная информация: 111672, г. Москва, ул. Новокосинская, д. 40, кв. 204; тел.: 9160686838. E-mail: voronova2001 @ mail.ru
Компьютерный эксперимент — это исследование математической модели объекта изучения на ЭВМ, состоящее в том, что по известным параметрам вычисляются искомые и на этой основе делаются выводы о свойствах объекта. Значение компьютерного эксперимента особенно велико в тех областях, где имеется большой разрыв между возможностями теории и эксперимента, к ним относятся физическая химия и металлургия. Как правило, в физической химии предметом исследования является взаимосвязь структурных характеристик и физико-химических свойств.
Для проведения КЭ создаются автоматизированные информационные системы (АИС), главной целью которых является расширение границы исследований, оптимизация научной работы и ускорение проведения исследований. Одной из таких систем является ИИС «Шлаковые расплавы» [6].
Преобразование сложноструктурированных данных, полученных в результате компьютерного эксперимента, в реляционный формат и обеспечение удаленного доступа к ним является одной из первоочередных задач в рамках проекта ИИС «Шлаковые расплавы».
Основной целью работы стала разработка методов конвертирования данных из текстового в реляционный формат при проведении компьютерных экспериментов, и реализующих их алгоритмов и инструментальных средств. Эта проблема связана с разработкой программного обеспечения для «Legacy application» (унаследованных приложений) ИИС «MD_SLAGMELT» [3], с переходом от локальных приложений, рассчитанных на моделирование нескольких тысяч частиц к системе с удаленным доступом, обеспечивающей компьютерный эксперимент для «больших данных» с количеством частиц порядка сотен тысяч, что серьезно осложняет задачу обработки и передачи данных между подсистемами.
ИИС позволяет вести моделирование в нескольких «режимах» с широким набором получаемых свойств:
- моделирование комплекса свойств определенного состава многокомпонентной системы вблизи выбранной температуры;
- моделирование многокомпонентной системы в заданном диапазоне составов при заданных температурах: исследование зависимости состав—свойство;
- моделирование состава по ряду температурных точек (плавление/затвердевание): исследование температурных зависимостей свойств;
- комплексное моделирование многокомпонентной системы (набор температурных зависимостей свойств состава для заданного диапазона составов): получение многомерных зависимостей состав—температура—свойство—структура.
СЕРВЕР ПРИЛОЖЕНИЙ
Квантово-химическое моделирование
Приложение MNDO
Молекулярно-динамическое моделирование
Приложение МД Распределение МД
Статистико-геометрическое моделирование
Приложение SGR
Приложение STRUCTURE
Анализ и обработка данных
Приложение STATISTICA
Визуализация
Приложения, отображающие данные в графических форматах
Рис. 1. Архитектура ИИС «Шлаковые расплавы» [1—3]
Для исследования многомерных зависимостей состав—температура—свойство—структура разработана информационная модель оксидного расплава [2].
На рис. 1 приведена архитектура ИИС «MD_SLAGMELT», ядром которой является база данных для хранения результатов моделирования. Однако наполнение базы данных происходит после обработки файлового хранилища, куда в текстовых форматах записываются данные достаточно больших объемов.
Таким образом, предметом автоматизации является создание компонента «адаптер», предназначенного для преобразования сложноструктурированных данных, полученных в результате компьютерного эксперимента в реляционный формат.
Результаты проведенных экспериментов записываются в текстовом формате в набор файлов во внутреннем серверном файловом хранилище, структура которого формируется динамически в зависимости от входных данных. Для примера на рис. 2 приведена структура директории, сформированной после компьютерного эксперимента с системой SiO2-№20 (0,5—0,5). Подобная директория создается для каждого из проведенных экспериментов, ее название и уровень вложенности формируется на основании названий элементов, входящих в название химической системы и мольных долей. Например, SiONa ^ 0505 (мольные доли) ^ 806 (идентификационный номер математической модели)
±) @ - t J ► Этот компьютер ► Windows 8.1 (С:) ► TempStorage ► SiONa í 0505 ► 806
Избранное □ Имя Дата изменения Тип Размер
& Загрузки it PTL 01.0520140:29 Папка с файлами
'jtvl Недавние места □ 1.sh1 El 1.03.2013 13:55 Файл "SH1" 23 КБ
■ Рабочий стол □ 2sM 31.03.2013 13:55 Файл "SH1" 23 КБ
□ 3.sh1 31.03.2013 13:55 Файл "SH1" 23 КБ
B^J Этот компьютер gl 493[Na)-замечания.}^ 13.54.2513 22:22 Microsoft Excel 37... 37 КБ
gj Видео 493.bat 31.03.2013 14:06 Пакетный файл ... 1 КБ
JrJ Документы g] 494(-).hIs 13.54.2513 22:21 Microsoft Excel 37... 10 КБ
Загрузки g] 494.bat 31.53.2513 14:18 Пакетный файл ... 1 КБ
Изображения g] 495.bat 24.54.2513 11:51 Пакетный файл ... 1 КБ
jhfr Музыка g] 495.xls 26.54.2513 22:03 Microsoft Excel 37... 15 КБ
Рабочий стол ,_, common.for 31.53.2513 13:43 Файл "FOR" 13 КБ
Windows 8.1 (О) ujf current.dat 31.53.2513 13:55 Файл "DAT" 73 КБ
Ш SD Card (Б) l_l Déni .wrl 31.03.2013 13:50 Файл "WR1 " 5 КБ
l_j Den2.wr1 31.53.2513 13:55 Файл "WR1 " 5 КБ
% Сеть l_j Den3.wr1 31.53.2513 13:55 Файл "WR1 " 5 КБ
l_j frr1.wri 31.53.2513 13:55 Файл "WR1 " 3 КБ
l_j frr2.wri 31.53.2513 13:55 Файл "WR1 " 3 КБ
l_j frr3.wr1 31.53.2513 13:55 Файл "WR1 " 3 КБ
l_j md_dat 31.53.2513 13:43 Файл 12 КБ
Lj MSD1.wr1 31.03.2013 13:50 Файл "WR1 " & КБ
l_j MSD2.wr1 31.53.2513 13:55 Файл "WR1 " & КБ
l_j MSD3.wr1 31.53.2513 13:55 Файл "WR1 " & КБ
Qf point.dat 31.53.2513 13:55 Файл "DAT" S33 КБ
bjf rezult.dat 31.53.2513 13:55 Файл "DAT" 1S КБ
[Üjf Srn_inf.dat 31.53.2513 13:55 Файл "DAT" 3 КБ
l_j SmJnfJ.wrO 31.53.2513 13:55 Файл "WR0" 1 КБ
l_l Sm_inf_2.wr0 31.03.2013 13:50 Файл "WR0" 1 КБ
l_j Smjnf_3.wr0 31.53.2513 13:55 Файл "WR0" 1 КБ
l_j Smjnf_4.wr0 31.53.2513 13:55 Файл "WR0" 1 КБ
l_j Smjnf_5.wr0 31.53.2513 13:55 Файл "WR0" 1 КБ
Элементов: 48
Рис. 2. Организация хранимых файлов по завершении проводимого эксперимента
Все результаты делятся на определенные группы. Они представляют собой документы формата «*^ЛГ». В них содержится информация о начальных условиях эксперимента, о каждой из групп характеристик (средних значений параметров, давления, длины связей и т.д.), полученных в результате исследования (рис. 3).
Рис. 3. Структура MD_DAT файла и SM_INF.DAT файла соответственно
Каждый из документов формата «*^АТ» представляет собой текстовый файл с позиционным расположением характеристик эксперимента. Между файлами существуют корреляции. Так, MD_DAT файл содержит информацию о количестве элементов, количестве запусков и температурных точках, что определяет размер файла SM_INF.DAT (рис. 3).
При разработке программного обеспечения было выбрано построчное считывание данных ввиду хранения результатов с разделителями «М» и « » (рис. 4).
8 9 10
Ызсо (ш) Т,К Т даа Г Ш ЩЙЛ ïï_ph -■"Î-'TVv'v
11 Ш) 78953.4 13225.2 1 94281.1 37 81055.9 200 10 20
12
Рис. 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 WW WW 1—2 От 07.2012
2 WW 16—20 От 07.2012
3 WW WW 1—2 От 07.2012
4 WW 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» разработан вид логирования — ведения отладочной информации в целях проверки целостности структуры суммарных результатов эксперимента. После завершения выполнения программы, в случае возникновения исключительных ситуаций, администратор проекта, имеющий доступ к файловой системе, содержащей результаты проведенных экспериментов, имеет возможность ознакомиться с причиной, вызвавшей «некорректную» работу программы.
Завершение программы при возникновении исключительной ситуации ведет к построению и записи актуального информационного сообщения администратору в файле егшг.^.О в директории с результатами связанного эксперимента.
Для удобства обеспечения отладки и поиска ошибок в формате сформированных результатов осуществляется хранение вплоть до пяти логов с соответствующей нумерацией * о_* 4
Представление формирования логов для файла SM_INF.DAT и запуска программы с аргументом "-такех^" — соответственно (рис. 5—6).
5 J{ < "-insert" "[:: /DAT :1х 1 !'■/6/ир I:;-."! " "!:: /Dar :1х 1 !■'/4 /SM !'.:•' " }
6 j^j^.^^g.NuiaberforTiiatException: Far input string:
at sun .raise. FloatingDecinral. readJavaFonnatString (Unknown So jice] at sun.mise. FloatingDeeimal.parseFloat (nnlenown Source) -IsiXiS■-sUaa■ Float .paiseFloat (Unknown Source)
10 at model .MweAtrfcs. (MvweAtrfcs. Jfilffl: 5S>
11 at controller. DatParser.Parser (DatParser ..цу^:23S)
Рис. 5. Сгенерированный лог для исключительной ситуации, возникшей при считывании SM_INF.DAT
<5
Рис. 6. Сгенерированный лог для исключительной ситуации, возникшей при формировании output.xls
При разработке логера была использована стандартная библиотека, входящая в состав Java Development Kit java.util.logging.Logger, некоторые из параметров управления логером могут быть изменены по желанию администратора в файле logging.propeties (рис. 7—8).
Этот компьютер ► Windows3.1 [С:] ► Пользователи ► DVKosenko ► AppData ► Local ► SupSoftware ► DataAdapter
Рис. 7. Директория пути к файлу logging.properties java.¿til.logging.FileHandler.pattern = error.log
java, '¿til. logging. FileHandler . formatter = java, útil. logging. SiirpleFormatter Рис. 8. Параметры логера в файле logging.properties
При запуске программы с входными параметрами {"-makexls" "filename.xls" "темпера-турная_точка" "отклонение" "элемент"} происходит извлечение результатов экспериментов с температурными точками, находящимися в диапазоне от [температурная_точка - отклонение; температурная_точка + отклонение], содержащих "элемент". Извлеченные из базы данных характеристики, соответствующие запросу, хранятся в оперативной памяти, после чего с помощью интерфейса прикладного программирования (API) jXLS формируется файл *.xls, содержащий искомые данные (рис. 9).
А В С D
1 Si02-Na20 Si02-Na20 Si02-Na20
2 0.5-0.5 0.5-0.5 0.5-0.5
3 sumj 2612.9 2694.1 2507.1
4 sumjj 35820.2 36255.6 35210.4
5 walls 2356.7 2438.7 2470.4
6 td 24799.9 25106.0 24423.8
7
8
9
10
11
12
13
14
15
Pressure | BugaevTd | LebovChengTd | ЕП"ер1 | Helper | TempFluc | VirlalSQR | ©
Рис. 9. Сформированный *.xls файл и практическая значимость отчетности
По каждой из групп характеристик, относящихся к определенному временному промежутку и пользователю, в сформированном программой «*.xls» файле оператор с помощью стороннего ПО может сформировать графики их изменения относительно мольных долей и температур.
Таким образом, решена задача переноса сложноструктурируемых данных, генерируемых Legacy application ИИС «MD_SLAGMELT» из набора текстовых файлов в реляционный формат. Реализовано программное обеспечение, позволяющее проводить необходимые преобразования данных и обеспечивающее запись в реляционную базу данных.
При этом разработана схема базы данных, архитектура программного обеспечения, обеспечен информационный обмен компонентами ИИС «MD_SLAGMELT», осуществлена реализация переноса всех групп выходных данных (термодинамических характеристик, энергетических параметров, кинетических коэффициентов) компьютерного эксперимента из текстовых файлов в реляционную базу данных; выстроена система проверки *.DAT файлов на наличие ошибок в генерации и проведено тестирование; разработана логика формирования отчетности в формате *.xls; осуществлено конфигурирование программы под текущие настройки базы данных.
В процессе внедрения программного обеспечения «Программа обработки сложноструктурированных данных для научного эксперимента в ИИС "MD_SLAGMELT"» функциональность программы была протестирована на основном сервере проекта.
ЛИТЕРАТУРА
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.
REFERENCES
1. Booch G., Rumbaugh J., Jacobson I. UML. User Guide. Moscow, 2001.
2. Voronov L.I., Grigoriev M.A., Voronov V.I., Trunov A.S. Software complex «MD-SLAGMELT» for modeling nanostructures and properties of multicomponent liquid alloys // Liquid Alloys. 2013. № 4.
3. Voronov L.I., Trunov A.S. Optimizing parallel algorithm of distributed molecular dynamics simulation subsystem // Interdisciplinary Information Service. 2011. № 3.
4. Date C.J. An Introduction to Database Systems. 8th Ed. Moscow, 2005.
5. DuBois P. MySQL. Complete Guide. 3rd Edition. Moscow, 2006.
6. IMS «MD-SLAG-MELT». URL: http://nano-md-simulation.com
7. Mark D., McGowan K. Methodology of structural analysis and design. Moscow, 1993.
8. Morimoto R. Microsoft Windows Server 2012. Complete Guide / M.Noel, G.Yardeni, O.Draubi, E.Abbeyt, K.Amaris. 2nd Edition. Moscow, 2013.
9. Rumbaugh J., Blaha M. UML 2.0. Object oriented modeling and design. 2nd Edition. St. Petersburg, 2007.
10. Worsley J. PostgreSQL. For professionals. 3rd edition. St. Petersburg, 2003.