NSF CyberTraining: Pilot
About the project
Preparing engineers to build cyber-physical systems that are correct, safe, and secure by design.
The problem
Cyber-physical systems now permeate everyday life. The digital platforms that control automobiles, aircraft, and other safety-critical systems are built by engineers trained primarily in mechanics and electronics, who are often underprepared for the software, concurrency, and security challenges these platforms present.
Concurrency compounds the risk. Race conditions, deadlocks, and timing-dependent behavior hide defects and defeat naive testing strategies: testing raises confidence but cannot prove correctness in the face of unbounded inputs and nondeterministic execution. Security is often scoped too narrowly as well, overlooking adversarial inputs and the interfaces that widen the attack surface.
The approach
This project develops curriculum materials and tools that equip cyberinfrastructure professionals with foundational and applied knowledge of distributed systems and concurrency, including security and fault tolerance. Materials assume a first programming course in C, C++, or Python and no prior coursework in operating systems, parallel computing, or distributed systems.
Everything targets the environments engineers actually work in: Linux and POSIX threads for foundational instruction, FreeRTOS for microcontrollers, and ROS 2 for robotics and autonomy. Abstract concepts are made observable through a visualization system that shows what a concurrent program really did, rather than what its author assumed it did.
The work builds on two decades of NSF-funded concurrency education tools, ThreadMentor and ConcurrentMentor, which the team is modernizing and retargeting for engineering audiences.
Broader impacts
The ubiquity of cyber-physical systems raises the stakes for safety and security. Materials and tools from this project accelerate the preparation of engineers who can design and implement these systems correctly.
Western Michigan University has a long history of serving first-generation college students and provides substantial human and financial resources to support their success. Project activities engage and educate these students, broadening participation in the cyberinfrastructure workforce.
Collaboration
WMU is the lead institution, with Michigan Tech as the collaborating institution. Foundations and fault-tolerance modules and the core visualization work are developed at Michigan Tech; the autonomous vehicle and aviation modules and the CEDL language are developed at WMU. Investigators meet biweekly by video conference, hold monthly curriculum coordination calls, and share curriculum, visualization, and language sources in common Git repositories owned by both institutions.
What the project produces
Four learning modules
Foundations of concurrency, fault tolerance, autonomous vehicles, and aviation systems, each with notes, exercises, and animations.
Instrumentation and visualization
Drop-in wrappers for pthreads, FreeRTOS, and ROS 2 feeding a visualization system with timeline, causality, and object-centric views.
CEDL
A small language that lets instructors script an exact interleaving, so a demonstration of a race condition reproduces every time.