Resource Manager for Distance Education Systems

Resource Manager for
Distance Education Systems
Goran Kimovski
Vladimir Trajkovik
Danco Davcev
Faculty of Electrical Engineering and Computer Science,
Skopje, Macedonia
THE WHOLE PICTURE
ADMI NI STR ATI ON
MODULES
STUDENT SER VI CE
MODULES
STUDENT &
COUR SES
DATA
ACTI VI TIES MODULES
TESTI NG
MAI L
COUR SES
LI BR AR Y
COUR SE
CR EATI ON
FOR UM
P R OJ ECT
W OR K
LAB W OR K
R ESOUR CE
MANAGMENT
Introduction
The general idea of the Resource
Management system is to enable sharing
of many different resources between as
many users as possible.
The idea of the resource is not limited to
some laboratory equipment. It can be
some software application or some
interface to data stored in a remote
database for example.
Principles
object-oriented approach
the object communication is standardized
stationary agents as entities that work on
different tasks in the system
all communication protocols within
Resource Manager are defined using XML
Logical Model:
The architecture of the RM
(real)
resource
…
(real)
resource
optional
resource simulation
(Simulation Agent)
optional
…
resource simulation
(Simulation Agent)
resource protocol I (RPI)
communicating
interface
(Communication
Agent)
resource
definitions
database
server log
database
resource server
(Resource Selector
Agent)
…
…
communicating
interface
(Communication
Agent)
resource server
(Resource Selector
Agent)
run on
request
run on
request
resource
definitions
database
server log
database
Resource Manager server (Server Agent)
resource protocol II (RPII)
resource view
<display interface>
(View Agent)
…
resource view
<display interface>
(View Agent)
RM applet
(Container Agent)
…
RM applet
(Container Agent)
web-based user
interface
…
web-based user
interface
Resource Manager Model:
Class diagram
Applet
<<Interface>>
IViewAgent
Panel
View
Classes
resource protocol II (RPII):
 list all resources
 ask for specific resource
ContainerAgent
ViewAgent
connect
Thread
ListBox
Button
TextField
ServerAgent
Choice
Server
Classes
Run on
connection
request
ResourceSelectorAgent
run for specific resource
<<Interface>>
ICommunicationAgent
CommunicationAgent
resource protocol I (RPI):
 do action
 get results
Resource
Communication &
Simulation Classes
<<Interface>>
ISimulationAgent
SimulationAgent
drive
(real)
resource
Implemented
using DCOM
Resource Manager Model:
Collaboration diagram
1:action()
:ContainerAgent
2:manageAction()
14:notify()
:ViewAgent
3:connect()
5:accept()
:ServerAgent
6:request()
13:response()
4:manageRequest()
:ResourceSelectorAgent
7:request()
12:response()
:CommunicationAgent
11:response()
8:request()
:SimulationAgent
9:run()
10:getResults()
:resource
XML defined protocol
View Agent
Resource Selector Agent
<CONNECT/>
<ACKNOWLEDGEMENT/>
<ACKNOWLEDGE>
<ID>vlClient35</ID>
<CODE>VLAB</CODE>
</ACKNOWLEDGE>
View Agent
<CONTINUE>YES</CONTINUE>
<ACCEPTED>
<ID>vlClient35</ID>
<CODE>BALV</CODE>
</ACCEPTED>
<RESOURCE>
<ID>vlResource_Chem_Robot</ID>
</RESOURCE>
<ERROR>
<NUMBER>0</NUMBER>
<DESCRIPTION>
No error.
</DESCRIPTION>
</ERROR>
<CONTINUE>YES</CONTINUE>
<RESOURCE>
<ID>vlResource_Chem_Robot</ID>
<AVAILABLE>YES</AVAILABLE>
</RESOURCE>
<COUNT>1</COUNT>
<CONTINUE>YES</CONTINUE>
<ITEM>
<TYPE>NUMBER</TYPE>
<NAME>x</NAME>
<VALUE>135</VALUE>
</ITEM>
<REQUEST>
<CONTINUE>YES</CONTINUE>
<COUNT>1</COUNT>
<CONTINUE>YES</CONTINUE>
<CONTINUE>YES</CONTINUE>
<ITEM>
<TYPE>STRING</TYPE>
<NAME>Direction</NAME>
<VALUE>LEFT</VALUE>
</ITEM>
<ITEM>
<TYPE>NUMBER</TYPE>
<NAME>y</NAME>
<VALUE>23</VALUE>
</ITEM>
<CONTINUE>YES</CONTINUE>
</REQUEST>
<CONTINUE>YES</CONTINUE>
<ITEM>
<TYPE>NUMBER</TYPE>
<NAME>z</NAME>
<VALUE>-35</VALUE>
</ITEM>
<CONTINUE>YES</CONTINUE>
<RESPONSE>
<CONTINUE>YES</CONTINUE>
<COUNT>3</COUNT>
<CONTINUE>YES</CONTINUE>
<CONTINUE>YES</CONTINUE>
<CONTINUE>YES</CONTINUE>
<DISCONNECT>
<ID>vlClient35</ID>
<CODE>BALV</CODE>
</DISCONNECT>
<ITEM>
<TYPE>NUMBER</TYPE>
<NAME>x</NAME>
</ITEM>
</RESPONSE>
<ITEM>
<TYPE>NUMBER</TYPE>
<NAME>y</NAME>
</ITEM>
<DISCONNECTED>
<ID>vlClient35</ID>
<CODE>VLAB</CODE>
</DISCONNECTED>
<CONTINUE>YES</CONTINUE>
<ITEM>
<TYPE>NUMBER</TYPE>
<NAME>z</NAME>
</ITEM>
<CONTINUE>YES</CONTINUE>
</RESPONSE>
Resource Selector Agent
<RESPONSE>
Implementation
Web Browser
Web Server
Web Page
Container
Agent
View
Agent
Resource Host
Web Server
Communication Agent
Web
site
Simulation Agent
(real) resource
Resource Selector Agent
Server log
Server Agent
Resource def.
The main components of the RM service
RM is implemented in
Windows environment.
All agents are
developed in Java,
with exception of
Resource Simulation
Agents, which are
based on DCOM
technology.
Implementation:
Resource Manager in action
resource: XML Validator
resource: Robot Car
http://odl-skopje.etf.ukim.edu.mk/vlab/
Experimental Results
We involved end users (students) in
functionality testing and used feedback
from them to add all requested
functionality
We involved 38 users from Macedonia and
Italy in the usability and education
efficiency analysis.
In general, users are satisfied with the RM
usability
Conclusion
We extended the concept of distance
education with adding a new service,
that we call Resource Manager
By combining object-oriented design
and definitions of common interfaces
for the different types of agents for
different types of resources, we
designed extensible system, in which
resources are added in an easy way.