OberonCore
https://forum.oberoncore.ru/

Способы взаимодействия с блекбоксом из других сред
https://forum.oberoncore.ru/viewtopic.php?f=2&t=5646
Страница 1 из 1

Автор:  adva [ Понедельник, 21 Март, 2016 09:47 ]
Заголовок сообщения:  Способы взаимодействия с блекбоксом из других сред

Есть ли на текущий момент такие?
Интересует наличие, и если есть, то ссылки, как использовать.
В принципе знаю, что можно COM-объекты реализовывать, но может еще чего есть? И можно ли среду ББ в целом использовать как COM-компонент?
Открытие извне форм/документов ББ тоже интересует.

Автор:  Иван Денисов [ Понедельник, 21 Март, 2016 11:40 ]
Заголовок сообщения:  Re: Способы взаимодействия с блекбоксом из других сред

Кроме OLE возможно еще по TCP взаимодействовать (пример ObxServer), также собрать необходимые модули в dll и запускать.

Автор:  Пётр Кушнир [ Понедельник, 21 Март, 2016 11:54 ]
Заголовок сообщения:  Re: Способы взаимодействия с блекбоксом из других сред

Сразу вопрос, взаимодействовать с уже запущеным ББ или предполагается запускать его с параметрами? С запущеным ББ можно взаимодействовать через любой подходящий вам вид IPC (interprocess communication), а с параметрами и так всё понятно. Про dll-ки уже сказали, но ББ это Ъ-компонетный фреймворк, поэтому лучше ББ быть главным и дёргать нужное.

Автор:  Пётр Кушнир [ Понедельник, 21 Март, 2016 12:04 ]
Заголовок сообщения:  Re: Способы взаимодействия с блекбоксом из других сред

Например, у меня есть компонент "Шина сообщений" https://bitbucket.org/petryxa/msg

В этой шине есть модули, в том числе модуль IPC.

Этот модуль использует возможности винды и shared memory mapped files для перекачки данных между процессами. Сейчас взаимодействуют только процессы ББ, соответственно им проще понимать сообщения. Но я использую для сериализации данных открытый формат BSON, что позволит в принципе любому другому программному окружению читать и разбирать эти данные. Например.

Так же на базе этой схемы я реализовал использование ББ как dll, в компоненте https://bitbucket.org/petryxa/mbp

Автор:  adva [ Понедельник, 21 Март, 2016 18:27 ]
Заголовок сообщения:  Re: Способы взаимодействия с блекбоксом из других сред

Пётр Кушнир писал(а):
Например, у меня есть компонент "Шина сообщений"

Спасибо, посмотрю, а где импортируемые модули искать?
Требует ListsSet, ListsStack, ypkSysMeta, ypkSysTry (возможно и еще чего).

Автор:  Пётр Кушнир [ Понедельник, 21 Март, 2016 18:33 ]
Заголовок сообщения:  Re: Способы взаимодействия с блекбоксом из других сред

http://oberoncore.ru/bbcc/subs/start и ещё у меня в битбакете, ссылку я уже дал, они там рядом все лежат.

Автор:  Info21 [ Среда, 23 Март, 2016 12:49 ]
Заголовок сообщения:  Re: Способы взаимодействия с блекбоксом из других сред

Пётр Кушнир писал(а):
Например, у меня есть компонент "Шина сообщений" https://bitbucket.org/petryxa/msg

В этой шине есть модули, в том числе модуль IPC.

Этот модуль использует возможности винды и shared memory mapped files для перекачки данных между процессами.

А для линукса ничего нет подобного?
Это вопрос, наверное, Ивану Андреевичу.

Автор:  Иван Денисов [ Среда, 23 Март, 2016 15:42 ]
Заголовок сообщения:  Re: Способы взаимодействия с блекбоксом из других сред

Если интересно взаимодействие через библиотеку mpich, то есть у меня модуль для этого.
http://gitlab.molpit.org/idenisov/Robust
Он и под Windows должен работать практически без измерений.
Однако разрабатывался и тестировался для Freenix сборки.

Автор:  Info21 [ Среда, 23 Март, 2016 22:43 ]
Заголовок сообщения:  Re: Способы взаимодействия с блекбоксом из других сред

Иван Денисов писал(а):
Если интересно взаимодействие через библиотеку mpich, то есть у меня модуль для этого.

Спасибо, это тоже равно интересно, для монте-карл и т.п.

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

Автор:  arlean1 [ Пятница, 23 Март, 2018 23:14 ]
Заголовок сообщения:  Re: Способы взаимодействия с блекбоксом из других сред

Info21 писал(а):
Спасибо, это тоже равно интересно, для монте-карл и т.п.

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


Сам только собираюсь разобраться с тулз, но как потенциальная возможность, если добавить синхронизацию:
Файлы в памяти
viewtopic.php?f=47&t=5511

Автор:  Иван Денисов [ Суббота, 24 Март, 2018 07:03 ]
Заголовок сообщения:  Re: Способы взаимодействия с блекбоксом из других сред

Info21 писал(а):
Иван Денисов писал(а):
Если интересно взаимодействие через библиотеку mpich, то есть у меня модуль для этого.

Спасибо, это тоже равно интересно, для монте-карл и т.п.

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

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

Автор:  Иван Денисов [ Суббота, 24 Март, 2018 09:20 ]
Заголовок сообщения:  Re: Способы взаимодействия с блекбоксом из других сред

Фёдор Васильевич вот вам пример как MPI использует команда OpenBUGS для винды.
https://github.com/MultiBUGS/MultiBUGS

Автор:  arlean1 [ Суббота, 24 Март, 2018 13:23 ]
Заголовок сообщения:  Re: Способы взаимодействия с блекбоксом из других сред

Иван Денисов писал(а):
MPI совсем не накладывает никаких ограничений на то, что будут делать отдельные процессы. У меня, например, разный набор модулей в приложениях запускается.

Насколько понял, MPI работает поверх tcp/ip
Файлы в памяти viewtopic.php?f=47&t=5511
- это потенциально zero copy. Если автор подскажет, будет интересно. К сожалению, документации почти нет.

Автор:  Info21 [ Суббота, 24 Март, 2018 13:42 ]
Заголовок сообщения:  Re: Способы взаимодействия с блекбоксом из других сред

Иван Денисов писал(а):
Фёдор Васильевич вот вам пример как MPI использует команда OpenBUGS для винды.
https://github.com/MultiBUGS/MultiBUGS
Большое спасибо. Пара рук должна освободиться к лету, начнём конкретно копать.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/