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

233

Для разработки компьютерных установок по аналитическим, численным и вероятностным моделям используют языки и среды общего назначения: Pascal, Fortran, Visual Studio (Visual Basic, Visual С++, Visual С#), Forte for Solaris Developer Tools, Delphi Suite и Java JBuilder и др., а также технологии разработки компьютерных моделей в системах компьютерной математики  Maple, MathCAD, Mathematica, MATLAB и др. Технологии разработки компьютерных моделей с помощью языков программирования и систем компьютерной математики можно изучить.

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

Однако, рассматривая случай разработки программного обеспечения (компьютерных установок для моделирования) в области аналитического моделирования объекта исследования, чаще всего сталкиваемся с научным работником, работающим самостоятельно, и самое интересное в этом процессе то, что он одновременно является и заказчиком, и исполнителем.   

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

Версия 1. Так как исследование проходит в виде диалога «компьютер-исследователь», то разработчик программного обеспечения использует модульное строение программы численного решения математической задачи приведенной на рисунках 1, но без интерфейса. Чаще всего используется блок задания исходных данных и вывода результатов исследования в программе моделирования. Все программы приложения разработаны согласно этой версии – подходу.

При разработке компьютерных установок, предназначенных для научных исследований в различных отраслях науки (физике, химии, биологии, экологии и др.), используется принцип модульной реализации (построения) программного комплекса, и которая чаще всего состоит из следующих модулей – интерфейса, ядра, библиотеки, модулей пользователя. Каждый модуль состоит из спецификации и тела. Спецификации определяют правила использования модуля, а тело – способ реализации процесса обработки. Схема связей модулей показана на рисунках 1. 

Рисунок 1. Модульное строение программного компьютерного моделирования

Версия 2. Здесь разрабатываются экранные формы представления исходных и выходных данных, используются готовые стандартные модули и простейшие элементы управления (рисунок 2).

Пользовательский интерфейс содержит:

  • форму ввода данных;
  • форму вывода с окном рисунка для вывода графика;
  •  форму управления координатной сеткой 

Используются основные стандартные модули:

  • процедуры решения дифференциальных уравнений 
  • процедура построения графика решения с процедурой построения координатной сетки.

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

На рисунках 2 приведен пример оформления графического интерфейса пользователя входных и выходных параметров программы моделирования прохождения нейтронов через пластинку.

Для разработки интерфейса чаще всего используются среды программирования Visual Studio (Visual Basic, Visual С++, Visual С#) – компании Microsoft, Forte for Solaris Developer Tools – компании Sun Microsystems Inc., Delphi Suite и Java JBuilder – компании Borland International и языки программирования Forth, Simula-67, OAK, Smalltalk и др.

Ядро компьютерной модели представляет собой программу, выполняющую основную вычислительную функцию решения задачи математического моделирования. Для задач вычислительного характера для написания ядра используются языки программирования Fortran, Cobol, Ada, PL/1, Фокал, Basic, Pascal и др. Пользователь работает с ядром посредством программы интерфейса. Ядро программы разрабатывается так, что любой алгоритм в нем работает достаточно быстро. Для расширения набора стандартных процедур используется библиотека языка кодирования и набор модулей пользователя.


Рисунок 2. Интерфейс входных и выходных данных программы моделирования прохождения нейтронов через пластинку методом Монте-Карло (среда программирования Delphi)

Общая схема программы ядра состоит из трех последовательных блоков: 

1. Блок задания входных постоянных параметров и исходных данных задачи.

2. Блок основного тела программы ядра, где проводится решение задачи на алгоритмическом языке программы. 

3. Блок вывода результатов решения математической задачи.

 Приведем пример решения одной задачи для моделирования маятника Фуко по методу Эйлера на языке Pascal.  

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

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

Модули пользователей. Кроме стандартных библиотек, поставляемых с пакетом среды программирования, пользователи при разработке программы моделирования могут использовать свою личную библиотеку, т.е. собственные разработанные модули (процедуры и функции). Эти модули могут быть разработаны на различных базовых языках и откомпилированы в виде исполняемых *.ехе или *.com файлов.

Средства визуализации.   Результаты решений представляют в виде графиков. Причем полученные графики должны быть выведены для текстового редактора Word, в целях публикации. Для этих целей разрабатывают модуль построения и выдачи графика или используют готовые графические пакеты. В частности, можно использовать графические пакеты Microcal Origin, Advanced Grapher и др. Эти пакеты широко применяются исследователями всего мира, в том числе и в нашей стране для обработки и визуализации экспериментальных и численных данных.

Microcal Origin является приложением системы Windows. Пользовательский интерфейс данного программного продукта не отличается от других приложений. Этот графический пакет очень удобен для обработки результатов при проведении как реального, так и вычислительного эксперимента. Он обладает многими возможностями:

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

Для работы в этом пакете необходимо иметь экспериментальные данные в виде текстового файла с расширением *.dat. Подготовка такого файла, например, на языке Паскаль осуществляется следующим образом:

 FIL:TEXT;                          {описание  текстового файла}

ASSIGN(FIL,’C:\FILTR.DAT’); {открытие и указание пути сохранения файла} REWRITE(FIL); {обнуление файла}

Тело программы 

FOR I:=1 TO N DO BEGIN

WRITELN(FIL,I*H, ‘ ‘, U[I]);END;  {формирование файла }

CLOSE(FIL);  {закрытие файла}

Кандидат технических наук, старший преподаватель кафедры «Вычислительные машины, системы и сети» Асомиддинов Зайниддина Шарофович