Liana Rãzmeritã, Robin De Keyser & Filip Declerq
University of Galati, Romania; University of Gent, Belgium
liana@cs.ugal.ro
Abstract
An Internet based laboratory for Automatics and Control Engineering can provide university students with easy access to engineering applications anytime and from any computing environment. These applications (i.e. simulations, demonstrations and exercises) can fulfill the role of a bridge from passive learning to active engagement and thus stimulate deeper thinking. The applications are also very important for relating theory to practice, so that the students can develop engineering judgement and understand how process behavior can be captured using mathematical models.
This paper tackles the available methodologies that enable access via Internet/Intranet to Matlab-applications for Automatics and Control engineering; it discusses their advantages and drawbacks, and presents the solution chosen for the project - "Development of a Simulation and Control Environment in Internet" at the University of Gent, Belgium.
1. Introduction
WWW has developed a big potential for new educational methods, which can complement a traditional education [2]. This paper presents the project-work for providing a methodology to deploy and develop Web applications for education and training processes in the field of Automatics & Control Engineering.
The purpose of an Internet based laboratory for Automatics and Control Engineering is to offer students an easy access to engineering applications anytime, from any computing environment. These engineering applications: simulations, demonstrations, and exercises are very important for relating theory with practice so that the students can understand how process behavior can be captured from mathematical models and to develop engineer judgement.
There are already some control engineering toolboxes; Windows based applications such as Matlab, which offer valuable interactive demonstration or the possibility to easily create different simulations related to the theory.
Matlab is a Windows based control engineering toolbox which offers valuable interactive demonstrations or the possibility to easily create different simulations related to the theory. It is an integrated technical computing environment that combines numeric computation, advanced graphics and visualization, and a high-level programming language.
This is why this paper tackles the available methodologies that enable to access via Internet/Intranet Windows-Matlab based applications related to the field of Control engineering.
2. State of the Art
The availability of digital media, their integration and processing, the technical progress in communication and information systems, provides an innovative potential to establish virtual educational aids.
Virtual education shows a new way of teaching and learning, very promising, which is not restricted to students only, but is available for external users and, because of this, qualified for advanced training as well.
The merging of hypertext and wide area network functionality in the WWW is the main reason for exploiting Web technology for educational purposes to implement open and distributed hypermedia. The ability to integrate multimedia elements has significantly enhanced the ability to train and educate electronically.
For developing an Internet based laboratory with such applications there are two possibilities:
There have been studies of the solutions chosen in other similar projects which started few years before (e.g. at the Tampere University of Technology, Arizona State University, John Hopkins University [5] etc.). Most of these solutions combine static HTML pages in which there are presented theoretical aspects with Java applets that represent different interactive modules and simulations.
2.1. Java applets
An applet is a self-launching application which runs into a web publication and browser. Using Java, developers can write custom mini-applications called Java Applets.
When integrated into Web pages, Java Applets can enable expert graphics rendering, real-time interaction with users, live information updating, and instant interaction with servers over the network. Java Applets are downloadable from any server and run safely on any platform. They provide Internet sites with a huge range of new functionality: animation, live updating, two-way interaction, and more. Java Applets can be embedded right into HTML pages. There are some undeniable advantageous like: platform independence, client side execution, powerful programming language, etc.
But Java is an emerging technology, a general purpose programming language, not a scientific or engineering tool. This is why there are no facilities related to the scientific calculations, algorithm implementations or other simulations.
The development of interactive demos and simulations based on Java language is complex and it requires Information Technology (IT) specialists. The development of such interactive modules (simulations, demonstrations, and exercises) as web applications, such as Java applets, requires experience as a Java programmer and is time consuming without facilities related to scientific calculations or mathematical models very useful in solving or simulating engineering problems.
2.2. The problem of interfacing to Internet
The problem of interfacing existing engineering applications to Internet was solved at the Lund Institute of Technology [4] by means of downloadable Matlab *.m files. Their web pages consists of downloadable PS or PDF files in which there are presented theoretical aspects and demands and downloadable matlab *.m which have to be modified according to the demands.
An interesting project VCLab [3] has been developed at the University of Bochum, Germany that consists of embedded Matlab scripts combined with Java applets and Java scripts.
3. Solutions to the problem of interfacing to Internet of Matlab based applications
There are 2 general options/alternatives for interfacing Matlab based applications to Internet:
3.1 Scripting Languages
Scripting Languages can provide a solution for deploying Matlab based applications in Internet. Using scripting languages, it is possible to glue HTML, inline plug-ins, and Java Applets.
Netscape Navigator 2.0 provides flexible, lightweight programmability via scripting language, a programmable API that allows cross-platform scripting of events, objects, and actions. Scripting language allows the page designer to access events such as startups, exits, and user mouse clicks. Scripting language provides the functions to change images, play different sounds, to run Matlab programs and more in response to specified events such as user mouse clicks or screen exit and entry.
3.1.1 CGI
Common Gateway Interface (CGI) programs/scripts are classical solutions for creating dynamic web pages. The CGI programs/scripts are executed on the server side, they are launched by the web daemon, and they enable to output dynamic information on the client side. A daemon is a Unix term for a program that processes requests. The CGI program can be written in any language that allows it to be executed on the system: scripting languages (Perl, TCL, any Unix shell) or in programming languages(C/C++, Fortran, Visual Basic). CGI scripts are easier to debug, modify or maintain than a typical compiled program. Too many computations in CGI programs can reduce dramatically the server rate transfer. This is why at this stage we don't have a clear idea whether this is a good solution for displaying "dynamic pictures"
3.1.2. ASP
An Active Server Page (ASP) is an HTML page that includes one or more scripts (small embedded programs) that are processed on a Microsoft Web server before the page is sent to the user. An ASP is somewhat similar to a server-side include or a common gateway interface (CGI) application in that all involve programs that run on the server, usually tailoring a page for the user. Typically, the script in the Web page at the server uses input received as the result of the user's request for the page to access data from a database and then builds or customizes the page on the fly before sending it to the requestor.
One can create an ASP file by including a script written in VBScript or JScript in an HTML file and then renaming it with the ".asp" file suffix. Microsoft recommends the use of the server-side ASP rather than a client-side script, where there is actually a choice, because the server-side script will result in an easily displayable HTML page. Client-side scripts (for example, with JavaScript) may not work as intended on older browsers.
3.1.3. Java Script
JavaScript is a programming language that can respond directly to user input, perform complex operations, and make changes to some of the environment variables controlled by the browser.
JavaScript is a compact, object-based scripting language for developing client and server Internet applications. Netscape Navigator 2.0 interprets JavaScript statements embedded directly in an HTML page.
In a client application for Navigator, JavaScript statements embedded in an HTML page can recognize and respond to user events such as mouse clicks, form input, and page navigation. For example, one can write a JavaScript function to verify that users enter valid information into a form request etc. Without any network transmission, an HTML page with embedded JavaScript can interpret the entered text and alert the user with a message dialog if the input is invalid. Or one can use JavaScript to perform an action (such as play an audio file, execute an applet, or communicate with a plug-in) in response to the user opening or exiting a page.
3.2. New features, enhancements and extensions of Matlab 5.3
There have been studied also the new features and enhancements of Matlab 5.3 in order to provide the most advantageous solution of interfacing to Internet.
3.2.1 Active X controls
Matlab 5.3 integrates Active X technology [6]. Active X control is Microsoft's answer to the Java technology from Sun. An Active X is roughly equivalent to a Java applet. The Active X controls are tightly integrated in the ASP of Internet Information Server IIS.
3.2.2 Matlab Web Server
The second alternative is to take advantage of the existing new technologies. Mathworks corporation has recently launched a new product: the Matlab Web server. It facilitates to develop and distribute Matlab based applications in Internet. Briefly a few characteristics of these:
The Matlab Web server seems to be a suitable tool for developing interactive Matlab based applications for Internet.
3.3 New visualization techniques: Virtual Reality Modeling Language (VRML)
For providing efficient and up-to-date technologies for the Automatics Control virtual laboratory which is based on the Matlab environment we have been studied the new visualization techniques. These visualization techniques are aimed at enhancing understanding of data and improving interaction with data systems through the user interaction with graphical representations. These tools respond to industry trends towards more distributed, interactive and cross-platform graphics solutions.
VRMLplot is a Matlab function for generating interactive 3-D VRML 2.0 graphs and animations. It generates output files that may be viewed using a WWW browser with a VRML 2.0 plugin. To create new animations using VRMLplot you'll need a copy of Matlab but to view the output, one needs only Netscape and a VRML 2.0 compatible plug-in such as SGI's free CosmoPlayer.
Some impressive facilities of the VRML package for Matlab are:
4. Description of the solution
The ultimate goal of the project is to develop an Internet based laboratory for Automatics Control. WWW and the browsers provide general mechanisms to gather and send information through the Internet.
At this stage of the project the solution is based on the VCLab-Matlab plugins [3]. Based on the Java language, scripting language, the Matlab plugin extends the programmatic capabilities of Netscape Navigator 2.0.
In order to support
calculation and simulation, the local installation of Matlab is necessary. The
student can explore examples actively and the results are dynamically integrated
into the HTML page as shown in the figure bellow:
The student doesn't have to know anything about Matlab programming environment.
4.1 About the VCLab Matlab plugin
The Matlab plugin performs communications with Matlab. It provides mechanisms to do computations in the Matlab Workspace, to emulate the Matlab command window output and to put and get data to and from the Workspace. Loading a page with an embedded Matlab plugin will start Matlab in the background on the first load. Depending on the plugin parameters Matlab will execute statements, which will come with the plugin load. The plugin can be embedded using different parameters, which influence the startup and visual layout. If the Matlab command output should be visualized, the embedding by:
<EMBED SRC="file.m" WIDTH=400 HEIGHT=350 NAME="name">
may be used. The plugin will load the M-file file.m specified by the SRC key and Matlab will execute it.
A web page that includes the plugins described before is given in Fig. 4.2:
5. Conclusions and future work
An Internet based laboratory for Automatics Control (AC) allows students an easy access to different applications, simulations related to the theory they study. These interactive demos present in a tutorial manner the influence of the different parameters of the mathematical model to the system behavior. These simulations provide a more intuitive and more practical approach for the abstract theory of AC. For the moment there have been created several interactive examples that are available on the web page of the virtual laboratory.
Future work on this project can be continued in two main directions:
References
[1.] Computer Based Testing and Assessing
Package,
L. Razmerita, D. Stefanescu, A. Istrate, S. Bumbaru publicata in
Romanian Internet Learning Workshop, RILW'98. paginile 107-114, volumul avand
coordonatele ISBN 973-97403-4-0 (Polygon si COMPREX Cluj, ed. N.Nistor si
M.Jalobeanu, Printed by INCITATO).
[2.] Computer Mediated Assignment and Constructivist
Approach,
L. Razmerita, A. Istrate, S. Bumbaru, The Knowledge Revolution; The
Impact of Technology on Learning, 7th World Conference on Continuing Engineering
Education, Torino 10-13 May 1998
[3.] VCLab http://www.esr.ruhr-uni-bochum.de/VCLab/main.html
[4.] Bjorn Wittenmark, Helena Haglund, Mikael Johansson Dynamic Pictures and Interactive Learning, IEEE Control Systems 1998, p. 26 http://www.control.lth.se/~kursd/
[5.] Steven G. Crutchfield and Wilson J Rugh, Interactive Learning for Signals, Systems, and Control, IEEE Control Systems 1998, p. 88, http://www2.ece.jhu.edu/wjr/
[6.] Matlab Application Program Interface Guide Version 5, The Math Works Inc.