Master of Science in Computer Science (MSCS)


Computer Science

Document Type



The virtual testbed is designed to be a cost-effective rapid development environment as well as a teaching tool for embedded systems. Teaching and development of embedded systems otherwise requires dedicated real time operating systems and costly infrastructure for hardware simulation. Writing control software for embedded systems with such a setup takes prolonged development cycles. Moreover, actual hardware may get damaged while writing the control software. On the contrary, in a virtual testbed environment, a simulator running on the host machine is used instead of the actual hardware, which then interacts with an embedded processor through serial communication. This hardware-in-the-loop setup reduces development time drastically but is reliable only if it behaves as close to real time as possible. Use of non-real time architecture like Windows NT on the host machine and the Win32 API causes an overhead in the serial communication that slows down the simulator. The problem is that the simulator is unable to cope with the communication speeds offered by the embedded processor. We propose the development of a kernel mode device driver that overcomes inefficiencies in the Win32 API. The result is faster communication between the simulator and the embedded processor. Another problem that arises with an increase in the simulator’s communication capabilities is whether the operating system can support such a dynamic and high speed interaction. To solve this problem we propose the use of efficient process and thread management and utilization of Windows NT’s support for real time execution and utilization of intelligent buffer and interrupt handling to process the high frequency requests coming from the embedded processor to the host machine. Another hurdle is the diverse nature of hardware that is being simulated: from simple features with low data volume to fairly complex features with high data volume, and with the data rate ranging from very small to very high. Hence, we propose to make the simulator and the kernel mode device driver adaptive. All these strategies culminate into an architecture for adaptive real time communication with the embedded processor, giving the virtual testbed an edge over other design methodologies for embedded systems.



Document Availability at the Time of Submission

Release the entire work immediately for access worldwide.

Committee Chair

Gerald Baumgartner