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/ |