p72 Tsiakmaki
p72 Tsiakmaki
BCI'13 September 19-21, Thessaloniki, Greece. Copyright © 2013 for the individual papers by the papers' authors. 72
Copying permitted only for private and academic purposes. This volume is published and copyrighted by its editors.
2.2 Ontological representation of CROP different learning experience to the Learners. Each XGraph may
be associated to one or more XModels, but not vice versa.
architecture
According to CROP, all Concepts are part of the Content
Ontology, an ontology that disambiguates all the educational
objectives related to the Learning Object. Learning Objects, as we
envision them, are contained in the Learning Object Repository of
the Domain, and their Content Ontologies are also sub-ontologies
of a Global Domain Ontology. Classes in the Content Ontology
also populate the instances of Educational Objective class in
CROP ontology (Figure 1).
73
respond to a request that initially could not satisfy by adapting an Substruction. Thus a KRC Node that is associated to
Object that they own, or during an execution after a notification Operation can contain Objects with target Concept
from the Order. For instance, suppose the Learner's target is Operation or Conjuration, or Division or Addition or
"Complex Number System". One Service owns an Object that Multiplication or Substruction.
requires the previews knowledge of "Real Number System".
• The use of some Execution Models. Each Object is
According to Learners' Model, Learner does not know about
associated to one or more Execution Model that ultimate on a
"Real Number System". Service tries to mutate the current Object
different learning experience. It provides one type of
by including Objects that teaches the prerequisites that are
adaptation based on Dialogues, Controls and the ordering of
unknown by the Learner in the corresponding KRC Nodes and
Learning Acts. The XModel can implement specific
consequently to the XGraph as Teaching Acts. In case the Service
instructional strategies that later can be combined with
does not own such Objects, it will start a new search to the
Learner Model.
Domain in order to find this type of Objects by other Services
(service collaboration). Generally, there is no one correct way to model a Learning
Object. There are always viable alternatives. The most appropriate
Also adaptation can happen during the execution of a Learning
solution depends on the type of Learner that Authors have in mind
Object. For instance, when a Learner fails to achieve the required
and the extensions that they anticipate. Also, Learning Object
threshold of an Assessment Resource the Order process notifies
development is an iterative process.
sends a failure notification to the Learning Service. The later tries
to find alternative Objects to enhance Learner’s experience on the 3.2 Discrete steps for creating CROP Objects
subject. Consequently, the KRC Node is updated with more
Objects, and XGraph with more Learning Acts. using the editor
The Crop Editor builds Learning Objects according to CROP
3. IMPLEMENTING CROP reference architecture. Initially, Authors create a new project. A
The outcome of CROP architecture is an ontology that describes project contains Learning Objects (Resources and Products),
all its concepts and the relations among them. During this research information about the Domain Ontology, the CROP Ontology that
we have created a proof of concept editor for such Objects. The will be kept synchronized during the Authors manipulation and
editor guides Authors across the steps of creating CROP Objects. graph images.
Its final output is the CROP ontology populated with instances The editor (Figure 4) contains 6 main panels (docks). On the left
that depicts the designed Object. there is the Learning Objects explorer, where all the project’s
Learning Objects are listed, grouped by their target Concept.
3.1 Design principles Below, the Content Ontology panel shows the ontology classes
The CROP Editor is designed to simplify the creation of CROP
and tools for simple ontology editing. The main panel contains the
Learning Objects, respecting the Leaners' goals. The following
active’s Object graphs. Transfer handlers enable Authors to drag
checklist identifies some core principles and practices to assist
end drop concepts to Concept Graph panel. Below, the Problems
Authors to produce Objects that are appropriate in particular set of
and Console panels contain error and warning messages to the
circumstances and prompt to changes.
Authors during their working with a project. On the right, Palette
• The use of one educational objective. CROP Objects have a contains the extra transferable nodes to Graphs. Below, the
specific and well-defined purpose, i.e. their target Concept. Properties panel is associated with the active graph and concept
Having one target Concept encourages the construction of Author’s selections, and contains the information and actions
relatively small and self-contained Objects rather than large related with the selected state.
and cumbersome Objects. Cohesive Objects can easily be
changed without affecting the rest composite Object, can
easily be sequenced and reused across a Domain.
• The use of some prerequisite-of Concepts. In Concept Graph
of composite Objects, each Concept has some prerequisite-of
dependencies with other Concepts. Consequently, each
Object is a set of cooperating Objects, each of which
implements functionality independent of the others.
Redundant associations can be avoided when Authors
consider keeping low the number of Objects that will be
affected when one Object change its content.
• The Content ontology should match both domain and
learning task. Content ontology should describe courses'
entities and their relation given the purpose of teaching and
of interoperability across a Learning Domain. Figure 4: The CROP Editor
While describing the discrete steps for creating CROP Objects,
• The KRC Node is a self-contained teaching action targeting a
some parts of example screenshots will be given, hopefully, for a
single Concept. Learners that successfully execute all the
better understanding. The example is about a Learning Object that
contained Objects eventually acquire the target Concept.
teaches the “Complex Number System” to beginners.
Objects contained in the set should avoid repeat the same
content. A Concept in the Concept Ontology can be defined Step 1 – Specify the Content Ontology
as equivalent of a disjunction of a set of Concepts, e.g.
ComplexNumber Operation can be a disjunction of The Content Ontology is used to capture knowledge about some
Conjuration ⋁ Division ⋁ Addition ⋁ Multiplication ⋁ Learning Object. It describes the Concepts in the Object like the
74
target and the prerequisite Concepts and also the relationships not included in KRC (it won’t be taught). Thus it is a prerequisite
between those Concepts (Figure 5). In the editor, Authors can Concept of this Learning Object.
import a predefined ontology, edit it, or create a simple hierarchy
of classes from scratch.
The Concept Graph relates Concepts with the is-prerequisite-of Step 4 – Creating the Execution Graph
relation. Authors can drag & drop classes from Content Ontology The X Graph is built on top of the KRC. Each Object that is
to Concept Graph and create edges among them. During building associated with a KRC Node becomes an X Graph Node. An X
the Concept Graph, Authors will discover the coexistence of many Graph Node is defined as a Learning Act (a Learning Act is
conceptualizations that one educational objective can have. associated with one CROP Object or with a Physical Location of a
In Figure 6 Complex Number System Concept requires the Resource Object), Control, or Dialogue Node. Learning Acts are
knowledge of Properties of Conjugates and Absolute Value. The grouped by their target Concept, a property that the associated
later, requires Operation. Operation Concept needs Complex KRC Node implied, defining X sub-Graphs. Authors can further
Number Definition, and Definition about Real Number System group X Nodes and X sub-Graphs defining sequence and parallel
Concept. groups. Edges of X Graph impose the sequence of the execution
of Objects. X Graph Edges connect X Nodes, X sub-Graphs or
groups. KRC edges are not transferred to XGraph, as they connect
unit concepts, not groups or sub-graphs, but their prerequisite-of
restrictions still stand. E.g. by default the XModel cannot execute
Addition Object if Learner does not know about Complex Number
Definition, and Authors do not need to explicitly state it again.
Authors are allowed to add further edges, Controls and Dialogues
in order to restrict the learning process.
75
In Figure 8 XGraph only specifies the order of the Resources in selects the most appropriate Model. Each XModel is associated to
the Operation group of Nodes: first Learners learn about one XGraph.
Conjuration, then Addition, then Subtraction, then Multiplication
and finally about Division. The XGraph contains restriction produced by the XEdges that the
Author explicitly has inserted during the creation of XGraph and
Step 5 – Creating the XModels the prerequisite-of relations that are implied by the KRC Graph.
The XManager given the XModel and the XGraph decides the
Finally, Authors can define the Execution Models (XModel). One next Execution Step (XStep), i.e. a Dialogue Node, a Control, or
XGraph can be associated to one or more XModels. Learner's goal an X Parallel or a Sequence Group.
is to conquer the root Node of the XGraph. To succeed that,
Learner has to previously attain every node that is connected to. For the execution of a Group the XNodeManager process takes
Apart from having to succeed on prerequisite Concepts, the turn and every Group has its own Manager and each
sequencing rules, the Dialogues and the Controls, no other XNodeManager adheres to the XManager. XNodeManager
restrictions take place on the way of how a Learner will walk on decides the next XStep among Control Nodes, Dialogue Nodes,
the XGraph. On the one hand, Discrete Mathematics literature Learning Act Nodes and recursively XGroups.
lists several well-structured algorithms for traversing a graph, e.g
Depth First, or Breadth First. On the other hand, further priorities For instance, on the Complex Number System CROP Object of our
can be set, in case the next x step is still ambiguous. E.g. the example, XManager will firstly execute the Complex Number
preference of executing an assessment resource over a support Definition Group XStep. The XNodeManager calculates the next
resource, or the preference of executing a Learning Object that is Step, which is the execution of 'cnd' Learning Act Support
associated to a video resource, over a text resource. Resource associated to a document concerning the definition of
Complex Numbers. The Operation Group is the next to follow.
To support the above CROP associates an XModel with an The corresponding XNodeManager will execute the sequence of
execution algorithm, a priority list and a verbose level. Verbose Learning Acts as the edges impose: first with the Conjuration,
level controls how detailed or general the information messages followed by the Addition, the Substation, the Multiplication and
are going to be, i.e. whether the XManager will inform the reason finally with the Division Support Resources. Afterwards, the
of the next given Learning Object versus another to the Learner. XNodeManager of the Properties of Conjuration and the Absolute
Value parallel Group selects randomly the next XStep (suppose
Generally, Authors can revise the initial Learning Object. The that further metadata leaves them still ambiguous e.g. they are
editor will synchronize the changes made on graphs and on the both documents with the same execution time, level, density, etc.).
ontology through action listeners. E.g. if Author deletes a Concept The final step, which is the Complex Number System Group,
Graph Node, the editor will delete the associated KRC Node and contains two parallel Assessment Resources, and once again
edges and subsequently the associated execution nodes and edges
(suppose) the choice is done randomly.
on X Graph.
5. OPEN PROBLEMS AND FUTURE
3.3 More supported tools
The editor also supports further related functionalities, such as: WORK
We are currently working on enhancing the implementation with
a. the export of owl comments and axioms of Concepts from additional features, such as:
Content Ontology in text files for creating learning material
(text), • The Gather feature that searches and collects Objects
contained on a physical location in order to populate KRC
b. a simple LOM viewer of the Object, that is partially populated Nodes.
given the current CROP Object state,
• A simple IEEE LOM editor. Currently some elements can be
c. a simple quiz editor for creating Assessment Resources,
exported from the CROP Object, e.g. the relations,
d. a simple text editor for editing Support Resources, classification, is part of… Other properties can be editable,
e. image, video, pdf Viewers for Support Resources, e.g. the Author name.
f. a sample execution simulator (under development). • An embedded rich document editor for editing the actual
Support Resources.
3.4 Implementation details and source code • The Import feature for importing IEEE LOM, or SCROM
CROP Editor is written in Java and uses Swing GUI widget Objects [6], wrapped CROP Objects (SCROM compliant)
toolkit [10] to create its user interface. Also parts of our
application rely on the following tools and source code: Docking • The support further rules for avoiding inconsistences in the
Frames [11], for organizing the editor's panels such that the user ontology and (regrettably) bugs fixes.
can drag & drop them, mxGraph Java Graph Visualization Library Our ultimate vision is to design a reference architecture of
[7], OWL API for working with OWL 2 CROP ontologies [4], Semantic Learning Domains where repositories of ontologies with
HermiT reasoner [9], Apache log4j logging library [12]. CROP Learning Objects exist and Services collaborate for
The source code of the editor, binaries and examples can be found delivering adaptive Objects to custom Learners’ needs.
on GitHub [14]. 6. REFERENCES
4. Execution Details [1] C. Hartonas. The CROP reference architecture for learning
objects in the semantic web. Technical Report, TEI Larissa,
Both XManager and XNodeManager processes are responsible for
Dept. Computer Science, 2010.
the execution of a CROP Object. Every CROP Object has one or
more X Models and with the given Learner Profile the XManager [2] C. Hartonas and E. Gana. Adaptivity for knowledge content
in the semantic web. Proceedings of KGCM, 2008.
76
[3] C. Hartonas and E. Gana. Learning objects and learning [10] Oracle America Inc. Swing Java Foundation Classes.
services in the semantic web. In Advanced Learning http://docs.oracle.com/javase/7/docs/
Technologies, 2008. ICALT’08. Eighth IEEE International technotes/guides/swing/index.html, 1993. [Online; accessed
Conference on, pages 584–586. IEEE, 2008. 28-March-2013].
[4] M. Horridge and S. Bechhofer. The owl api: a java api for [11] B. Sigg. DockingFrames 1.1.1 - Core. http://dock.
working with owl 2 ontologies. Proc. of OWL Experiences javaforge.com/dockingFrames_v1.1.1/core.pdf, 2012.
and Directions, 2009, 2009. [Online; accessed 28-March-2013].
[5] IEEE, Learning Technology Standardization Committee [12] The Apache Software Foundation. Apache Log4j 2.
(LTSC) - Draft standard for Learning Object Metadata http://logging.apache.org/log4j/2.x/, 1999–2013. [Online;
(LOM), 2002. Last accessed Oct 2008. accessed 28-March-2013].
[6] ADL Initiative. Sharable Content Object Reference Model [13] M. Tsiakmaki, E. Gana, and C. Hartonas. Adaptation as an
(SCORM) 2004 4th Edition Documentation, 2004. emergent property of learning service composition in the
[7] JGraph Ltd. JGraphX (JGraph 6) User Manual - Version semantic web (in greek). Proceedings of the 2nd Conf on
1.11.0.0. http://jgraph.github.com/ Computer Assisted Education, Patras, Greece, pages 889–
mxgraph/docs/manual_javavis.html, 2001. [Online; accessed 898, 2011.
28-March-2013]. [14] M. Tsiakmaki and C. Hartonas. JCropEditor. - Source code,
[8] A. Kritsimalis. Role modeling for cdl specifications of web binaries, examples.
services. Master’s thesis, TEI Larissa Dept Computer https://github.com/tsiakmaki/jcropeditor.git. [Online;
Science & Staffordshire University, 2010. accessed 28-March-2013].
77