A paradigm shift in how software is designed, generated, and executed.
Model-as-Software allows you to go from visually designing a Model, to running as a Software Application.
“ A system where software can be designed at a high level of abstraction, then automatically transformed into robust, scalable, fully functional applications โ with minimal coding, full flexibility, and real-time adaptability. ”OA focuses on filling the space between this Model and Software.
Model-as-Software is a declarative architecture paradigm where a formally defined model โ consisting of object structures, relationships, behaviors, rules, and triggers โ is executed as a live, reactive object graph. This list represents the full application state and behavior in real time.
Finding solutions to fill the gap between model and software is one of software engineering's most persistent challenges
Nearly all modern software architectures, frameworks, and platforms are ultimately attempts to fill this same gap โ to take an abstract model or mental picture of a system and make it executable.
Common approaches include:
โ๏ธ Core Requirements to Fill the Gap
Visual modeling tool to design your system using a domain object graph. Enables collaboration between architects and domain experts.
The structured, metadata-rich representation of your domain. Includes object types, links, triggers, calculations, rules, and constraints.
Generates the software: Java code, REST interfaces, UI templates, and metadata โ all synchronized with the model. Code is disposable and regenerable.
The runtime engine that executes the model as an object graph. Tracks live state, enforces rules, propagates changes, and syncs clients in real time.
A complete set of supporting libraries for UI binding, persistence, REST, security, and distributed messaging โ all model-driven and tightly integrated.