A Web Lab for Mobile Robotics Education Paulo R.S.L. Coelho 1 , Rodrigo F. Sassi 1,2 , Eleri Cardozo 1 , Eliane G. Guimar˜aes 2 , Luis F. Faina 3 , Alex Z. Lima 1 , Rossano P. Pinto 1 Abstract — This paper presents an architecture for building remote access laboratories (or Web Labs) following the service-oriented computing approach. In this architecture the application’s building blocks are services that can be recursively composed resulting in more comprehensive services. Remote access labora- tories can benefit of this approach. Every lab resource (physical or logical) is modeled and implemented as a service (in our case, a Web service) and lab exper- iments are assembled by composing these services. A Web Lab built according to this architecture is presented with examples of remote experiments in the field of mobile robotics. I. Introduction Remote Access Laboratories or Web Labs have been proposed as powerful tools for the sharing of expen- sive equipment and for bringing experimentation into distance learning. The challenge regarding Web Labs implementations is to provide an infrastructure where remote experiments are easily assembled and modified. This paper proposes a service-oriented computing ap- proach for building Web Labs. Considered as an evo- lution of distributed computing, service-oriented com- puting is defined as ”the approach that uses services as fundamental elements in application development” [1]. Using composition mechanisms (or orchestration), more comprehensive services can be built from existing ones. Since the composed service is itself a service, it can take part in further compositions [2]. Implementing Web Labs according to service-oriented computing brings some remarkable benefits. Firstly, lab resources (physical and logical) are modeled and im- plemented as services, for instance, a robot exports a set of services, each one performing an specific function (sensing, navigation, and so on). Secondly, experiments can be synthesized as a composition of services. In this way, new experiments may use existing ones as units of composition, and the updating of an experiment is restricted to its composition’s logic. Finally, the concept of federation of services allows Web Labs to use resources maintained by other Web Labs located in different ad- ministrative domains. This paper describes an architecture based on compo- sition and federation of services for building Web Labs. A complete implementation of this architecture using 1 State University of Campinas, Campinas-SP, Brazil; 2 Renato Archer Research Center, Campinas-SP, Brazil; 3 Federal University of Uberlˆ andia, Uberlˆ andia-MG, Brazil pcoelho@dca.fee.unicamp.br the Web services technology and a Web Lab in mobile robotics built according to the architecture are presented as well. The paper is organized as follows. Section II presents some related work; Section III presents a service- oriented architecture for Web Labs; Section IV provides an implementation of this architecture; Section V de- scribes a Web Lab in mobile robotics developed according to the implemented architecture; and Section VI closes the paper with conclusions and future work. II. Related Work Web Labs were initially developed with well known Web technologies, such as Java applets on the client side [3] and server-side extensions based on CGI (Com- mon Gateway Interface), ASP (Active Server Pages), or JSP (Java Server Pages) [4][5]. Distributed objects approaches based on Java RMI (Remote Method Invo- cation) and CORBA (Common Object Request Broker Architecture) were proposed as well [6]. Other implemen- tations require platform dependent software in the client terminal [7]. All of these approaches have in common the limited software reuse, customization, and interoper- ability. These limitations are due to the low granularity of software artifacts and the adoption of interaction protocols that are usually blocked by network firewalls. More recently, Web Lab architectures based on soft- ware components were proposed [8]. Although com- ponents increase software reuse and customization, component-based architectures still lack interoperability among different platforms and administrative domains. Architectures based on Web services are an attempt to build Web Labs that fulfill the requirements of software reuse, customization, and interoperability [9][10]. The related work closer to the described in this pa- per is the iLAB project [11]. iLAB identifies a set of administrative functionalities such as user subscription, authorization and authentication, group management, and access control. Such tasks are common to all Web Labs and are decoupled from the domain specific func- tionalities the Web Labs support. The administrative tasks are managed by a Service Broker that mediates the access to the associated Web Labs. The Service Broker supports in some way the federated operation of Web Labs. The architecture proposed in this paper shares some similarities with iLAB, for instance: decoupling between use and management of Web Labs; 2007 IEEE International Conference on Robotics and Automation Roma, Italy, 10-14 April 2007 WeE2.1 1-4244-0602-1/07/$20.00 ©2007 IEEE. 1381