«Продай мне этот космолёт» или история любви к симуляторам. От космосима X-Tension до ActorModel/DoD/ECS архитектуры. Ч2

Продолжение истории. Во второй части речь пойдет про поиск пути к своему симулятору: затронем мультиагентные системы "прошлого" (MAS), акторную модель (actor model), современную игровую архитектуру ECS и Data-Oriented Design. Что взлетело, что не взлетело, и почему гибридная архитектура показалась подходящей для трёхуровневой модели управления из первой части. Все это с историческими отсылками к Хьюитту, Армстронгу и Эктону.

https://habr.com/ru/articles/1035768/

#симуляторы #симуляции_и_моделирование #имитационное_моделирование #иерархии_управления #actor_model #data_oriented_design #entity_component_system #архитектура #bevy #akka

«Продай мне этот космолёт» или история любви к симуляторам. От космосима X-Tension до ActorModel/DoD/ECS архитектуры. Ч2

«Все модели неправильны. Некоторые из них полезны.» — Джордж Бокс «Через тернии к звездам» Прежде чем начать эту часть, хочется извиниться перед теми, кто пробирался через первую. Зоопарк аббревиатур...

Хабр

«Продай мне этот космолёт» или история любви к симуляторам. От космосима X-Tension до ActorModel/DoD/ECS архитектуры. Ч1

История любви к симуляторам — от экономических стратегий и симуляторов, где сложная система сама себя ведёт, до идеи построить свой симулятор производства на новых принципах. Первая часть про изучение теории про производства и логистику. Знакомство с инструментами управления: ERP, MES, WMS, APS, и попытка понять, кто за что отвечает и почему так много аббревиатур. Дальнейшая теория про - иерархии управления и уровни планирования, S&OP, SCM, IBP, DDAE, и развилка между двумя школами, каждая из которых считает себя единственно правильной. Отдельная глава — про алгоритмический слой под всем этим: эвристики, OR, MAS, ML, цифровые двойники, LLM-агенты, и неожиданное открытие, что они эволюционируют не так, как методологии. И в конце концов прийти к желанию попробовать построить свой симулятор на новых технологиях.

https://habr.com/ru/articles/1028794/

#Симуляторы #симуляции #имитационное_моделирование #иерархии_управления #actor_model #Data_oriented_Design #Entity_Component_System #Demand_Driven_Adaptive_Enterprise #MARL #агенты

«Продай мне этот космолёт» или история любви к симуляторам. От космосима X-Tension до ActorModel/DoD/ECS архитектуры. Ч1

"Продай мне этот космолёт" Хочу поделиться историей познания сложного мира производства и логистики, методологий и алгоритмов, а также большого количества обеспечивающих их инструментов - ИТ-систем и...

Хабр

joerl :: довёл до рабочей версии

joerl — это библиотека модели акторов для Rust, вдохновленная Erlang и названная в честь Джо Армстронга , создателя Erlang. Если вам когда-либо приходилось строить конкурентные системы на Erlang/OTP и вы думали: «Эх, был бы здесь хоть намек на систему типов», — то вот она, ваша прелесть. Я начинал этот проект просто потренироваться в расте немного, но меня затянуло и я довел ее более-менее до ума. Сам я на расте писать буду вряд ли, если кто-то ближе к телу захочет попробовать — буду признателен. Публикую сейчас, потому что свободное время у меня заканчивается, много допилов в ближайшее время ждать не стоит, основную функциональность, которую хотел, я сделал, а карму мне скоро выкрутят в минус и придётся публиковаться через песочницу. Релиз с distribution и телеметрией

https://habr.com/ru/articles/974660/

#actor_model #concurrency #otp #supervision_tree #distributed_systems

joerl :: довёл до рабочей версии

joerl — это библиотека модели акторов для Rust, вдохновленная Erlang и названная в честь Джо Армстронга , создателя Erlang. Если вам когда-либо приходилось строить конкурентные системы на Erlang/OTP и...

Хабр

joerl :: привычная акторная модель из эрланга в расте

Вскрытие показало, что я немного отстал от жизни, и язык программирования «Кровожадный краборжав» уже вполне себе пригоден для написания простеньких хелоуворлдов… Ладно. В кои-то веки обойдусь без ёрничанья. Официально заявляю: я написал свою первую библиотеку на расте и мне понравилось . Раст — несомненно местами красивый и приятный для работы язык. Написание кода укладывается в зелёный диапазон плотности wtf/sec , а инструментарий заслуживает всяческих похвал (кроме кросс-публикации документации на https://docs.rs/ , которая в 2025 году занимает час — хоть донаты шли, её-богу). Итак, я написал библиотеку, которая позволит эрлангистам проще вкатываться в раст. Акторная модель притворяется краденой из эрланга, с примитивами GenServer и GenStatem , с деревьями супервизоров , с боксированными сообщениями , мэйлбоксами , и привычной терминологией. Библиотека названа joerl , светлой памяти Джо Армстронга, с которым мне посчастливилось быть знакомым, и который сильнейшим образом повлиял на менталитет разработчика во мне. Хватит болтовни, покажи код!

https://habr.com/ru/articles/973798/

#actor_model #actors #open_source

Docs.rs

Мета-акторы, готовый скелет микросервиса

Я ненавижу руками создавать бойлерплейты. Любые. Нет, LLM-ки тут тоже не помогут: им надо писать промпты (а потом ещё проверять, что оно там нагенерировало). Мне всегда хотелось, чтобы остов приложения задавался конфигурацией, а я бы только добавлял бизнес-логику. Буквально, в уже сгенерированные для неё места. Именно в такой парадигме написана моя библиотека finitomata , в которой конфигурация конечных автоматов задаётся текстовым представлением ( PlantUML / Mermaid ), а бизнес-логика просто распихивается по колбэкам переходов. Но мне этого оказалось мало, и я решил обернуть в такие же абстракции хранение и подписку на изменения. Так родилась библиотека (пока не опубликована, доступна только в исходниках ) persistomata . Даже не библиотека, а (простите) фреймворк

https://habr.com/ru/articles/920684/

#persistence #clickhouse #actor_model #pubsub

Мета-акторы, готовый скелет микросервиса

Я ненавижу руками создавать бойлерплейты. Любые. Нет, LLM-ки тут тоже не помогут: им надо писать промпты (а потом ещё проверять, что оно там нагенерировало). Мне всегда хотелось, чтобы остов...

Хабр

Акторная модель для дошкольников

Поскольку среди тех, кому нравится мой стиль изложения, все еще попадаются люди, не имеющие представления о парадигмах внешнего мира, я решил буквально на пальцах показать, что такое акторная модель, и почему познавшие удовольствие работы с ней крайне неохотно отказываются от неё в пользу больших гонораров и душных офисов. Рассказ рассчитан на тех, кто хотя бы поверхностно знаком с концепциями ООП и (или) ФП. Ниже вы не найдёте всех тех запутывающих псевдонаучных объяснений, которые вам услужливо предоставит Вика или Анжела (или как там вы называете свою любимую LLM в приватных чатиках). Текст написан именно сегодня, когда Алану Каю исполнилось 85 ! Поздравляем, Алан, ты — гений, спасибо тебе за всё! А теперь про акторную модель

https://habr.com/ru/articles/910210/

#actor_model #actors #distributed_computing

Акторная модель для дошкольников

Бессмысленно внушать представление об аромате дыни человеку, который годами жевал сапожные шнурки. — Виктор Шкловский , если верить Довлатову Поскольку среди тех, кому нравится мой стиль изложения,...

Хабр

[sobjectizer] Что нового в SO-5.8.3 и so5extra-1.6.2?

Недавно была зафиксирована версия 5.8.3 для SObjectizer и версия 1.6.2 для сопутствующего ему проекта so5extra . В данной статье попробую рассказать о том, что и зачем появилось в новых версиях. Для тех же, кто про SObjectizer слышит впервые, очень кратко: это относительно небольшой C++17 фреймворк, который позволяет использовать в С++ программах такие подходы, как Actor Model, Publish-Subscribe и Communicating Sequential Processes (CSP). Основная идея, лежащая в основе SObjectizer, — это построение приложения из мелких сущностей-агентов, которые взаимодействуют между собой через асинхронный обмен сообщениями. Составить впечатление о SObjectizer-е и о so5extra можно вот по этим статьям: SObjectizer: что это, для чего это и почему это выглядит именно так? Взгляд из 2022-го и Краткий обзор библиотеки so5extra с дополнениями для SObjectizer-5 . Если же вы уже наслышаны про SObjectizer, то давайте взглянем на обновления. В первой части быстренько пробежимся по нововведениям в самом SObjectizer, а затем рассмотрим новинку из so5extra, которая позволяет подписываться на базовый тип сообщения и получать затем сообщения производных типов.

https://habr.com/ru/articles/855520/

#sobjectizer #cpp #c++17 #actor_model #concurrency #multithreading

[sobjectizer] Что нового в SO-5.8.3 и so5extra-1.6.2?

Недавно была зафиксирована версия 5.8.3 для SObjectizer и версия 1.6.2 для сопутствующего ему проекта so5extra . В данной статье попробую рассказать о том, что и зачем появилось в новых версиях. Для...

Хабр