IEEE ©2001 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE.

Return to Table of Contents


Simulators over the Network

Martín Llamas, Member, IEEE, Luis Anido, Student Member, IEEE, and Manuel J. Fernández


Abstract - In this paper we present SimulNet, our contribution to the improvement of high-quality learning at home using new technologies. SimulNet provides students with a teleteaching environment where the "learning-by-doing" paradigm is possible. Unlike other distance teaching systems whose aim is to achieve a virtual classroom, SimulNet provides a virtual laboratory to put theoretical knowledge into practice. Because SimulNet is a 100% pure Java system, our labware can be run on any computer and operating system. Our approach is based on the simulation of the actual laboratory tools that are delivered through the Internet (Java applets) or by CD-ROM technology (Java applications). Although SimulNet can be used in a remote access way, Java allows us to provide always the highest level of interactivity, which is an essential feature in any distance education system. In addition, SimulNet also provides a set of communication and tutoring tools for learners and instructors, providing a full cooperative learning atmosphere. We believe distance education should not mean to study alone and, therefore, we made an extra effort to provide an environment where students and teachers feel as is they were in a virtual lecture room.


I. Introduction

II. The Learning Process

III. How Can We Deal with Practical Training?

IV. SimulNet: Simulators over the Network

V. A Case Study: Teaching Computer Architecture 

VI. Tutoring

VII. Cooperative Learning

VIII. The Architecture

IX. The SimulNet API 

X. System Evaluation

XI. Present and Future Work

XII. Conclusions

Acknowledgements

References

The Authors


I. Introduction

Ever since we are able to remember, we have done our best to transmit knowledge from teachers to learners, from parents to children. Educational methodologies reflect what humankind is able to do. Whenever a new technological revolution leads to improvements in our life, these are always included in education. >From papyrus to the new world of computers and computer networks, we have witnessed their application to education. For instance, one of the most outstanding events in our history was the invention of the printing press by Gutenberg. Its main consequence was the possibility to transmit knowledge faster and to a wider audience. It took a key role to allow education to become widespread throughout the world.

We feel we are living a revolution that plays a role as important as the press: the computers and Internet revolution. As a consequence, it is unavoidable to notice its effects on education. Computer Based Training (CBT) systems are being used in most academic institutions. They provide new advantages to conventional education. The use of multimedia material including text, audio, video and simulation provides an attractive environment to students. In addition, students are allowed to control what multimedia elements are delivered and when they are delivered using a structure of linked elements through which the user can navigate. These kinds of structured multimedia environments are known as hypermedia systems [1], and makes learners the guides of their own apprenticeship. This possibility is pointed out by several authors [2,3] who state that students can learn better and more quickly when they are stimulated by the high level of interactivity and they can follow a personal way to learn. In particular, they can customize their participation to the courseware, establishing the amount of time to be spent on each topic and individuating their self-paced learning [2]. Thanks to Computer Based Learning (CBL), the student is the new center of the learning process, exploring the environment and building knowledge and skills [3].

On the other hand, conventional distance learning has played an important role in education because of its added value. In conventional distance education systems, trainees are allowed to study everywhere, at any time and at their own pace since there are no timetables or schedules to follow. Thus, important economic advantages are achieved, both for students and teachers and for the academic institutions that are responsible for carrying through the learning process. Since there is no need for travelling, trainees and tutors do not have to waste their time and money. Traditionally, conventional mail was used to deliver whatever printed material was needed by distance students. Fortunately, new technologies allow us to use the full capabilities of CBT in distance learning. Multimedia and Hypermedia material can be delivered to students by CD-ROM because personal computers have been brought into general use. Therefore, we are able to combine the advantages of both CBT and distance education systems.

Also, the universality of the World Wide Web [4, 5] makes it a practical and suitable platform for delivering courses and other educational material. Web-based education offers remote access from everywhere and at any time. Because every lecturer can place educational material on the WWW, every student or trainee in the world, not only those close to that lecturer, is able to access to that information. As a consequence, anybody with an Internet connection could take advantage of the knowledge of the best experts in every subject. Furthermore, delivery of every course can be customized to accommodate the varying student capabilities and their time constraints. In addition, Internet and WWW are cheap and they can be accessed from the students' own homes. Web browsers are free and easy for students to set up and use, even for those who are not familiar with computers. These features have a paramount influence for the spreading of Web based learning.

Finally, using a distance education system should not mean to study alone. Web based educational platforms broaden the Computer Aided Training capabilities in standalone systems. The networked nature of the WWW permits traditionally isolated distance education students to be brought into a collaborative learning environment. Therefore, cooperative learning is guaranteed and students are provided with a virtual lecture room atmosphere.

We focus this paper on the use of the Internet as an environment for teleteaching and specifically on practical training resembling traditional teaching laboratories. While many research papers and media publications report substantial success with Web or CD-ROM-based theoretical courses (courseware), usually they do not fill the gap between theoretical lectures and laboratories which, on the other hand, is not easy to overcome. We present an educational system whose aim is to provide a virtual laboratory environment to put theoretical knowledge into practice (labware), as students are used to in conventional teaching laboratories at Universities or high schools. Our labware can be delivered through the Web or by CD-ROM. In the former, it provides a full virtual telelaboratory atmosphere, including cooperative learning with other students and tutoring facilities for teachers. In the latter, it allows standalone learning and, at the same time, students can connect to the server side and benefit from the telelaboratory facilities.

The rest of this paper is organized as follows. In the next section, we outline the steps of the learning process according to our point of view. In section III we discuss several approaches to the last step in this process: practical training. Afterwards, in section IV, we present SimulNet, a platform specifically designed to deliver labware through the Internet or by CD-ROM. Our first results using this platform are presented in section V. SimulNet tutoring facilities and tools to improve cooperative learning are introduced in sections VI and VII, respectively. Afterwards, the corresponding architecture, section VIII, and Application Programming Interface (API), section IX, are outlined. Section X shows some comments from our students as well as statistical information about the use of SimulNet. Finally, our present and future work together with some conclusions end this paper.


II. The Learning Process

Every instructor has his/her own pedagogical method. Teachers organize their courses, lectures, learning material and practical sessions according to several factors that must be taken into account: students' background, resource constraints, traditional or distance learning, etc. Usually, the actual methodology depends on the subject being taught. Those related to Science and Technology have special requirements because of their evolving nature and the necessity of experimental and practical training.

In [3], we can find four different instructional methodologies that are the foundation of a Computer Based Learning package for digital electronics. These methodologies are:

Generally speaking, we feel that the learning process in conventional education can be divided into three main steps:

    a) Theoretical lectures.
    b) Homework exercises.
    c) Laboratories.

Education using new technologies needs to reflect these steps in its courseware and labware. Research work in this field has been done along the last years with successful results. There are many systems that are able to deliver theoretical courses through the Internet and present their contents using a WWW interface. Placing educational material on the Web in the form of static notes and assignments is a relatively simple and quick task now, given the help provided by HTML [6] editors and converters. Moreover, presenting the contents in a multimedia way, with links among the different parts, is closer to the way that humans think than the linear method used in conventional lectures. Therefore, we strongly feel that WWW-based or  CD-ROM-delivered courses are able to provide the first step in a distance learning system: to transmit to students the concepts of any subject to be studied.

At the same time, students or trainees need to put into practice the knowledge they have acquired in a way as direct as possible. The first approach, which should be included in the WWW-based or CD-ROM courses, is to allow students to practice on paper via homework problems. A quiz is given to a trainee who solves it using what he has learned in virtual lectures. Once the answer has been checked, it is returned back to the student who can view the results. In this way, students are given important feedback to improve their knowledge on the subject. There are many systems that implement the network-based homework concept [7].

But in many cases, students should also practice the acquired knowledge with a real system. It is a question of what students do in traditional laboratories. For instance, in a course about electric circuits, trainees should be carried through different phases: a) theoretical lectures to show them the electric circuits laws; b) practical lectures to solve problems on paper and c) training practices in the laboratory to allow students to assemble the circuit and to measure the circuit variables on their own. In this way, they have immediate feedback. In these kinds of systems, we can achieve the functionality of the last phase by simulation, which could be even more interesting in educational environments due to economic reasons.

Therefore, what is identified in [3] as expositive and demonstrative methodologies could be included in our theoretical lectures, while interactive methodology would correspond to our phase b) and practical methodology to laboratories in phase c). We would like to emphasize the importance of this last step, which best represents the "learning-by-doing" paradigm.

In fact, teaching and education have changed to meet the needs of the present-day working market. Because of this, professional and practical training are absolutely essential to educate good professionals, especially in the scope of Technology and Science. According to Hansen [8], students retain the 25% of what they listen, 45% of what they listen and see and the 70% if they can put into practice what they are learning, see Fig. 1.

Fig. 1. Pedagogical Methodologies. How do students learn?

A complete Web based or CD-ROM based teaching system should include theoretical lectures and homework problems (phases a and b in the above outlined learning process). This is what students are used to doing in conventional schools and Universities. Phase c should also be borne in mind and virtual laboratories ought to be present in learning environments based on new technologies. We believe both kind of systems are essential to improve education via the Internet and should be taken into account to shape a complete learning environment. As far as we know, great efforts have been done in theoretical courses. We would like to contribute to the development of the second and third phases.


III. How Can We Deal With Practical Training ?

In conventional education, especially in those subjects related to Science and Technology, it is of paramount interest to implement the full learning process, from theoretical concepts to practice. The importance of practical training has been identified by several authors [3, 14, 18] who defend the "learning-by-doing" paradigm. Traditionally, at least in most European Universities, practical training has been carried out by teaching laboratories. There, students put theoretical knowledge into practice. Ideally, they are given material and tools as similar as possible to those which they will find in their professional environments. Sometimes, due to space or economic reasons, it is not possible to use the real thing. In these kinds of situations, it is very usual to fall back to simulation. Simulators provide an environment in which students can practice as if they were using the real tool [15]. The simulator predicts what happens next if the student makes this or that selection, reflecting the behavior of the real system. Sometimes, a simulator is needed because the pedagogical environment used in a particular subject has no professional tools to practice on. This is what we do in conventional education and it seems to be a good solution for practical training in Web or CD-ROM based educational systems.

It is usual to find papers in the literature reporting about some attempts to get a laboratory environment for distance teaching. For example, in [9], students are given documentation about the laboratory tools in order to reduce the amount of time needed for the real laboratory. [10, 11, 13, 3] go a step further as they give students standalone simulators of the laboratory systems. There are also approaches based on remote access to the real laboratory tools [2, 12, 16] which can be both hardware or heavy software applications. Apart from the loss in interactivity, real systems, in the case of instruments and hardware, can be damaged by unskilled trainees and therefore, a safety system is needed in the actual laboratory. In [17], we find an oscilloscope simulator that can be run in a standalone mode but, at the same time, allowing the interaction between teachers and students in a master/slave mode through Internet and somehow, allowing collaborative learning. We work towards this direction: the basis for our labware is simulation, but based on a platform whose aim is wide enough to provide a full cooperative environment, tutoring from teachers to students, Web based distance learning, CD-ROM based standalone learning, delivery of additional software tools, master/slave interaction, etc.

Our approach is based on simulation, but providing remote access from any Internet access point. We deliver simulators through the WWW as Java [19] applets. These applets simulate the real laboratory tools or systems with the additional advantage that, since they are developed using Java, no additional software is needed at the client side (apart from a Java-enabled browser) and, since they are run on the users' computer, they feel as though the simulator were stored in their computer. Therefore, we combine remote access with the interactivity of standalone simulators.


IV. SimulNet: Simulators over the Network

SimulNet [20] is a distributed, Web based and CD-ROM based, Computer Based Training system. Unlike other CBT systems whose aim is to achieve a virtual classroom, SimulNet provides a virtual laboratory to put theoretical knowledge into practice. This is done, on one hand, by delivering our software through the Internet such that it can be run on any computer and, on the other hand, by distributing our labware in CD-ROM format. These distributed applications are simulators of those tools that can be found in a conventional laboratory. SimulNet is based on three main features:
  1. SimulNet is a 100% pure Java system. Once a simulator is downloaded from the Internet, it can be run interactively, like a local application or the CD-ROM version. There is no network overhead that could reduce the concern of users with the system. Therefore, students are provided with a remote access, interactive simulator of a real laboratory tool. In some subjects, this would be enough for the practical training step, see section III. At worst, simulation can be used in a previous step before going to the real laboratory. In this case, students would get familiar with the actual laboratory tools through their simulation. In the former, SimulNet provides by itself the third step in the learning process (practical training). In the latter, SimulNet is a bridge between the second (practical lectures to solve problems on paper) and the third step. In both cases, it is a valuable tool for Web based distance learning.
  2. SimulNet provides a virtual cooperative environment. It is absolutely essential to prevent students from feeling alone while using distance learning systems. To avoid this, SimulNet provides several communication tools, see section VII, both synchronous and asynchronous. In this way students and teachers are able to get in touch with others overcoming the geographical separation among them.
  3. SimulNet instructors are provided with a tutoring and monitoring tool, section VI, that allows them to know what their students are doing at any time. Thus, they can use this information to fit the learning material and pedagogical methodology they use to adapt to their students' background and characteristics. At the same time, teachers use this tool to detect when a student is in difficulty. In this situation, teachers often use any of the SimulNet communication tools to get in touch with the student in order to try to overcome whatever problem the student may find.
SimulNet is being used at our University as the sole tool in several laboratories related to Computer Architecture. Its acceptance from our students has been splendid. Their comments are mainly related to the advantages of Web based distance learning. Especially, they comment on the interactive use of the simulators and the possibility of using communication tools. Some of our students prefer downloading the simulators through the WWW, making sure they have the last version of our labware. In this case, SimulNet software is run, at the client side, on the Java Virtual Machine of the user's Java-enabled browser, see figure 2. Thus, no additional software is needed. Other students prefer the CD-ROM version. SimulNet labware is also delivered in CD-ROM to those who do not have access to Internet or to those who prefer running the simulators in a standalone way and, occasionally, connect to the server side to make use of the cooperative and tutoring tools. The SimulNet URL can be found in [20].

Fig. 2. SimulNet on the World Wide Web

The question is: what can we simulate in our lab?. Whatever tool or system that is used by students can be turned into a Java simulator and embedded in the SimulNet platform. We provide SimulNet developers with our own SimulNet API, see section IX, to take advantage of the whole system functionality from the monitoring of students, to the collaborative tools. SimulNet developers only have to worry about the simulator itself. It must reflect the behavior of the system as close as possible to the real one. Connection to the system, authentication, monitoring and cooperative learning are provided by the SimulNet API.


V. A Case Study: Teaching Computer Architecture

Our first results were obtained from the simulation of Computer Architecture labs in our University. We carry out our lecturing tasks at a Telecommunication Engineering School were students need to acquire concepts related to the architecture of computers ranging from their physical implementation to assembler programming languages. We use virtual computers to introduce students to the world of computer architecture. These computers were designed with a pedagogical aim, by Professor Fernández [21] who is a Faculty member of the Technical University of Madrid, following the motivations of other well-known texts as [22, 23]. These simulators are not real, they do no exist, but we use them in our lectures because they are simple enough to be understood by a first-year university student and, at the same time, they are complex enough to show the basis of computer operations: how a computer works, avoiding implementation details from different companies.

We have developed simulators of the computers described in [21], from the simplest one to the most complex. Thus, students are guided in the right way, starting from a simple assembler language and ending with the complex world of microinstructions, firmware and datapaths. In the following subsections, we introduce the main features of three pedagogical computers: Simplez, Simplez+i4 and Algoritmez. We have included in this document links to the corresponding simulators, which can be used in a standalone way.

All of our simulators have several common features: an editor, an assembler and the simulator of the computer itself. Programs written by students in assembler code using the editor are transformed into object code that can be run by the computer model. This task is done by the assembler. It also offers information about different labels and constants used by the student. The simulator of the computer model executes the object code, which can also be displayed through the memory viewer. It has several execution modes: complete run, trace, step by step. Students can also use breakpoints or modify memory or registers at any time.

A. Simplez

Simplez has 512 memory locations, 1 register, 8 instructions, I/O mechanism via memory mapped I/O and 1 addressing mode (direct addressing mode). With this architecture, trainees are shown how to implement basic algorithms and how difficult it could be to implement the more complex ones. This structural model is outlined in figure 3. The Simplez simulator embodies an editor, an assembler, the processor simulator itself, a code viewer and the Simplez monitor.

Fig. 3. Simplez Structural Model

Click on the icon to use the Simplez simulator 
B. Simplez+i4
Simplez+i4 is a more complex computer. It is the next step in our students' learning process. This computer is based on Simplez but adding three different addressing modes: indirect (the first i), indexed (the second i) and indexed+indirect (the third i). It also includes a simple interrupt mechanism (the fourth i) to implement communication with two peripherals (keyboard and monitor). Its conventional machine level incorporates an index register, 4096 memory locations and a more elaborated format for the eight instruction set. After students have acquired the fundamental concepts of Simplez operation, they are able to be introduced to new ones with a higher level of difficulty such as computers' interruptions and addressing modes.

Fig. 4. The Simplez+i4 simulator

Click on the icon to use the simulator of Simplez+i4 

C. Algoritmez
Algoritmez is a pedagogical computer closer to commercial ones.  Its structural model, shown in figure 5, presents a 64K local memory (including a stack), 256 I/O ports, 16 different registers (two of them used as the program counter and the stack pointer), a status register with several flags and 54 different instructions (related to the arithmetic and shift units, access to stack and memory locations, I/O and, of course, flow control). Through the functional model that we set up over this structural model, students gain further insight into the actual behavior of computers.

Fig. 5. Algoritmez structural model.

Furthermore, the simulator of Algoritmez gives the possibility of microprograming. The implementation of a computer model at the micromachine level can be internally microprogrammed allowing designers to easily change its contents and, thus, adapting the system to different instruction sets or data paths. Students are allowed to use the Algoritmez's data path and microprogram the instruction set. In this way, a higher degree of abstraction is offered and the student is not restricted to a fixed model. We usually redefine many of the characteristics of our pedagogical computer to let students interact with different (virtual) machines that are emulated using their own Algoritmez (simulated) hardware.

Fig. 6. The simulator of Algoritmez

We include a datapath viewer, see figure 6, that shows the connections among the different parts of the computer and lets the user check the signals that are being generated by the control unit and see how data flows through the buses and arrive to registers, memory locations, etc..

Click on the icon to use the simulator of Algoritmez 

Thanks to these simulators, our students are allowed to practice directly on virtual computers that run on a real machine, its own computer, since our simulators are delivered through the Internet, as a Java applet, and run interactively in clients' machines. Therefore, we provide the third phase of the learning process, stated in section II, to Internet based systems. We strongly believe we present the right way to complement or, in some cases, replace conventional laboratories in network-based distance learning environments.


VI. Tutoring

In distance learning, we need both students not to feel alone and for teachers to know what their students are doing. In traditional education, lecturers are in the same classroom with students and therefore, it is very easy for them to notice if students are learning in the right way. This is not so easy in teleteaching environments. To cope with this drawback, SimulNet provides a monitoring system to follow the students' interaction with the system.

The most experienced teachers provide information about what actions performed on the simulator should be considered as important from a pedagogical point of view. These actions will be reflected in students' traces. Whenever a student performs a given task, a report is sent to the tutor responsible for monitoring his or her actions. So, without being in the same room, the teacher is able to follow students' performance and, if necessary, to teach how to do the training practice via several available communication tools, see section VII.

Fig. 7. Main monitoring window

In addition, these actions are classified into two groups, the first one for standard monitoring, and the second one for exhaustive monitoring. The most experienced teachers provide this classification. Teachers decide which mode is adequate in a given situation. They can use the former to follow students' traces in a generic way. They would receive a report whenever a student performs any action of this type. If they notice that a student has any difficulty or they want to get detailed information, they can switch the supervision mode to exhaustive. In figure 7, we can see the main monitoring window where teachers can supervise the actions performed by every student until a given time. They are allowed to select any student and analyze those particular actions performed by him or her, see figure8.

Fig. 8. Actions performed by a student. Teachers can get more information about any action clicking in the button "more".

So far, we have presented the on-line monitoring facility. Both teachers and students are connected to the system and the former know what the latter are doing. Teachers receive reports about students actions "on the fly" as they are performed. Tutors are allowed to change the supervision mode from/to standard to/from exhaustive and send short comments to the students they are tutoring.

Furthermore, teachers are allowed to make an "off-line" monitoring. Since the students' traces may be stored on the SimulNet server, teachers are able to supervise previous trainees' learning sessions to check that students succeeded in their training practices. Trainees' traces are shown to teachers divided into learning sessions, but they also can select to view all actions performed inside a particular interval of time, see Fig. 9.
 

Fig. 9. Off-line monitoring. Trainees' traces divided into learning sessions (left side). Trainees' traces organized by intervals of time (right side).

Of course, the SimulNet API, section IX, provides everything that developers need to include the SimulNet monitoring feature in their simulators. They only have to classify the actions in standard or exhaustive (or be given with this classification) and the SimulNet platform makes the rest transparent.


VII. Cooperative Learning

According to Johnson [24], there are three different ways to carry out the learning process:

Conventional education copes with all of them. Teachers are able to choose the way they consider the best. Distance learning systems based on new technologies can provide the first, but also the latter two ways. Networked systems provide communication channels among the different agents involved in the learning process. Over them, we can use the appropriate tools to turn computer networks into a real virtual classroom: e-mail, chats, virtual meetings, videoconference, shared file systems, etc. Therefore, isolation can be avoided and users are able to get in touch with each other.

SimulNet provides several communication tools to allow Internet based cooperative learning. All of them were developed from scratch by our team, and they can be easily included in new simulators thanks to the SimulNet API, section IX. In this way, students are provided with an easy-to-use set of communication tools. On the one hand, there is no need to set up or use additional software in client computers, which may be difficult for trainees. The needed software is automatically downloaded from the network and can be run wherever the user may be, regardless of the particular hardware platform or operating system. Moreover, every SimulNet communication tool is easily accessible from the user interface. On the other hand, these tools can be used to introduce students to Internet environments as the SimulNet communication tools reflect some of the most common, current Internet services.

A. The SimulNet Mail Tool

This tool allows any SimulNet user to receive messages from other users as well as to send any suggestion or comment to: a student, a teacher, all students who use a simulator, all teachers who are responsible for a simulator, a group of students or teachers or to the system manager. It can be used by teachers to send training practice instructions to their students, and by students to return their results and conclusions, to share experiences among students and to send comments to the system manager.

Fig. 10. The SimulNet Mail Tool

Users are provided with a useful address book, see figure 10. It is sent through the network to the client's computer containing up to date information about the users of a particular simulator. Users are organized by different criteria and, therefore, it is very easy to find a possible addressee (both individuals and groups).

B. The SimulNet Bulletin Board

The SimulNet bulletin board is based on the news service in Internet and the notebook presented in [25]. Every user can post public notes to it, and these notes can be read by any other user in SimulNet. Its main aim is to become a platform to share information. Users are allowed to post two kinds of documents:

There are four different types of users in SimulNet with different privileges: students, teachers, teachers with higher privileges and the manager. SimulNet users can access public bulletins, their own private bulletins and those private notes that belong to users with lower privileges (e.g., teachers can read students' private notes). Whenever a user wants to refresh the contents of her/his board, she/he is allowed to select the types of documents that this user will download from those she/he is allowed to access, see figure 11. In addition, users can select to download only those documents related to a particular bulletin. After downloading different types of documents, users may get lost and forget what type of bulletins they have in their board. To avoid this, our tool provides information about what kind of bulletins they have downloaded, and, if appropriate, the actual subjects the documents are related to.

Fig. 11. The SimulNet Bulletin Board

C. The SimulNet Multi-talk

The main purpose of this tool is to allow a group of SimulNet users to get in contact with each other in a virtual room. Users are allowed to "talk" with each other in two different ways:

Fig. 12. The SimulNet Multi-talk

This tool can be very useful to solve students' usual doubts or teach any topic related to the current training practice. In this way, there is no need for teachers to have to repeat the same explanation to different students, and therefore, tutors are able to concentrate on monitoring their students' progress.

D. The SimulNet talk tool

This tool allows private conversations between two users, students and/or teachers. Whenever a SimulNet user wants to establish a conversation with another one, a request is sent to the latter. If he or she accepts, the communication starts at once. If the starter is a student who requests to have a talk session with a teacher, the latter has several options: reject the talk session, accept it or include this student in any of the active multi-talk sessions moderated by him or her.

Fig. 13. The SimulNet Talk


VIII. The Architecture

The implementation of SimulNet is based on currently available Internet technologies, especially in the Java computing. Java, by Sun Microsystems, was originally called Oak, and was designed for the use in embedded consumer-electronic applications. After several years of experience with the language, it was re-targeted to the Internet and renamed Java. It is a general-purpose class-based object-oriented programming language, specifically designed to have as few implementation dependencies as possible. Java allows application developers to write a program once and then be able to run it everywhere on the Internet. Thanks to the Java computing technology, we have achieved several important features in SimulNet: The simulators are interactive. There is no network overhead as the simulators run on the student's own computer. This is an essential feature to provide to trainees the same feeling as if they indeed were in the laboratory using the real training tools.

The system is composed by several 100% pure Java applications that cooperate with each other to implement every SimulNets facility. Communication among them is performed using Internet transport layer protocols (TCP/IP) [26]. This is the basis for our distributed educational environment: several Java applications cooperating by TCP/IP communication. Moreover, we have also taken advantage of other existing WWW elements: HTTP service [27], HTML, WWW browser and server. The interaction among the different elements of the system is outlined in the figure 14:

Fig. 14. Distributed Architecture

Users access SimulNet using a standard WWW browser, which presents an HTML document provided by the HTTP server at the server side. This document contains an embedded Java applet that would start and stop any other Java application provided by the server side through the Internet. In this way, no additional software is required apart from the browser itself.

Alternatively, students can use a fully independent Java application delivered by CD-ROM. In this case, the SimulNet simulators could be used in a standalone way. At the same time, the user could connect the Java application to the server side to benefit from the virtual laboratory advantages: communication channel, trainees, traces, etc.

Fig. 15. Thread responsible for SimulNet Mail Service

The server side functionality is implemented by three different applications. The first one is the WWW server whose function is to provide HTML documents containing the SimulNet applets. Communication with the WWW server is based on HTTP protocol. The SimulNet Management Application carries out every trainees/tutors management functionality and simulator configuration.

Fig. 16. On-line communication threads

Finally, the SimulNet Engine is the Java application that supports the functionality of our system. It implements the system's behavior and is set up using the Management Application. The Engine takes commands from it and performs any needed action to fit the system's behavior to the new situation without stopping the system. There is a dynamic number of threads (e.g., mail thread in figure 15 or on-line communication threads in figure 16) in this application responsible for supporting the different SimulNet functions: user authentication, user data storage, asynchronous communication tools monitoring students' traces and providing a virtual communication between users by a twofold TCP/IP channel: user-Engine and Engine-user making sure that there is no interference among different virtual communication rooms.


IX. The SimulNet API

The SimulNet Development Team provides the Java SimulNet API to those who develop their own simulators. Programmers should import some packages, implement some interfaces and use some methods whenever a SimulNet facility is required.

A. The Basis

Developers of new simulators need to import the following Java packages: simulnet.dtool.* simulnet.tracer.* simulnet.connection.* and simulnet.mail.* . They also have to implement three interfaces. All of them have to do with the refreshment of the user interface according to different events: simulnet.connection.ConnectionObserver (connection and disconnection to/from the server side) simulnet.mail.MailObserver (new mails for the user) and simulnet.tracer.TracerObserver (it allows the user the local storage of monitoring traces at the client side and a subsequent update at the server side).

What we have to do to connect our simulator (both Java applet or Java application) to the SimulNet Engine is to create an object of the class simulnet.connection.AgentConnection with the following parameters: host and port of the server, user's login and type of user (teacher/student). Afterwards, we have to invoke the method sendSimulatorRequest(), which returns an object simulnet.connection.ConnectionInfo. This object indicates the status of the connection. After the successful connection to the server side, we are allowed to create the main object at client side:

MyModule = new CommunicationsModule(socket,user,language);

where language indicates the language chosen for the user interface (English, Spanish and Galician available at this moment, French and German in a near future). At this point, we are ready to use the communication tools or to send monitoring traces to the server side.

B. Communication Tools

Whenever a user selects to use any of the SimulNet communication tools, selecting them in the user interface, all we have to do is to include the following lines:

MyModule.tModule.userAction(); (for the SimulNet Talk tool)

MyModule.mtModule.userAction(); (for the SimulNet MultiTalk tool)

MyModule.bModule.userAction(); (for the SimulNet Bulletin Board tool)

MyModule.mModule.userAction(); (for the SimulNet Mail tool)

and the SimulNet packages do the hard work for us.

C. Monitoring

Developers have to set up a Java hash table with the traces. In this table, there will be a correspondence between a trace identifier and an object of class simulnet.tracer.TracerMessage, which includes information about every trace: type (standard or exhaustive) and optional parameters. Whenever the user performs an action included in the monitoring traces table (both standard or exhaustive), the programmer only has to include the following sentence:

MyModule.trModule.newTracerMessage(traceIdentifier);

We have made an extra effort to provide an API that is as easy as possible to use. Thus, developers of new simulators are allowed to concentrate on the development of the simulator and, at the same time, to be able to include the whole SimulNet functionalism.


X. System evaluation

In order to obtain an evaluation of SimulNet, we have made a survey among our students. Information coming from the monitoring and tutoring system has also been used. From this data, and the results from our students' exams, both theoretical and practical exams, we have generated some statistical information.

First of all, an improvement in students' theoretical exam results must be pointed out. Since a practical laboratory has been included in the learning of Computer Architecture at our University, the number of students who succeed in the theoretical exam has increased about 14%. If we compare the results in the practical exam, at the laboratory, those who follow the laboratory using SimulNet get 84% A's or B's, while those who take their practical laboratory at the University get 81% A's or B's. Therefore, our "telestudents" are able to obtain results on their exams as good as our "conventional students". This fact proves that the use of a teleteaching system does not reduce the quality in the learning process.

What follows is a summary of some statistical information from the survey made among our students and the monitoring data:
 

When do students use SimulNet ?

The system is able to monitor every student access to every laboratory. One of the advantages of distance learning is its time independence. Most students use the virtual laboratory between 8:00 p.m and 24:00 p.m.. There are also many who access the system in the night. Our students have taken full advantage of this flexibility and make use of our tool whenever they want. 

 

Which are their preferred communication
tools ?

Electronic mail is the tool students use more often. It does not need both users to be in the virtual laboratory at the same time. It is an easy to use tool that allows students to send messages to their teacher. They are prone to use this kind of tool without having to speak to their teacher in a direct way. Talks between two students are also very common. 

 

Who starts a "talk" conversation ?

Most talks between a teacher and a student are started by the teacher. Somehow, it is due to the fact that, when a teacher detects one of his/her student in difficulty, thanks to the tutoring facility, the teacher usually starts a talk communication at once.

What do students think about our communication tools ?

Students were required to express their opinion about the SimulNet communication tools. The results are quite acceptable. Some of them mention that they would use these tools more often if they were provided with a high speed Internet access point.

 

What do students think about SimulNet ?

In this case, students were required to consider the complete features of SimulNet: from remote access to the simulation of the actual laboratory tools, including the communication tools. Interactivity and the collaborative environment are the most outstanding features of SimulNet according to our students.

 

Has SimulNet helped our students to understand the theoretical concepts ?

This was our final aim. As it was clear from our students' qualifications in theoretical exams, they state that SimulNet has definitely helped them to face the subject to be learned. 

 


XI. Present and Future Work

Usually, new improvements in Technology are reflected first in those educational areas also related to Technology. Of course, we have developed our own simulators to be used over the SimulNet platform. Since we carry out our lecture tasks in subjects related to Computer Science, these simulators are also related to computers. It does not mean that SimulNet is a platform for delivering simulators of computers or a platform to support Computer Architecture laboratories. SimulNet is open and flexible enough to be used as the support for any kind of laboratory where simulation could be used.

One of our present working areas involves the development of new simulators for SimulNet. We encourage colleagues in our University and High Schools to develop simulators related to their subjects. We have identified applications in the fields of Electronics (electric circuits, electronic devices, semiconductor behavior, digital circuits, etc.), Antenna and Microwave Engineering (antenna radiation patterns, impedance matching techniques, waveguide propagation, Smith chart problems, etc.), Physics, Mathematics, Civil Engineering, and many others.

At the moment, we are working on the design of other simulators. Somehow, some of them could be viewed as not directly related to Academia:

We are also working to improve the functionality of our system. To this effect, we are implementing a virtual whiteboard to be included in the set of SimulNet communication tools. Using this new tool, users will be able to exchange graphical information and teachers will be provided with a virtual slide system which will allow instructors to develop virtual lectures over the Internet.

At this moment, management is carried out by the SimulNet Management application running on the server computer, see section VIII. In order to enhance the distributed nature of SimulNet, we are designing a remote access system to the management application using JDBC [28] standards.

The open nature of SimulNet also permits the integration of a Course Viewer (or different course viewers with different features) targeted to theoretical training (the first phase of the learning process outlined above). Technically, this Course Viewer is just another simulator insofar as SimulNet is concerned. Students can navigate through the theoretical course contents developed in HTML, having whatever multimedia contents HTML pages permit. Typical SimulNet features are available in the same way as for other simulators (students' traces to supervise course access and navigation, synchronous and asynchronous cooperative tools, schedules, etc.) thanks to the SimulNet API (see section IX).

On the other hand, there are some situations where it is unavoidable to access the actual laboratory:

In such situations where we need to access, maybe following a client-server paradigm, the real laboratory, we lose the high interactivity of simulation at the client side. At this moment, we are considering several options that current technology provides, mainly, Java and CORBA [29] whose features allow one to develop full distributed systems in open environments.


XII. Conclusions

We have presented SimulNet, a platform whose main aim is to deliver software through the Internet or by CD-ROM technology. These applications are simulators of those tools found at conventional laboratories. The technology used to develop SimulNet allows us to forget about different hardware platforms or operating systems thanks to the "write once, run anywhere" Java philosophy. The administrative and maintenance tasks are straightforward. There is no need to set up any additional software apart from a Java-enabled Web browser.

In addition, SimulNet is also an environment where cooperation and collaborative working and learning are possible thanks to the SimulNet communication and monitoring tools. Simulators of a wide range of areas can be included in our platform, taking full advantage of the SimulNet capabilities automatically.

We strongly believe SimulNet-like systems are able to complement and even replace conventional teaching laboratories in Web-based distance learning environments. The high level of interactivity in the use of Java-based simulators and the communication tools allow SimulNet students to feel as if they were in the real laboratory. We feel we have succeeded in providing a cooperative way to carry out the third step in the learning process (practical training). Furthermore, our system is well suited to those who want to use it as a starting point in Internet and WWW environments since SimulNet provides a way to become acquainted with several communication tools and other features being used in Internet and WWW.


Acknowledgements

We want to thank the SimulNet Development Team for their contribution to the implementation of SimulNet: Mr. David Agra, Mr. Juan Santos, Mr. Manuel Caeiro, Mr. Gustavo Boubeta, Ms. Judith Rodriguez, Mr. Carlos Brandín and Ms. Carmen Mijangos. We would specially want to thank more than 350 students who have been using the new system to do their training practices in the laboratory of Fundamentals in Computer Architecture, corresponding a first-year university course in telecommunication engineering. Thanks for their comments and bug reports.

We also want to thank the European Union and the Spanish government for the partial support for developing SimulNet under projects FEDER "PTF: Plataforma de TeleFormación" (FEDER 1FD97-0100) and "Diseño y Desarrollo de Software Documental sobre Internet e Intranet" (FEDER 1FD97-0282).

The author Luis Anido do particularly want to dedicate all his effort in the design and development of SimulNet to Mr. Juan A. Aguado Vázquez.


References

[1] C.-T. Sun and C. Chou. "Experiencing CORAL: Design and implementation of distance cooperative learning" IEEE Transactions on Education, Vol 39, no 3, pp. 357-366, 1996.

[2] M. Chirico, F. Giudici, A. Sappia and A.M. Scapolla. "The Real Experiment eXecution Approeach to Networking Courseware". IEEE Transactions on Education on CD, Vol. 40, no 4, November 1997.

[3] G. Da Bormida, D. Ponta and G. Donzellini. "Methodologies and Tools for Learning Digital Electronics". IEEE Transactions on Education on CD, Vol. 40, no 4, November 1997.

[4] World Wide Web. http://www.w3.org

[5] T. Bray. "Measuring the Web" Fifth International World Wide Web Conference. Paris, France. May 1996.

[6] Hypertext Markup Language. http://www.w3.org/MarkUp

[7] B. Oakley. "A Virtual Classroom Approach to Teaching Circuit Analysis" IEEE Transactions on Education, Vol 39, no 3, pp. 287-296, 1996.

[8] E. Hansen. "The role of interactive video technology in higher education: Case study and proposed framework" Education Technology, pages 13-21, September 1990.

[9] A. L. Stears and S.E. Watkins. "A multimedia Manual on the World Wide Web for Telecommunications Equipment." IEEE Transactions on Education. Vol. 39, no 3, pps 342-348, 1996.

[10] P. J. Mosterman, J.O. Campbell, A.J. Brodersen and J.R. Bourne. "Design and implementation of and Electronics Laboratory simulator". IEEE Transactions on Education. Vol. 39, no 3, pps 309-313, 1996.

[11] J.B. Patton and P. Jayanetti. "The Making of Multimedia Power Systems Control and Simulation Labware". IEEE Transactions on Education. Vol. 39, no 3, pps 314-319, 1996.

[12] B. Aktan, C.A. Bohus, L. A. Crowl and M.H. Shor. "Distance Learning Applied to Control Engineering Laboratories". IEEE Transactions on Education. Vol. 39, no 3, pps 320-326, 1996.

[13] T. Kikuchi and T. Kenjo "A Unique Desk-top Electrical Machinery Laboratory for the Mechatronics Age". IEEE Transactions on Education on CD, Vol. 40, no 4, November 1997.

[14] C.G. Braun. "A Tour of The CSM Electronics Prototyping Facility". IEEE Transactions on Education on CD, Vol. 40, no 4, November 1997.

[15] J.O. Hamblen. "A VHDL Synthesis Model of the MIPS Processor for Use in Computer Architecture Laboratories". IEEE Transactions on Education on CD, Vol. 40, no 4, November 1997.

[16] S.E. Fisher. "Mathematica." IEEE Transactions on Education on CD. November 1998.

[17] R. Giannetti. "An Analog Oscilloscope Simulator with Internet Interaction Capability for On-line Teaching". IEEE Transactions on Education on CD. November 1998.

[18] L. Anido, M. Llamas, M.J. Fernández and J.C. Burguillo. "Improving Practical Training in Internet-based Distance Learning Environments." Proc of EDEN 99. Universities in a Digital Era. Transformations, Innovation and Tradition. June, 1998.

[19] Java. http://www.javasoft.com

[20] SimulNet Server at University of Vigo. http://foxtrot.ait.uvigo.es/~simulnet/virtualLabs.html (login:ieee99 password:november agent: both tutor or trainee)

[21] G. Fernández. "Conceptos básicos de Arquitectura y Sistemas Operativos, Curso de Ordenadores" Sistemas y Servicios de Comunicación, S.L. ISBN 84-605-0522-7 (available in Spanish)

[22] M. Mano. "Computer Architectures" 3rd edition. Prentice-Hall International 1993.

[23] G.M. Karam and J.C. Bryant. "Principles of Computer Systems" Prentice-Hall International 1992.

[24] D.W. Johnson and R.T. Johnson. "Learning Together and Alone: Cooperative, Competitive and Individualistic Learning." Englewood Cliffs, N.J. Prentice-Hall 1997.

[25] M.-C. Lai, B.-H. Chen and S.-H. Yuan. "Toward a New Educational Environment." Fourth International World Wide web Conference Boston, USA, December 1995.

[26] U. Black. "TCP/IP and Related Protocols" McGraw-Hill Series on Computer Communications. ISBN 0-07-005560-2

[27] HyperText Transfer Protocol. http://www.w3.org/Protocols/

[28] Hamilton, Cattel and Fisher. "JDBC Database Access with Java. A Tutorial and Annotated Reference." Addison-Wesley.

[29] Object Management Group. "Object Management Architecture Guide, Revision 2.0" omg Docuement Number 92.11.1. September 1992.


Author Contact Information

Martín Llamas
University of Vigo
Dpt. Tecnologías de las Comunicaciones
Campus Universitario s/n, Lagoas-Marcosende
E-36200 Vigo (Pontevedra), SPAIN
Phone: +34 986 812171
Fax: +34 986 812116
E-mail: martin@ait.uvigo.es

Luis Anido
University of Vigo
Dpt. Tecnologías de las Comunicaciones
Campus Universitario s/n, Lagoas-Marcosende
E-36200 Vigo (Pontevedra), SPAIN
Phone: +34 986 812174
Fax: +34 986 812116
E-mail: lanido@ait.uvigo.es

Manuel J. Fernández
University of Vigo
Dpt. Tecnologías de las Comunicaciones
Campus Universitario s/n, Lagoas-Marcosende
E-36200 Vigo (Pontevedra), SPAIN
Phone: +34 986 813777
Fax: +34 986 812116
E-mail: manolo@ait.uvigo.es


Author Biographies

Martín Llamas, received the Telecommunication Engineering (1986) and Doctor in Telecommunications (1994) degrees from the Technical University of Madrid, Spain. In addition to teaching, he is involved in research in the areas of Formal Description Techniques and Computer Based Training. He is the head of the GIST research group and New Technologies Division at the University of Vigo.

Luis Anido, received the Telecommunication Engineering (1997) degree from the University of Vigo with Honors by the Spanish Department of Science and Education and by the Galician Regional Government. He joined the Telecommunication Enginering faculty of the University of Vigo where he is working towards his PhD. In addition to teaching, his main interests are in the field of New Information Technologies applied to distance learning and in the area of Formal Description techniques.

Manuel J. Fernández, graduated from the University of Santiago de Compostela, Spain, with a Telecommunication Engineering degree in 1990, and from University of Vigo with a Doctor in Telecommunication degree in 1997. He is actively involved in researching in the area of multimedia applications, Computer Based Training and Formal Description Techniques.


Return to Table of Contents