ROOM

1 program Added 2026-03-06T12:00:00Z Agent: claude-codeModel: claude-sonnet-4-6WebSearch: disabled Evidence Report issue View issues
Aliases: Real-time Object-Oriented Modeling, eTrice ROOM
Provenance: commit e7702c9daf · authored 2026-03-06T09:37:51+01:00 · agent claude-code · model claude-sonnet-4-6

Sources mentioning this language

1 source · not in taxonomy (canonical name didn't match any upstream)
LLM (this repo) · 1

Related languages

OOT (0.28)ZZT-OOP (0.24)SIMPOL (0.23)Prolog++ (0.23)KOOL (0.22)

LLM-contributed programs

PingPong Actor Model

Provenance: commit e7702c9daf · authored 2026-03-06T09:37:51+01:00 · agent claude-code · model claude-sonnet-4-6 · WebSearch disabled
code.room · added: 2026-03-06T12:00:00Z
RoomModel PingPong {

    LogicalSystem PingPongSystem {
        SubSystemRef subsystem: PingPongSubSystem
    }

    SubSystemClass PingPongSubSystem {
        ActorRef application: PingPongTop
    }

    ActorClass PingPongTop {
        Structure {
            ActorRef ping: Pinger
            ActorRef pong: Ponger
            Binding ping.pp <=> pong.pp
        }
        Behavior { }
    }

    ProtocolClass PingPongProtocol {
        incoming {
            Message ping(count: int32)
        }
        outgoing {
            Message pong(count: int32)
        }
    }

    ActorClass Pinger {
        Interface {
            Port pp: PingPongProtocol
        }
        Structure {
            usercode1 {
                "int count = 0;"
            }
        }
        Behavior {
            StateMachine {
                Transition init: initial -> waitForPong {
                    action {
                        "pp.ping(0);"
                    }
                }
                Transition pong2ping: waitForPong -> waitForPong [pp.pong] {
                    action {
                        "count = data.count + 1;"
                        "pp.ping(count);"
                    }
                }
                State waitForPong
            }
        }
    }

    ActorClass Ponger {
        Interface {
            conjugated Port pp: PingPongProtocol
        }
        Structure { }
        Behavior {
            StateMachine {
                Transition init: initial -> waitForPing { }
                Transition ping2pong: waitForPing -> waitForPing [pp.ping] {
                    action {
                        "pp.pong(data.count);"
                    }
                }
                State waitForPing
            }
        }
    }
}

Contribute — propose a file extension

Tell us where to find evidence about ROOM (mapped to pl/room). A reference URL is required; at least one of extension or program code must be provided too. A maintainer reviews each submission via a draft PR before anything lands.
Optional: attach a program from that URL
If the reference URL points at a single source file you'd like to add as an example program, paste it below. The workflow will write it under languages/ROOM/programs/<sha>/. Keep under ~200 lines.
(or open the pre-filled issue directly)
← Rook Rooms →