Skip to content

01. Product and Scope

Back to Requirements Hub

This page covers original Sections 1-5.

1. Overview

This project is a production-style desktop prototype that simulates an industrial wafer inspection workstation.

The system is not intended to be a toy demo. It should behave like a simplified but believable industrial machine application: it connects to a simulated machine, loads recipes, homes motion axes, runs inspection workflows, streams telemetry and images, raises alarms, and handles stop, abort, and fault conditions.

The purpose of this prototype is twofold:

  1. Build a realistic end-to-end system that integrates the main technical topics discussed in this project.
  2. Create a codebase and architecture that can be developed incrementally with AI tools in VS Code using a Speckit-style method.

This prototype will use a fake vendor SDK, but the SDK and simulator should be designed to resemble real machine capabilities and real integration pain points.

2. Goals

The system must demonstrate the following qualities:

  • realistic industrial desktop application structure
  • responsive WPF user interface under continuous updates
  • correct async and threading behavior
  • explicit workflow orchestration
  • realistic machine state transitions
  • realistic failure and interruption handling
  • maintainable architecture suitable for iterative AI-assisted implementation
  • good observability through logs, state, and diagnostics

The project should help the engineer understand and practice:

  • WPF and MVVM in real systems
  • Dispatcher and UI thread boundaries
  • async/await in long-running desktop workflows
  • background processing and hosted services
  • channels and streaming pipelines
  • cancellation and stop/abort semantics
  • state machines and workflow transitions
  • resilience and fault handling
  • memory and performance awareness
  • testability and architecture discipline

3. Non-Goals

The following are explicitly out of scope for the first prototype:

  • real hardware integration
  • production deployment
  • full MES / SCADA / historian / factory integration
  • multi-machine orchestration
  • advanced user management and permissions
  • polished industrial UI styling
  • full recipe editor with complex validation UI
  • advanced image processing algorithms
  • full reporting and analytics suite
  • distributed microservices architecture

This project is a desktop prototype focused on core machine control and runtime behavior, not enterprise platform breadth.

4. Product Vision

The application represents a wafer inspection workstation operated by a human operator.

A typical scenario is:

  1. Launch application
  2. Connect to machine
  3. Load recipe
  4. Verify machine readiness
  5. Home motion system
  6. Start inspection run
  7. Move through scan positions
  8. Acquire frames and telemetry
  9. Detect simulated defects
  10. Display run progress, machine state, alarms, and live status
  11. Stop, abort, recover, or complete the run
  12. Review run summary and diagnostics

The machine is simulated, but the application must feel like it is controlling a real physical system with timing, constraints, and failures.

5. Primary Users

5.1 Operator

The main user is an operator running the machine.

The operator needs to:

  • connect and disconnect the machine
  • load a recipe
  • home the machine
  • start and stop inspection
  • see current machine state
  • monitor alarms and faults
  • view live telemetry and image preview
  • understand whether the system is ready, running, stopped, faulted, or aborted

5.2 Engineer / Developer

A secondary user is an engineer or developer using the app for development, testing, and diagnostics.

This user needs to:

  • inspect subsystem status
  • see runtime logs and state transitions
  • inject faults intentionally
  • observe pipeline behavior
  • understand queue depth, timing, and machine behavior

Docs-first project memory for AI-assisted implementation.