Lecture Notes in Computer Science- P60 ppsx

5 313 0
Lecture Notes in Computer Science- P60 ppsx

Đang tải... (xem toàn văn)

Thông tin tài liệu

284 W C. Chang, Y D. Chiu, and M F. Li References 1. Grimald, R.P.: Discrete And Combinatorial MatheMatics An Introduction, 5th edn. Addison Wesley, Reading (1994) 2. Lim, D.: Taking Students Out for a Ride: Using a Board Game to Teach Graph Theory. In: 38th SIGCSE technical symposium on Computer science education, pp. 367–371. ACM, Kentucky (2007) 3. Henney, A.J., Aqbiny, J.I.: Board Games of African Origin on Mobile Phones. In: IEE Mobility Conference 2005. The Second International Conference on Mobile Technology, Applications and Systems, pp. 1–8. Guangzhou (2005) 4. Goschnick, S., Balbo, S.: Game-first Programming for Information Systems Students. In: Second Australasian Conference on Interactive Entertainment, pp. 71–74. Creativity & Cognition Studios Press, Sydney (2005) 5. Komisarczuk, P., Welch, I.: A Board Game for Teaching Internet Engineering. In: 8th Austalian conference on Computing education, vol. 52, pp. 117–123. ACM, Hobart (2006) 6. WIKIPEDIA for Minimum Spanning Tree, http://en.wikipedia.org/wiki/Minimum_spanning_tree 7. James, F.K., Keith, W.R.: Computer Networking A Top-Down Approach Featuring the Internet, 3rd edn. Addison-Wesley, Reading (2004) 8. Mathematical Programming in Teaching Dijkstra’s Minimum Spanning Tree, http://www-b2.is.tokushima-u.ac.jp/~ikeda/suuri/dijkstra/ Dijkstra.shtml 9. Mathematical Programming in Teaching Prim’s Minimum Spanning Tree, http://www-b2.is.tokushima-u.ac.jp/~ikeda/suuri/dijkstra/ Prim.shtml 10. Mathematical Programming in Teaching Kruskal’s Minimum Spanning Tree, http://www-b2.is.tokushima-u.ac.jp/~ikeda/suuri/kruskal/ Kruskal.shtml F. Li et al. (Eds.): ICWL 2008, LNCS 5145, pp. 285–295, 2008. © Springer-Verlag Berlin Heidelberg 2008 A Virtual Laboratory Platform Based on Integration of Java and Matlab* Yu Sheng, Weiping Wang ** , Jianxin Wang, and Jianer Chen School of Information Science and Engineering, Central South University, ChangSha, 410083, China shengyu@mail.csu.edu.cn, wpwang@mail.csu.edu.cn Abstract. Recently, it is a hot research to construct virtual laboratory (VL) in the modern remote education. This paper proposes a platform of VL based on the in- tegration of Java and Matlab, which is called VL-JM. The VL-JM platform uses JMatLink to realize the seamless joint between Java and Matlab. Matlab is used for computing in the server, which improves the VL-JM platform simulation ca- pability. In the VL-JM, simple and precise device components have been devel- oped with the combination of JavaBeans components and Matlab. Furthermore, we develop the client with Java applet to make it be independent of operating sys- tem. This paper also introduces the design and implementation of VL-JM plat- form based on the integration of Java and Matlab in details. This paper discusses the realization of Java Matlab Proxy Server (JMPS) in detail, which is used for communicating between Beans components and Matlab. Taking digital commu- nication virtual lab as an example, the communication process and the realization mechanism of the whole platform have been introduced and the validity of the VL-JM platform has been illustrated. 1 Introduction The rapid development of communication technology and the Internet has brought up significant innovation in our life and study, and also the abundant information re- sources benefit everybody too. Meanwhile, everybody would like get more chance to obtain education, but there are lots of limitations, such as classroom and laboratory. Consequently, while considering the full use of the lab teaching resources, we must think about how we should use remote education through the Internet fully. We should take it into account and regard it as the very important research task in educa- tion. Generally, the remote education based on the Internet adopts the C/S model and users can connect with server and get the corresponding information. For its convenience, safety and platform-independent, pure Java has been widely used in remote education system to develop virtual laboratory platform. But it is thought as complex that is used to develop all the laboratory components. Matlab is one of common computer process programs which can provide abundant digital * This work was partially supported by the National Natural Science Foundation of China (60673164), Provincial Natural Science Foundation of Hunan (06JJ10009), Program for New Century Excellent Talents in University (NCET-05-0683), the Program for Changjiang Scholars and Innovative Research Team in University No. IRT0661. ** Corresponding author. 286 Y. Sheng et al. image, digital signal process, simulation, artificial intelligence and other algorithm packets. It also has been widely applied in the emulation and real time control, espe- cially in the communication fields. Meanwhile, it provides plentiful interfaces and can be called from many languages such as C/C++, Fortran and so on. So, Matlab has extensive prospect. This paper puts forward a platform based on the integration of Java and Matlab, which fully takes advantages of Java and Matlab to design and realize the virtual lab. 2 Related Research Nowadays, the web-based virtual experimental environment is one of the hot researches, especially in some colleges and academic institutes. Seen from its realization technolo- gies, Java is the most popular technology in developing VL. There are also some other technologies including Quick Time VR, VRML, ActiveX, Flash and so forth. Ref. [3] proposed a design of the virtual programming lab for online distance learn- ing. It uses HTML and Java applet on the client side, and CGI and Java Servlet in the server side. Before running an experiment, users need to write their program codes in the client, the client sends the codes to the server. After receiving the request, the server invokes the corresponding language compiler, and then returns the result to the client. Ref. [4] introduces the design and implementation of biology virtual labora- tory, in which most of components are implemented with JavaBeans, and the data description is realized in Extensible Markup Language (XML). Ref. [9] proposed the design model and implementing method of virtual computer networks lab which is based on NS2. In the lab, most of components are implemented with JavaBeans too. The design and implementation of digital signal processing virtual lab (DSPVL) based on components is discussed in Ref. [10], in which JavaBeans technology is used for developing all of the components. At the same time, the research about VL platform is also a hot problem except for developing some virtual labs to fit for the needs of special courses. Ref. [2] introduces the architecture, features and some realization technologies of virtual laboratory plat- form in details. Its client is implemented with Java applet and equipment components are implemented with JavaBeans. Some specific apparatuses and device in it are pro- grammed as components. Users can design the experiment process visually, and choose or create experimental device objects dynamically. Ref. [5] proposed a new architecture for web-based virtual laboratory with CORBA technology. In the archi- tecture, the Java applet acts as the client tool and CORBA acts as the communication bridge among different objects. The integration of Java Bean, Matlab and COM/DCOM is implemented as computing tools on the server side. Matlab is used for computing in the server that enhances the simulation capability. But it is very difficult to be used because of its complicated technologies. JMatLink [1] was developed by Stefan Muller, which is used as the interface to connect Java and Matlab. Functions in the Matlab can be called in Java, which will simplify the complexity of algorithm implemented with Java. Ref. [6] shows that Java and Matlab can communicate with each other through JMatLink and describes the integration of real-time hardware, a data analysis tool and web-based services. A web- based educational software package called RIO (Robotics Illustrative sOftware) is A Virtual Laboratory Platform Based on Integration of Java and Matlab 287 introduced in Ref. [7]. RIO integrates VRML and Matlab, the user interface consists of a Java applet along with VRML model, and the applet is capable of intercommuni- cating with Matlab in the server with JMatLink. Using Java to implement some algorithm components is complex and inefficient in the development of VL, but there exists the same algorithm packets in Matlab. Therefore, we can invoke algorithms in Matlab to solve the problem that Java is hard to realize by integrating Java and Matlab. Although CORBA technology had solved the communication among different objects, it is so huge and complicated and slow in renovation of technology standard that it is not widely been used in practice. This paper proposes a new virtual lab platform, which can implement the commu- nication between Java objects and Matlab engine functions. The platform is con- structed based on the integration of Java and Matlab. In this paper, we also discuss how to use the platform to develop the virtual lab of the digital communication and other courses labs supported by Matlab. 3 The Architecture of VL-JM Platform The VL-JM platform, which is based on the integration of Java and Matlab, adopts C/S model to fulfill the design respectively from server and client. The client adopts Java applet technology to develop user interface for experiment, and JavaBeans component technology to develop virtual experiment device. Remote users can choose experimental components in the user interface, assemble experiment flow according to real experi- ment, and then run the experiment to get the results. The server mainly contains two parts. One is the virtual experiment devices, which are composed of component library and component register XML files; and the other is Java Matlab Proxy Server (JMPS) which processes the user requests and acts as a bridge between Java and Matlab. Internet Fig. 1. The architecture of VL-JM Platform The architecture of VL-JM platform is shown in Fig.1. The procedure for remote users to execute experiment is as follows: (1) Users send requests to download the applet page from the remote server through browsers, which support JVM (Java Virtual Machine). (2) The server analyses the XML files including registering components according to the requests sent by users, and sends these corresponding class files back to users. 288 Y. Sheng et al. (3) Users initialize user interface window after receiving these class files, and then assemble the experiment flow according to the experiment demand to do experiments. (4) Users push the “run” button in the interface. Then each Bean is executed one by one according to the experiment flow. While there is an object which calls Matlab function in the Bean, the system will send the requests to the remote server in order to invoke Matlab function. (5) The server invokes the Matlab function through JMatLink after detecting the users’ requests, and sends back the data processed by Matlab through JMPS. (6) After these receiving data are processed by all components in the experiment flow, the final results can be obtained and displayed on the interface. 4 The Implementation of VL-JM Platform According to function requirement in VL-JM platform, we adopt object-oriented method to design and implement. At the server, we have Java application as a proxy server to deal with the requests from remote multi-users for accessing Matlab and returning results. At the client, we utilize Java applet to develop the experiment inter- face window and experiment device components, which are independent of operating system. The implementation of platform is introduced in the following in detail. 4.1 The Implementation of Server There are two main works in server. One is to distribute the experiment instrument components, and the other is used for listening to and responding to the requests from remote users. Functions in Matlab can be invoked to compute and then the results can also be sent back. Internet Matlab Engine engine TCP/IP Communication Commands Simulation data JMPS Fig. 2. Communication through JMPS As shown in Fig.2, in order to invoke the Matlab functions and provide the com- munication among different objects we develop a Java application called Java Matlab Proxy Server (JMPS) in the server side. The engine object can be built by JMatLink library which contains a set of Java classes. The object plays a key role in communi- cation between Java and Matlab and deals with the requests from remote multi-users. The main functions of JMPS are as follows: (1) Open, close Matlab computing engine, and to communicate with Matlab. (2) Invoke Matlab engine functions after parsing the data stream from the remote components’ methods. (3) Detect the clients' requests and return results. . http://en.wikipedia.org/wiki/Minimum_spanning_tree 7. James, F.K., Keith, W.R.: Computer Networking A Top-Down Approach Featuring the Internet, 3rd edn. Addison-Wesley, Reading (2004) 8. Mathematical Programming in. Board Game for Teaching Internet Engineering. In: 8th Austalian conference on Computing education, vol. 52, pp. 117–123. ACM, Hobart (2006) 6. WIKIPEDIA for Minimum Spanning Tree, http://en.wikipedia.org/wiki/Minimum_spanning_tree. in Teaching Dijkstra’s Minimum Spanning Tree, http://www-b2.is.tokushima-u.ac.jp/~ikeda/suuri/dijkstra/ Dijkstra.shtml 9. Mathematical Programming in Teaching Prim’s Minimum Spanning Tree,

Ngày đăng: 05/07/2014, 09:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan