Software architecture for web-accessible heat exchanger experiment

Web-accessible laboratory experiments are gaining popularity due to their advantages over traditional laboratory experiments. With advancement in internet technology, more and more laboratories are becoming web-accessible. The needs for these virtual labs fit perfectly into the modern methods of assembly, delivery and access to educational technology resources adopted by educational institutions around the world. But still there is an absence of proper standards as to how to properly design and deal with the software infrastructure issues that make it possible for the labs to be accessible through web. It is always necessary to design a software system that is robust, platform independent and easily modifiable to accommodate changing requirements. It is also necessary for the system to be easily replicable for newer labs. The software architecture for the MIT I-Lab Heat Exchanger experiment is designed keeping in mind all these needs and it has been modified at different times to make room for changing requirements both in part of students performing the experiment (through student assessment of the experiment) and the instructors of the courses that the system has been deployed to. The design and implementation of the software architecture for the heat exchanger experiment is discussed in this thesis. The key component of the system is a Laboratory Heat Exchanger, which is employed to study principles of heat transfer. The software system is divided into four functional components: local server control of the laboratory equipment, remote client control of the equipment, client collaboration and user registration, authentication and experiment scheduling. The system has been successfully used in three MIT courses and one course at University of Texas at Austin over the span of two semesters and is scheduled to be used in two more courses in addition to these. With evolution of newer and better technology, the system will be able to accommodate itself to suitable changes that conform to the requirements of the system and always thrive to provide a more robust solution to the problems at hand.