A Web-Based Remote Lab Platform with Reusability for Electronic Experiments in Engineering Education

—This contribution shows the concept and the steps of how we can create a Web-based remote lab platform with reusability capability that can be mainly used in engineering and science education for teaching electronics. Reusability is achieved in such a way that the platform not only allows the implementation of a variety of electronic experiments, but also it disburdens the experiment designers in their task of building the lab experiments as well. Moreover, the remote lab platform doesn’t necessitate the creation of any kind of software including the user-interface.


INTRODUCTION
Through the educational goals proposed by ABET, it is evident that labs play a central role in illustrating concepts and principles, providing the ability to design and investigate, promoting social skills and improving technical skills. ABET is a nonprofit, non-governmental organization that accredits college and university programs in the disciplines of applied science, computing, engineering, and engineering technology [1]. Engineering students must have better understanding of the instructed theory; therefore most courses in engineering education require labs [2], [3]. There are three different categories of labs: hands-on labs, simulated labs and remote labs.
In hands-on labs, all equipment required to perform the experiment is physically set up, and the students performing the experiment are physically present in the lab. Those are the most popular type, they satisfy all goals previously stated by ABET, yet they are costly, put a high demand on space, instructor time and experimental infrastructure. However, Colwell et al. [4] emphasize that some of those labs can't meet special needs of disabled students. Simulated labs are imitations of real experiments on computers, meaning instead of performing the experiment on actual equipment, the tests, and possibly even the data, are simulated on a computer [3]. Simulated labs have several drawbacks: they require large amount of time and effort to be developed, they may fail to faithfully model reality [5], they don't necessarily reduce cost [6], they often result in a disconnection between real and virtual worlds [7], and they rarely satisfy social skills of students.
Engineering is different from other pure sciences because of its applicable perspective. Engineering serves humanity by designing and creating new products for the service and welfare of human being. This is only possible after training engineering-students sufficient practical experimental work during study years at universities. Labs make science come alive because of two reasons [8]. First, labs represent the heart and soul of engineering learning. Second, they supply students with better understanding of theories. It has long been known that many labs present a well-established basis for future employment [9]. Most future works of engineering students will be in practical fields, which demands from them more time and efforts in labs. After graduation, they will not only depend on their theories acquired during their study at the university, but also on their practical knowledge they acquired by engineering labs. Unfortunately, labs are available only for a limited time for that huge number of students.
Remote labs enabling students to carry out an experiment remotely through the Internet are mediated completely via a computer that can be considered as mediated reality. They require space and equipment but there is a distance between the students and the experiment; students are allowed to connect remotely and to control lab's equipment, using cameras to visualize experimenting results. A remote lab provides access to expensive and scarce equipment, enables sharing of devices with a pool of universities and thus increases the number of times and places for the students performing experiments [10], [11]. The emphasis of these systems on conceptual understanding often comes at the cost of degrading the student design skills [12]. This consideration was one of the primary motivations in building the remote AR lab [3], [13].
Tendencies in engineering education are extensively going in the direction of extent use of online or remote labs, enabling students to execute real, non-simulated lab experiments anytime and anywhere. Nevertheless, remote labs should be supportive and not substitutive to regular hands-on labs. Basically, they could possibly function as a complementary asset to conventional hands-on, allowing students to access remote labs outside the standard lab hours so they can improve their understanding of concept and theory. Typically, students joined hands-on sessions at predetermined times during the academic year, and thus this will limit their use of lab means to regular working hours, being incapable to satisfy the students' needs, necessitating much more flexible attendance patterns. Hands-on labs experience in engineering education is of great significance to achieve an effective learning since it acts as a complementary approach to theoretic studying. This popular theoretical learning method these days is specified as constructivism that attempts to allow students learn using their individual findings based on collabora-tive learning with their instructors and peers [15], [16]. Gravier et al. investigated a literature review to distinguish the particular features associated with the upcoming generation of remote labs with respect to the different criteria of contemporary labs [17]. One important finding is that current remote labs mostly suffer the absence of reusability, meaning that their design and implementation are not generic and cannot be reused in another time. Moreover, they are costly and require a large amount of time, money and skills. It had been proven that among the reasons reported for not using remote labs are difficulties faced in creating such labs because of the fact that the majority of the academics don't have IT knowledge about developing programs, web-based user-interfaces etc. in addition to hardware interfacing experiences and skills [18].
This paper shows the concept, the design, and the implementation of a reusable remote lab aimed at both disburdening the experiment designer while building an electrical or electronic engineering experiment and being suitable to be used for different kinds of labs experiments for teaching students the concepts of analog and digital electronics. In other words, the primary goal of the reusable lab system is founded on the concept that remote experiment designer doesn't have to produce any kind of software for being able to transform a physical experiment into its remote correspondence. At the beginning, the experiment developer simply connects the lab experiment elements and components, for example, resistors, capacitors, transistors, microprocessors, and equipment and instrumentations such as power supplies, oscilloscopes etc. with the switching system of the remote lab server, as illustrated in Error! Reference source not found.. After that, she/he maps this connection structure into a configuration database. Later, when a student logs-in into the lab server to perform the lab experiment through the client user-interface, the menu structure of the graphical userinterface builds and initializes itself automatically, using information configured in the database.

II. REUSABILITY OF TECHNICAL SYSTEMS
In systems engineering, it is known that reusability leads to developing software and hardware systems quicker and at the same time at lower but reduced risks. Sommerville clarifies that reuse-based system engineering are categorized into three classes: the reuse of a whole application through incorporating it into other systems without any changes, component reuse allowing re-utilization of some components of an application, and reusability of single objects and functions [19]. TABLE I. shows the different categories of the known reuse techniques that have been developed over the past 20 years, enabling us to put our reusable remote lab in the landscape of reusability of technical systems. From this table, it is evident that our system can be considered at the same time as an application product line and a configurable vertical application because of the facts that in the former approach, our remote lab system is generalized around a common architecture (see Fig. 1) since it can be used for disparate kinds of electronics experiment including analog and digital techniques; where in the latter, the reusable remote lab is generic in such a way that both the lab server and the userinterface are configurable.  [19] Approach Description Design patterns Generic abstractions that occur across applications are represented as design patterns that show abstract and concrete objects and interactions.

Component-based development
Systems are developed by integrating components (collections of objects) that conform to component-model standards.
Application frameworks Collections of abstract and concrete classes that can be adapted and extended to create application systems.
Legacy system wrapping Legacy systems that can be 'wrapped' by defining a set of interfaces and providing access to these legacy systems through these interfaces.

Service-oriented systems
Systems are developed by linking shared services that may be externally provided.

Application product lines
An application type is generalized around a common architecture so that it can be adapted in different ways for different customers.

COTS integration
Systems are developed by integrating existing application systems (COTS: Commercial of the shelf).

Configurable vertical applications
A generic system is designed so that it can be configured to the needs of specific system customers.
Program libraries Class and function libraries implementing commonly-used abstractions are available for reuse.
Program generators A generator system embeds knowledge of a particular type of application and can generate systems or system fragments in that domain.
Aspect-oriented software development Shared components are woven into an application at different places when the program is compiled.

III. THE STATE-OF-THE ART E-LEARNING LABS
Most of the engineering courses have accompanying practical labs for the purpose of strengthening the students' concept and theory understanding. It is undeniable that using contemporary technologies and the Internet as a basis for building online labs or simulated labs will enhance the learning/lab concept and theory, and thus it will be of great importance to find out whether remote labs as a distance learning approach plays a central role in enhancing learning quality and lightening the learning process in engineering education. Compared with other types of e-learning labs that employ programming code to simulate the result of the lab experiment such as Pspice, electronic work bench and LabVIEW, remote labs are different in such a way that they offer students the opportunity to undertake experiments on real lab equipment and instrumentations in real-time over the Internet [20], which becomes progressively essential as a learning tool. To this end, the Internet-based technology is rapidly being adopted in engineering education as a tool for increasing the educational experience. In a remote lab environment, the experiments can be constructed from real components and instrumentations at a different location from where it is controlled or conducted. In contrast, virtual labs simulate real systems [21] and are generally based on simulation software like Matlab [22] or LabVIEW [23] or specific applications. If powerful simulation calculations are required or specific software is to be used which cannot be easily available on client sides, scientists and engineers have the opportunity to use server-side simulations. The principle disadvantage is that simulations are not real systems, but they are relatively realistic model of an actual system. We could find remote or virtual lab experiments in a variety of scientific and engineering topics such as automatic control [24], electronics, chemicals and mechanicals [25], and in robotics [26].
Various investigations deal with contemporary remote labs with regard to several fields of study such as software engineering, electronics, human-computer interaction etc. As examples, a bandwidth-efficient client-server modelbased backend system implemented in Java capable for performing different engineering and scientific course labs [27]; a blended learning approach in teaching "constrained time-delayed proportional-integral-derivative control" based on the "learning by doing" paradigm, which is supported by several e-learning tools such as Moodle for interactive electronic course materials and the virtual laboratory [28]. Another example of such labs is a softwarereconfigurable e-learning platform for power electronics courses though it is possible to construct a wide range of circuit topologies [29]. The VISIR platform is a remote lab which can be used in different fields like telecommunication, informatics, industrial technologies and electronics [30]. Currently, Hernández-Jayo et al. [31] started to work on the idea of applying to the VISIR platform independent of the software regarding to the hardware of the lab.
Currently, although most of the remote labs suffer the absence of reusability, there are few of them containing some reusability features. As an example for a system supporting reusability is an alternative remote lab infrastructure devoted to the study of electronics. Its main characteristics are, from a teacher's perspective, reusability and simplicity of use, and from a students' point of view, an exact replication of the real lab, enabling them to complement or finish at home the work started at class [32]. Another example is a remote lab architecture referred as simPROCes [33] which enables both teleoperating of simulators/real prototypes and allows completely controlling, testing and validating of remote applications.

IV. THE REUSABLE REMOTE LAB INFRASTRUCTURE CONCEPT
In systems engineering, requirements discovering can be accomplished through gathering information about the proposed and existing systems as well as rectifying user and system requirements from this information being in the form of documentation, system stakeholders and the specifications of similar systems. Hasnim et al. [35] investigated that during the development and construction process of remote labs there are some common steps to be comprised as a scenario of the following tasks and activities: • Designing and connecting the experiment circuit by adding switching elements such as relays. • Designing and building the control programming in PC controller at the lab. • Designing, building, and connecting the userinterface on students' web browsers to control programming of a PC controller. • Designing a related web page for the experiment, and preparing the booking system with the use of database.
As a result, the following requirements list in order to develop the reusable remote lab infrastructure that will be appropriate for teaching analog and digital electronics with a web-based self-configurable user-interface can be roughly summarized: • The measurement equipment and the switch system represent the core of the reusable remote lab, as shown in Fig. 1 o The switch matrix has a switch at each intersection of its rows and columns and plays a central role in making the remote lab as a reusable infrastructure. o It is capable of connecting multiple inputs to multiple outputs. o A further important subsystem within the switch system is the activating switch module which translates the activities of selecting and placing of virtual components and equipment into real physical operations. • The experiment designer needs only to connect the experiment components such as capacitors, resistors, transistors etc. with the switching system of the remote lab. • The experiment designer needs to reflect the connection structure performed in the previous step in a configuration database by means of a specific userinterface. • The sequence of how the electronic components and equipment are connected with the switch system of the reusable remote lab is trivial as this order is already mapped in the configuration database. • When the student logs-in into the lab server to perform the lab experiment by means of the client userinterface, the menu structure of the graphical userinterface builds and initializes itself automatically, using information configured in dynamic tables loaded from the database. Through this strategy, the client user-interface will have the characteristics of being self-reconfigurable. • The web-based client user-interface represents graphically all physical components and equipment needed in an experiment for enabling students to manipulate them interactively. • A virtual breadboard enables the students to connect the components and equipment with each other. • If the student selects a virtual experiment element and places it on the virtual breadboard, the corresponding physical element on the lab server side will also be connected with the switch system. • If a physical element on the server side is activated, its corresponding graphical element in the menu system of the client user-interface appears as "unselectable".

REUSABLE REMOTE LAB INFRASTRUCTURE
The distributed system architecture presented in Fig. 1 is a translation of the requirements explained so far and follows the simplest client-server architecture, the two-tier client-server architecture, which organizes an application as a server and a set of clients. The lab core provides the functionality as a control system and as a manager be-PAPER A WEB-BASED REMOTE LAB PLATFORM WITH REUSABILITY FOR ELECTRONIC EXPERIMENTS IN ENGINEERING EDUCATION Figure 1. A distributed architecture of the reusable remote lab infrastructure for teaching electronics with self-configurable user-interface [21] tween the different subsystems of the reusable lab server. At program start, the lab core creates its dynamic tables according to the information stored in the experiment configuration database, embracing how the terminals of the equipment, instrumentations and components of the analog and digital devices are connected with the switch system. As stated early, the self-configurable user-interface uses this data to initialize its menu structure once the student logs-in into the lab server to perform the lab experiment. Fig. 2 shows the configuration data structure in which every row represents either an experiment element such as electronic components or equipment device, or an instrument. Further information like the element caption, its connections with the activating switch module is also included. The student performs the experiment on the virtual breadboard of the client user-interface virtually. The window represented in Fig. 2 enables the experiment designer to make direct access to the configuration database using a data grid view. The user uses the data grid view in order to edit the configuration database so that he can map the connections he made to the switching matrix.
The client user-interface transmits the composition of the wired-up components on the virtual breadboard combined with the interactive instructions performed on the virtual instrumentations and equipment like oscilloscopes to the lab core through the Internet, as shown in Fig. 3. The lab core of the reusable remote lab receives this composition of data and before passing it to the switch system, the validity of this data will be checked by a subsystem referred here as e-validator regarding prohibited connections such as VCC and GND. Such undesired combinations lead to damage the electronic equipment and components. If the received instructions are valid, then the lab core forwards it to the switch control, which connects the experiment equipment and components with each other. In this system, an instrumentation bus designated as GPIB, which is based on the IEEE-488 protocol, connects the  [37] experiment equipment and instrumentations with the lab core server. The measured data in forms of scalar or vectorial will be transmitted for the presentation by means of the virtual instrumentations on the client user-interface.

INTERFACE
There are some perceptive and cognitive ergonomic aspects that must be taken into consideration while developing user-interfaces. Cognitive ergonomics relates to reasoning, memory and knowledge [36], whereas perceptive ergonomics focuses on designing issues such as color, shape form, dimension and allocation, highlighting etc. The initialization of the menu system of the selfreconfigurable web-based client user-interface starts as soon as a student starts an experimental session. This dynamic menu includes menu-items created in conformity with to what is stored in the configuration data structure presented in Fig. 2 meaning that it is a graphical translation of the configuration data structure. In the configuration data structure, the first two columns, menu and menu item, will be used for configuring the menus of the client user-interface.
In the first column "Menu", information about menu buttons including passive or active electronic elements is modeled. For example, as shown in Fig. 2, the value zero is reserved of active electronic elements like transistors, one for passive elements such as resistors and capacitors, and two for instrumentations. On the contrary, the value stored in column two serves as menu item for a specific experiment element. As an example, zero is reserved for the transistor1 of the model 2N2222, one for the base resistor with the value 60 KOhm etc. Kigers argued through empirical studies dealt with different menu-tree forms that most of the users prefer menu-driven user-interfaces with wide-shallow menu-trees. It is evident through these studies that the breadth or number of items per level is preferred over depth or number of levels.
Several software packages, especially interactive development systems for rapid development and prototyping, are used to develop the different user-interface components like Microsoft Visual Studio 2010, Microsoft SQL Server 2008, the Internet Information Service Web Server (IIS), and Measurement Studio 10 for Visual Studio 2010. Microsoft Visual Studio 2010 is .NET technology and allows the quick creation, drawing and placing of graphical objects on the user display. One advantage of using .NET is that it embraces graphical user interface tools with rich libraries for user interface components. The design of the easy to use user-interface depends, in the first place, on graphics and graphical user controls provided by Visual Studio 2010. Measurement Studio is an integrated suite of tools and class libraries that are designed for developers using Microsoft .NET technologies to develop measurement and automation windows and Web applications [38].

VII. CONCLUSION
In order to achieve a reusable remote lab infrastructure, it was necessary to establish the system on an architectural design basis. This was possible through introducing the switch system which is extendable with further electronic components and equipment, along with the configuration data base, presenting themselves as the main contributors to making our remote lab server flexible and scalable. Also the self-reconfigurable user-interface on the client side with its dynamic menu system presents the software and hardware setup of the lab server in a highly efficient manner, and is oriented to replicate the lab instruments and electronic components as closely as possible.