Skip to content

AndreyYashkin/UnicalcProblems

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Данный проект выложен в целях демонстрации созданных мной программ для поступления в магистратуру НГУ. 

Подробно о решаемых задачах
1. https://uniserv.iis.nsk.su/threats
2. Онтология
3. Задача Энергетической безопасности
4. Конкретная задача
5.а. Похолодание
5.б. Авария у производителя энергоресурса
6. В секции «Ввод данных» можно также открыть версию клиента, скомпилированную под WebAssembly(имеет некоторые технические ограничения), чтобы не утруждать себя сборкой программы из исходников.

В двух словах о принципе работы.
У всех клиентов есть много общего функционала: подключение к серверу, отправка файла, сохранение и загрузка модели задачи с диска, окно просмотра .uni файла(модели Unicalc) для отладки, меню, содержащее все эти действия и обработка стандартных ошибок. Чтобы не писать все это каждый раз, весь общий функционал вынесен в отдельную статическую библиотеку, которую можно использовать сразу в нескольких проектах одновременно.

UnicalcClient получает в конструкторе UCProblemsFactory, с помощью которого он создает экземпляр UCProblem. Этот класс отвечает за предоставление указателя на виджет, который должен использоваться для ввода данных, создание виджета для вывода .val файлов(выходные данные), которые представил сервер. Также этот класс может предоставлять окно, в котором будет предоставлена информация о программе, инструкция пользователя и окно настроек. Как это все работает внутри зависит от конкретного клиента.

Серверная часть получает текстовый файл модели, который она передает на решение решателю Unicalc, который проводит обработку .uni файла и возвращает .val файл, который потом отправляется назад клиенту для вывода результата вычисления конечному пользователю. Unicalc является проприетарным ПО, которое создают в лаборатории моего научного руководителя и его я предоставить не могу, но можно использовать их запущенный сервер   ws://uniserv.iis.nsk.su:25565

Сборка
Для сборки под Windows, Mac или Linux необходима библиотека Qt с поддержкой модулей core, widgets и websockets.
Сборка веб версии описана тут
https://wiki.qt.io/Qt_for_WebAssembly

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published