Skip to main content
Version: Sprint 3

Architecture

This directory contains the architectural documentation for the fla-- Turing Machine Simulator, presented using the 4+1 architectural view model.

Documentation is versioned by sprint. Use the version dropdown in the navigation bar to switch between sprint releases.

Contents​

DocumentViewDescription
Logical ViewLogicalClass diagrams, data models, type system, and core abstractions
Process ViewProcessSimulation, testing, document sharing, and collaborative editing
Development ViewDevelopmentComponent structure, collaboration modules, dependencies, and runtime layers
Physical ViewPhysicalVercel and Docker deployment, infrastructure, storage, and WebSocket runtime
Database ViewDataEntity relationships for auth, documents, versions, and contributors
API ReferenceInterfaceRESTful API endpoints for file management and authentication
ScenariosScenariosUse case diagrams and sequence diagrams for key workflows

Sprint History​

  • Sprint 1 -- Initial architecture: single-tape TM engine, bidirectional sync, OAuth authentication, Vercel deployment.
  • Sprint 2 -- Multi-variant support (single-tape, multi-tape, multi-step), test execution engine (Marker), complexity analysis, file management with versioned storage, dashboard with document gallery, testing infrastructure (Vitest).
  • Sprint 3 -- Computational and nondeterministic machines, compiler diagnostics, contributor-based sharing, and real-time collaborative editing with Yjs.

Wireframes for the editor may be found here