Tải bản đầy đủ (.pdf) (5 trang)

Lecture Notes in Computer Science- P60 ppsx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (195.76 KB, 5 trang )

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,

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,

Dijkstra.shtml
9. Mathematical Programming in Teaching Prim’s Minimum Spanning Tree,

Prim.shtml
10. Mathematical Programming in Teaching Kruskal’s Minimum Spanning Tree,

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
,
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.

×