Особенности разработки интерфейса вычислительного комплекса Ilion

 

Воробьев Я.О.

Липецкий государственный технический университет,

Россия, Липецк

 

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

Ключевые слова: интерфейс, вычислительный комплекс Ilion, архитектура системы, вычислительная среда Mathematica.

 

Введение

Вычислительный комплекс ILION предназначен для решения задач механики деформируемого твердого тела (МДТТ) средствами метода граничных состояний (МГС), её возможности позволяют организовать решение задач для любого ответвления в математической физике. Основной задачей является организация интерфейса данного вычислительного комплекса.

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

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

1. Архитектура системы

Вычислительный комплекс ILION разработан на языке среды Mathematica (вычислительной среды поддерживающий компьютерные алгебры). Данная среда позволяет производить сложные математические вычисления, необходимые для решения задач Метода Граничных Состояний, однако в базовых возможностях среды Mathematica предусмотрена возможность создания только простейшего диалога между пользователем и вычислительной системой, организация полноценного интерфейса не предусмотрена. Так же недостатком вычислительного комплекса, написанного в среде Mathematica является открытость кода. Из-за чего затрудняется распространение вычислительного комплекса широкому кругу пользователей, поскольку в данном случае конечные пользователи получат доступ к исходным кодам вычислительного комплекса, являющихся авторской собственностью.

Исходя из этого, перед нами встают две основные задачи:

·                   Организация дружественной интерфейсной панели.

·                   Защита исходного кода.

Поскольку для решения задач Метода Граничных Состояний нам нужна среда, поддерживающая компьютерные алгебры, а также в связи с тем, что сам вычислительный комплекс ILION уже написан на основе среды Mathematica, мы не можем организовывать систему на основе иной среды.

Для решения наших задач в среде Mathematica предусмотрена специальная возможность для организации интерфейса или других дополнений. Данный возможностью является протокол MathLink позволяющий отправлять запросы в ядро среды Mathematica, не из программы Mathematica, а из написанной нами программы на основе любой другой среды, соответствующей нашим требованиям.

Благодаря этому мы можем разработать интерфейс для вычислительного комплекса на подходящем нам языке программирования, в то время как математические вычисления будут происходить в ядре среды Mathematica. Это является путём решения нашей первой задачи, организации дружественной интерфейсной панели.

Переходя ко второй задаче, следует отметить, что поскольку задачи на осуществление вычислений будут отправляться не из программы Mathematica, в которой код хранится в открытом виде, а из интерфейса, написанного в другой среде, то ответственность за сохранность авторского кода переходит на программу интерфейсной панели.

Это является одним из требований к выбору среды разработки.

Среда должна позволять скомпилировать исходный код, дабы скрыть его для конечного пользователя.

Для решения задач, мы выбрали среду QT, так как она поддерживает протокол MathLink, обладает широким выбором языков программирования и поддерживает компилирование программных продуктов.

В результате мы получаем следующую структуру вычислительного комплекса:

1)                Интерфейс вычислительного комплекса на QT.

2)                Протокол MathLink.

3)                Ядро среды Mathematica.

Обратное взаимодействие по схеме запрос => ответ.

2. Структура интерфейсной панели

Интерфейс должен иметь понятный классический вид и включать в себя следующие панели:

·                   главное меню

·                   панель вычислительных модулей

·                   основная диалоговая панель

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

В начале работы система должна предлагать создать новый проект или загрузить старый проект. При создании нового проекта предусмотрен выбор типа решения задачи. На текущий момент предусмотрено "линейное решение", в процессе будут дополняться другие типы решений, которые будут формироваться путём компоновки вычислительных модулей.

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

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

3. Вычислительные модули

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

Рассмотрим вычислительный модуль целью работы которого является согласованное описание множества точек тела, заключенных в области V, а также точек, совокупность которых V ограничивает эту область. Для достижения цели необходимо непротиворечиво выполнить последовательность действий: 1) провести классификацию множества допустимых вариантов областей; 2) индивидуально для каждой подобласти выполнить параметризацию, предварительно представив область (вообще, произвольной конфигурации) в форме объединения "положительных" подобластей и отсечения "отрицательных" (полостей); 3) разбитую на конечное число частей границу параметризировать также по индивидуальному принципу; 4) выполнить завершающее тестирование на предмет непротиворечивости описаний [1].

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

Помимо анализа вводных данных важной частью интерфейсной панели является иллюстрирование полученных данных, что бы пользователь сразу получал физическое представление введённых параметров. Как пример, при выполнении параметризации подобласти, происходит объединение "положительных" подобластей и отсечения "отрицательных" (полостей). Этот процесс необходимо проиллюстрировать в интерфейсной панели, что бы пользователь сразу видел физическое представление полученной области.

 

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

1. Пеньков В.Б. Левина Л.В., Воробьев Я.О. Организация интерфейса вычислительного комплекса Ilion для описания "Геометрии" 3d-объекта механики сплошной среды // Вестник Липецкого государственного технического университета. – 2016. – № 1 (27). – С. 14-20.

 

Сведения об авторе:

Воробьев Ярослав Олегович – аспирант Липецкого государственного технического университета, генеральный директор ООО Семиликон.

 

FEATURES OF DEVELOPMENT OF INTERFACE OF ILION COMPUTING COMPLEX

Vorobev Ia.O.

 

Abstract. The article deals with the specificity of developing the interface of the Ilion computer complex, designed to solve the problems of mechanics of a deformed solid by means of the boundary state method. The purpose of organizing the interface panel is to create a user-friendly environment for communication between the user and the computer complex. The article points out that the result of the development is a software product that functions independently and does not require special user skills for working with computing environments.

Keywords: interface, computer complex ILION, system architecture, computing environment Mathematica.

 

References:

1. Penkov V.B. Levina L.V., Vorobev Ia.O. Organization of the interface of the Ilion computer complex for describing the "Geometry" of the 3d object of continuum mechanics // Vestnik LSTU. – 2016. – № 1 (27). – С. 14-20.