CASCADE: Engineering a Secure, Real-Time, and Collaborative Code Execution for Multi-tenant Learning Platforms
摘要
Training programmers at scale—whether in academic settings or industrial environments—requires platforms that support secure execution, collaborative development, real-time feedback, and modular assessment workflows. Existing tools often lack the execution isolation, simulator integration, and observability needed to support interactive, group-based programming tasks. We present CASCADE(Collaborative Asynchronous Secure Code Assessment and Deployment Environment), a modular, containerized platform designed for secure, real-time execution and assessment of collaborative code submissions. CASCADE orchestrates hundreds of per-task, per-group containers, providing isolated runtimes where participants can collaboratively edit code, receive immediate feedback, and interact with embedded simulation UIs hosted inside task-specific containers. The backend is implemented as a monolith with modular components responsible for submission orchestration, WebSocket-based synchronization, and PDF report validation via natural language processing. Each group’s environment is sandboxed and self-contained, with execution proxied to Docker containers and feedback streamed live to all participants. Instructor-facing observability is enabled through the ELK stack and Kibana dashboards, offering insights into operational metrics, submission behavior, and system anomalies. CASCADE has been deployed at the University of Siegen for a full academic year. Its successful application demonstrates how secure sandboxing, real-time collaboration, and architectural composability can be combined into a scalable platform suitable for both academic and industrial programming training.