June 15, 2019
June 15, 2019
June 19, 2019
Computers in Education
This paper describes the use of a microservices architecture for separation of concerns in a complex hardware and software system which runs multiple components of a robotics design project. At a large Midwestern university, this robotics project serves as a cornerstone design experience in a two-semester first-year engineering honors course sequence. Student teams must design, construct, and program autonomous robots to navigate and complete tasks on a themed course. This extensive robot course system is operated entirely electronically with a system of hardware sensors, outputs, boards, and several pieces of software that track the state and score of each task in real-time. The students operate their robot via a programmable robotics controller that communicates wirelessly with the course system. All the software and hardware components of the course computer system and robot controller are developed and maintained by teams of graduate and undergraduate teaching assistants with technical experience in these areas, and the components must all communicate efficiently so that students have the smoothest experience possible.
Managing the complexity of this large computer system is a challenge since several software and hardware components must interact. Microservices allow for a reduction in overall system complexity by structuring it into a collection of loosely coupled components. The individual components are smaller in size and are more easily developed and maintained by specialized teams of teaching assistants. This microservices architecture allows several specialized teams to design, develop, and maintain different software and hardware pieces of the robot course simultaneously. By implementing principles of separation of concerns, the system is modularized and aids with debugging by narrowing the scope of issues that can occur. Additionally, the reduced scope of the individual components makes it easier to explore and implement new innovative design features. Finally, this system allows for onboarding of new teaching assistant team members who may have little or no experience because they are only responsible for learning how a single component works. All these advantages of microservices and separation of concerns allow the teaching assistants to construct an entirely new course scenario every year in a timely and modular manner while strengthening their technical and team working skills.
Thus, the goals of this paper are to describe the modular team structure for the development and maintenance of this large robotics course computer system, and to use data from recent years to show the benefits of this structure on the skill development of teaching assistants and on the design experience for the students.
Mitten, J. D., & Phillips, A., & Harper, K. A., & Freuler, R. J. (2019, June), Using Microservices to Modularize Components and Teaching Assistant Development Teams for a Robotics Design Project Computer System Paper presented at 2019 ASEE Annual Conference & Exposition , Tampa, Florida. 10.18260/1-2--33508
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2019 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015