A Component Model for Stardardized Web-based
Education
L. Anido-Rifón
M. Llamas-Nistal
M. J. Fernández-Iglesias
Universidad de Vigo
ETSI de Telecomunicación
E-36200 Vigo, Spain
Universidad de Vigo
ETSI de Telecomunicación
E-36200 Vigo, Spain
Universidad de Vigo
ETSI de Telecomunicación
E-36200 Vigo, Spain
[email protected]
[email protected]
[email protected]
stru tures and software interfa es to provide interoperability between appli ations and learning resour es. This would
allow both instru tors to reuse learning resour es and developers to reuse edu ational software.
Software reuse is one of the most outstanding resear h
topi s in Software Engineering. One of the urrent trends
in this eld is the omponent-based approa h [24℄. Components Obje t Model (COM) [28℄, Java Beans [30℄, Enterprise Java Beans (EJB) [29℄ and the most re ent release
(3.0) of the Common Obje t Request Broker Ar hite ture
(CORBA) [32℄ are some examples of te hnologies that are
based on the software omponent on ept. Software reuse
allows programmers to fo us their e orts in their spe i
business logi .
We followed this approa h to design and develop SimulNet, a framework fo used towards Web-based intera tive
and ollaborative edu ational appli ations. Collaboration is
allowed at software level. Events produ ed by a given omponent are handled and delivered to remote omponents in
the same appli ation. Collaboration is also possible at the
user level. SimulNet omponents provide plug and play ommuni ation and ollaboration tools based upon underlying
and yet transparent for the programmer SimulNet servi es.
SimulNet also provides intera tivity. It is designed to
guarantee a qui k response to any a tion performed by the
user. Sometimes the inherent hara ter of the appli ation
(e.g. an interfa e to a ess a remote hardware devi e) does
not permit the highest level of intera tivity. In that ase,
SimulNet does its best to enhan e the intera tion between
the user and the software.
SimulNet has been tested in pra ti e by more than 550
university students. Hypermedia and multimedia, the use
of highly intera tive omputer-based simulations (e.g. using Java [23℄ applets) and the availability of powerful ommuni ation tools (e.g. video and audio onferen ing, ewhiteboards, et .) onvert the WWW into an attra tive
platform to learn in an open and exible environment.
ABSTRACT
This paper presents a layered omponent model to support
Web-based intera tive and ollaborative appli ations. It is
intended to let programmers fo us on the parti ular logi of
their appli ations, avoiding most of the issues related to ollaboration, a ess ontrol and networking management. A
Web-based edu ational appli ation has been developed over
this framework. This tele-edu ation system, whi h follows
the re ommendations by the main institutions involved in
the learning te hnology standardization pro ess, is the se ond ontribution presented by the authors.
Categories and Subject Descriptors
K.3 [Computing Milieux℄: Computers and Edu ation;
H.3.5 [Information Systems℄: Online Information Servi es|Web-based servi es ; J.1 [Computer Appli ations℄:
Administrative Data Pro essing|Edu ation
General Terms
Standardization, Experimentation, Design, Se urity
Keywords
Learning Te hnology Standardization, Collaborative
systems, Authoring tools, Web-based ourse delivery systems, Pra ti e and Experien e, Edu ational Web Appli ations
1.
INTRODUCTION
Designers of online learning systems have an enormous
variety of software tools and learning resour es at their disposal. Unfortunately, the wide variety of software tools
available from many di erent vendors are not able to share
learning resour es and interoperate with ea h other. Nowadays, Web-based edu ation resear h e orts are fo used into
the standardization of learning metadata s hemes, ourse
2. WEB-BASED EDUCATION STANDARDIZATION
The learning te hnology standardization pro ess is taking
the lead role in the resear h e orts into Web-based edu ation. Standardization is needed for two main reasons: On
the one hand, edu ational resour es are de ned, stru tured
and presented using di erent formats. On the other hand,
the fun tional modules that are embedded in a parti ular
Copyright is held by the author/owner.
WWW10, May 1-5, 2001, Hong Kong.
ACM 1-58113-348-0/01/0005.
86
ommon SimulNet servi es. These are used by the SimulNet Software Components (SSC). Their aim is to make the
distributed nature of the WWW transparent to the SSC
programmer. The software that a tually implements the
SimulNet servi es runs both at lient and server sides.
The a tual fun tionality of SimulNet is o ered at the omponents level. Ea h omponent is aimed to provide a parti ular feature typi ally found in Web-based ollaborative and
intera tive appli ations. All omponents are plug and play
and, in most of the ases, programmers just need to invoke a
Java method to provide their appli ation with a new ollaborative feature (e.g. a shared e-whiteboard). The SSC run
embedded in appli ations at lient side. They are stored at
server side and downloaded in the form of Java applets. Collaboration among distributed omponents is possible thanks
to the use of the underlying SimulNet servi es. The programmer may in lude the fun tionality of these omponents
through the SimulNet API ( gure 1).
Finally, the appli ation level is the ore for the business
logi of parti ular Web-based appli ations. This is the programmers layer, where their spe i appli ation is developed. Collaborative fun tionality is automati ally in luded
through the SSC APIs. Although SimulNet is oriented towards Java-based appli ations, in fa t, SimulNet servi es
and SSC are 100% pure Java to provide platform independen e, it allows interoperability with appli ations developed
in other programming languages. This is possible thanks
to the interoperability provided by the CORBA Obje t Request Broker (ORB). In this ase, the lient appli ations
provide intera tive user interfa es to a ess the a tual appli ations at the server side together with the ollaborative fun tionality provided by the SSC. Therefore, formerly
standalone appli ations (i.e. Business appli ations at the
server side in gure 1) are transformed into Web-based ollaborative systems using a SimulNet envelope.
At the top of gure 1 the dynami evolution of SimulNet is illustrated. SimulNet programmers would enri h the
fun tionality of our framework with new omponents, and
possibly new servi es. The business appli ation developers
would adopt our framework to develop new Web-based intera tive and ollaborative appli ations, fo using their e orts
towards their parti ular business logi .
learning system annot be reused by a di erent one in a
straightforward way.
Organizations like the IEEE's LTSC [14℄, IMS proje t
[21℄, Aviation Industry's AICC [1℄, DoD's ADL initiative
[33℄, ARIADNE [3℄, GESTALT proje t [13℄, PROMETEUS
[34℄, CEN/ISSS/LT [6℄, GEM proje t [12℄, and many others
are ontributing to this standardization pro ess. The IEEE
LTSC is the institution that is a tually gathering re ommendations and proposals from other learning standardization
institutions and proje ts. ISO/IEC JTC1 has reated the
Standards Committee for Learning Te hnologies, SC36 [22℄,
who is ontinuing this work to reate ANSI or ISO standards.
Learning metadata de nition has been one of the main
obje tives. Its purpose is to fa ilitate and automate the
sear h, evaluation, a quisition and use of learning resour es
on a Web environment. The most outstanding result so
far is the Learning Obje t Metadata (LOM) spe i ation
[15℄, proposed by IEEE LTSC, whi h is be oming a standard de-fa to. LOM de nes the attributes required to fully
and adequately des ribe a learning resour e. Relevant attributes in lude: general resour e (e.g. title, language), life
y le (e.g. version, ontributions), meta-metadata (e.g. ataloger, atalog entry), te hni al (e.g. format, lo ation), edu ational (e.g. learning ontext, diÆ ulty), rights, relation,
and lassi ation information.
Des ription of learner's pro les and re ords has also been
studied. They des ribe information whi h hara terizes a
learner and his/her knowledge. This information is used
to maintain re ords of learners and arry out the learning pro ess. The IEEE LTSC Publi and Private Information (PAPI) spe i ation [16℄, des ribes implementationindependent learner re ords organized in six ategories: personal, relations, se urity, preferen e, performan e and portfolio. Another important spe i ation is the IMS Enterprise
Data Model [19℄ aimed at administration purposes.
Standardized de nitions for ourse stru tures are ne essary to move ourses from one system to another. In a
similar way, learning management environments need to understand the ourse stru ture to s hedule the next student
a tivity. The AICC guidelines for interoperability of Computer Managed Instru tion (CMI) systems [2℄, and the
ADL's SCORM [38℄, based on the AICC spe i ation, deal
with this problem. They propose a Web-based run time environment s heme based on the division between the learning ontents and the Web-based management system that
laun hes on the browser, delivers through the network and
ontrols them. This allows di erent learning resour es to be
managed by heterogeneous management systems.
Other standards are referred to ourse pa kaging [18℄,
question and test interoperability [20℄, student tra king, apability de nitions, and many others.
3.
3.2 COTS Services and Standard Protocols
On the lient side, basi user interfa ing and onne tivity
is provided by a standard WWW browser (e.g. Nets ape
Communi ator or Mi rosoft Explorer) with some embedded apabilities: a Java Virtual Ma hine (JVM), drivers for
the Java DataBase Conne tivity (JDBC), and a CORBA
Obje t Request Broker (ORB). On the server side, HyperText Transfer Proto ol (HTTP) and File Transfer Protool (FTP) servers, a CORBA ORB, and a Database Management System (DBMS) are used to provide a ess to the
SimulNet database. Regarding the network proto ols, our
servi es use HTTP, FTP, Internet Inter-ORB Proto ol
(IIOP), and TCP/IP.
SUPPORTING WEB-BASED HIGHLY
INTERACTIVE AND COLLABORATIVE
EDUCATIONAL APPLICATIONS
3.3 SimulNet Services
3.1 Overview
The SimulNet Servi es layer is responsible for providing
the SimulNet Software Components with the underlying ollaborative fun tionality. Basi ally, they allow the SSC to
share information both on-line, in whi h virtual memory
spa es are provided where one lient writes information and
Our framework is organized as shown in the layered arhite ture outlined in gure 1. In the lowest layer SimulNet
relies on ommer ial-of-the-shelf (COTS) servi es and standard Internet proto ols. In the next layer, there are some
87
Figure 1: The SimulNet layered ar hite ture.
the other reads it, and o -line, where a virtual shared persistent storage is available. Therefore, SSC avoid dealing
with the underlying network. For a given omponent, the
distribution of user input to a ollaborative group is performed through the invo ation of a lo al method from the
suitable SimulNet servi e. This basi fun tionality is implemented by three di erent servi es: the Virtual Room Servi e (VRS), the Virtual File System Servi e (VFSS) and the
Data Base A ess Servi e (DBAS). Underneath them, the
SimulNet Communi ation Layer (SCL) deals with the a ess to the network. The implementation of all the servi es
dis ussed is outlined as follows.
3.3.2 The SimulNet Virtual Room Service
The Virtual Room Servi e (VRS) is responsible for providing a suitable environment for on-line ommuni ation among
a group of distributed users or software omponents, avoiding simultaneously interferen e between di erent rooms.
Con eptually, a virtual room is a shared spa e where one
or more write-enabled members an send information to be
re eived by every read-enabled member in the same room.
A new virtual room is set up whenever a omponent needs
to ommuni ate or ollaborate with other remote instan es
of the same omponent. Afterwards, all information generated from one lient is forwarded to every other lient in the
room. In addition, it is possible to give di erent privileges
to di erent members in the same room. For instan e, one
lient may be allowed to read and write, while another may
only have read permissions. Ea h room has its own identi er
to avoid any interferen e. Therefore, the same omponent in
a parti ular lient may be involved in di erent ollaborative
sessions.
Sin e this servi e uses SimulNet Communi ations Layer
(SCL) messages, the kind of information that an be exhanged is ri h enough. Furthermore, the virtual room servi e is not on erned with the type or parti ular logi of the
messages. It is just responsible for delivering them to the
orre t addressees. In addition, the VRS maintains the last
set of messages generated in ea h room to be delivered to
new lients. The number of messages that are temporarily stored is de ned by the software omponent using the
virtual room.
On the lient side, this servi e maintains up-to-date information about ea h session (virtual room) that its upper
omponents are involved in. It transfers messages between
the omponents and the appropriate virtual room at the
3.3.1 The SimulNet Communications Layer
This layer provides a network-transparent model to exhange messages between distributed instan es of SimulNet
servi es. The same generi message format is used by all
SimulNet servi es. We use serializable obje ts in the SimulNet messages, whi h are ex hanged through bu ered obje t
input and output streams over the network. The type of
messages that an be sent are general enough to over from
text to Java events.
A SimulNet message is a serializable obje t omposed by
a header and a data omponent. The header identi es the
message type and allows the SCL to forward the data omponent to the suitable SimulNet servi e. The data omponent ontains the information itself and the identi er for the
data type.
The SCL uses input and output streams to read and write
from/to the underlying TCP/IP so ket. On the lient side,
a thread is responsible for these a tions. On the server side,
we rely on a set of threads to serve messages to/from the
di erent onne ted lients.
88
server side, and generates ontrol messages for room reation, new member noti ations, privilege management, et .
At the server side, the virtual room manager a ts as a fa tory of new virtual room instan es and manages all urrent
a tive sessions. It also maintains up-to-date information
about ea h lient onne ted to the system.
3.3.3 The SimulNet Virtual File System Service
The SimulNet Virtual File System Servi e (VFSS) is responsible for persistent storage. Its API provides the ommon fun tionality of a tree-stru tured le system. Data and
obje ts stored in les an be shared among di erent omponents and users. Control of on urren y is provided through
lo ks and monitors on ea h shared resour e. The underlying
storage ontainer is the native le system at the server side.
Figure 2: Tra e window from the Auditing Tool.
ployers, managers and employees.
The DBAS servi e supports data management for this
servi e. Data is stored and managed following the re ommendation by the IMS proje t, the Enterprise Data Model.
Therefore, it is possible to import and export student proles from/to other Web-based a ademi institutions.
3.3.4 The SimulNet Data Base Access Service
This servi e handles automati database onne tions.
On e a onne tion is su essfully established, the Java pa kage java.sql provides standard a ess to the remote Database
Management System.
3.4.2 Auditing Tool
Some business appli ations may need registering the a tions that ea h parti ular user exe utes on them (e.g. whi h
appli ation pa kages are used, when they are used, for how
long and by whom). The SimulNet auditing tool manages
all this information. The business appli ation programmer
sets up this module with the a tions that need to be audited.
Whenever the user performs any of them, a message is sent
to the suitable supervisor (for on-line auditing) and stored
at the server side (for o -line monitoring). This omponent
relies on the VRS servi e for on-line monitoring, and on
DBAS and VFSS servi es for o -line monitoring. The data
model used is the AICC's Lesson Evaluation Data, whi h
omprises Intera tions, Obje tives Status, and Path groups,
plus the Student Data group from the lesson to LMS ommuni ation formats, see [2℄ for further information on student
performan e data formats.
Figure 2 displays the tra e window of the auditing tool,
where some student tra es are shown. Complete data for
ea h tra e is available on request.
3.4 SimulNet Components
The API of the SimulNet Components level provides developers with a fa ility that allows them to develop their appli ations more qui kly sin e many of the ommon features
of Web-based ollaborative appli ations an be automatially in luded in their systems. All of them are supported
by the basi fun tionality provided by the SimulNet servi es.
Most of these omponents provide their fun tionality
through their own user interfa e. To laun h a given omponent, the business appli ation developer just needs to link
an event on the appli ation interfa e (e.g. a double li k on
a button) to the method userA tion() on that omponent.
The tool is automati ally started in the business appli ation
frame. If the user must be identi ed in the ollaborative session that the tool is involved in, the only parameter needed
is the user's ID, whi h is provided by the appli ation loader
through its user authenti ation module.
Although the SimulNet omponents are designed to be
open and exible enough to suit any kind of Web-based
ollaborative appli ation, the underlying data model follows re ommendations and proposals by the main institutions involved in the learning te hnology standardization,
see se tion 2. This means that they are able to intera t with
other Web-based edu ational systems provided they follow
the standards and, at the same time, developers from other
elds may use them taking in mind the data model hosen.
3.4.3 E-Mail
This omponent provides an e-mail system. Additionally,
an address book is sent through the network to the lient's
omputer ontaining up-to-date information about the users
of the orresponding business appli ation. Users are organized a ording to di erent riteria (e.g. roles) and, therefore, it is very easy to nd the right addressee for a given
message, both individuals and groups. This omponent uses
the underlying VFSS and DBAS servi es to store messages
in mailboxes and a ess users' data.
3.4.1 User Management
One of the key aspe ts of the design of ollaborative tools
is the identi ation of users (usually human) and their roles.
Furthermore, resour es may have a ess requirements that
depend on user properties.
The SimulNet User Management omponent provides business appli ation developers with a graphi al tool to identify
users, roles, resour es, and a ess permissions to them. The
tool is generi enough to be used in a wide range of appli ations. Developers identify roles and resour es for their
parti ular appli ations. Then, this omponent provides the
appli ation manager with a user-friendly interfa e to manage the system. For example, in a teleworking environment
the business developer may identify three di erent roles: em-
3.4.4 Bulletin Board
The SimulNet bulletin board is based on the Internet
News. Its main aim is to be ome a platform to share information. Users are allowed to post two kinds of do uments: publi notes, whi h an be read by any user, and
private notes. Whenever users want to refresh the ontents
of their boards, they an sele t the types of do uments to be
downloaded from the ones they are allowed to a ess. In addition, users an sele t to download only do uments related
to a parti ular bulletin. This tool also provides information about what kind of bulletins has already been down89
loaded, and, if appropriate, the parti ular subje ts the do uments are related to. Bulletins are stored on the server side
through the VFSS servi e.
3.4.5 Chat
The main purpose of this tool is to allow a group of users
to get in onta t with ea h other in a virtual room. Users
an ommuni ate with ea h other in two di erent ways:
Debate mode. Every user involved in the ommuni a-
tion may enter information. This information is shown
to every user in the virtual room.
Le ture mode. Only the user a ting as the moderator
an introdu e information to be shown on the other
users' display. The moderator an swit h between the
two ommuni ation modes or may in lude or deta h
users from the a tive session.
Figure 4: Pro je t Management Tool.
3.4.8 Project Management
This omponent is oriented towards the management of
proje ts arried out by a group of students. It supports
proje t-based learning on the WWW. One of the most hallenging aspe ts in this eld is to know the latest progress
done. This tool provides automati management for proje ts
whose working tasks are distributed among users who ooperate from afar.
The proje t manager distributes the total workload into
a set of tasks. Afterwards, tasks are assigned to working
groups or individuals. This assignment is supervised by
the tool, taking into a ount the urrent workload for ea h
group and student and orresponden e among di erent tasks
(e.g. task A must be ompleted before starting task B). The
manager an set up the s hedule for ea h working group and
individual, as shown in gure 4.
The proje t management omponent provides ea h learner
with information about the present-day tasks assigned, tasks
that are piling up, et . The users inform the tool about the
development of their assigned tasks to update the progress
done on the entire proje t.
This omponent uses the VFSS and DBAS servi es, and
data from the user management omponent.
3.4.6 Whiteboard
Virtual ele troni whiteboards seem to be one of the most
useful tools in ollaborative environments. SimulNet provides appli ation developers with a whiteboard omponent,
as shown in gure 3, that an be embedded in their business
appli ations to ex hange graphi al information. Advan ed
drawing features are also in luded as part of the whiteboard
fun tionality. As well as in the ase of the hat, there is a
moderator who is responsible of user management and for
giving di erent privileges to the whiteboard users (draw,
delete, et .).
It is also possible to manage several do uments in a given
whiteboard session. The do ument manager de ides whi h
do ument is shown at a given time. Therefore, it is possible
to navigate through the whiteboard ontents, showing different information to the users involved in the session. This
feature onverts the SimulNet whiteboard into a virtual slide
proje tor. The whiteboard, as a standalone drawing tool,
an be used to develop a presentation that an be stored
and later shown to others using the do ument management
fa ility.
The whiteboard omponent relies on VRS and VFSS, and
on users' data generated by the user management omponent.
3.4.9 Event Deliverer
SimulNet allows, through this omponent, to share and
distribute events performed on the business appli ation user
interfa e. It is possible to de ne a group of users whose
a tions on the interfa e will be forwarded to every other user
in the group. As a result, a tions performed on a masterenabled user interfa e are also performed on the interfa e of
every other user in the same group. A moderator provides
master privileges to formerly read-only parti ipants. This
omponent is based on the SimulNet VRS and a proprietary
graphi al SimulNet pa kage with the same fun tionality as
the provided by the java.awt pa kage plus a new feature to
support event delivery through the network.
3.4.7 Agenda
This omponent provides an ele troni agenda and a alendar. Its basi fun tionality involves managing, s heduling,
and representing data events in edu ational settings. We followed the vCalendar spe i ation [17℄ to allow data agenda
ex hange.
Users are allowed to ustomize several agenda features:
event types, properties and representation appearan e. In
addition, they an use the agenda following two on gurations: personal or group. Personal on guration makes this
omponent a traditional agenda, where users an s hedule
their up oming events and tasks. In the group on guration
the agenda an be used like a timetable or alendar. All
group members are allowed to display the agenda events,
whi h may be introdu ed by any of them. Class a tivities
are s heduled using this omponent, whi h is implemented
over the DBAS.
3.4.10 Producer-Consumer Manager
The produ er- onsumer problem is a ommon topi in
Software Engineering. There are situations where an entity, the onsumer, needs some data provided by another entity, the produ er. This omponent addresses the produ er90
Figure 3: The SimulNet Whiteboard.
Controlled sharing apabilities are used to grant a ess to
SSC like the auditing tool, bulletin board, hat, whiteboard,
proje t management tool and the event deliverer. In this
ase, the apability in ludes a 32-bit a ess mode ve tor,
ea h bit representing an abstra t right. The semanti s of
ea h bit depends on ea h software omponent and may vary
from one omponent to the next.
An A ess Control Lists (ACL) [31℄ is used to prote t
ea h pie e of user-generated data. Ea h le ontaining data
that is sus eptible to sharing has an ACL asso iated with
it. This is a list of prin ipals authorized to a ess the data.
Ea h entry in ludes a 32-bit a ess mode ve tor. As in the
ase of the apability-based prote tion me hanism, ea h bit
represents an abstra t right. In this ase, the rst six bits
are reserved for the a ess modes de ned in [31℄: read, writeappend, write- hange, write-update and delete. There are
26 more bits whose meaning may depend on the parti ular
business appli ation or SSC. We follow a dis retional ontrol
pattern des ribed in [35℄.
onsumer problem in a distributed environment (i.e. produ er and onsumer running on di erent omputers).
The Virtual Room Servi e is used. A VRS room is shared
between the write-enabled produ er and a read-enabled onsumer. In this way, we are implementing a one-way hannel through the network. The onsumer a esses the data
invoking a method on this omponent, if it was already delivered by the produ er. Otherwise, the omponent waits
until the produ er delivers the data. The omponent allows
blo king and non-blo king alls for the onsumer. Produ er
and onsumer an ex hange their roles just by ex hanging
their a ess privileges to the room. This model an be easily
extended to a s heme with n elements using n-1 rooms.
3.5 Protection of Information and Resources
The SSC and the data generated by users are resour es
whose a ess must be ontrolled to avoid unauthorized use.
A ess ontrol is managed using rights and prin ipals. A
right is an abstra t privilege. A prin ipal uses a right. A
prin ipal an be an individual or a group de ned for ollaborative purposes.
The proje t management omponent allows the de nitions of working groups omposed of individuals. Su h working groups an be onsidered as prote tion groups, i.e. prinipals that may be used by several di erent individuals.
Ea h individual belonging to a group bene ts from the a ess privileges granted to its prin ipal.
For ea h prin ipal we identify the domain of that prin ipal: all the obje ts in the system that the prin ipal has been
authorized to use. SimulNet uses the two general prote tion
me hanisms des ribed in [40℄: apabilities and a ess ontrol
lists.
A ess to SSC and business appli ations is ontrolled using a apability-based system [7℄. The SimulNet apability
system is able to grant all-or-nothing and ontrolled sharing a ess rights [35℄. The former is used to prote t some
SSC like user management, e-mail, agenda and data sharing omponents. The all-or-nothing apability allows the
prin ipal to use the whole fun tionality of the omponent.
4. AN INTERACTIVE AND COLLABORATIVE WEB-BASED LEARNING SYSTEM
The rst appli ation of SimulNet was in the area of Webbased edu ation. An edu ational environment over the
WWW is restri ted with respe t to intera tivity and ollaboration. Distan e edu ation environments need to provide trainees and instru tors with a ooperative learning
atmosphere, where students an share their experien es and
tea hers guide them in their learning. Intera tivity is another key issue in both onventional and distan e edu ation. Student interest in the learning pro ess is drasti ally
redu ed when the level of intera tivity is low. The aim of
developing an edu ational system over SimulNet is pre isely
to test its intera tive and ollaborative features.
On the other hand, the underlying data model used for
handling ourse stru ture, students' performan e data and
ommuni ation among the learning ontents and the management system follows the re ommendations by the main
91
institutions involved in the learning te hnology standardization pro ess, see se tion 2. This standardization pro ess
seems to be an unavoidable onsequen e of the su essful,
but at the same time heterogenous, Web-based edu ational
platforms available on the market. WebCT [39℄ by British
Columbia University of Canada, Learning Spa e [25℄ by LOTUS, Top Class [37℄ by WBT Systems, ToolBookII [4℄ by
Asymetrix In ., or Web Course in a Box [27℄ by the Virginia
Commonwealth University are some examples of systems
that provide di erent Web-based edu ational environments,
ea h of them with their spe i features [10℄. Nevertheless,
they all share some underlying ommon features as their
nal aim is the same: to deliver learning through a Web environment. All of them manage ourse stru tures, learning
resour es and student pro les, however, they do not provide
the means to share that data. SimulNet provides the means
to develop reusable and interoperable Web-based learning
environments.
4.1 Using SimulNet to Deliver Web-based
Learning Contents
As mentioned before, one of the biggest problems when
working with di erent Web-learning platforms is the diÆulty of sharing and reusing omponents between di erent
ontent management systems. SimulNet follows the guidelines established by ADL SCORM whi h are based on the
AICC do ument \CMI Guidelines for Interoperability" [2℄.
In our system, both ontent and ontent management are
learly separated in order to get interoperability between
di erent ontent management systems.
For this to be possible it is ne essary that ontent
(assignable units, using ADL terminology) and the Learning Management System (LMS) an ommuni ate with ea h
other through standard data types. LMS sends data to ontents with ne essary information to laun h a lesson. Content provides LMS with information about student progress,
tests results, student state within the ourse lessons, et .
These data allow the LMS to both tra k student progress
and make \routing" de isions through the ourse.
SimulNet provides a Web-based run time environment
through an API that standardizes the way the LMS sends
and re eives information from the ontents. This API provides the needed methods to start and nish learning ontents and ommuni ate with them:
Figure 5: SimulNet's LMS user interfa e.
Figure 6: SimulNet's
ourse authoring tool.
as mentioned above, is sent from the learning ontent to the
LMS.
The SimulNet authoring tool, whi h is shown in gure
6, supports the design and reation of learning ontents,
the de nition of the stati and dynami ourse stru ture
and the reation of tests and questionnaires. The de nition
of ourse stru ture is made following the standard de ned
by the AICC. Course stru ture de nition is ompliant with
AICC Level 3a [2℄. This level allows the de nition of simple and omplex prerequisites and ompletion rules. Both
prerequisites and ompletion rules de ne the dynami s of
the ourse stru ture: prerequisites are used to make routing
de isions and the ompletion rules are used to evaluate the
status of the learning ontent (AICC de nes the following
statuses: pass, fail, omplete, in omplete, browse and notattempted). Figure 6 illustrates the de nition of prerequisites for a ourse element. The de nition of questionnaires
and tests is also possible using our authoring tool. That definition is made using the IMS Question & Test Spe i ation
[20℄ that spe i es the data format for tests interoperability.
LMSInitialize(): must be invoked by ontents on e
they are ready to establish ommuni ation with the
LMS.
LMSFinalize(): must be invoked by ontents on e they
nalise its exe ution.
LMSGetValue(element name): used to get the value
of one data model element.
LMSSetValue(element name,new value): used to mod-
ify the value of one data model element.
The SimulNet data model is known by both the LMS and
the learning ontent. API runs as an applet inside an html
page and its methods are invoked by the ontent through
JavaS ript alls.
We implemented our own LMS that is used to deliver and
manage ontents, see gure 5. Students' intera tion data,
92
4.2 Coping with Practical Training: the Learning-by-doing Paradigm
Web-based learning must ope with pra ti al training.
There are two main approa hes to implement
WWW/Internet-based training laboratory environment: distant a ess to the real equipment and simulation-based laboratories. It is possible to nd referen es to systems that
in lude both approa hes. Some tools that provide Webbased a ess to the lab equipment exist, both for hardwarebased labs [5℄ and for software-based labs [26℄. Regarding
the simulation approa h, we were able to nd systems that
implement a WWW interfa e to a simulator that runs at
the server-side (e.g. [9℄) and Java-based edu ational simulators that run intera tively on the student's omputer using
a Java-enabled browser (e.g. [11℄).
Obviously pra ti al and theoreti al ontents di er in the
way they are designed and handled. Pra ti al training must
provide tools that simulates an environment similar to that
provided by real laboratories. The di eren e with theoreti al ontents is lear: whereas pra ti al ontents must be
highly intera tive and dynami , theoreti al ontents are almost stati and the intera tivity with students is restri ted
to browsing the ontents and in some ases to doing tests.
Furthermore, pra ti al training needs high omputing requirements whether simulators run in server side or in lient
side.
Thanks to its layered ar hite ture, see gure 1, SimulNet an deal with all approa hes to pra ti al training disussed above. Software tools (i.e. edu ational simulators or
industry appli ations) or hardware devi es running in the
lab itself, an be a essed through the CORBA ORB. Business programmers have to develop a software bridge between
these lega y systems (business appli ations on the server
side in gure 1) and the CORBA ORB. On the lient side,
the business applet uses an intera tive user interfa e and offers a ess to the full ooperative environment provided by
SimulNet. The \pro essing on ea h lient approa h" an be
implemented using simulators downloaded by the appli ation loader omponent to the lient, where they run intera tively as Java applets. We based our experien e on this
latter model.
Simulators related to Computer Ar hite ture subje ts
have been developed. Virtual omputers are used to introdu e students to the world of Computer Ar hite ture,
as des ribed in [8℄, from the simplest to the most omplex.
Thus, students are guided along the right path, starting from
a simple assembler language and ending with the omplex
world of mi roinstru tions, rmware and datapaths. All of
our simulators have several ommon features: an editor, an
assembler and the simulator of the omputer itself (see gure 7). Programs written by students in assembler ode
using the editor are transformed into obje t ode that an
be run by the omputer model. This task is done by the
assembler. The simulator of the omputer model exe utes
the obje t ode, whi h an also be displayed through the
memory viewer. It has several exe ution modes: omplete
run, tra e, step by step.
As it was mentioned in se tion 4.1 SimulNet implements
a run time environment through the DoD's ADL API. Webbased simulators are handled as assignable units that are
laun hed from the LMS. Data information about students
intera tion with simulators is sent from them to the LMS
using the methods provided by the API. This information
Figure 7: An edu ational simulator.
is used by the LMS to generate student tra king information that is stored in a le following the format for student
tra king information proposed by the AICC.
4.2.1 Collaborative Functionality
WWW/Internet-based learning systems need to provide
students and tea hers with suitable tools that allow them to
get in tou h with others. SSC are used to give our learners and instru tors the needed ommuni ation tools. The
SimulNet whiteboard, e-mail, hat and bulletin board are
in luded, see se tion 3.4. It is also possible to reate working
groups to develop a given training exer ise whose workload
is distributed among a group of students. All this fun tionality is embedded in our edu ational platform thanks to the
SimulNet SSC.
4.3 Educational System Evaluation
As in every other software development pro ess, feedba k
from users is ne essary to tune up the best possible platform.
In this ase, the data was olle ted from surveys among
180 students, and from the information generated by the
auditing tool.
The rst remarkable result was a general improvement
in students' theoreti al exam results. The number of students who su eeded in the theoreti al exam in reased about
14%. In the pra ti al exams, 81% of the grades for students
who attended the traditional laboratory were equal or better than B. This per entage was 84% for those using the
edu ational platform. Therefore, the performan e of these
\telestudents" was as good as that of our \ onventional students". This fa t shows that our approa h to teletea hing
does not ne essarily a e t the quality of the learning proess.
Using SimulNet's Auditing Tool, we olle ted information
about every student's a ess to the system. Most students
use the virtual laboratory between 8:00 p.m. and 12:00 p.m.
There are also many a esses to the system late at night, and
90% of the students use SimulNet after everyday a tivities.
Time independen e, one of the main advantages of distan e
learning, is learly stated here: students take full advantage
of the platform's exibility and use this tool whenever they
want.
Ele troni mail is the tool students use more often, probably be ause they do not have to be in the virtual laboratory
93
valuable information both at te hni al and business level.
The SimulNet design pro ess was based on a bottom-up
strategy. However, when designing some of the SCC we
dete ted that the available underlying servi es would not
provide the required fun tionality for that omponent. For
example, the VRS was updated in order to be able to handle
GUI events as required by the whiteboard omponent. As
new omponents are introdu ed into the system, an upgrade
of existing servi es, even the introdu tion of new ones not
previously onsidered, may be needed as well. Therefore,
the servi e layer design should be kept simple and open, and
separate features should be kept as independent as possible.
As mentioned above, most SSC have their own user interfa es. These omponents were designed for simple and
straightforward integration into ollaborative business appli ations. However, this ould not be the best approa h
when the business appli ation requires a ommon look and
feel for all its modules, in luding the ones provided by SimulNet. For example, in our edu ational environment some
simulators have user interfa es not fully ompatible with the
ones in the SimulNet omponents, where similar ommands
are a essed in di erent ways. This an be misleading for
students, and ompletely in onvenient for ommer ial appliations. In fa t, there exist re ommendations by the AICC
[1℄ that try to standardize user interfa es used in omputerbased training appli ations.
SimulNet is 100% pure Java, and Java is an interpreted
language. This limitation be omes apparent as the number
of simultaneous users and the number of a tive omponents
grows, for example, many students a essing our edu ational
system or a full-featured edu ational system. In fa t, most of
students' omplaints about system performan e were about
time responses from the server side. One solution we are
onsidering is the optimization of the server modules based
on a ombination of native and Java ode. At this time,
we are arefully pro ling the system to be able to sele t the
best ombination possible.
The server's multitasking model is based on Java threads.
From the operating system point of view, there is a single
large server pro ess running one thread for ea h omponent.
We are onsidering an alternative implementation based on
a di erent pro ess for ea h omponent. In this way, the operating system will take are of all tasks related to pro ess
management and s heduling. Nevertheless, it is not ompletely lear for us at this moment how this will a e t the
overall system performan e.
Presently, we are working on new software omponents to
enhan e the fun tionality provided by the framework. Parti ularly, we are studying ways for SMIL[36℄ to allow di erent SMIL do uments in di erent browsers to syn hronize.
Regarding our edu ational appli ation, we are urrently implementing the software bridge between a mi ropro essors
laboratory, with real hardware devi es, and the CORBA
ORB, whi h will adopt the ollaborative environment provided by the urrent available framework in the evaluation.
Figure 8: General opinions about SimulNet.
at the same time to ommuni ate. Furthermore, it is an easy
to use tool that allows students to send messages to their
tea hers, without the need of a fa e-to-fa e onversation.
Students ommonly shy away from onversations with
their tea her. Most onversations (65%) between a tea her
and a student are started by the tea her. On the other
side, when tea hers dete t that one of their students have
problems, thanks to the tutoring fa ility, they usually start
ommuni ating immediately.
Students were also required to express their personal opinions about the SimulNet ommuni ation tools. 91% of the
students rated these tools as good or very good. Some
of them mentioned that they would use them more often
if they were provided with a high speed Internet onne tion. During this survey, most of them a essed the system
through a 28 kbps onne tion, although a tual transfer rates
were lower.
Students were also required to omment on the edu ational platform as a whole, from remote a ess to the simulation of the a tual laboratory tools, in luding the ommuni ation tools. Again, 94% of the students rated the system
as good or very good, see gure 8. As expe ted, intera tivity and the ollaborative feeling this platform provides are
the most outstanding features.
Finally, students were asked if this approa h to pra ti al
training indeed helped to understand the theoreti al onepts. As expe ted, results were oherent with the results
of the orresponding exams. Only 7% of the students onsidered that SimulNet did not ontribute to their learning
pro ess.
5.
CONCLUSIONS AND FUTURE WORK
We have presented a framework for developing intera tive
and ollaborative Web-based appli ations. To test the developed framework we implemented a Web-based distributed
edu ational platform following international standards on
learning te hnologies. The standardized learning data model
allowed us to reuse learning ontents from others that follow the same standards. Nowadays, we do believe that the
learning standardization pro ess is absolutely essential to
let Web-based edu ation to be ome real world wide. Past
edu ational environments did not allow to reuse learning
ontents and, therefore, a lot of work was needed to share
resour es. This edu ational system was our business appli ation for the framework. The testing phase provided
6. ACKNOWLEDGEMENTS
The authors want to thank the European Union for the nan ial support through proje ts: FEDER 1FD97-0100 and
FEDER 1FD97-0282, Funda ion Caixa Gali ia - Claudio
San Martin and more than 550 voluntary students who used
our edu ational platform, espe ially to the 180 who parti ipated a tively.
94
7.
[21℄ IMS. Instru tional Management Systems Global
Learning. WWW site. http://www.imsproje t.org.
[22℄ ISO. ISO-IEC JTC1 SC36 pages. WWW site.
http://www.jt 1s 36.org.
[23℄ Javasoft. Java. WWW site.
http://www.javasoft. om/beans/.
[24℄ W. Lim. Managing Software Reuse: A Comprehensive
Guide to Strategi ally Reengineering the Organization
for Reusable Components. Prenti e-Hall, July 1998.
[25℄ LOTUS. Learning Spa e. WWW Site.
http://www.lotus. om/produ ts/learningspa e.nsf.
[26℄ A. S. M. Chiri o, F. Giudi i and A. S apolla. The real
experiment exe ution approa h to networking
ourseware. IEEE Transa tions on Edu ation, 40(4),
1997. CD-ROM issue.
[27℄ MadDu k. Web Course in a Box. WWW Site.
http://www.maddu k. om/w binfo/w b.html.
[28℄ Mi rosoft. Components Obje t Model. WWW site.
http://www.mi rosoft. om/ om/.
[29℄ S. Mi rosystems. Enterprise Java Beans. WWW site.
http://www.sun. om/produ ts/ejb.
[30℄ S. Mi rosystems. Java Beans. WWW site.
http://www.sun. om/beans/spe .html.
[31℄ National Computer Se urity Center. A guide to
Understanding Dis retionary A ess Control in
Trusted Systems, 1987. Library No. S-228,576.
[32℄ Obje t Management Group. CORBA 3.0. WWW site.
http://www.omg.org/news/pr98/ ompnent.html.
[33℄ U. D. of Defense. DoD Advan ed Distributed
Learning. WWW site. http://www.adlnet.org.
[34℄ PROMETEUS. PROmoting Multimedia a ess to
Edu ation and Training in EUropean So iety. WWW
site. http://prometeus.org.
[35℄ J. H. Saltzer and M. S hroeder. The prote tion of
information in omputer s ien e. Pro eedings of the
IEEE, 63(9):1278{1308, 1975.
[36℄ Syn hronized Multimedia Working Group.
Syn hronized Multimedia Integration Language
(SMIL) 1.0 Spe i ation. W3C, Philipp Hos hka
edition, June, 1998.
http://www.w3.org/TR/1998/REC-smil-19980615.
[37℄ W. Systems. Top Class. WWW Site.
http://www.wbtsystems. om/solutions/produ ts.html.
[38℄ US Department of Defense. ADL's SCORM. WWW
site. http://www.adlnet.org/S orm/s orm index. fm.
[39℄ WebCT. WWW Site. http://www.web t. om/web t.
[40℄ M. Wilkes. Time-Sharing Computer Systems.
Ameri an Elsevier, New York, 2nd edition, 1972.
ADDITIONAL AUTHORS
M. Caeiro Rodrguez, (email: m aeiroait.uvigo.es),
J. Santos Gago, (email: jsgagoait.uvigo.es) and
J. Rodrguez Estevez, (email: jestevezait.uvigo.es),
Universidade de Vigo
8.
REFERENCES
[1℄ AICC. Aviation Industrie CBT Committee. WWW
site. http://www.ai .org.
[2℄ AICC. CMI Guidelines for Interoperability, version
3.0.2. WWW site.
http://www.ai .org/do s/te h/ mi001v301rtf.zip.
[3℄ ARIADNE. The Allian e of Remote Instru tional
Authoring and Distribution Networks for Europe.
WWW site. http://ariadne.unil. h.
[4℄ Asymetrix. Toolbookii. WWW Site.
http://www.asymetrix. om/produ ts.
[5℄ L. A. C. B. Aktan, C.A. Bohus and M. Shor. Distan e
learning applied to ontrol engineering laboratories.
IEEE Transa tions on Edu ation, 39(3):320{326, 1996.
[6℄ CEN. European Committee for Standardization
(CEN), Information So iety Standardization Systems
(ISSS), Learning Te hnologies Workshop (LT). WWW
site. http://www. enorm.be/isss/Workshop/lt/.
[7℄ J. Dennins and E. V. Horn. Programming semanti s
for multiprogrammed omputations. Communi ations
of the ACM, 9(3):143{155, 1966.
[8℄ G. Fernandez. Con eptos basi os de Arquite tura y
Sistemas Operativos. Curso de Ordenadores. Sistemas
y Servi ios de Comuni a in S.L, 1995. ISBN
84-605-0522-7.
[9℄ S. Fisher and E. Mi hielsen. Mathemati a-assisted
web-based antenna edu ation. IEEE Transa tions on
Edu ation, 41(4), 1998. CD-ROM issue.
[10℄ S. Fredri kson. Untangling a tangled web: An
overview of web-based instru tion programs. The
Journal. Assesing Te hnology, 26(11), June 1999.
[11℄ D. P. G. Da Bormida and G. Donzellini.
Methodologies and tools for learning digital
ele troni s. IEEE Transa tions on Edu ation, 40(4),
1997. CD-ROM issue.
[12℄ GEM. Gateway to Edu ational Materials. WWW site.
http://www.geminfo.org.
[13℄ GESTALT. Getting Edu ational System Talk A ross
Leading edge Te hnologies proje t. WWW site.
http://www.fdgroup. o.uk/gestalt.
[14℄ IEEE. Learning Te hnologies Standardization
Committee. WWW site. http://lts .ieee.org.
[15℄ IEEE. LOM Working Draft v.4. WWW site.
http://lts .ieee.org/do /wg12/LOM WD4.PDF.
[16℄ IEEE. PAPI Spe i ation, version 6. WWW site.
http://edutool. om/papi/.
[17℄ IMC. v alendar Spe i ation. WWW site.
http://www.im .org/pdi/.
[18℄ IMS. The IMS Content & Pa kaging Spe i ation,
version 0.92. WWW site.
http://www.imsproje t.org/ ontent.
[19℄ IMS. The IMS Enterprise Spe i ation, version 1.01.
WWW site. http://www.imsproje t.org/enterprise.
[20℄ IMS. The IMS Question & Test Spe i ation, version
1.0. WWW site. http://www.imsproje t.org/question.
95