Education Cluster Supporting eTesting and eLearning in Software ...

2 downloads 0 Views 545KB Size Report
eLearning; eTesting; education in software engineering. (key ... model for event management, enabling the users to .... suitable refactoring methods (“short list”).
Education Cluster Supporting eTesting and eLearning in Software Engineering Stanimir Stoyanov

Veselina Valkanova

Department of Computer Systems University of Plovidiv “Paisii Hilendarski”, Plovdiv, Bulgaria [email protected]

Department of Computer Systems University of Plovidiv “Paisii Hilendarski”, Plovdiv, Bulgaria [email protected]

Emil Doychev

Vladimir Valkanov

Department of Computer Systems University of Plovidiv “Paisii Hilendarski”, Plovdiv, Bulgaria [email protected]

Department of Computer Systems University of Plovidiv “Paisii Hilendarski”, Plovdiv, Bulgaria [email protected]

Asya Stoyanova-Doycheva Department of Computer Systems University of Plovidiv “Paisii Hilendarski”, Plovdiv, Bulgaria [email protected] Abstract – In this paper, a university project, known as DeLC (Distributed eLearning Center), is presented briefly. Following the philosophy of DeLC for building more complex structures, an educational cluster is developed consisting of two nodes. The first node is an educational portal which provides various educational services and teaching content. The second node hosts intelligent components, known as "assistants'', they support the portal services in order to increase the efficacy of the whole cluster. The application of educational portal for eTesting and eLearning in software engineering is discussed as well. (Abstract) Keywords – agent- and service-oriented architectures; eLearning; eTesting; education in software engineering. (key words)

I.

INTRODUCTION

Recently the interest towards electronic is growing. As a result of that many universities have developed and implemented their own eLearning environments and architectures. A number of standards for eLearning are also emerging; a significant role is played by the Sharable Content Object Reference Model 2004 (SCORM 2004) standard [1]. In this paper, a university project, known as DeLC (Distributed eLearning Center), is presented briefly. DeLC aims at creating a hybrid architecture that can support development of eLearning environments [2]. A specific environment, called educational cluster, is also described. The usage of the educational cluster is demonstrated with two applications – e-testing and training in software engineering.

II.

DISTRIBITED ELEARNING CENTER

The Distributed Center aims to provide a distance eLearning and e-Teaching facility available at any place and at any time to individuals and groups of students/educators both in on-line (synchronous) and off-line mode (asynchronous). DeLC infrastructure [3] is presented as a network structure (Fig. 1), which consists of separate nodes, called eLearning Nodes (eLNs). The nodes can be servers of real educational units (e.g., laboratories, departments, faculties, colleges, universities) which host various educational services and teaching content. Towards the access to educational services and teaching content, an eLN can be either fixed or mobile. Remote eService activation and integration is possible only by means of previously defined virtual structures, named clusters. In the network model we can easily create new structures, reorganize or remove existing ones (the reorganization is done on a virtual level, it does not affect the real organization). For example, the reorganization of an existing virtual structure can be made not by removing a node but by denying the access to the corresponding eServices offered by it. The reorganization does not disturb the function of other nodes (as nodes are autonomous selfsufficient educational units providing one or more integral educational services). Following the DeLC philosophy for building of more complex structures, an education cluster is developed consisting of two nodes. The first node is an educational portal which provides various educational services and teaching content. The second node hosts intelligent components, known as "assistants'' that support the portal

services in order to increase the efficacy of the whole cluster.

teacher can enrich the accessible digital library of the test questions in their discipline. Furthermore, the teachers prepare templates which the system use for automatic generation of individual tests (instances of the template) in real time (during the exam). Moreover, the engine provides support of tests evaluation.

eLN1

Cluster



Event Engine – The Event Engine implements a model for event management, enabling the users to see and create events and also be notified for them in advance. The events in the system reflects an important moments for the users, such as a lecture, examination, test, national holiday, birthday, etc. One event is characterized by attributes, such as a name, start and end date and time, details, and information if it is a recurring one, as well as rules for its recurrence. The Event Engine supports yearly, monthly and weekly recurring.



User Profiling Engine – The User Profiling Engine achieves an extendible classification scheme that allows to define following categories: individual users, user groups, roles, organizations, communities. Users can be organized into groups; a user can belong to organizations; organizations can be grouped into hierarchies; users, groups, and organizations can belong to communities that have a common interests and so on. Moreover, the engine is responsible for generation and updating of users profiles.



AVCall Processor – The AVCall Processor implements the communication between the education portal and the Agent Village Node (presented in the next section).

eLNm

eLNk

eLNp

Figure 1. DeLC Network Model

III.

EDUCATION PORTAL

A. Architecture In order to support an interactive and personalized delivery of services and content, there is designed a uniform approach for the representation and processing of various types of information objects in the portal. For each type of object we have established a classification scheme and a profile. Thus, each object can be uniquely identified according to its location in the classification scheme and its individual profile. Examples of information objects, supported in the portal, are users, e-content, services, events. The portal architecture [4] is service-oriented and multilayered consisting of a user interface, e-services and digital libraries (Fig. 2). The user interface supports the connection between the users and the portal. Through it the users can register in the system and create their own personalized educational environment. The user interface visualizes and provides access for the user to services, depending on their role, assigned during the registration.

eLearning services are grouped in three categories:

The e-services are classified in two groups - engines and eLearning services. The engines are transparent for the users and their primary purpose is to assist in the processing of the eLearning services. Using the classification scheme and the profiles of the information objects, they can effectively support the activation, execution and completion of the services. The next engines are incorporated in the portal architecture: 

SCORM Engine – SCORM Engine is an interpreter of the electronic content, developed in accordance with the SCORM 2004 standard.



Test Engine – The Test Engine assists in the conduct of individual electronic testing of students. Each



Services for training, organizing and planning of the educational process.



Services for conduction and management of the educational process – to this group belong services as electronic lectures, electronic testing, online and offline consultations, etc.



Services for recording and documenting the educational process – these services support automated generation of documents, recording the educational process as examination protocols, student books, teachers’ personal notebooks and archives).

The third layer manages the electronic content saved in digital libraries. Currently, there are lecture courses, questionnaires, test templates, course projects and diploma theses libraries. The portal services can work directly with the digital libraries. Moreover, a generalized catalog is provided to the users, representing the content of the libraries.

User Interface

Services User Profiling Engine

eLearning Service

SCORM Engine

Test Engine

Event Engine

AVCall Processor

Digital Libraries Catalogue

DLibM

DLibQ

DLibT

DLibP

DLibD

Figure 2. DeLC Education Portal

B. Personalization The DeLC project aims a personalized provision of eLearning services and teaching material as well. A multiaspect model of personalization has been implemented in the portal architecture. The first aspect is user classification and role organization. The users’ profiles can be classified by roles, user groups, communities, and organizations. A standard user profile includes the following kinds of attributes: 

Standard attributes – necessary for user identification through username, password, e-mail, and others.



Extended attributes – addresses, phone numbers, Internet pages, IM, social networks contacts, and others.



DeLC custom attributes – other user identifications. Thus, for example, for users with role “student” these can be faculty number, subject, faculty, and course.

The portal gives an opportunity for extending the user profile with additional attributes. The users’ profiles contain the whole information needed for personalization of the provided by DeLC portal services, educational content and user interface. The profile is created automatically during the first user’s login (through communication with the university’s database) filling in the standard and custom attributes. The integration with the university database and with other external components is supported by the User Profiling Engine. Extended attributes are filled by the user. During each next user’s login, the information in their profile is synchronized, as eventual updates in the university’s database are automatically migrated in the user’s profile; for example, passage in the upper course or changing the subject.

The second aspect is structuring of the teaching material saved in the digital libraries. The teachers have the freedom to specify different structural schemas according the desired teaching approach. The third aspect is personalization of the provided eLearning services. Currently, it is possible to generate individual tests; the student can use personalized schedules and calendars; individual student reports and reviews can be prepared. IV.

AGENT VILLAGE NODE

The architecture of the Agent Village Node consists of two layers (Fig. 3.): 

Assistants – intelligent agents that assist the educational services of the portal. Currently, the Agent Village incorporates eTesting Assistants and Refactoring eLearning Environment (ReLE).



Agent Village Infrastructure – it provides an integrated environment in which the assistants operate.

A. Agent Village Infrastructure The Agent Village infrastructure integrates two different environments - JADE and Eclipse. JADE (Java Agent DEvelopment Framework) [5] is an open source agentoriented platform compatible with FIPA (Foundation for Intelligent Physical Agents) specification [6]. The platform is composed of containers that manage Java processes providing the JADE run-time and all the services needed for hosting and executing agents [7]. The communication within the Agent Village is supported by a Message Transport Service (MTS) provided with the JADE platform. According FIPA specification, two special agents are provided:

DeLC Education Portal

eTesting Assistants

Refactoring eLearning Environment (ReLE) Refactoring Agent (RA)

Evaluator

Local control sensors RAnal

Fraud Detector

Working Desk

Behav

Knowledge base

effectors

Statistician

JADE

Eclipse (IDE)

Figure 3. Agent Village Node



The Agent Management System (AMS) – this agent supervises the platform and implements the white pages service of the platform.



The Directory Facilitator (DF) – this agent implements the yellow pages service of the platform.

According the DeLC concept, the assistants have to be proactive as well. In order to achieve this we need agents with cognitive abilities, namely autonomy, proactivity and social ability. A widely used way of designing and implementing agents with mental states is the BDI model proposed in [8]. The model states generation of agent’s action supported by mental attitudes as beliefs, desires and intentions [9]. Unfortunately, the standard JADE platform doesn’t support a direct implementation of the BDI architecture. Due to this limitation of JADE, in the last year a BDI layer on top of JADE, known as BDI4JADE, was implemented [10]. Currently, the infrastructure of Agent Village is extended with the BDI4JADE library. Eclipse [11] is a multi-language software development environment consisting of an Integrated Development Environment (IDE) and an extensible plug-in module. Eclipse is free and open source software. A development environment, including the Eclipse JDT (Java Development

Toolkit) for Java, is integrated in the infrastructure of the Agent Village. B. eTesting Assistants These assistants help electronic testing of students performed in the DeLC portal. The agents operate completely in JADE platform. Currently, four assistants are developed and “inhabit” the Agent Village: 

Evaluator Assistant – provides expert assistance to the teacher in assessment of the electronic tests. In the Test Engine, a system service for automated assessment of “choice like” questions is delivered. Questions of the “open-ended” type are assessed and the ratings are recalculated manually by the teacher. In the education cluster, however, the Test Engine is able to request assistance from the Evaluator Assistant which performs “external” assessment of the “open-ended” questions.



FraudDetector – tries to recognize any attempts to cheat in the answers given by the students. Such attempts would be to guess the keywords or copy/paste results from Internet search engines. This assistant cooperates with the Evaluator agent and if its receptors detect a probability of a cheating

attempt, it informs the Evaluator agent, which for its part send forward a warning message to the teacher. 

Statistician - stores information about all processed answers with a full history of the details from all calculating methods used by the Evaluator agent. This assistant needs a feedback how many points are finally given by the teacher for each answer. Thus it accumulates a knowledge base for each teacher and is able to decide which of the methods best suits the assessment style of the particular teacher. Upon returning the results of the Evaluator assistant, the agent determines which results from each method will be presented as main result, and the results of the other methods will be presented as an alternative. Another feature of this agent is to generate actual statistics on the performance of each of the calculating methods, as the “weakest” of them will go out of service until new and better performing methods are added to the Evaluator agent.

C. Refactoring eLearning Environment ReLE is an agent-oriented environment assisting eLearning in software engineering and in particular in software refactoring. Although the refactoring process could be realized by hand, the possibility of applying automatic tools is of great importance. The ReLE architecture consists of two components (Fig. 4.): 

Front-end (FE) – the environment, which is used by the students for editing, compilation and testing of the source code.



Back-end (BE) – an intelligent agent, known as Refactoring Agent (RA), assisting the students during code improving.

The RA continuously analyses and assesses the source code in FE. Via the sensors the RA accesses the complete source code. This implies not only the files being edited, but also the completed ones that have not been opened in the FE for editing. In this way the agent could make a profound analysis and give an adequate assessment for the required changes on the basis of all the code rather than the part that is currently being modified. The sensors also provide some basic metric information to the agent, which is used for initial filtering of the possible refactoring methods that can be further evaluated. The possible metrics are LOC (Line of Code) per class/method, number of methods/attributes per class, and so on. The role of the effectors is to trigger different events that assist the students during the accomplishment of their tasks in FE, where they are working. Such events could be: 

Underlying particular parts of the highlighting them with a selected color.



Displaying messages in dialog windows, balloon messages, etc.



Emitting sound-signals, vocal messages.



“Incarnating” the agent in the form of animation to exalt the effect.

code

by

The collaboration of the sensors and effectors is coordinated by the Local Control (LC) of the agent. For this purpose, LC uses the information from the sensors and the refactoring rules stored in the Refactoring Knowledge Base (RKB) of the agent. The analysis of the source code is done on individual steps. In the first step, the RParser parses the source code and transforms it into a tree-like structure. In the next step, the RAnalyzer analyses this structure; in accordance with results, it takes the first filtering of the suitable refactoring methods (“short list”). The RKB is a set of rules. Each rule describes the conditions that allow a particular refactoring method to be entered in the “short list”. Depending on the refactoring method, which should be applied, the agent could react in three different ways: 

Automatic Refactoring - to apply the method automatically after receiving a confirmation from the user.



Refactoring Proposal - to display detailed instructions, explaining to the user where and how the particular refactoring method should be applied.



Refactoring Questionnaire - to ask the user additional questions in order to clarify the conditions and define the appropriate refactoring method. V.

CONCLUSION

In this paper, an education cluster was presented. The agent- and service-oriented architecture of the cluster supports an interactive and proactive provision of eLearning services and teaching content. During the last two years the cluster is in test in a real education process (the Faculty of Mathematics and Informatics at the University of Plovdiv “Paisii Hilendarski”, Bulgaria). The main results are summarized in [12,13,14]. ACKNOWLEDGMENT The authors wish to acknowledge the support of the National Science Fund (Research Project Ref. No. DO02149/2008) and the Science Fund of the University of Plovdiv “Paisii Hilendarski” (Research Project Ref. No. NI11-FMI-004). REFERENCES [1] [2]

[3]

[4]

[5] [6] [7]

SCORM 2004, http://www.adlnet.org/, to date. S.Stoyanov, I.Ganchev, I.Popchev, M.O’Droma, From CBT to eLearning, Journal “Information Technologies and Control”, No. 4/2005, Year III, pp. 2-10. S.Stoyanov, I.Popchev, Evolutionary Development of an Infrastructure Supporting the Transition from CBT to e-Learning, Cyberbetics and Information Technologies (CIT), 2/2006, Bulgarian Academy of Sciences, pp. 101-114. S. Stoyanov, I. Popchev, E. Doychev, D. Mitev, V. Valkanov, A. Stoyanova-Doycheva, V. Valkanova , I. Minov, DeLC Educational Portal, Cybernetics and Information Technologies (CIT), Vol.10, No 3., Bulgarian Academy of Sciences, 2010, pp. 49-69. Java Agent Development Framework, http://jade.tilab.com/, to date. The Foundation of Intelligent Physical Agents, http://www.fipa.org/, to date. F. Bellifemine, G. Caire, D. Greenwood, Developing Multi-Agent Systems with JADE, John Wiley & Sons, Ltd, 2007.

IDE Source Files

GUI

IDE Toolkit

Sensors

Effectors

REvaluator

MAE

Syntax Tree Behaviours

Local Control

RAnalyzer

Knowledge Base

Figure 4. ReLE Architecture [8]

[9]

[10]

[11] [12]

[13]

Georgeff, M., Pell, B., Pollack, M., Tambe, M. & Wooldridge, M., The belief-desireintention model of agency, in J. Müller, M. P. Singh & A. S. Rao, eds, 'Proceedings of the 5th International Workshop on Intelligent Agents V : Agent Theories, Architectures, and Languages (ATAL-98)', Vol. 1555, Springer-Verlag: Heidelberg, Germany,1999, pp. 1-10. Rao, A. S. & Georgeff, M. P., BDI-agents: from theory to practice, in: Proceedings of the First Intl. Conference on Multiagent Systems, 1995, San Francisco. Oliveira de Nunes, C. J. Pereira de Lucena, BDI4JADE: a BDI layer on top of JADE, Monografias em Ciência da Computação, No. 15/10 ISSN: 0103-9741, Editor: Prof. Carlos José Pereira de Lucena, November, 2010. Eclipse, http://www.eclipse.org/, to date. S. Stoyanov, G. Cholakov, V. Valkanova, M. Sandalski, Personalized, Reactive and Proactive Providing of e-Learning Services, EdiLib Conference , AACE E-Learn 2011 – World Conference on ELearning in Corporate, Government, Healthcare & Higher Education, Honolulu, Hawaii, USA, 17-21 October, 2011, 2527-2534. M. Sandalski, A. Stoyanova-Doycheva, I. Popchev, S.Stoyanov, Development of a Refactoring Learning Environment, Cybernetics and Information Technologies (CIT), Vol.11, No 2, Bulgarian Academy of Sciences, 2011, 46-64.

[14] S. Stoyanov, E. Doychev, V. Valkanova, E. Cholakov, Education Cluster for Intelligent Provision of eLearning Services, The Fourth International Conference on Advances in Databases, Knowledge, and Data Applications DBKDA 2012, February 29 - March 5, 2012 Saint Gilles, Reunion Island, in press.