What Is Ocean?
1. Ocean in One Idea
Section titled “1. Ocean in One Idea”Ocean is a system-design and generation platform. You describe a system — its data, its behavior, its interfaces, how its parts connect — in Ocean DSL, a domain-specific language that stays independent of any particular programming language, framework, or database. Ocean validates that description, then generates a real implementation from it.
The description is the source of truth. The generated code is an output — useful, runnable, but reproducible from the model, not the other way around.
2. From Model to Running System
Section titled “2. From Model to Running System”flowchart LR A[Describe] --> B[Validate] B --> C[Generate] C --> D[Run] D --> E[Evolve] E --> A- Describe — write the system as Ocean DSL: data types, APIs, databases, services, and how they connect.
- Validate — Ocean checks the model for consistency before anything is generated: unresolved references, type mismatches, and structural problems surface here, not at runtime.
- Generate — a generator turns the validated model into an implementation for a chosen target technology.
- Run — the generated system runs like any other application in its target technology.
- Evolve — you change the model, not the generated code, and go around again.
This loop is the whole rhythm of working in Ocean. You’ll run it yourself, by hand, in Make the First Change, and see it explained in full in The Everyday Workflow.
3. What Ocean Gives You
Section titled “3. What Ocean Gives You”- Technology independence — the same model can target different languages, frameworks, and databases without being rewritten.
- Consistent architecture — the model, not scattered hand-written boilerplate, is the one place system structure is decided.
- Reusable definitions — data types, expressions, and other constructs can be shared and versioned through the Ocean Repository instead of copied.
- Multi-target generation — one description, more than one possible implementation.
- Automation and AI readiness — a structured, technology-independent model is far easier for tooling — and future AI assistance — to reason about than hand-written source spread across a codebase.
4. What Ocean Is Not
Section titled “4. What Ocean Is Not”- Not merely a programming language. Ocean DSL describes a system; it does not replace general-purpose programming for every concern.
- Not a framework tied to one runtime. Ocean doesn’t lock you to a single language, web framework, or database engine.
- Not a replacement for all implementation code. Generated code is a starting point; real systems still have custom logic that belongs alongside — not inside — generated output. See The Everyday Workflow for exactly where that line sits.
- Not Ocean-Atlas itself. Ocean is the platform; Ocean-Atlas is the knowledge base you’re reading. See the note in the Getting Started overview.
5. The Ecosystem at a Glance
Section titled “5. The Ecosystem at a Glance”flowchart LR I[Ideas] --> D[Ocean DSL] D --> V["Validation and generation"] V --> G[Generated application]A few names you’ll see throughout this path and across Ocean-Atlas:
- Ocean DSL — the language you write: the technology-independent description of a system.
- Ocean App — the web application in which you describe, validate, and generate a system. Prerequisites explains everything needed to use it.
- Generators — produce a target-specific implementation from a validated model.
- Ocean Repository — supplies reusable, versioned definitions so common building blocks don’t get rewritten per project.
- Ocean Examples — runnable projects, each with its own guided explanation, that demonstrate real Ocean models end to end.
- Ocean-Atlas — this site: the canonical knowledge base about Ocean.
- Ocean UI — presents or interacts with a generated system, where a system has one.
- Ocean AI Assistant — a planned design-time assistant for authoring Ocean models. This is roadmap direction, not a currently available capability — mentioned here only so the name doesn’t surprise you elsewhere.
For the deeper explanation behind any of this, Concepts is where the short version above becomes the full one.