欢迎来到学术参考网

VIRTUAL PROGRAMMING LAB FOR ON-LINE DISTANCE LEARNING (下)

发布时间:2015-07-09 11:35

The CSA can be designed as a proxy object to a normal Web browser. To configure the Web browser to enable the WebVL, the user simply configures his/her browser to use locally executed CSA daemon by setting the proxy server as 127.0.1 or localhost. The CSA acts as a mediator between the Web browser‘s normal Http request/reply and WebVL services on the network. This approach requires no re-invent of a new Web browser. Various task-scheduling techniques with load sharing can be used by the CSA to dispatch the student‘s request to a suitable site in the WebVL environment for connection. There are several solutions to the problem of providing transparent access to scalable services provided by a group of servers and sharing the load between the different servers. Examples are DNS Aliasing, HTTP redirect, Magic Routers, fail-safe TCP and Active Networks [Ami98, Car99, Yos97].
The interaction between the student and the software is largely supported by Web server and client extensions. Information and feedback can be facilitated by HTML push/pull mechanisms and techniques for local processing of small, embedded applications such as Java Applet. On the other hand, techniques based on the use of forms within HTML documents to let clients initiate and interact with server-side applications enable us to create appropriate tools that can interface Web browsers to software applications. For example, using the forms facility and CGI scripts (Common Gateway Interface), we can build CSA on the Lab servers which provide runtime services to WebVL related requests/replies. The CGI script in Java is called Java servlets, which are Java programs that run in a Java-enabled web server in response to an HTTP request. The web server runs the servlet, and the servlet outputs an HTML page that the server returns to the client [Cam99]. Depending on the lab software to be accessed, the functions of the CGI/Java servlet programs can be as simple as invoking a local command line or shell script program, or as complex as interfacing a sophisticated, interactive software.
A given lab software can be accessed from a command embedded in an HTML document. From the student‘s point of view, he / she simply follows a link that can cause a WWW server to execute a program or a shell script, which, in turn, can spawn a process/thread that will handle the interactions with the distinct student. The server-side agent, implemented as a cgi-bin or Java servlet program, runs during the whole session and is responsible of interfacing the student with the local software program. It obtains the student provided information, such as program commands, code, parameters, etc, from the fill-out forms, processes it if necessary, and then passes it to the software in the required format. For example, the student can submit Java code for execution in a text area within an HTML form; the server side agent would save the code to disk, attempt to compile the code and, if compilation was successful, run the executable file on some test data. When the output is produced by the software, the server-side agent sends the output to the student, most probably as HTML documents that are dynamically generated. These HTML documents may be just simple text files, or contains fields that have to be filled by the student and then transmitted back to the software program, or links to actual sites of the software vendors. It can also contain embedded links that lead to other executable programs. Figure 6 illustrates the above interaction scheme in WebVL. Note that CGI scripts don‘t have to be invoked by forms; they can be invoked directly by a web browser.
By utilizing the information expression that Web browsers and the CSTP support, various forms of multimedia data as output from the software can be saved and communicated about over the Web [Nei96]. For accessing lab help facilities such as programming manuals and help files, due to the ease of interfacing with external viewers in WWW browsers, different types of documents can be viewed by using the viewing programs associated to the various types. This has the advantage of extensibility: new types can be defined with appropriate viewers if necessary. Thus, when the student requests to read help files or programming manuals in the software packages, the WWW browsers will retrieve the documents and launch the corresponding viewer for the display.

Figure 6: Interaction of components in WebVL
For implementing the CSTP, we propose to use HTTP as the baseline protocol by extending relevant HTTP headers and the support for the transfer of WebVL specific headers, control information, and data formats. Potentially we can develop a new specification of XML-based [Kha97, Lau99] CSTP transfer syntax. This approach has the advantage of being conforming to standards and portable to various platforms.
We are also considering the use of mobile agents in the development of WebVL. A mobile agent is a computer program that can autonomously migrate between network sites, i.e., it can execute at a host for a while, halts execution, dispatches itself (together with its data and execution state) to another host, and resumes execution there - all under its own control [Lan99]. It has been found that mobile agent is especially suitable for structuring and coordinating distributed applications running in a wide-area environment like the Internet [Que99]. In our case, for example, mobile agents can be employed to locate the requested software for programming exercises, to collect load information at individual Web servers, and/or to automatically and transparently determine for the client the “best” server to execute a specified task [Cha00]. Mobile agents can also be sent by either the client or the server to perform local interactions or display information at the peer site.

5. CONCLUSIONS
In this paper, we have described the design of a Web-based virtual lab software system, which allows distant students to gain access to various programming lab software by using a standard Web browser such as Netscape and Internet Explorer. The research described in this paper improves the existing work on distance teaching and learning which lack some of the important features that are associated with traditional education activities such as laboratory exercises. By doing so, we are developing special software and laboratory materials designed to facilitate students access to a wider range of information and educational services. Using WebVL, students can use programming lab facilities which they otherwise might not be able to access due to the incapability to be present in the lab or shortage of laboratory time. Furthermore, our design of the virtual programming lab takes into consideration of integrating facilities from several labs, which enables more resource sharing and offsets the high cost in developing programming lab materials by wider usage of the lab materials across different campuses.
Currently, the implementation of the WebVL is undergoing. The various advanced Internet and WWW based technologies discussed in this paper are employed to develop the underlying mechanisms of the on-line virtual laboratory environment. There are challenges and difficulties in building WebVL. For example, we have not arrived at solutions to the general problem of mapping the interface of the lab software to the student-side GUI. The problem is potential inconsistency of user interface, both through different use of metaphors (e.g., use of tabs, colors, and icons) and inconsistent technical standards (e.g., use of frames and determining in what frame indices or content it to appear) [Sha97]. We are actively investigating these issues, starting with simpler cases where solutions exist, e.g., tools to automatically convert programs with MS-Window GUI to fill-out forms coupled with cgi-bin programs [Thr94].

REFERENCES
[Ami98] Y. Amir A. Peterson, and D. Shaw, “Seamlessly Selecting the Best Copy from Internet-Wide Replicated Web Servers”, Proc. 12th International Symposium on Distributed Computing (formerly WDAG), Andros, Greece, Sep. 1998.
[Cam99] M. Campione, et al., "The Java Tutorial Continued", Addison-Wesley. 1999. (docs/books/tutorial/)
[Car91] S. Card, G. Robertson and J. Mackinlay, “The information Visualizer, and Information Workspace”, Proc. Inte’l Conf. Human Factors in Computer Science, Boston, Mass. 1991. pp. 105-115.
[Car99] V. Cardellini, M. Colajanni, and P.S. Yu, “Dynamic Load Balancing on Web-Server Systems”, IEEE Internet Computing, May – June 2000. pp. 28-39.
[CHA00] W.S. Chan, “Distributed Dynamic Load Balancing using Software mobile Agents”, Project Dissertaion (under supervision of J. Cao), Dept of Computing, Hong Kong Polytechnic University, May, 2000.
[Dei00] H.M. Deitel, P.J. Deitel, and T.R. Nieto, “Internet and World Wide Web: How to Program”, Prentice Hall, 2000.
[Har96] J. Hardman and J. Wernecke, "The VRML 2.0 Handbook, Building Moving Worlds on the Web", Addision-Wesley. 1996.
[Iba94] B. Ibrahim, "Distance learning with the World-Wide Web", Proc. Int‘l Conf. On Open and Distance Learning - Critical Success Factors, Oct. 1994. pp. 123-126.
[Iba97] B. Ibrahim, "Use of HTML Forms for Complex User Interfaces to Server-Side Applications", Int‘l Journal of Human-Computer Studies (Special Issue on Innovative Applications of the World Wide Web), 46 (1997). pp. 761-771. ()
[Kha97] R. Khare and A. Rifkin, "XML: A Door to Automated Web Applications", IEEE Internet Computing, Vol. 1, No. 4, July-Aug. 1997. pp. 78-87.
[Lan99] D. B. Lange and M. Oshima, “Seven Good Reasons for Mobile Agents”, Communication of the ACM, Vol. 42, No. 3, March 1999. pp. 88-89.
[Lau99] S. Laurent, "XML A Primer" (2nd Edition), IDG Books Worldwide, Inc. 1999.
[Lea] LearningSpace, Lotus (home/nsf/welcome/learnspace)
[McI98] D.R. McIntyre and F.G. Wolff, "An Experiment with WWW Interactive Learning in University Education", Computers and Education, 31 (1998). pp. 255-264.
[Nei96] I. Nelson, et al., "Eduction 2000: Implications of W3 Technology", Computers and Eduction, Vol. 26, No. 1-3, pp. 113-122.
[QUE99] P.-A. Queloz, and C. Pellegrini, "Foreign Event Handlers to Maintain Information Consistency and System Adequacy", Proc. Workshop on Mobile Agnets in the Context of Competition and Cooperation, Autonomous Agents Conference, Seattle, USA, May 1999.
[Row99] G.W. Rowe and P. Gregor, “A Computer Based Learning System for Teaching Computing: Implementation and Evaluation”, Computers and Education, 33 (1999). pp. 65-76.
[Sha97] A. Shabo, M. Guzdial and J. Stasko, "An Apprenticeship-Based Multimedia Courseware for Computer Graphics Studies Provided on the World Wide Web", Computers and Education, Vol. 29, No. 2/3, pp. 103-116, 1997.
[Shi00] T.K. Shih, et al., "An Adaptive Tutoring Machine Based on Web Learning Assessment", Proc. ICME 2000, IEEE International Conference on Multimedia and Expo, 2000. pp. 1667-1670.
[Swi97] K. M. Swigger et al., "The Virtual Collaborative University", Computers and Education, Vol. 29, No. 2/3, 1997. Pp. 55-61.
[Thr94] R.K. Thralls, “Building HTML Application Systems: Converting Existing MS-Windows Applications to HTML”, Proc. 2nd Int’l WWW Conference: Mosaic and the Web, Chicago, Oct. 1994. pp. 17-20.
().
[Wbt] WBT Systems, Topclass, ()
[Web] WebCT, Universal Learning Technology ()
[Ube00] Robert Ubell, "Engineers turn to e-learning", IEEE Spectrum Oct 2000. pp. 59-68.
[Vrml] VRML Repository ()
[Yos97] C. Yoshikawa, B. Chun, and P. Eastham, “Using Smart Clients to Build Scalable Services”, Proc. USENIX’97. Sep. 1997.

上一篇:Cyberspace Addiction and Its treatments

下一篇:Quality In Online Learning(二)