%%%%%%%%%%%%%%%%%%%%%%% file template.tex %%%%%%%%%%%%%%%%%%%%%%%%%
%
% This is a general template file for the LaTeX package SVJour3
% for Springer journals.          Springer Heidelberg 2010/09/16
%
% Copy it to a new file with a new name and use it as the basis
% for your article. Delete % signs as needed.
%
% This template includes a few options for different layouts and
% content for various journals. Please consult a previous issue of
% your journal as needed.
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% First comes an example EPS file -- just ignore it and
% proceed on the \documentclass line
% your LaTeX will extract the file if required
\begin{filecontents*}{example.eps}
%!PS-Adobe-3.0 EPSF-3.0
%%BoundingBox: 19 19 221 221
%%CreationDate: Mon Sep 29 1997
%%Creator: programmed by hand (JK)
%%EndComments
gsave
newpath
  20 20 moveto
  20 220 lineto
  220 220 lineto
  220 20 lineto
closepath
2 setlinewidth
gsave
  .4 setgray fill
grestore
stroke
grestore
\end{filecontents*}
%
\RequirePackage{fix-cm}
%
%\documentclass{svjour3}                     % onecolumn (standard format)
%\documentclass[smallcondensed]{svjour3}     % onecolumn (ditto)
%\documentclass[smallextended]{svjour3}       % onecolumn (second format)
\documentclass[twocolumn]{svjour3}          % twocolumn
%
\smartqed  % flush right qed marks, e.g. at end of proof
%

\usepackage{graphicx}
\usepackage[space]{grffile}
\usepackage{latexsym}
\usepackage{textcomp}
\usepackage{longtable}
\usepackage{tabulary}
\usepackage{booktabs,array,multirow}
\usepackage{amsfonts,amsmath,amssymb}
\providecommand\citet{\cite}
\providecommand\citep{\cite}
\providecommand\citealt{\cite}
\usepackage{url}
\usepackage{hyperref}
\hypersetup{colorlinks=false,pdfborder={0 0 0}}
\usepackage{etoolbox}
\makeatletter
\patchcmd\@combinedblfloats{\box\@outputbox}{\unvbox\@outputbox}{}{%
  \errmessage{\noexpand\@combinedblfloats could not be patched}%
}%
\makeatother
% You can conditionalize code for latexml or normal latex using this.
\newif\iflatexml\latexmlfalse
\AtBeginDocument{\DeclareGraphicsExtensions{.pdf,.PDF,.eps,.EPS,.png,.PNG,.tif,.TIF,.jpg,.JPG,.jpeg,.JPEG}}

\usepackage[utf8]{inputenc}
\usepackage[ngerman,english]{babel}


%
% \usepackage{mathptmx}      % use Times fonts if available on your TeX system
%
% insert here the call for the packages your document requires
%\usepackage{latexsym}
% etc.
%
% please place your own definitions here and don't use \def but
% \newcommand{}{}
%
% Insert the name of "your journal" with
% \journalname{myjournal}
%
\newcommand{\truncateit}[1]{\truncate{0.8\textwidth}{#1}}
\newcommand{\scititle}[1]{\title[\truncateit{#1}]{#1}}
\pagestyle{empty}


\begin{document}

\title{Ontology-based Learning Content Management System in Programming Languages Domain
%\thanks{Grants or other notes
%about the article that should go on the front page should be
%placed here. General acknowledgments should be placed at the end of the article.}
}
%\subtitle{Do you have a subtitle?\\ If so, write it here}

%\titlerunning{Short form of title}        % if too long for running head


 \author{Marina Kultsova, Anton Anikin, Irina Zhukova and Alexander Dvoryankin\\
~\\
Volgograd State Technical University, Volgograd, Russia\\
anton@anikin.name}

%\authorrunning{Short form of author list} % if too long for running head

%\date{Received: date / Accepted: date}
% The correct dates will be entered by the editor

\maketitle





\selectlanguage{english}
\begin{abstract}
This paper presents an ontology-based learning content management system to create the personal collections of learning resources. To manage the learning process the set of ontologies (ontologies of learning course domain, electronic learning resources, learner's profile and personal collections) is elaborated as well as the two-stage method and algorithms for retrieval and integration of distributed learning resources into personal collections. In the framework of considered ontology-based approach the software architecture and web application for creating the personal collections of learning resources have been developed. Developed system was applied for creation of personal collections for the course "Programming Languages. C++" in Volgograd State Technical University.
\keywords{learning content management system, personalized learning, ontology, smart learning content}
\end{abstract}

\section{Introduction}
 A learning content management system (LCMS) \cite{boiko2005content},\cite{rockley2003managing},\cite{white2005content} is a computer application that allows creating, editing and modifying learning content, organizing, deleting as well as maintenance from a central interface. The LCMS provides a complex platform meant for developing learning content used in e-learning educational systems. Many LCMS packages available on the market also contain tools that resemble those used in learning management systems (LMS), and most assume that an LMS is already in place. The emphasis in an LCMS is the ability for developers to create a new learning content in accordance to learning objectives as well as cognitive peculiarities and experience of learner. Most content-management systems have several aspects in common: a focus on creating, developing, and managing content for on-line courses, with far less emphasis placed on managing the experience of learners; a multi-user environment that allows several developers to interact and exchange tools; a learning object repository containing learning materials, which are commonly used components that are archived so as to be searchable and adaptable to any on-line course. 
 
 A new trend in LCMS development is using the Smart Learning Content (SLC) approach\cite{Brusilovsky_2014}. Apart from adaptive personalization \cite{Parra_2015} and sophisticated forms of feedback, smart learning content often also authenticates the user, models the learner, aggregates data, and supports learning analytics.  That is especially important in computer science education because of expediency of using the program and algorithm visualization tools, automatic assessment, coding tools, algorithm and program simulation tools, problem-solving tools and other learning resources that process input data provided by the learner and generate customized output. The same approach can be used to generate adaptive learning content based on the some content elements. So the creation of SLC implies personalized search of learning resources \cite{Ahn_2015} and adaptive visualization of information retrieval \cite{Ahn_2013}. 
 
 In this paper we describe the ontology-based learning content management system which allows to create a new smart learning content in programming languages domain in form of personal learning collection.

\section{Ontology-based approach to Learning Content Management}
The modern LMS and LCMS systems \cite{Hatzilygeroudis} usually includes the following components: subsystems for learning administration, users management (learners, tutors, learning courses authors, system administrators), testing and knowledge assessment (that generates reports about learners achievements in the course and allows to manage the learning of content during learning the course), course learning management, learning sequence management, learning content management, content delivery management, API for interaction with external subsystems.     

The common structure of LMS and LCMS systems is depicted in Fig. \ref{fig:LMS}, where: 1 - base information about LMS users; 2 - learning achievement reports, tests planning; 3 - learning course achievements; 4- current learning course achievements for modules of the course, modules tests results; 5 - learning content administration; 6 - testing results (for modules of the course); 7 - information about learning sequence of modules of the course; 8 - content selection for the learning course; 9 - content request; 10 - course learning management using the API (with third-party software); 11 - managing the content representation for the learner; 12 - content package; 13 - selected learning content; 14 - results of content selection from the content repository; 15 - representation of the learning content for learner; 16 - interactions using API with HTTP-requests.\selectlanguage{english}
\begin{figure}[h!]
\begin{center}
\includegraphics[width=1.00\columnwidth]{figures/en-arch-LMS-red/en-arch-LMS-red}
\caption{{\label{fig:LMS} Modern Learning Management Systems architecture%
}}
\end{center}
\end{figure}

For the learning resources management task it is necessary to find subset of the learning resources within set of the learning resources available in the repository. This subset should fulfill the learner needs and preferences. It is also necessary to organize the learning process on this set of learning resources.

In their previous works \cite{Anikin_VSTU2014_2,Anikin_VSTU2014_1,Anikin_KBSE2014} the authors proposed an ontology-based concept of new learning content creation in open learning network on the base of learning resources retrieval and integration in personal learning collections. The personal learning collection was defined as a set of the learning resources retrieved according to the learner profile, learner's current and outcome competencies and other personal preferences, and set of relations between the resources which define the learning sequence to achieve the learning objectives. The process of learning content management was presented as a control system  (Fig. \ref{fig:management}), where control object is the personal learning collection, controller for the inner circuit is the personal collection builder, for the outer circuit - the learner profile editor, the system output is the set of learning resources and relations between them, the measured output for the inner circuit is the personal collection quality measures, for the outer circuit - measured current and intentional competencies of the learner. So the feedback loops ensure the quality of the personal collection and conformity with the variable learner properties.\selectlanguage{english}
\begin{figure}[h!]
\begin{center}
\includegraphics[width=1.00\columnwidth]{figures/en-management/en-management}
\caption{{\label{fig:management} Learning content management as a control system%
}}
\end{center}
\end{figure}

The ontology-based approach to creation of personal learning collections implies utilizing the ontologies for modeling the learning course data domain, the learner profile, the learning resources and the personal learning collection. The  data domain of learning course is described by competencies (knowledge, skills, abilities) which the student should acquire as a result of the learning process within the learning course or some part of it. The knowledge field is represented as a set of knowledge domain concepts  and relations between the concepts. The learner profile is described using the current and outcome competencies (knowledge, skills, abilities) of the learner which are defined on the same domain. It also includes individual learner properties such as preferred languages, current and outcome knowledge level/comprehension etc. Each learning resources is annotated with competencies (knowledge, skills, abilities) which the learner can get using this resource, and prerequisite competencies which he should have before using this resource. These properties are defined on the same domain along with some specific properties (resource name, authors, resource location and type, language, knowledge level, didactic role etc.).  Annotated in this way learning resources can be collected in open repositories for further use. The meta-ontology for retrieval and integration of learning resources in the personal collections was developed (Fig. \ref{fig:metaontology}) to integrate and manage the domain ontologies:
\begin{equation}
M = < O_{M}, C, Inst, R, I> ,
\end{equation}
where $M$ -- meta-ontology; \\ $O_{M} = \left \{ O_{DD}, O_{ELR}, O_{COL}, O_{L} \right \}$ -- set of ontologies, $O_{DD}$ -- learning course domain ontology, $O_{ELR}$ -- learning resource ontology,  $O_{COL}$ -- personal learning collection ontology, $O_{L}$ -- learner profile ontology;\\ $C$ -- finite set of meta-ontology concepts, $C = \varnothing$; \\ $Inst$ -- finite set of meta-ontology instances, $Inst = \varnothing$; \\ $R=\left \{ has, uses, includes, is \right \} $ -- finite set of meta-ontology relations; \\ $I$ -- finite set of interpretation rules, $I = \varnothing$.\selectlanguage{english}
\begin{figure}[h!]
\begin{center}
\includegraphics[width=0.42\columnwidth]{figures/pic1/pic1}
\caption{{\label{fig:metaontology} Metaontology (IDEF5 diagram)%
}}
\end{center}
\end{figure}

The formal models of ontologies mentioned above are described in detail in \cite{Anikin_KBSE2014}.

The new two-stage method for electronic learning resources retrieval and integration based on ontology reasoning rules was developed which includes the following main stages:

1st stage: search for a fragment of semantic net which is relevant to search query. The search is performed using inference engine on the base of semantic rules defined in the ontology as a set of Horn clauses. To implement this stage the semantic rules were formulated for parametrized search on the following parameters: preferred language; outcome learner competencies; mastering level of competences; synonymy of the terms in subject domain.

2d stage: redefining the subnet obtained at the first stage. To implement this stage the semantic rules were formulated  to search the additional resources on the base of current learner competencies, and search the auxiliary resources, as well as the rules for defining the logical links between learning resources in personal collection. Auxiliary resources are the resources which are not included in the set of additional resources because of too long learning sequence but these resources can help to get the missing competences which are not provided by the set of additional resources.

The developed set of semantic rules allows to create the personal learning collection in accordance with the learning outcomes, current knowledge level and other preferences of the learner. This collection includes the relations between the learning resources to manage the learning process. To represent the ontology reasoning rules for learning resources retrieval and integration we used SWRL language. SWRL extends the OWL-DL and is based on first-order predicate calculus that allows to represent the reasoning rules as a set of Horn clauses. 
Below are a few examples of semantic rules. The SWRL-rule for learning resources retrieval based on the preferred language has the following form:
\begin{multline}\label{eq5}
COL:hasStudent(?c, ?u) \wedge L:hasLanguage(?u,?l) \wedge \\ 
\wedge ELR:hasLanguage(?r, ?l) \rightarrow \\
\rightarrow COL:hasResourceByLanguage(?c, ?r),
\end{multline}
where ?c, ?u, ?l, ?r -- SWRL variables,

$COL:hasStudent, L:hasLanguage, \\ ELR:hasLanguage, COL:hasResourceByLanguage$ -- ontology relations with ontology prefixes.

The SWRL-rule for learning resources retrieval based on the outcome learner competencies with allowance for the synonymy has the form:
\begin{multline}\label{eq6}
COL:hasStudent(?c,?u)\wedge \\
\wedge L:hasIntentionalDataDomain(?u,?d) \wedge \\
\wedge DD:hasCompetence(?d,?cmp1) \wedge \\
\wedge ELR:hasOutputCompetence(?r,?cmp2) \wedge \\
\wedge DD:is(?cmp2, ?cmp) \wedge DD:is(?cmp1,?cmp) \rightarrow \\
\rightarrow COL:hasResourceByIntentional-\\competencies(?c,?r).
\end{multline}
So, the rules ~(\ref{eq5}, \ref{eq6}) define the subset of learning resources that comply with the learner's language and outcome competencies.

The developed two-stage method  solves efficiently the problem of creating the personal learning collection as a result of search and integration of relevant learning resources at the expense of application of ontological model  for knowledge representation and semantic rules for inference on ontology.

\section{Software Architecture. Implementation Aspects}
To create the personal learning collections using the proposed method and developed ontologies, it is necessary to use appropriate software tools, providing the logic reasoning on ontologies (reasoning engines). To implement the logical reasoning the reasoning engine RacerPro (Racer Systems GmbH and Co. KG, Germany) was used. This engine supports the ontologies described with OWL language and reasoning rules described in SWRL. It also can work as server with both DIG (DL Implementors Group) interface and TCP/IP interface with internal queries language nRQL. DIG is a application interface to interact with the reasoning engine that also allows to work with OWL-ontologies and interact with other software tools like ontologies editor Prot\selectlanguage{ngerman}égé. However this interface has some restrictions, including impossibility to work with SWRL reasoning rules, so the TCP/IP interface was used to implement the SWRL-reasoning. 

RacerPro (Fig. \ref{fig:racer}) allows to load ontologies and ontology-based annotations in OWL (1-5) - Learning course domain ontology, Learning resource ontology, Learner profile ontology, Personal learning collection ontology, resources annotations within Learning resources repository - that can also include SWRL reasoning rules. Personal collection builder module interacts with the RacerPro reasoning engine, it generates requests for the OWL files load, forward chaining reasoning and nRQL-request for the ontology (7) and gets back the corresponding results from the RacerPro (6). On the base of the received results the Personal collection builder generates the learning resources presentation for the learner as the Personal learning collection (8) and provides the ability for learning management on this collection.\selectlanguage{english}
\begin{figure}[h!]
\begin{center}
\includegraphics[width=1.00\columnwidth]{figures/en-racer/en-racer}
\caption{{\label{fig:racer} Framework for integration of the ontologies and RacerPro reasoning engine to create the personal learning collections%
}}
\end{center}
\end{figure}

To automate the creation of personal collections of learning resources the software architecture was designed.
Software architecture for learning resources retrieval and integration into personal learning collection (Fig.~\ref{fig:architecture}) includes interface, logical and data levels.
Interface level provides creating the domain ontologies of learning courses, learning resources annotations and learner profile using ontology editor. The logical level includes the personal collections builder and third-party ontology reasoning engine RacerPro. The data level contains 4 ontologies described below, repositories for domain ontologies and annotated learning resources, learner profiles and personal collections of learning resources.

In the Fig.~\ref{fig:architecture}: 1 --- author knowledge about the learning course, learning resources and learner; 2,3 --- specific learning course ontology (in OWL); 4,5 --- learning course ontologies created or modified by the tutor; 6,7 --- learning resources annotations created or modified by the tutor; 8 --- RacerPro request for the learning resources annotations; 9 --- learning resources annotations (in OWL); 10 --- RacerPro request for specific learning course ontology; 11 --- specific learning course ontology (in OWL); 12 --- learner profile for RacerPro reasoning; 13,14 --- learner profile created or modified by the tutor or learner; 15 --- reasoning request (in nRQL); 16 --- reasoning results (the resources and relations of the collection, in nRQL); 17 --- information about learner; 18 --- information about learner profile; 19 --- information about learner profile's URL and request for creating the personal collection; 20 --- learner profile (in OWL); 21 --- personal collection of learning resources (in HTML).\selectlanguage{english}
\begin{figure}[h!]
\begin{center}
\includegraphics[width=1.00\columnwidth]{figures/en-pic3-v2/en-pic3-v3}
\caption{{\label{fig:architecture} Software architecture of LCMS%
}}
\end{center}
\end{figure}

The software tool for creating the personal learning collections Collection Builder \cite{Anikin_KBSE2014} was designed and implemented within framework of proposed knowledge-based approach with employment of the object-oriented analysis and C\# language  (Fig.~\ref{fig:cb1},~\ref{fig:cb2}). It allows to create the personal learning collection based on the learner profile and annotations of learning resources. The collection is visualized in tree-structured form in accordance with data domain structure defined with domain ontology (Fig.~\ref{fig:cb2}).\selectlanguage{english}
\begin{figure}[h!]
\begin{center}
\includegraphics[width=0.70\columnwidth]{figures/1en/1en}
\caption{{\label{fig:cb1} Collection Builder: learner profile and personal learning collection%
}}
\end{center}
\end{figure}\selectlanguage{english}
\begin{figure}[h!]
\begin{center}
\includegraphics[width=0.70\columnwidth]{figures/2en/2en}
\caption{{\label{fig:cb2} Collection Builder: tree-structured visualization of the personal learning collection%
}}
\end{center}
\end{figure}

\section{Software Testing and Personal Collections Quality Assessment}
Developed software tool was applied for creation of personal collections for the course "Programming Languages. C++" in Volgograd State Technical University. Testing included the following steps: creation of personal collections by students themselves using Collection Builder; creation of personal collections for students by tutors-experts; comparative analysis of created collections, assessment of collections quality, estimation of collection creation time.

As a quality criterion for the personal learning collection we used the relevance to the search query, at that, the relevance is defined on the basis of the following quantitative metrics that used in information retrieval tasks \cite{Rijsbergen}:  

Precision: $p=\frac{\left|{RL}_{COL}^{'} \right|}{\left|{RL}^{'}_{COL} \right|+\left|{RL}^{''}_{COL}\right|}$,

Recall: $r=\frac{\left|{RL}_{COL}^{'} \right|}{\left|{RL}^{'} \right|}$,

F-measure: $F=\frac{2}{\frac{1}{p}+\frac{1}{r}}$,

where ${RL}^{'}_{COL}$ - relevant resources of the collection,
${RL}^{''}_{COL}$ - irrelevant resources of the collection, 
${RL}^{'}$ - relevant resources in the repository,
${RL}^{''}$ - irrelevant resources in the repository,
${RL}$ - resources in the repository,
${RL}_{COL}$ - resources of the collection,
${RL}^{'}\bigcup {RL}^{''}=RL$,
${RL}^{'}_{COL}\bigcup {RL}^{''}_{COL}={RL}_{COL}$.

The precision and recall are the base metrics, F-measure - one of the derivative metrics.

Test results has shown that:
\begin{enumerate}
\item the average time of collection creation decreased almost by 99\%;
\item automatically generated collection contains 100\% of learning resources obtained by the intersection of the collections created by tutors for each student, and 91\% of learning resources obtained by combining the tutors collections;
\item the average value of collection recall  increased by 29\%, precision - by 2,9\%, F-measure - by 16,3\% in comparison with non-automated process.
\end{enumerate}

These facts allow to draw a conclusion that developed models, method and software tool are effective and efficient for creation of new personal learning content.

\section{Conclusion and future work}
The architecture of LCMS and special software tool for creating the smart learning content in form of personal learning collections were designed and implemented within framework of proposed ontology-based approach in the domain of programming languages. The ontological model for knowledge representation was developed including ontologies of learning course domain, learning resource, learner's profile and personal learning collection. The last one includes the set of semantic rules for creating the personal learning collection. The new two-stage method for electronic learning resources retrieval and integration into personal learning collection was developed based on ontology reasoning rules.

Further evolution of the project implies:
\begin{itemize}
\item reimplementation of the collection builder as a web application using the Stardog Enterprise Graph Database as a data store and reasoning engine. Stardog is a fast SPARQL query answering, lightweight, transactional, with world class OWL 2 and SWRL reasoning support graph database and using it can improve the speed and scalability of the collection builder; 
\item implementation the software tool as a web application for creating the learning course ontologies;
\item developing software tool as a web application for annotating the learning resources;
\item developing ontologies for other university courses;
\item the learning resources repository (with Stardog backend as a data store) should be further scaled for subject domain of software engineering to provide the creation of personal collections for variety of learning courses.
\end{itemize}

\section*{Acknowledgment}
This paper presents the results of research carried out under the RFBR grants 13-07-00219 "Intelligent support of strategic planning based on the integration of cognitive and ontological models" and 15-07-03541 "Intelligent support of decision making in management of large scale systems on the base of integration of different types of reasoning on ontological knowledge".

\selectlanguage{english}
\FloatBarrier
\bibliographystyle{spmpsci}
\bibliography{bibliography/converted_to_latex.bib%
}

\end{CJK}\end{document}

