Skip to content
@hadleys-hope

hadleys-hope

Hadley's Hope

Симуляция шахтёрского посёлка на LV-426: 300 умных домов, суровая внешняя среда, свой язык программирования для домов и инструменты, чтобы всё это запустить и наблюдать. Учебный проект курса «Системная инженерия», ИТМО, 2026.

Как это устроено

image

Программа дома пишется на языке Hope, компилируется в байткод и исполняется виртуальной машиной на C++. ВМ ничего не знает о мире: она читает датчики и пишет актуаторы, а как эти числа появляются и что происходит после команды «включить обогреватель», решает симулятор мира. Все компоненты общаются только через MQTT, поэтому каждый написан на своём языке и тестируется отдельно.

Кто что публикует в шину

image

Что представляет из себя мир

3 уровень в C4

image

Что представляет из себя runtime

image

Что представляет из себя компилятор hopec

image

Что представляет из себя виртуальная машина libhopevm

image

Что представляет из себя monitoring

image

Схема взаимодействия репозиториев

image

Репозитории

Репозиторий Что внутри Язык
spec контракты: язык, байткод, хост-интерфейс ВМ, топики, правила мира markdown
compiler грамматика ANTLR4 и компилятор hopec (.hope в .hbc) Kotlin
vm libhopevm и отладочный hope-vm C++
runtime 300 ВМ в одном процессе, мост в MQTT Python или C++
world симулятор среды: погода, физика домов, поломки, экономика Python
monitoring сборщик из MQTT в базу, дашборды, месячный отчёт Python, Grafana
houses программы домов на Hope и манифест «какой дом какую программу» Hope
infra docker-compose, конфиги брокера и Grafana, сценарии, общие CI yaml, make

Начинать читать с spec/requirements.md и spec/architecture/overview.md.

Popular repositories Loading

  1. compiler compiler Public

    antr4 grammar + kotlin-compiler (src->bytecode)

  2. vm vm Public

    c/c++ vm that executes bytecode

  3. spec spec Public

    contracts of hadleys-hope repos: lang, bytecode isa, host interface, mqtt topics, world rules

  4. runtime runtime Public

    runs one vm per house, bridges vm host calls to mqtt

  5. world world Public

    v-426 environment simulator: weather, house physics, incidents, billing

  6. monitoring monitoring Public

    collects mqtt traffic, dashboard, logs, monthly financial report

Repositories

Showing 9 of 9 repositories

Top languages

Loading…

Most used topics

Loading…