resource manager for distance education systems goran kimovski vladimir trajkovik danco davcev...
TRANSCRIPT
Resource Manager for Distance Education Systems
Goran KimovskiVladimir TrajkovikDanco Davcev
Faculty of Electrical Engineering and Computer Science, Skopje, Macedonia
THE WHOLE PICTURE
ADMINISTRATIONMODULES
STUDENT SERVICEMODULES
ACTIVITIES MODULES
STUDENT &COURSESDATA
COURSES
LIBRARY
TESTING
FORUM
COURSECREATION LAB WORK
RESOURCEMANAGMENT
PROJ ECTWORK
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 approachthe object communication is
standardizedstationary agents as entities that
work on different tasks in the systemall communication protocols within
Resource Manager are defined using XML
Logical Model:The architecture of the RM
server logdatabase
resourcedefinitionsdatabase
optional
run onrequest
optional
(real)resource
(real)resource…
resource simulation(Simulation Agent)
resource simulation(Simulation Agent)…
communicatinginterface
(CommunicationAgent)
communicatinginterface
(CommunicationAgent)
…
resource server(Resource Selector
Agent)
Resource Manager server (Server Agent)
resource view<display interface>
(View Agent)
resource view<display interface>
(View Agent)…
resource protocol II (RPII)
RM applet(Container Agent)
web-based userinterface
RM applet(Container Agent)…
web-based userinterface…
resource server(Resource Selector
Agent)…run onrequest
resourcedefinitionsdatabase
server logdatabase
resource protocol I (RPI)
Resource Manager Model: Class diagram
resource protocol I (RPI): do action get results
ViewAgent
Applet
Panel
ContainerAgent
<<Interface>> IViewAgent
ListBox
Button
TextField
Choice
View Classes
CommunicationAgent
<<Interface>> ICommunicationAgent
SimulationAgent
<<Interface>> ISimulationAgent
Implemented using DCOM
Resource Communication &
Simulation Classes
Server Classes
Thread
ServerAgent
ResourceSelectorAgent
Run on connection
request
resource protocol II (RPII): list all resources ask for specific resource
connect
run for specific resource
(real) resource
drive
Resource Manager Model:Collaboration diagram
9:run()10:getResults()
8:request()11:response()
7:request()12:response()
4:manageRequest()
6:request()13:response()
5:accept()3:connect()
14:notify()2:manageAction()
1:action() :ContainerAgent
:ViewAgent
:ServerAgent
:CommunicationAgent
:ResourceSelectorAgent
:SimulationAgent
:resource
XML defined protocol View Agent Resource Selector Agent
<CONNECT/> <ACKNOWLEDGEMENT/> <ACKNOWLEDGE> <ID>vlClient35</ID> <CODE>VLAB</CODE> </ACKNOWLEDGE>
<ACCEPTED> <ID>vlClient35</ID> <CODE>BALV</CODE> </ACCEPTED>
<RESOURCE> <ID>vlResource_Chem_Robot</ID> </RESOURCE>
<RESOURCE> <ID>vlResource_Chem_Robot</ID> <AVAILABLE>YES</AVAILABLE> </RESOURCE>
<REQUEST> <CONTINUE>YES</CONTINUE> <COUNT>1</COUNT> <CONTINUE>YES</CONTINUE> <ITEM> <TYPE>STRING</TYPE> <NAME>Direction</NAME> <VALUE>LEFT</VALUE> </ITEM>
<CONTINUE>YES</CONTINUE> </REQUEST> <CONTINUE>YES</CONTINUE> <RESPONSE> <CONTINUE>YES</CONTINUE> <COUNT>3</COUNT> <CONTINUE>YES</CONTINUE> <ITEM> <TYPE>NUMBER</TYPE> <NAME>x</NAME> </ITEM>
<CONTINUE>YES</CONTINUE> <ITEM> <TYPE>NUMBER</TYPE> <NAME>y</NAME> </ITEM>
<CONTINUE>YES</CONTINUE> <ITEM> <TYPE>NUMBER</TYPE> <NAME>z</NAME> </ITEM>
<CONTINUE>YES</CONTINUE> </RESPONSE>
View Agent Resource Selector Agent <RESPONSE> <CONTINUE>YES</CONTINUE> <ERROR>
<NUMBER>0</NUMBER> <DESCRIPTION> No error. </DESCRIPTION> </ERROR>
<CONTINUE>YES</CONTINUE> <COUNT>1</COUNT> <CONTINUE>YES</CONTINUE> <ITEM>
<TYPE>NUMBER</TYPE> <NAME>x</NAME> <VALUE>135</VALUE> </ITEM>
<CONTINUE>YES</CONTINUE> <ITEM>
<TYPE>NUMBER</TYPE> <NAME>y</NAME> <VALUE>23</VALUE> </ITEM>
<CONTINUE>YES</CONTINUE> <ITEM>
<TYPE>NUMBER</TYPE> <NAME>z</NAME> <VALUE>-35</VALUE> </ITEM>
<CONTINUE>YES</CONTINUE> </RESPONSE> <DISCONNECT> <ID>vlClient35</ID> <CODE>BALV</CODE> </DISCONNECT>
<DISCONNECTED> <ID>vlClient35</ID> <CODE>VLAB</CODE> </DISCONNECTED>
Implementation
(real) resource
Web Browser
Web Page
Container Agent
Resource def.
Web Server
Resource Selector Agent
Web Server
Web site
Server Agent
View Agent
Server log
Resource Host
Communication Agent
Simulation Agent
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: Robot Car
resource: XML Validator
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.