Сервис доступа к CAS Maxima

...Фактически, фабрика экземпляров Maxima....

Автор сервиса: Сергей Андреевич Смирнов, <sasmir[AT]gmail.com>


Скомпилированные модули (готовые к употреблению)

Для Windows

Скомпилированный сервис (под WinXP). MaximaService4Win-2.2.zip Распаковать и запустить:

  • start_slave_node.bat - для запуска slave-фабрики; адрес master-фабрики см. в slave.conf (параметр MaximaFactory.MasterProxy)
  • start_master_node.bat - для запуска master-фабрики; адрес master-фабрики см. в slave.conf (параметр MaximaFactory.MasterProxy)

Для Linux

Скомпилированный сервис (под WinXP). MaximaService4Win-2.2.zip Распаковать и запустить:

  • start_slave_node.bat - для запуска slave-фабрики; адрес master-фабрики см. в slave.conf (параметр MaximaFactory.MasterProxy)
  • start_master_node.bat - для запуска master-фабрики; адрес master-фабрики см. в slave.conf (параметр MaximaFactory.MasterProxy)

Исходные коды

Агент взаимодействия с Maxima

Для взаимодействия с консолью Maxima, использeтся unnamed pipes. Предлагаемая реализация основана на специально модифицированной версии библиотеки Boost.Process (http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?BoostProcess). Разбор вывода реализован на основе регулярных выражений, предоставляемых библиотекой Boost.Regex http://www.boost.org/libs/regex/doc/index.html.

Исходные коды данного модуля расположены в SVN репозитории по адресу MaximaAdapter

Модуль интеграции в распред. среду (IARnet2@Ice)

Удаленный доступ к сервису Maxima обеспечивается несколькими Ice-объектами. На каждом узле, где запущен сервис, взаимодействие клиента с сервисом Maxima начинается с запроса на создание нового экземпляра Maxima у объекта фабрики. Объекты фабрик нескольких узлов объединяет объект главной фабрики, он позволяет клиенту начать работу с сервисом с запроса на получение списка всех доступных объектов фабрик. Экземпляры Maxima представлены соответствующими объектами создаваемыми фабриками. Реализацию всех перечисленных объектов предоставляет модуль интеграции в распределенную систему для IARnet2. Данный модуль представляет собой динамически загружаемую библиотеку, которая может быть загружена узлом IARnet2. Узел обеспечивает удаленный доступ к сервису Maxima, автоматическую регистрацию сервиса в информационной службе IARnet2, а также контроль доступа при помощи TLS/SSL и механизма сертификатов.

Исходные коды данного модуля расположены в SVN репозитории по адресу http://dcs.isa.ru/svn/iarnet/ssmir/Maxima/trunk/IARnetMaximaService/

Комплект полуавтоматической сборки для Windows

Упрощает сборку дистрибутива сервиса Maxima для Windows. Комплект расположен в SVN репозитории по адресу http://dcs.isa.ru/svn/iarnet/ssmir/MaximaServiceInstallerWin/ Файл README содержит все необходимые инструкции для создания дистрибутива сервиса Maxima. Дистрибутив может быть перенесен на другой компьютер с установленными Windows XP и Ice без перекомпиляции.

Сценарий обращения матриц

Клиентское приложение (Java) подготовки и управления сценарием вычислений.

Архив с программой, скриптом запуска (*.bat) и настройками Ice. JavaClient2MaximaService Распаковать.

Изменить, если нужно параметры в config\client4MaximaService.conf.

и запустить runClient2MaximaServiceJar.bat

Краткое описание

Приложение снабжено простым, но достаточно информативным и функциональным интерфейсом в форме «консольного» многоуровневого меню, позволяющего оператору производить следующие действия:

  • соединения с главным узлом;
  • получения списка зарегистрированных узлов с фабриками;
  • формирования «решающего поля», запуская экземпляры ресурсов на хостах;
  • выполнения подготовительных действий по рассылке вспомогательных скриптов интерпретатора команд Maxima;
  • задания параметров эксперимента и выполнения двух этапов обращения (LU_FACTOR и LU_BACKSUB).

Общий принцип взаимодействия оператора с предлагаемым консольным меню – ввод номера команды из списка с перечислением параметров команды (если нужно):

$1) Create Master Factory proxy from default address [master/MaximaMasterFactory:tcp -h godzilla -p 17010 -z]
$2) Create Master Factory proxy from string (after space)
$3) Ping Master Factory (<proxy>.ice_ping()>
$4) Fill list of registered factories
$5) => Get Maxima solvers commands
$6) => Exact invert SCENARIO commands
$7) => Execute commands for selected Maxima 
$8) => File commands
Type either number of item (after $) and input after blank, or quit ("x" or "q")
Type 'help' or '?' to see commands 

Исходные коды которого находятся в SVN-репозитории http://dcs.isa.ru/svn/iarnet/vvvol/trunk/CAS_Maxima.

staff/vladimirv/maxima.txt · Последние изменения: 2009/03/27 18:12 vladimirv
chimeric.de = chi`s home Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0