This structure makes Selmo a domain-specific language for machine behavior.
Every component — whether physical or logical — is embedded in a defined context.
This has several advantages:
Transparency:
Anyone can instantly see which state is active, which zone is waiting, and why.
Reusability:
Zones and procedures are standardized.
They can be reused across projects without being reprogrammed.
Safety:
Every movement is secured by its feedback.
Error states are detected automatically (interlock, pair check).
Automatic documentation:
The model itself is the documentation.
States, zones, texts, feedbacks — everything is traceable.