From the Browser to the Remote Physical Lab: Programming Cyber-physical Systems

Steffen Peter, Farshad Momtaz and Tony Givargis
Frontiers in Education (FIE) 2015

Cyber Physical Systems (CPSs) integrate networked embedded computation systems with real-world physical installations.
Programming of CPSs is not trivial, since CPSs combine traditional programming challenges and real-world timing, concurrency, and communication.
This paper shows how a programming framework that allows students to implement and test CPS control programs in their Internet browsers, can improve both the students learning experience and learning results.
Students model and program a CPS application on a high abstraction level in a web page.
This web page, provided by the instructor, invokes the student's code either together with the CPS as functional specification models in a virtual timing environment, or as component in a real-world system that interacts with a real remote physical implementation.
Using the provided abstraction, students can incrementally design a CPS and experience challenges such as channel delays, model uncertainties, and real-time behavior, but without the need for complex low level programming or tools.
For a CPS example system, we applied the framework in an embedded system design class.
Our results show, the ability of a JavaScript-based programming and execution environment to design, program, and run CPSs on different levels of abstraction.
Our results also indicate an increased approval from the students and a significantly improved understanding of modeling and programming in the class.

Categories: Publication