0% found this document useful (0 votes)
72 views6 pages

p72 Tsiakmaki

Uploaded by

cafexarmani
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
72 views6 pages

p72 Tsiakmaki

Uploaded by

cafexarmani
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

Implementing the CROP Reference Architecture: The

CROP Learning Object Editor


Maria Tsiakmaki Chrysafis Hartonas
PHD Student Professor
Department of Computer Science & Department of Computer Science &
Telecommunications Telecommunications
TEI Larissa, Greece TEI Larissa, Greece
2410626338, 0030 2410684575, 0030
tsiakmaki@teilar.gr hartonas@teilar.gr

ABSTRACT We further argue that adaptively is not a requirement to be met by


Concept, Resource, Order, Product (CROP) is a reference an individual Learning Object. On the contrary, we consider
architecture for adaptive Learning Objects owned by Semantic Learning Objects as part of a Learning Domain offered by
Learning Services developed by the second author. According to Learning Services. We also adopt the Role Modeling approach
CROP, composite Objects are essentially recursive, and [8], for modeling the reciprocal actions that take place within a
adaptively is an emergent property of Learning Service Learning Domain.
communication and collaboration. CROP is formally represented In this report we present the implementation of an editor of CROP
as an OWL ontology consisting of the framework's concepts and Learning Objects based on our on-going research on adaptive
its definitions. In this paper we present a free, open-source, java-
Learning Services. This paper is structured as follows: in section
based graphical editor that populates CROP ontology with
instances of Learning Objects at runtime through a (guided) 2, we present the CROP Reference Architecture. Section 3
graph-like interface. While developing this tool we proceeded to presents the editor of CROP Objects. Finally, we present the
some adjustments on CROP ontology and further clarifications on current open issues and future work.
the architecture. Our ultimate vision is to design Semantic
Learning Domains where repositories of such ontologies exist and 2. INTRODUCING THE CROP
Services collaborate for delivering adaptive Objects to custom REFERENCE ARCHITECTURE
Learners’ needs.
2.1 The main idea
Categories and Subject Descriptors The CROP reference architecture [3] [1] is designed to model the
J.1 [Computer Applications]: Administrative Data Processing – structure of adaptive Learning Objects owned by Semantic
Education Learning Services in a Learning Domain. The architecture
supports the composition of Objects that suit to Learner's
General Terms requirements, and the dynamic modifications of Objects during
Design, Experimentation, Standardization.
the learning process, through the collaboration of Learning
Keywords Services [13]. An adaptive response is the result of reasoning on
information available from the Learner Profile, the Learning
CROP learning objects, learning services, semantic web.
Objects, and the learning process.
1. INTRODUCTION In CROP four notions take part: Concept, Resource, Order, and
The domain of our discourse is Learning Services in the Semantic Product. A Learning Object is atomic (Resource), or composite
Web that offer adaptive Learning Objects to Learners. Some (Product) that recursively contains other Learning Objects. Each
major issues on this field are (a) the architecture for Learning Learning Object has one target Concept, i.e. a term that describes
Objects, (b) the architecture of the Learning Service, e.g. the the educational objective of the Learning Object, and some
Participants, the discrete Roles that Participants can play, and the prerequisite Concepts, i.e. Concepts that are required in order to
interactions that take places among the Participants, (c) the use this resource. The whole learning process is monitored by
architecture of the Learning Domains, i.e. the environment that Order, a process that is enabled for every Learner – Learning
these Services live and collaborate, (d) the strategies that Services Object pair. Its main purpose is to help the Learner execute a
use in order to adapt their Objects according to Learner's needs learning process with success by providing the necessary
throughout their collaboration with other Learning Services. information to the Learning Service that owns the Learning
Concentrating on the first issue, we need an architecture on Object.
Learning Objects that enables us to: (a) describe atomic CROP Learning Objects are described by a set of metadata. The
(unstructured, free-standing) or compound (involving other IEEE LOM standard [5] is adopted for that purpose.
Learning Objects) Learning Objects, (b) describe static (structured
at design time) or dynamic (restructured at run time, e.g. when Moreover, each CROP Object is associated to one or more
learning difficulties are detected), (c) reuse them, (e) make them Learning Style Designators [2]. The Designators indicate
discoverable in a Learning Domain (search-able), and (d) tailor cognitive and learning style characteristics of Learners for whom
them to Learners' needs (adaptation). this object is (more) appropriate.

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).

Figure 2: CROP Object layers


Three processes monitor the execution of a Learning Object
namely Execution Node Managers, Execution Manager and
Order. An Execution Node Manager (XNodeManager) is
responsible for applying the sequencing rules of the XModel on
an XGraph Group of Nodes that is associated to a KRC Node.
Likewise an Execution Manager (XManager) is responsible for
applying the sequence rules of an XModel on an XGraph.
Figure 1: (a) Content Ontology example (b) CROP Ontology Order process monitors the interaction between the Learner and
sample, (c) Content Ontology’ s Classes as instances of the Learning Service and issues relevant reports to the Service that
Concept class owns the Learning Object. Order notifies the Service for fail or
CROP objects have one Concept Graph, a graph that is formed by successful execution of Learning Objects. Execution failures
connecting the instances of educational objectives with the is- trigger adaptation procedures on the Learning Service, where the
prerequisite-of relation. later provide alternative Learning Objects during the execution.
These resources might be owned by the Learning Services or
CROP also builds one KRC (Knowledge Requirements Chart) acquired after the communication and collaboration with other
Graph on top of the Concept Graph, where on each KRC Node a Services of the Learning Domain.
set of Learning Objects is associated. Each Learning Object in the
set must have target Concept equivalent with the target concept Figure 3 presents the main structure of CROP architecture.
associated to the KRC Node, and prerequisite Concepts among the
prerequisite Concepts of the Learning Object and the prerequisites
of the current Node. In case of a Learning Resource, KRC
contains one KRC Node that is associated to the Physical
Location of the actual learning material (e.g. a document, an
image, a quiz...). Concept Graph Nodes that are not contained in
the KRC Graph represent the prerequisite Concepts of the
Learning Object. Later, the successful execution of all the
Learning Objects contained in a KRC Node results in the
acquisition of the associated Concept by the Learner.
To achieve an executable object, CROP specifies pairs of
Execution Model (XModel) and Execution Graph (XGraph). The
XGraph is built on top of KRC, keeping the set of Learning
Objects that are associated on a KRC Node as set of Learning Act
Nodes. In case of a Learning Resource, it contains one Learning
 
Act Node that points to the Physical Location. The Physical
Location is the escape condition of the execution loops that are Figure 3: CROP Architecture Class Diagram
necessarily contained in composite Learning Objects (Products).
The XGraph also enables Authors to add edges between Learning 2.3 Glimpses of adaptation
Acts, so as to impose their execution sequence, and two types of We regard adaptation as an emergent property for Learning
Nodes: Dialogue and Control Nodes. Dialogues are static Service composition and collaboration rather than an inherent
conversations with the Learner that enable the later to decide the property for stand-alone Learning Objects. Under this premise,
next available Learning Act. Controls are associated with a apart from the unaffected and simple customization through
threshold, in order to prevent or allow a Learner from the next Dialogues and Controls, and the different learning experience that
Learning Act (e.g. a minimum average on the Assessment various XModels imply, adaptation is triggered by diagnosed
Resources that Learner should achieve in order to obtain a Learner needs during the search and the execution of Learning
Concept). Figure 2 depicts the layers of CROP. Objects.
The XModel determines the sequence of the available Learning In Learning Domains, search is enabled for Learners and
Acts wherever it is unspecified, respecting the prerequisite-of Learning Services. Learners submit a request for a Learning
relations and XGraph Edges. It may be designed to implement Object that honors a specific target Concept. Services submit a
specific instructional strategies. Thus each XModel provides a request for a Learning Object either when they are trying to

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.

Figure 5: Content Ontology Example


Step 2 – Creating the Concept Graph Figure 7: KRC Graph example

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.

Figure 6: Concept Graph example


Step 3 – Creating the KRC Graph
The KRC Graph is built on top of Concept Graph. Editor
duplicates Concept Graph Nodes and edges as KRC components.
Only prerequisite Nodes are not contained. Authors can associate
Learning Objects on each KRC Node. Objects may be contained
in the project, or may be created as new (Resource or Product).
The selected Node illustrates its target Concept and from the Figure 8: X Graph example
Content Ontology are inferred all the equivalent Concepts, if any. Keep in mind that Objects that are associated to a KRC Node do
The Editor prompts notices in a problem panel when Authors add not have any sequence restriction. If strong restrictions need to be
Objects with prerequisite Concepts that do not exist in the active applied, it may imply that Authors should consider refactoring
Object. In the example (Figure 7), Operation Concept is acquired Content Ontology and Concept Graph by splitting or merging
after the successful execution of Resources of Conjuration (con), Concepts. Every Product can have one or more XGraphs.
Addition (add), Division (div), Subtraction (sub) and Resources' XGraphs are simple: by default they contain only one
Multiplication (mul). Notice that Real Number System Concept is Learning Act that directs to the Physical Location of the actual
resource.

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].

[9] B. Motik, R. Shearer, B. Glimm, G. Stoilos, and I. Horrocks.


Hermit OWL Reasoner. www.hermit-reasoner.com, 2007–
2013. [Online; accessed 28-March-2013].

77

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy