Advances in Communications, Computers, Systems, Circuits and Devices

Software architecture components of an abstract framework for assessment in e-learning

Milen Y. Petrov, and Vladimir A. Vlaykov

fundamentals (based on C/C++ programming languages), object-oriented programming fundamentals (based on Java programming language) and data-structures (based on Java). The current paper describes details on a reference Abstract—These days, software engineering skills are under- implementation of components of an event-driven framework evaluated. Software projects, software product lines and vast amounts (described below in part II) for student assessment. The paper of open-source code and frameworks are pushing software engineers continues with a short explanation of an abstract event-driven up to their limits in order to manage software tasks. The current paper framework for interoperability in e-learning systems. In the puts an accent on the implementation of the client and repository architecture components from an abstract event-driven third part, we describe the methodology of research – from interoperability framework for assessment in e-learning. Reference abstract concepts to software implementation. In part IV of the architecture and implementation enforce development and evaluation current paper, a specific architecture and the underlying of the abstract framework. The proposed solution is reviewed and components are presented. In the next part, the interaction discussed and some advantages and disadvantages are pointed out. sequence between the repository components is described. In part VI, we have the relevant use-cases for testing and Keywords—e-learning, assessment, event-driven framework evaluation of the architecture components. Finally, in part VII, (EDF), software engineering skill assessment we have listed some conclusions and an analysis of the results.

I. INTRODUCTION II. EVENT-DRIVEN FRAMEWORK FOR INTEROPERABILITY IN E- HESE days, software engineering skills are under- LEARNING SYSTEMS evaluated. Software projects, software product lines and T In previous research papers [9], [10], an abstract event-driven vast amounts of open-source code and frameworks are pushing framework has been proposed to support data-exchange and software engineers up to their limits in order to manage interoperability (I14Y) in e-learning systems. In short, that software tasks. The Eclipse foundation estimates 24 million framework defines the following main components: client, lines of code (LOC) reported in years 2009 and 2010 [1, 2]. repository, monitored repository and validators. The Acquiring deeper technical knowledge and skills is important interaction between components is described on Fig.1 below. for every programming practitioner [3]. As new technologies literally appear every day and programming languages grow in A. Client size and functionality, it is hard to evaluate the current best Client – the event-driven architecture client is an actor. It practices together with new language features [4], [5]. could be a learning materials author, an instructor and/or a Different approaches for evaluation of student results are system or tool which is handling design and implementation of proposed, such as service-oriented peer assessment interoperable learning content. Designing interoperable architectures [6], stand-alone assessment tools [7], and content or content conforming to some of the learning traditional e-learning systems [8] among others. We propose specifications, i.e. one managed by IMS Consortium [11], an architecture framework for detailed evaluation of tasks [12], is not an easy task. Interoperability is described with the so-called conformance statements – a table with informal performed by university course students in software descriptions of different aspects of the specifications. These engineering and more precisely in courses on programming statements tend to be verified by hand and completing such an operation is not so easy. Problems come from the complexity Manuscript received October 31, 2010. This work was supported in part of specifications and the lack of user-friendly tools to support by the SISTER project, 7FP of EC with project number 205030. authoring activity. M. Y. Petrov PhD, assistant professor in Department of Software Engineering, Faculty of Mathematics and Informatics, Sofia University, Bulgaria (phone: ++359 878 596 220; e-mail: [email protected]). V. A. Vlaykov is a Master’s degree student, specializing in Software Engineering, in Faculty of Mathematics and Informatics, Sofia University, Bulgaria (phone: ++359 887 315 264; e-mail: [email protected]).

ISBN: 978-960-474-250-9 290 Advances in Communications, Computers, Systems, Circuits and Devices

system. More precisely, we are presenting only two components from the abstract framework architecture here – client and repository. Starting from an abstract framework and going through the implementation of each of the architecture components, the whole framework can be evaluated. The current paper focuses on the architecture and working sequence of the presented components. Afterwards, an evaluation of the results is presented and some conclusions and future work is pointed out. How this paper’s research work fits in the whole architecture is depicted on Fig.2 below.

Fig. 1 Sequence of interactions between the main Fig.2 Transformation from abstract framework to software architecture components component artifacts.

B. Repository The mid-term evaluation presented in this paper is done after In the area of e-learning, repository means some kind of data the implementation of the repository component and one warehouse. There is nothing special in that part of the sample use-case scenario. framework, except that the repository can contain both ready- to-use learning objects (conforming to some of the IV. ARCHITECTURE AND IMPLEMENTATION OF CLIENT AND specifications or standards, such as the IEEE LOM standard REPOSITORY COMPONENTS [13]), or just decoupled resource assets (like images, documents, pages). It also must collaborate with a special type A. Introduction of object – a monitored repository (described below), which One of the requirements of the reference implementation is to must be able to handle client requests for state changing. use mainly open-source software components and servers. Repository components and deployment diagram is shown on C. Monitored Repository Fig. 3. It contains one client layer and three application layers The monitored repository is a concept of a special kind of - database layer, application server layer and SMTP server repository (similar to the one described above). What is new middleware. here – the two types of repositories – one for hosting materials and assets, and one for editing, are totally decoupled. Such B. Overview of architecture components differentiation of repositories is the major advantage of the The client can be either a thin developed web client or a fat presented framework. With repository separation in two parts, client – any standard mail client. the task of design and development is decomposed. The database layer of the repository is implemented and tested with Oracle and PostgreSQL servers. D. Validators (V) The SMTP layer is a software component which is responsible The one or more interoperability validators are decision for sending and receiving e-mail messages. functions returning results (i.e. true or false, or something else) The application layer is an advanced architecture layer, which which depend on input data and its internal state. Validators consist of following sub-components: database interface, web can be: a) with internal state, b) without internal state – or the interface developed on Struts technology [14], incorporating so-called stateless validators – depending only on data, passed CKEditor [15], deployed on container [16], as parameters. JavaMail component [17], SubEthaSMTP component [18], James Mime4j [19] and CyberNeko HTML Parser [20]. III. RESEARCH METHODOLOGY The repository component is developed as an SMTP listener The methodology which we are using in the current paper is an which accepts messages composed as e-mails. adoption of the event-driven abstract framework (described in part II above) towards working components from a software

ISBN: 978-960-474-250-9 291 Advances in Communications, Computers, Systems, Circuits and Devices

E. NekoHTML CyberNeko HTML Parser (in short, NekoHTML) is an HTML scanner and tag balancer which allows parsing HTML documents and access to the information within using standard XML interfaces. The parser can scan HTML files and correct common errors made in the construction of HTML documents. NekoHTML adds missing parent elements, automatically closes elements with optional closing tags, and can cope with poorly balanced tags of several items listed on one line. NekoHTML is written using the Xerces Native Interface (XNI), which is the basis of the implementation of the XML parser Apache Xerces2. This allows use of the NekoHTML parser with existing XNI tools without modification or rewriting code. In our solution, NekoHTML is used for scanning the bodies of HTML messages and the removal of some unwanted tags and JavaScript attributes, which increases user security, as well as the stability of displaying HTML messages within the boundaries of the solution. F. JavaMail JavaMail is a Java API which is used for reading and creating, receiving and sending e-mail messages through use of protocols SMTP, POP3 and IMAP. JavaMail is relatively simple and easy to use, which makes it a preferred choice in Fig. 3 Deployment diagram of the application case detailed processing of e-mail messages is not required. Since March 2009, JavaMail is open-source software. C. SubEthaSMTP JavaMail API is used solely for sending e-mail messages in SubEthaSMTP is an open-source Java library that provides an our solution. We do not use it for receiving since SMTP server component for receiving mail in the abstract SubEthaSMTP, in combination with Mime4j and NekoHTML, Java interface. The SubEthaSMTP component can be used offers a more detailed means to process incoming messages. from almost any application for processing e-mail. JavaMail’s role as part of the repository is to compose an e- SubEthaSMTP library is extended with custom code and used mail message based on user input in a web client and then pass as part of the solution, its function being to behave as a listener it to the configured SMTP server responsible for sending e- which runs in the background and listens for incoming mail. messages. The SubEthaSMTP-based component in the G. CKEditor solution is not concerned with storing queues of messages like CKEditor is a WYSIWYG rich text editor for use in web a full-fledged SMTP server. An incoming message is either applications. It provides text editing functionality similar to directly accepted or refused. what is seen in the likes of Microsoft Word and OpenOffice. D. James Mime4j In the current solution, users can use CKEditor to compose e- Mime4j is a part of the Apache James project. It provides a mail messages in a web client. The resulting messages are in parser (MimeStreamParser) for electronic communications in HTML format. pure RFC822 and MIME format. It uses a callback mechanism to report events in the processing of an e-mail message, V. INTERACTION SEQUENCE BETWEEN ARCHITECTURE triggered by the header, the beginning of the message body, COMPONENTS OF THE REPOSITORY etc. Mime4j interface is very similar to the SAX XML parser. The interactions between different components of the There are two types of through which the message can be architecture are depicted on the sequence diagram on Fig.4. analyzed – one is iterative, using class MimeTokenStream, and Since the diagram describes receiving a message, the only the other is based on events, using class ContentHandler. component which is not mentioned here is the one using In the solution, a custom code-extended Mime4j component JavaMail to pass an outgoing message to the Mail Transport performs the important function of parsing e-mail messages Agent (MTA) which delivers e-mail messages. Upon receiving that the SubEthaSMTP-based component determines need to a message, the SMTP listener using SubEthaSMTP checks the be received by users. Mime4j is on the level immediately after recipients and, if they are approved, the message is passed to SubEthaSMTP in the structure of the Mail Delivery Agent the parser using Mime4j. There, the message is processed and (MDA) part of the repository in our solution. passed to the HTML parser for cleanup. Finally, a processed and formatted form of the initial message is returned to the

ISBN: 978-960-474-250-9 292 Advances in Communications, Computers, Systems, Circuits and Devices

Fig. 4 Sequence diagram of interactions listener and then passed to the manager/database interface, programming tasks is described in source code on Fig. 6 which subsequently stores it into the database. below:

VI. USE-CASES FOR TESTING AND EVALUATION OF THE line 0: for-each skill-in-development (SkillLevel) ARCHITECTURE COMPONENTS line 1: foreach-student S assign Task T A. Use-case 1 line 2: S performs tasks and submits back to the system line 3: perform evaluation on several different steps - check for formal criteria (lines-of-code, using comments) for each artifact required (can be number of lines of the requirement (or number of pages if task is in several pages)) – usually above 5 - check internal database for plagiarism - check asset-specific evaluators - assessment indicator statistics and self-improvement Fig.6 Transformation from abstract framework to software component artifacts

VII. CONCLUSION AND FUTURE WORK Design and development of the entire system are still unfinished and the conclusions made above cannot be applied to the results which can be achieved with a fully working Fig.5 Use-case diagram of the solution system. Nevertheless, it is an important step of building software components to evaluate them as soon as they are The use-case diagram describes the basic usage of the designed and developed, in order to find and remove any described solution. The user checks the existing messages possible defects – especially in the requirements, high-level (internal for the system or external, e-mail-based ones) and can architecture (abstract framework), low-level architecture and then read one of them and/or download attached resources), or software design of the system. As a result of the analysis made, compose and send a new message (attaching resources, if here are the main advantages of the architecture and the necessary). underlying abstract framework: B. Use-case 2: Software engineering courses - • Events can be fired as common e-mails fundamentals • The framework and architecture are content independent (any kind of learning objects format Algorithm for automatic evaluation of predefined software can be used, as long as it is wrapped as an e-mail

ISBN: 978-960-474-250-9 293 Advances in Communications, Computers, Systems, Circuits and Devices

message) [12] IMS Question and Test Interoperability Overview Version 2.1 Public Draft Specification), • Easy to use clients – any user with basic internet http://www.imsglobal.org/question/qtiv2p1pd/imsqti_oviewv2p1pd.htm skills can handle a browser and/or e-mail client l, Last visited 19.05.2006. • Easy to extend [13] IEEE Learning Technology Standards Committee. IEEE standard for learning object metadata (IEEE 1484.12.1{2002). http://ltsc.ieee.org/, • Based on open-source tools – can be easily replaced July 2002. with better tools (either open-source or [14] Struts, available at http://struts.apache.org, , last retrieved on commercial) 05.10.2010. [15] CKEditor, available at http://ckeditor.com, , last retrieved on • Final components have been tested with the scenario 05.10.2010. from use-case 1 (described above) and show very [16] Apache Tomcat, available at http://tomcat.apache.org/, last retrieved on good performance and stability 05.10.2010. Here are also some disadvantages: [17] JavaMail, available at http://www.oracle.com/technetwork/java/index- jsp-139225.html, last retrieved on 05.10.2010. • In order to evaluate the whole abstract event-driven [18] SubEthaSMTP, available at http://code.google.com/p/subethasmtp/, last interoperability framework for assessments, all retrieved on 05.10.2010. components should be implemented [19] James Mime4j, available at http://james.apache.org/mime4j, last retrieved on 05.10.2010. • Second use-case is not evaluated, as not all of the [20] CyberNeko HTML Parser, available at http://nekohtml.sourceforge.net/, described architecture components are available last retrieved on 05.10.2010. yet

Nevertheless, the results of the evaluation and analysis are very promising for future implementation of the framework.

REFERENCES [1] R. Mueller, “Eclipse - an Open Source Innovation Network”, Eclipse Foundation, EuroMed SPI & CEE SPI Conference & USAID / RCI Regional Workshop 18th - 20th October 2010, Sofia, Bulgaria (in- print). [2] Eclipse Foundation, “Eclipse Galileo Release”, available at http://www.eclipse.org/org/press-release/20090624_galileo.php, last visited 2010-10-30. [3] J.Kuo, F.Huang, “Code analyzer for an online course management system”, The journal of Systems and Software 83, 2010, pp.2478-2486. [4] M. Petrov, B. Bontchev, A. Aleksieva. "ARCADE Assessment Framework", 2nd Int. Conf. on Multimedia and ICTs in Education (m- ICTE2003), Badajoz, December 3-6, 2003 (SPAIN), ISBN: 84-96212- 12-2, Vol. III, pp. 1960-1963.. [5] M. Petrov, "Learner activities categorization in edutainment environment", VIIIth Conference on "Challenges in Higher Education and Research in 21st Century", 02-05 june, Sozopol 2010, Bulgaria, (in- print). [6] M. Petrov, Aleksieva-Petrova, A., Stefanov, K., Schoonenboom, J., Miao, Y. (2008), Evaluation of TENCompetence proof of concept assessment tools. In H. W. Sligte & R. Koper (Eds.). Proceedings of the 4th TENCompetence Open Workshop April, 10-11, 2008, Madrid, Spain: SCO-Kohnstamm Instituut, Amsterdam, The Netherlands, 2008, pp. 97- 101. [7] A. Aleksieva-Petrova, M. Petrov "Service Oriented Architecture of Assessment Model", Journal "Problems of Engineering Cybernetics and Robotics", Volume 60, Sofia, 2009, Bulgarian Academy of Sciences, ISSN 0204-9848, pp.85-91. [8] L.Vladinova , Petrov, M., & Iliev, T. “Assessing students' performance in distance education courses”. In Proceedings of the International Conference on Computer Systems and Technologies: e-Learning. New York: Association for Computing Machinery., 2003, pp. 644-649. [9] M. Petrov, "Interoperability framework for Assessment Authoring", 9th Intl. Conference, ICL2006 (Interactive Computer Aided Learning), IEEE Student Track, Villach (Austria), September 27-29, 2006, ISBN: 3- 89958-195-4, pp.226-1-226-7. [10] M. Petrov, “Event-driven interoperability framework for interoperation in e-learning information systems – monitored repository”, IADAT JOURNAL of Advanced Technology on Education (IJAT-e), March 2007, Volume 3, Number 1, ISSN (print): , ISSN: 1885-6403, ISSN (print): 1698-1073 , pp. 332-335. [11] IMS specifications, http://www.imsglobal.org/specifications.html, last visited 09.2006.

ISBN: 978-960-474-250-9 294