Dr. Sebastian Fischmeister’s lab at the University of Waterloo in the Electrical and Computer Engineering Department is full of gadgets. But the autonomously flying hexacopter, the model car on a treadmill, the medical surgery video streaming and the double-inverted pendulum, a standard control challenge, serve a serious purpose. Fischmeister and his colleagues work on embedded systems and develop cutting-edge software tracing techniques for debugging, concepts for monitoring safety, and more reliable ways to measure performance to improve how we can interact with the environment.
Fischmeister points out that embedded systems are usually part of a larger system, like the software control that sits inside the hexacopter, and they are essential to modern life. The six-rotor hexacopter, for example, is a flying laboratory designed by Fischmeister in collaboration with Dr. Steven Waslander (Department of Mechanical and Mechatronics Engineering at Waterloo). It helps them experiment with new techniques for real-time embedded software and systems control. The aircraft is equipped with on-board sensors, as well as a flight control computer based on QNX Software Systems products. The aircraft uses inertial sensors from MicroStrain Sensing Systems and Hoskin Scientific, dual frequency GPS units from NovAtel and open-source ground station software. When mounted on a fixed stand, it acts as an experimentation system that allows remote users to do research on a range of topics including systems control, embedded software and formal verification.
When the hexacopter is set free from the stand, it can fly for 20 minutes at a time and carry a 2.5 kilogram payload to a Transport Canada-allowed altitude of 30.5 meters. The unmanned aerial vehicle has already gone on several missions: it has inspected panels at a solar farm; mapped areas around the University of Waterloo campus; and researchers took it to Newfoundland to test its ability to drop a beacon on an iceberg. Seeing the value of the hexacopter as a research tool, Fischmeister and his team are now starting a company that offers on-line case studies, labs, and training for the area of embedded systems.
Fischmeister is head of the Real-time Embedded Software Group at the University of Waterloo, and operates the nationally-accessible Real-time Embedded Systems Laboratory, made possible through a Canada Foundation for Innovation (CFI) project called Embedded Systems Canada, which is managed by CMC Microsystems. The project provides and maintains essential research-ready infrastructure. He credits CMC with helping to evaluate the hardware he and his collaborators require for projects, case studies and systems, making sure all the pieces are compatible and helping advance his research activities.
Fischmeister, who received his doctorate in Computer Science from the University of Salzburg, Austria in 2002 and joined the University of Waterloo in 2008, has numerous projects underway and works extensively with industry collaborators. For example, he collaborates with QNX on tracing and runtime monitoring, with General Motors on debugging model-driven code, with NCR on applying hardware-in-the-loop systems to testing, and with Google on the robustness of empirical performance evaluation.
He and his research team have developed DataMill, a community-based, easy-to-use, open infrastructure platform to help empirically assess software innovation—essentially performance measurements. “One fundamental question is, how do you know that your system is really better? You need data, but how do you get the data in such a way that you can trust it? There are papers that show if you change something as simple as your user name, you can change the performance of the application by more than 10 percent. Therefore, in your experiment you have to control for this and many other hidden factors to get reliable data,” he says.
Growth in the complexity and size of modern systems will further aggravate this measurement dilemma, particularly with the time pressure to produce results. DataMill takes established results on empirical performance evaluation and incorporates them in an automated platform. This platform is accessible to people who don’t have expertise in performance evaluation to make it easy to get reliable, robust, and reproducible data across a large variety of platforms. “When you use DataMill, you can gain more confidence that the improvement that you see is real,” says Fischmeister.