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:
- Build a realistic end-to-end system that integrates the main technical topics discussed in this project.
- 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:
- Launch application
- Connect to machine
- Load recipe
- Verify machine readiness
- Home motion system
- Start inspection run
- Move through scan positions
- Acquire frames and telemetry
- Detect simulated defects
- Display run progress, machine state, alarms, and live status
- Stop, abort, recover, or complete the run
- 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