Academia.eduAcademia.edu

A component model for standardized web-based education

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