The initial design and implementation of applying service-oriented computing in embedded systems and robots was presented in the 49th IFIP 10.4 Workgroups meeting in February 2006.7 In the initial design, a robot is the service client that looks up the service registry and consumes Web services on remote sites. Evolved from service-oriented robot, Robot as a Service is an all-in-one SOA unit, that is, the unit includes services for performing functionality, service directory for discovery and publishing, and applications for client’s direct access.8 This all-in-one design gives the robot unit tools and capacity to be a self-contained cloud unit in the cloud computing environment. Based on RaaS concepts, a Visual IoT/Robotics Programming Language Environment (VIPLE) has been developed.
RaaS follows SOA and is a cloud computing unit. A RaaS unit acts as a service provider, a service broker, and as a service client:
The main components of a RaaS unit and typical applications and services deployed. RaaS units are designed for the cloud computing environment. The services in RaaS will communicate with the drivers and other operating system components, which further communicate with the devices and other hardware components. The RaaS units can directly communicate with each other through Wi-Fi, if the wireless infrastructure is available or through ad hoc wireless network otherwise. The communication between RaaS and other services in the cloud are through standard service interface WSDL enabled by DPWS or RESTful service overall HTTP.
A few prototypes of RaaS have been implemented, which include both Web interface and physical devices.910111213
Dependability, including reliability and security are critical in RaaS design. Collaborating RaaS units can be scheduled for redundant execution, backing up each other’s operations. The redundant design can also address the instruction-level attack such as code injection and Return Oriented Programming (ROP) attacks. As the redundant RaaS units are independent of each other, instruction-level gadget programming is likely to generate different sequences in different devices. These differences in behaviors can be detected by the collaboration among the RaaS units. The major challenge in designing RaaS is to deal with the diversity of the networks, applications, and the environments or end users. In cloud computing, the network and communication protocols are limited to a few standards such WSDL, SOAP, HTTP, and RESTful architecture. In RaaS, HTTP, SOAP, and WSDL standards and robotics applications are the main design considerations.
RaaS can be used anywhere SOA, cloud computing, IoT, CPS, and ADS are used. One the application in computer science education. RaaS uses existing services to compose different applications at workflow level, which significantly reduce the learning curve of robotics programming.1415
Yinong Chen, Zhihui Du, and Marcos Garcia-Acosta, M., "Robot as a Service in Cloud Computing", In Proceedings of the Fifth IEEE International Symposium on Service Oriented System Engineering (SOSE), Nanjing, June, 2010, pp. 151–158. ↩
Yinong Chen, H. Hu, "Internet of Intelligent Things and Robot as a Service", Simulation Modelling Practice and Theory, Volume 34, May 2013, Pages 159–171. ↩
Pranav Mehta, CTO, Intel Intelligent Systems Group: “Internet of Things and the Infrastructure”, Intel Embedded Research and Education Summit, February 2012, http://embedded.communities.intel.com/servlet/JiveServlet/downloadBody/7156-102-1-2402/Internet-of-Things-and-the-Infrastructure.pdf. http://embedded.communities.intel.com/servlet/JiveServlet/downloadBody/7156-102-1-2402/Internet-of-Things-and-the-Infrastructure.pdf ↩
Ragunathan (Raj) Rajkumar, Insup Lee, Lui Sha, and John Stankovic, “Cyber Physical Systems: The Next Computing Revolution”, 47th Design Automation Conference (DAC 2010), CPS Demystified Session, Anaheim, CA, June 17, 2010. ↩
Kinji Mori, Concept-Oriented Research and Development in Information Technology, Wiley Series in Systems Engineering and Management, 2014. ↩
M.B. Remy, M.B. Blake, Distributed Service-Oriented Robotics, IEEE Internet Computing, Volume: 15, Issue: 2, pp. 70–74, 2011. ↩
Yinong Chen, "Service-Oriented Computing in Recomposable Embedded Systems", Joint IARP/IEEE-RAS/EURON/IFIP 10.4 Workshop on Dependability in Robotics and Autonomous Systems, Tucson, AZ, February 15–19, 2006, http://webhost.laas.fr/TSF/IFIPWG/Workshops&Meetings/49/workshop/04%20chen.pdf http://webhost.laas.fr/TSF/IFIPWG/Workshops&Meetings/49/workshop/04%20chen.pdf ↩
Intel Autobot Web Service, 2012, http://venus.eas.asu.edu/WSRepository/RaaS/main/ http://venus.eas.asu.edu/WSRepository/RaaS/main/ ↩
RaaS online programming environment, 2013, http://venus.eas.asu.edu/WSRepository/eRobotic/ http://venus.eas.asu.edu/WSRepository/eRobotic/ ↩
Zhihui Du, Weiqiang Yang, Yinong Chen, Xin Sun, Xiaoying Wang, and Chen Xu, "Design of a Robot Cloud Center", in 10th International Symposium on Autonomous Decentralized Systems (ISADS), Tokyo, March 2011, pp. 269–275. ↩
Robotics as a service implemented into robot, 2016, http://www.digitaltrends.com/cool-tech/qihan-sanbot/ http://www.digitaltrends.com/cool-tech/qihan-sanbot/ ↩
Yinong Chen, Zhizheng Zhou, "Service-Oriented Computing and Software Integration in Computing Curriculum", IPDPS Workshops 2014, pp. 1091–1098. ↩
Yinong Chen, Zhizheng Zhou, "Robot as a Service in Computing Curriculum”, 12th International Symposium on Autonomous Decentralized Systems (ISADS), Taichung, March 2015. ↩