3rd 3rd IFAC IFAC Workshop Workshop on on Internet Internet Based Based Control Control Education Education 3rd IFAC Workshop Internet Based Control Education November 4-6, 2015. 2015.on Brescia, Italy November 4-6, Brescia, Italy 3rd IFAC Workshop on Internet Based Control November 4-6, 2015. Brescia, Italy AvailableEducation online at www.sciencedirect.com November 4-6, 2015. Brescia, Italy
ScienceDirect IFAC-PapersOnLine 48-29 (2015) 129–133
An Architecture to use Easy Java-Javascript An to Easy Java-Javascript ⋆ An Architecture Architecture to use use EasyDevices Java-Javascript Simulations in New ⋆ Simulations Simulations in in New New Devices Devices ⋆
∗∗ Felix ∗∗∗ Jacobo Saenz Saenz ∗∗∗ Francisco Francisco Esquembre Esquembre ∗∗ Felix J. Garcia Garcia ∗∗∗ Jacobo ∗∗ Felix J. ∗ ∗ Jacobo Saenz Francisco Esquembre J. Garcia ∗∗∗ ∗ ∗ ∗∗ ∗∗∗ Luis∗de de la Torre Torre Esquembre Sebastian Dormido Luis la Sebastian Dormido Jacobo Saenz Francisco Felix J. Garcia Luis de la Torre ∗∗ Sebastian Dormido ∗∗ Luis de la Torre Sebastian Dormido ∗∗ Computer Science Science and and Automatics Automatics Department, Department, Computer Computer Science Science School, School, ∗ Computer Computer Science and Automatics Department, Computer Science School, ∗ UNED, Juan del Rosal 16, Madrid, Spain(e-mail:
[email protected], UNED, JuanScience del Rosal 16,Automatics Madrid, Spain(e-mail: Computer and Department,
[email protected], Computer Science School, UNED, Juan del Rosal 16, Madrid, Spain(e-mail:
[email protected],
[email protected],
[email protected]).
[email protected],
[email protected]). UNED, Juan del Rosal 16, Madrid, Spain(e-mail:
[email protected], ∗∗ Mathematics
[email protected],
[email protected]). ∗∗ Faculty, Universidad
[email protected]). de Murcia, Murcia, Campus Campus de de Espinardo, Espinardo, Mathematics Faculty, de
[email protected], ∗∗ Mathematics Faculty, Universidad de Murcia, Campus de Espinardo, ∗∗ Mathematics 30071 Murcia, Spain(e-mail:
[email protected]). 30071 Murcia, Spain(e-mail:
[email protected]). Faculty, Universidad de Murcia, Campus de Espinardo, ∗∗∗ 30071 Murcia, Spain(e-mail:
[email protected]). ∗∗∗ Departament of Engineering Technology, of Computer Computer Engineering and and Technology, Informatics Informatics 30071 Murcia, Spain(e-mail:
[email protected]). ∗∗∗ Departament Departament of Computer Engineering and Technology, Informatics ∗∗∗ Faculty, Universidad de Murcia, Murcia, Campus de de Espinardo, 30071 Murcia, Faculty, Universidad de Campus Espinardo, 30071 Murcia, Departament of Computer Engineering and Technology, Informatics Faculty, UniversidadSpain(e-mail: de Murcia, Campus de Espinardo, 30071 Murcia,
[email protected]).
[email protected]). Faculty, UniversidadSpain(e-mail: de Murcia, Campus de Espinardo, 30071 Murcia, Spain(e-mail:
[email protected]). Spain(e-mail:
[email protected]). Abstract: Nowadays, virtual and remote Abstract: Nowadays, virtual and remote laboratories laboratories play play an an important important role role in in the the students’ students’ learning learning Abstract: Nowadays, virtual and remote laboratories play an important role in the students’part, learning process. For distance education in scientific areas, where the laboratories are an essential this process. distance education scientific areas, where theimportant laboratories this Abstract:For Nowadays, virtual andinremote laboratories play an roleare in an the essential students’part, learning process. Foris distance education inIn scientific areas, the where the discovered laboratoriesJava are vulnerabilities an essential part, this importance is especially relevant. In the last years, the newly discovered Java vulnerabilities and the importance especially relevant. the last years, newly and the process. For distance education in scientific areas, where the laboratories are an essential part, this importance is especially relevant. In the last years, the newly discovered Java vulnerabilities and the new devicesiswhich which do not not supportInJava Java applications (tablets and smart-phones), make even even harder harder to new devices do support (tablets smart-phones), make to importance especially relevant. the applications last years, the newlyand discovered Java vulnerabilities and the new devices which do not support Java applications (tablets and smart-phones), make even harder to run or develop these laboratories as Java applications. On the one hand, a non-digitally signed applet run develop thesedolaboratories Javaapplications applications.(tablets On theand onesmart-phones), hand, a non-digitally signed applet newor devices which not supportasJava make even harder to run or develop these laboratories as Java applications. On the one hand, a non-digitally signed applet cannot be run in a web browser or in a smart-phone. On the other hand, portable devices, like a pc-tablet, cannot be run inthese a weblaboratories browser or in smart-phone. On the hand, portable devices, like a pc-tablet, run or develop as aJava applications. On other the one hand, a non-digitally signed applet cannot be runcomputation in a web browser or in aand smart-phone. thenot other hand,to portable devices, like a pc-tablet, have limited resources, sometimesOn it is is enough run complex complex simulations. EjsS have limited resources, sometimes it enough run simulations. EjsS cannot be runcomputation in a web browser or in aand smart-phone. On thenot other hand,toportable devices, like a pc-tablet, have limited computation resources, and sometimes it is not enough to run complex simulations. EjsS (Easy Java-Javascript Simulations) isand an open open sourceittool tool used for creating creating all kind kind of of simulations by (Easy Java-Javascript Simulations) an source used for all simulations by have limited computation resources,is sometimes is not enough to run complex simulations. EjsS (Easy Java-Javascript Simulations) is an open source tool used for creating all kind of simulations by introducing the equations of the model, and building a graphical user interface (GUI) for the application. introducing the equations of the model, building a graphical interfaceall (GUI) application. (Easy Java-Javascript Simulations) is anand open source tool used user for creating kindfor of the simulations by introducing the equations of the model, and building a graphical user interface (GUI) for the application. This work presents a solution to the two previous problems that appear when using EjsS. Both are This work presents a solution the two when using EjsS. Both are introducing the equations of the to model, and previous building aproblems graphicalthat userappear interface (GUI) for the application. This work presents solution to runs the two problems appear when using load. EjsS. This BothJava are resolved using Javaaa model model that in aa previous server and and takes the thethat heavier computational resolved using aa Java that in server takes heavier computational This work presents solution to runs the two previous problems that appear when using load. EjsS. This BothJava are resolved using a Java model that runs in a server and takes the heavier computational load. This Java model is linked linked with Javascript GUI ininthe the client device. device. Thethe link is based based on aa web-socket web-socket connection model is Javascript client The link is on resolved using awith Javaaa model thatGUI runsin a server and takes heavier computational load.connection This Java model is server linked and withclient a Javascript in the clientThe device. The link is based a web-socket connection between using JSON format. proposed solution has additional advantages, such between using aaGUI JSON format. proposed solution has on additional advantages, such model is server linked and withclient a Javascript GUI in the clientThe device. The link is based on a web-socket connection between server and client using a JSON format. The proposed solution has additional advantages, as the possibility of multiple users working with the same model, or reusing an already existing Java as the possibility ofclient multiple users working withThe theproposed same model, or reusing an already existing such Java between server and using a JSON format. solution has additional advantages, such as the possibility ofbuilding multiple usersJavascript working view. with the same model, or reusing an already existing Java application by just building a new Javascript view. application by just a new as the possibility of multiple users working with the same model, or reusing an already existing Java application by just building a new Javascript view. application by (International just building aFederation new Javascript view. Control) Hosting by Elsevier Ltd. All rights reserved. © 2015, IFAC of Automatic Keywords: Keywords: Education, Education, Laboratory, Laboratory, Control, Control, Simulation, Simulation, Digital Digital Computer Computer Applications. Applications. Keywords: Education, Laboratory, Control, Simulation, Digital Computer Applications. Keywords: Education, Laboratory, Control, Simulation, Digital Computer Applications. that that reason, reason, the the use use of of online online applications, applications, such such as as virtual virtual lablabthat reason, the use of online applications, such as virtual laboratories (VLs), remote laboratories (RLs) or both (VRLs), is oratories (VLs), remote laboratories (RLs) such or both (VRLs), is that reason, the use of online applications, as virtual lab1. INTRODUCTION 1. INTRODUCTION oratories (VLs), remote laboratories (RLs) or both (VRLs), is essential in the distance learning process. essential in the distance learning process. oratories (VLs), remote laboratories (RLs) or both (VRLs), is 1. INTRODUCTION essential in the distance learning process. 1. INTRODUCTION essential the distance learning aa new virtual or Nowadays However,increating creating new virtualprocess. or remote remote laboratory laboratory is is not not Nowadays online online resources resources have have become become widespread, widespread, and and they they However, However, creating a new virtual orusually remotebe laboratory isand, not Nowadays online resources have become widespread, and they an easy task. The software must usually be self-made have an important role in the learning process of students for an easy task. The software must self-made have an important role in the learning process of students for creating a new virtual or remote laboratory isand, not Nowadays online resources have become widespread, and they However, an easy task. The software must usually be self-made and, have an important role in the learning process of students for most of the time, this task has to be performed by teachall of Thanks new devices, most of task. the time, this task must has tousually be performed by teachall kind of studies. studies.role Thanks tolearning new technologies technologies and devices, easy The software be self-made and, havekind an important in theto process of and students for an of the time, this task Normally, has to be these performed by teachall of Thanks new technologies devices, ers, or applications are the students can with wide range most ers, researchers researchers or students. students. applications are the students can complement complement their lessons with aaand wide range most of the time, this task Normally, has to be these performed by teachall kind kind of studies. studies. Thanks to totheir new lessons technologies and devices, ers, researchers or students. Normally,environments these applications are the students can complement their lessons with a wide range created using integrated development environments (IDEs) of of applications, videos, simulations or additional information. created using integrated development (IDEs) of of simulations or additional researchers or students. Normally, these applications are theapplications, students canvideos, complement their lessons with ainformation. wide range ers, created using integrated development environments (IDEs) of of applications, videos, simulations or additional information. high level programming languages or with tools for creating In this regard, for scientific areas, applications that simulate high level programming languages or with tools for creating In this regard, for scientific areas, applications that simulate using integrated development environments (IDEs) of of applications, videos, simulations or additional information. created high level programming languages or with tools for creating In this regard, for scientific areas, applications that simulate animations. Currently, most of these tools, to a greater o lesser physical systems receiving more and These animations. Currently, most of these or tools, a greater o lesser physical systemsforare arescientific receivingareas, more applications and more more attention. attention. These high level programming languages withtotools for creating In this regard, that simulate animations. Currently, most of these tools, to ayears greater o lesser physical are more more These Unfortunately, over recent many Java simulations generally have user extent, use use Java. Java. Unfortunately, over the the recent many Java simulations generally have an an intuitive intuitive graphical user interface interface animations. Currently, most of these tools, to ayears greater o lesser physical systems systems are receiving receiving more and andgraphical more attention. attention. These extent, extent, use Java.have Unfortunately, over the recent years many Java simulations generally have an intuitive graphical user interface vulnerabilities have been appearing. Therefore, restrictions for (GUI) that supports some level of user interactions and control vulnerabilities been appearing. Therefore, restrictions for (GUI) that supports of user interactions andinterface control extent, use Java. Unfortunately, over the recent years many Java simulations generallysome havelevel an intuitive graphical user have been Java appearing. Therefore, restrictions for (GUI)the that supports some level of user interactions and control vulnerabilities running digitally signed Java applets make very difficult the over system. running digitally signed applets make very difficult the over the system. vulnerabilities have been appearing. Therefore, restrictions for (GUI) that supports some level of user interactions and control running digitally signed Java applets make very difficult the over the system. dissemination and use of VRLs which are created based on this dissemination and use of VRLs which are created based on this running digitally signed Java applets make very difficult the over the system. In this kind kind dissemination use of new VRLs whichdevices are created on this In the the last last years years many many universities universities have have added added this addition, mobile with Internet actechnology. In Inand addition, mobile withbased Internet acdissemination and use of new VRLs whichdevices are created based on this In tools the last years many their universities have added Guimaraes this kind technology. of to complement traditional courses: Guimaraes In addition,or new mobile do devices with Internet acof tools to complement their traditional courses: In the last years many universities have added this kind technology. cess, like smart-phones or pc-tablets, do not support Java. This cess, like smart-phones pc-tablets, not support Java. This technology. In addition, new mobile devices with Internet acof tools to complement their traditional courses: Guimaraes et (2011); Vavougios Restivo et like smart-phones or pc-tablets, do not support Java. This et al. (2011); Vavougios and and Karakasidis (2008); Restivo et al. al. cess, of al. tools to complement theirKarakasidis traditional(2008); courses: Guimaraes constitutes another impediment impediment for the the publication of VRLs VRLs constitutes another for publication of cess, like smart-phones or pc-tablets, do not support Java. This et al. (2011); Vavougios and Karakasidis (2008); Restivo et al. (2009); Garcia-Zubia et al. (2009); Farias et al. (2010); Yuimpediment for the publication of VRLs (2009); Garcia-Zubia et and al. (2009); Farias et al.Restivo (2010);etYuet al. (2011); Vavougios Karakasidis (2008); al. constitutes that this that rely rely on on another this technology. technology. another impediment for the publication of VRLs (2009); Garcia-Zubia et al.Andreja (2009);Rojko Farias(2010); et al. Yazidi (2010);et Yuliang Qiao and Hu Hu (2010); (2010); al. constitutes that rely on this technology. liang Qiao and al. (2009); Garcia-Zubia et al.Andreja (2009);Rojko Farias(2010); et al. Yazidi (2010);etYuthat rely on this technology. liang Qiao and Hu (2010); Andreja Rojko (2010); Yazidi et al. To address address the the unsupported unsupported Java Java problem problem some some developers developers have have (2011); Hassan et (2010); al. (2013); (2013); Santana al. Tawfik (2011); Hassan et al. Santana et(2010); al. (2013); (2013); Tawfik liang Qiao and Hu Andreja Rojkoet Yazidi et al. To To address theVRLs unsupported Java problem developers (2011); Hassan et (2013); Santana al. (2013); their using such as, example the et al. (2013)). educawritten their using Javascript, Javascript, suchsome as, for for examplehave the et al. (2013); (2013); Bose (2013)). Considering the distance educa- written To address theVRLs unsupported Java problem some developers have (2011); HassanBose et al. al. (2013);Considering Santana et et the al. distance (2013); Tawfik Tawfik written their VRLs using Javascript, such as, for example the et al. (2013); Bose (2013)). Considering the distance educaworks by Frank and Kapila (2014) and Glotov et al. (2013 tion paradigm, in scientific and technical areas, a face-to-face works by Frank andusing Kapila (2014) such and Glotov et al. (2013 tion in scientific technical areas, a face-to-face their VRLs Javascript, as, for example the et al.paradigm, (2013); Bose (2013)).and Considering the distance educa- written works by Frank and Kapila (2014) and Glotov et al. (2013 tion paradigm, in scientific and technical areas, a face-to-face (2nd). This solution solves the(2014) two problems problems mentioned above laboratory practice is available for For solution the two mentioned laboratory practice is not not commonly commonly available forastudents. students. For (2nd). works This by Frank andsolves Kapila and Glotov et al. above (2013 tion paradigm, in scientific and technical areas, face-to-face (2nd). solution solves mentioned above laboratory practice is not available for students. For but it it This involves new one the duetwo to problems the limited limited computational but involves aa new one due to the computational ⋆ This solution solves the two problems mentioned above not commonly commonly available forPaper students. For (2nd). ⋆laboratory Sponsor and andpractice financial is support acknowledgment goes here. here. Paper titles should should financial support acknowledgment goes titles but it involves a new one due to the limited computational resources of a smart-phone or tablet pc, which sometimes it ⋆ Sponsor resources of a smart-phone or tablet pc, which sometimes it is is Sponsor and financial support acknowledgment goes here. Paper titles should but it involves a new one due to the limited computational be written in uppercase and lowercase letters, not all uppercase. ⋆ be Sponsor written in uppercase lowercase letters, not all uppercase. resources of a smart-phone or tablet pc, which sometimes it is and financialand support acknowledgment goes here. Paper titles should be written in uppercase and lowercase letters, not all uppercase. resources of a smart-phone or tablet pc, which sometimes it is be written in uppercase and lowercase letters, not all uppercase.
Copyright 2015 IFAC IFAC 129 Hosting by Elsevier Ltd. All rights reserved. 2405-8963 © 2015, IFAC (International Federation of Automatic Control) Copyright 2015 129 Copyright 2015 responsibility IFAC 129Control. Peer review©under of International Federation of Automatic Copyright © 2015 IFAC 129 10.1016/j.ifacol.2015.11.225
IFAC IBCE 2015 130 November 4-6, 2015. Brescia, Italy
Jacobo Saenz et al. / IFAC-PapersOnLine 48-29 (2015) 129–133
Fig. 1. Main view of the EjsS editor in Java enabled version not enough to run complex simulations. In addition, rebuilding an already existing VRL from scratch in Javascript can be a huge task. The present work applies a solution for all these previous problems when using Easy Java/Javascript Simulations (EjsS) for creating the VRLs applications. The paper is organized as follows. Section II describes the actual state of EjsS and how it works for creating both, Java and Javascript applications. Section III discusses the architecture proposed in this work to expand EjsS in order to give answer to some actual problems with Java and Javascript applications. Finally, Section IV gives some final conclusions and describes further work. 2. EASY JAVA/JAVASCRIPT SIMULATIONS 2.1 The EjsS Tool EjsS is an open source authoring tool designed for students and teachers who need to make fully functional applications and simulations in scientific and engineering areas. This tool offers an easy way to create a GUI for simulations, according to the user needs of interactivity and visualization. EjsS allows the user to create applications in both Java or Javascript. This applications that can be standalone (in the case of Java) or that might be run in a web browser (Java and Javascript).
or complexity of the model depends only on the users requirements and their knowledge of the system they want to simulate. • The view provides final users a GUI, whose elements have been added one-by-one, and determines the interaction and visualization capabilities of the application. This view is built with a tree architecture by dragging and dropping elements in the right panel of the EjsS editor (middle image in Figure 1). A previsualization of the GUI built in this way is also shown by EjsS (right image in Figure 1). 2.3 The EjsS Javascript mode The problems with Java vulnerabilities was solved by EjsS in a previous release (5.0) by using the Javascript programming language instead of Java. Therefore, with EjsS 5.0 or above, users can develop new VRLs based in Javascript with a little Javascript knowledge. When running this mode, the main structure of EjsS does not change in the eyes of the user, and building of an application is very similar to the previous Java-based case, as Figure 2 shows. Actually, at a first sight, the only difference between is that the name of the tab changes from View to HtmlView.
The main strength of EjsS is that it eases the development of applications by teachers and students who want to focus in the simulation itself and not in the technical programming aspects Farias et al. (2010); Chacon et al. (2015). When an application built in EjsS is finished, the user can run it using the EjsS editor. Then, the application opens in a new window ready-to-use. Another option is to package the application in order to run it later as in standalone mode (for Java applications) or inside a web page (for Java and Javascript ones). 2.2 The EjsS Java mode EjsS applications are structured in two main parts, the view and the model: • The model can be seen as Java programming code, differential equations (left image in Figure 1) and/or connections to other software or hardware. The simplicity 130
Fig. 2. Main view of the EjsS editor, in Javascript enabled version
IFAC IBCE 2015 November 4-6, 2015. Brescia, Italy
Jacobo Saenz et al. / IFAC-PapersOnLine 48-29 (2015) 129–133
131
Fig. 3. Architecture for Java-Javascript mode in EjsS 3. JAVA AND JAVASCRIPT WITH EJSS 3.1 Main Architecture The last section presented a solution for EjsS applications that involves using Javascript instead of Java, which avoids the problems with: 1) vulnerabilities, 2) mobile devices which do not support Java-based applications, and 3) the need to digitally sign the applets. However, building complete applications in Javascript do not solve two other problems: 1) the difficulty to run complex VRLs in devices with limited resources and 2) the need to rebuild the whole application from scratch when a Java-based one was already created with EjsS. Here, we present a middle ground solution for all the previous problems. The main idea of this solution is to use both languages (Java and Javascript) in a client-server configuration. Figure 3 shows the basic architecture of a running application in the proposed framework. The main contribution of the present work is implementing this architecture for EjsS applications. As seen in the figure, this architecture is divided in three parts: client, server and communications, all of which are explained in the rest of this section. 3.2 Communications Figure 3 shows that the transport of all the information exchanged between the client and server applications is implemented with the websocket protocol 1 , and using the JavaScript Object Notation 2 (JSON) data format. • WebSocket: The Websocket protocol consists in a client to server bidirectional communication that uses HTTP technologies and infrastructures as a transport layer. This protocol facilitates the server work, which don not need to initialize different connections for each petition of the same client, and uses one TCP connection for the serverclient and client-server traffic. This solution to communications in web applications has become widespread in the last years and it is supported by most browsers. • JSON: JSON is an easy to parse and easy to generate interchange data format. In addition, it can be used regardless of the programming language, using only a few conventions.
the established browser-server communications. Interestingly enough, WebSockets and JSON are two requirements established by the Smart Device specification for remote laboratories (Salzmann et al. (2015)), which tries to define a standard for building them. Therefore, this solution gets closer to these standardization efforts. 3.3 Client and Server With the proposed architecture, a user who wants to work with a VRL connects through a web browser (using the VRL application) with the server. The server initializes this simulation and sends an HTML of the application view, which contains the Javascript code. This HTML provides the graphical and user interaction support to process the model messages and to send the modifications made by the user. The server side contains a compressed file with all the files needed to run the simulation, which includes: • The model in Java: which processes the differential equations and the code of the simulation in a synchronous cycle. The changes that occur in the visualization variables during this processing are communicated trough the Internet to the client, where the message is processed. • Java view: In addition, if an active Java view at the server is wanted (for monitoring purposes, for example), it can enabled. This Java view in the server runs together with the model. Figure 4 shows the different parts and the directions of the messages while and EjsS VRL is running. 3.4 Steps in a running VRL The process for running an EjsS application with this architecture can be outlined as a set of steps:
The combination of these two things facilitates the debugging, due to the JSON format, which is human-readable, and 1 2
Fig. 4. Architecture for Java-Javascript mode in EjsS at server side
https://tools.ietf.org/html/rfc6455 http://json.org/json-en.html
131
132 IFAC IBCE 2015 November 4-6, 2015. Brescia, Italy
Jacobo Saenz et al. / IFAC-PapersOnLine 48-29 (2015) 129–133
(a) A modification in the model is communicated to the views.
(b) A user interaction with the view is communicated to the model.
Fig. 5. Communication process when updating changes.
Fig. 6. Architecture for the Java-Javascript mode with multiple users connected. (1) The user opens an application in the web browser and the web browser makes an HTML petition to the server, which returns the xhtml file. (2) At the server side, the EjsS model in Java is initialized (along with a Java view if desired). (3) The Java model, running in the server, waits in a loop until the websocket connection through Internet and from the client is available. (4) When the HTML client responds to the server, the Java model (and the view too if that is the case) starts, and the data exchange begins, resulting in the synchronization of both, the client Javascript view and the Java model in the server. (5) When a visualization variable changes, the model sends a message in JSON format to the active views, communicating them the new values of the model variable. (6) When a user makes a modification that affects a model variable (usually by interacting with the HTML view), the Javascript code sends the data to the server. The model receives and processes this message and it makes the changes in the proper variable. Finally, the active views are updated. Figure 5 illustrates the process explained in the steps 5 and 6. 132
3.5 Advantages of this Architecture Along the last sections this work has presented a solution to the problems that arise when using EjsS as a tool to create web-enabled Java applications. A first problem (not being able to run Java-based applications in mobile devices), is solved using the Javascript programming language, or a combination of Java a Javascript in a server-client configuration as it has been described. This last option is related with the solution to the second and third problems. On the one hand, using a server to carry out the computational load of the models allows light client applications that just need to know how the visualization parameters change. On the other hand, since a Java model is used, already existing VRLs can be reused in part, as only the client html view needs to be rebuilt. In addition to all the previous points, there is one more advantage. The websocket protocol allows multiple users to connect to the same model in the server. This is a useful possibility in education areas, where a teacher can develop some collaborative activities to improve the learning process. An example of activity is presented in Figure 6. A teacher can choose a group of students and connect all of them simultaneously to the same model. This multiple user connection allows the teacher
IFAC IBCE 2015 November 4-6, 2015. Brescia, Italy
Jacobo Saenz et al. / IFAC-PapersOnLine 48-29 (2015) 129–133
Fig. 7. Running example using the proposed architecture. to change the parameters of the simulation while the students see the changes in the view, running on their own devices. Moreover, the students can also interact with the view at any moment and see the response of the simulation or application. 4. CONCLUSIONS AND FUTURE WORK While Java applets are common on the Internet and some of them are digitally signed and fully functional, many of the self-made VRLs, however, cannot be run in a web browser. In addition, some browsers have announced the permanent end of Java support (Chrome), which increases the difficulties to run Java in a PC. To make things even worse, mobile devices such as smart phones and tablets do not support applets. The solution provided in this work solves this first problem for EjsS by using Javascript instead of Java in the client side. By running a Java model in a remote server that communicates with a Javascript view in the client, a second issue is faced: the difficulties to run heavy models in small devices like smart phones. The development of new virtual and remote laboratories using EjsS in a distance education university, could benefit from this solutions, increasing the diffusion of VRLs in scientific areas. A very simple example is shown in 7, a classic falling ball with a time-position plot. The figure shows the Javascript and the Java view, on the left and right of the image respectively, both of them communicating with the Java model. The vertical lines in the plot are user interactions, using the button ”Measure Height”, just to illustrate the bidirectional communication. This work is develop within the EjsS project and so, the future work is directly related to it. In the last section the authors have shown the advantages of the proposed architecture. In this sense, benefits like the generalization of the view, as an independent element, are not yet developed. This work is the first step towards that end. REFERENCES Andreja Rojko, Darko Hercog, K.J. (2010). Power engineering and motion control web laboratory: Design, implementation, and evaluation of mechatronics course. IEEE Transactions on Industrial Electronics, 57(10), 3343 – 3354. Bose, R. (2013). Virtual labs project: A paradigm shift in internet-based remote experimentation. IEEE Access, 1, 718–725. Chacon, J., Vargas, H., Farias Castro, G., Sanchez Moreno, J., and Dormido, S. (2015). EJS, JIL Server and LabVIEW: How to build a remote lab in the blink of an eye. Learning Technologies, IEEE Transactions on, PP(99), 1–1. doi:10. 1109/TLT.2015.2389245. Farias, G., De Keyser, R., Dormido, S., and Esquembre, F. (2010). Developing networked control labs: A matlab and easy java simulations approach. IEEE Trans. on Industrial Electronics, 57(10), 3266–3275. 133
133
Frank, J.A. and Kapila, V. (2014). Development of mobile interfaces to interact with automatic control experiments. IEEE Control Systems Magazine, 34, 78–98. Garcia-Zubia, J., Orduna, P., Lopez-de Ipina, D., and Alves, G. (2009). Addressing software impact in the design of remote laboratories. IEEE Transactions on Industrial Electronics, 56(12), 4757–4767. Glotov, A., Dmitry, B., Ivan, L., Vorobiev, A., Kostina, M., and Titov, I. (2013 (2nd)). Remote laser laboratory at bmstu: Browser-based solution. In Experiment@ International Conference, 94–98. doi:10.1109/ExpAt.2013.6703037. Guimaraes, E.G., Cardozo, E., Moraes, D.H., and Coelho, P.R. (2011). Design and implementation issues for modern remote laboratories. IEEE Transactions on Learning Technologies, 4, 149–161. Hassan, H., Martinez-Rubio, J., Perles, A., Capella, J., Dominguez, C., and Albaladejo, J. (2013). Smartphonebased industrial informatics projects and laboratories. IEEE Transactions on Industrial Informatics, 9(1), 557–566. Restivo, M., Mendes, J., Lopes, A., Silva, C., and Chouzal, F. (2009). A remote laboratory in engineering measurement. IEEE Transactions on Industrial Electronics, 56(12), 4836– 4843. Salzmann, C., Govaerts, S., Halimi, W., , and Gillet, D. (2015). The smart device specification for remote labs. In 12th International Conference on Remote Engineering and Virtual Instrumentation (REV), 199 – 208. Santana, I., Ferre, M., Izaguirre, E., Aracil, R., and Hernandez, L. (2013). Remote laboratories for education and research purposes in automatic control systems. IEEE Transactions on Industrial Informatics, 9(1), 547–556. Tawfik, M., Sancristobal, E., Mart´ın, S., D´ıaz, G., Peire, J., and Castro, M. (2013). Expanding the boundaries of the classroom. IEEE Transactions on Industrial Electronics Magazine, 13, 41–49. Vavougios, D. and Karakasidis, T. (2008). Application of ict technology in physics education: teaching and learning elementary oscillations with the aid of simulation software. International Journal of Emerging Technologies in Learning (iJET), 3(2), 53–58. Yazidi, A., Henao, H., Capolino, G.A., Betin, F., , and Filippetti, F. (2011). A web-based remote laboratory for monitoring and diagnosis of ac electrical machines. IEEE Transactions on Industrial Electronics, 58, 4950–4959. Yuliang Qiao, Guo-Ping Liu, G.Z. and Hu, W. (2010). Ncslab: A web-based global-scale control laboratory with rich interactive features. IEEE Transactions on Industrial Electronics, 57(10), 3253–3265.