Citation
A Web-service-based e-learning service infrastructure for achieving dynamic and collaborative e-learning

Material Information

Title:
A Web-service-based e-learning service infrastructure for achieving dynamic and collaborative e-learning
Creator:
Lee, Gilliean ( Dissertant )
Su, Stanley Y. ( Thesis advisor )
Lam, Herman ( Thesis advisor )
Schneider, Markus ( Dissertant )
Place of Publication:
Gainesville, Fla.
Publisher:
University of Florida
Publication Date:
Copyright Date:
2005
Language:
English
Physical Description:
xii, 151 p.

Subjects

Subjects / Keywords:
Anesthesia ( jstor )
Collaborative learning ( jstor )
Composition skill learning ( jstor )
Educational activities ( jstor )
Electronic learning ( jstor )
Learning ( jstor )
Learning styles ( jstor )
Online learning ( jstor )
Sequencing ( jstor )
Simulations ( jstor )
Computer and Information Science and Engineering thesis, Ph. D. ( local )
Dissertations, Academic -- UF -- Computer and Information Science and Engineering ( local )
Education -- Computer network resources ( lcsh )
Educational technology ( lcsh )
Web based instruction -- Design ( lcsh )
Web services -- Design ( lcsh )

Notes

Abstract:
Multimedia data and application systems that are accessible over the Web are valuable assets for developing instructional materials for teaching, training, problem solving and decision support. These assets can be used for constructing learning objects, each of which is a reusable granule of instruction designed to meet a specific instructional objective. In order to search, access, and deliver the learning objects, an infrastructure for the registration, discovery, and invocation of these objects is required. Also, there is a need to develop infrastructural technologies to enable general Internet users, not just students and educators, to engage in life-long instruction and learning. These technologies should allow the establishment of many virtual e-learning communities, each of which is formed by people with a common interest in exchanging knowledge useful for problem-solving and decision support in a specific problem domain. In this work, we model distributed and sharable learning resources by two types of Learning Objects (LOs): Atomic Learning Object and Composite Learning Object. Both types of LOs are uniformly published as Web-services in a constraints-based Web service broker. XML-based languages for modeling these two types of LOs are defined. The languages also serve as the interchange formats for transferring and sharing LOs. We have developed an e-learning service infrastructure that facilitates the authoring, registration, discovery, storing, and invocation of LOs. The infrastructure is built on top of an extended Web-service framework, which leverages the constraints-based Web service broker and distributed LO repositories to make LOs searchable, sharable and reusable. A set of distributed software components has been developed to provide e-learning services. It includes authoring tools for constructing LOs, and a Learning Process Management System for the registration, management and delivery of LOs and the assessment of learners' comprehension. The techniques used to achieve active, adaptive, flexible and customizable execution of learning processes such as dynamic binding to LOs, rule-based execution of learning processes that makes use of the profiles and runtime status models of learners, and model-based assessment are presented. The roles and functions of virtual e-learning community members are also discussed. The e-learning technologies we developed have been applied to encapsulate the instructional materials of the Web-based Virtual Anesthesia Machine and the simulator as LOs, deliver instructional materials to learners, use the simulation system for practice, and perform assessment. Several techniques, such as retrying or disabling activities depending on a learner's profile, performance and needs, dynamic binding to suitable learning objects, optional assessment presentation, and the support of different learning approaches by customization of sequencing control modes, have been applied to achieve personalized learning. ( , )
Subject:
adaptive, collaboration, community, database, e learning, learning process, Web service, XML
General Note:
Title from title page of source document.
General Note:
Document formatted into pages; contains 164 pages.
Biographical:
Includes vita.
Thesis:
Thesis (Ph. D.)--University of Florida, 2005.
Bibliography:
Includes bibliographical references.
General Note:
Text (Electronic thesis) in PDF format.

Record Information

Source Institution:
University of Florida
Holding Location:
University of Florida
Rights Management:
Copyright Lee, Gilliean. Permission granted to the University of Florida to digitize, archive and distribute this item for non-profit research and educational purposes. Any reuse of this item in excess of fair use or other copyright exemptions requires permission of the copyright holder.
Embargo Date:
7/30/2007
Resource Identifier:
74493177 ( OCLC )

Downloads

This item has the following downloads:

PDF ( 2 MBs ) ( .pdf )

lee_g_Page_144.txt

lee_g_Page_152.txt

lee_g_Page_107.txt

lee_g_Page_131.txt

lee_g_Page_027.txt

lee_g_Page_148.txt

lee_g_Page_121.txt

lee_g_Page_070.txt

lee_g_Page_068.txt

lee_g_Page_112.txt

lee_g_Page_004.txt

lee_g_Page_092.txt

lee_g_Page_018.txt

lee_g_Page_157.txt

lee_g_Page_046.txt

lee_g_Page_010.txt

lee_g_Page_041.txt

lee_g_Page_061.txt

lee_g_Page_026.txt

lee_g_Page_013.txt

lee_g_Page_156.txt

lee_g_Page_160.txt

lee_g_Page_162.txt

lee_g_Page_116.txt

lee_g_Page_086.txt

lee_g_Page_163.txt

lee_g_Page_113.txt

lee_g_Page_038.txt

lee_g_Page_138.txt

lee_g_Page_150.txt

lee_g_Page_155.txt

lee_g_Page_114.txt

lee_g_Page_002.txt

lee_g_Page_110.txt

lee_g_Page_126.txt

lee_g_Page_032.txt

lee_g_Page_143.txt

lee_g_Page_101.txt

lee_g_Page_133.txt

lee_g_Page_034.txt

lee_g_Page_044.txt

lee_g_Page_137.txt

lee_g_Page_023.txt

lee_g_Page_145.txt

lee_g_Page_063.txt

lee_g_Page_151.txt

lee_g_Page_130.txt

lee_g_Page_118.txt

lee_g_Page_078.txt

lee_g_Page_099.txt

lee_g_Page_071.txt

lee_g_Page_003.txt

lee_g_Page_029.txt

lee_g_Page_106.txt

lee_g_Page_074.txt

lee_g_Page_095.txt

lee_g_Page_006.txt

lee_g_Page_021.txt

lee_g_Page_142.txt

lee_g_Page_140.txt

lee_g_Page_153.txt

lee_g_Page_072.txt

lee_g_Page_087.txt

lee_g_Page_091.txt

lee_g_Page_060.txt

lee_g_Page_141.txt

lee_g_Page_115.txt

lee_g_Page_048.txt

lee_g_Page_149.txt

lee_g_Page_069.txt

lee_g_Page_062.txt

lee_g_Page_076.txt

lee_g_Page_089.txt

lee_g_Page_057.txt

lee_g_Page_056.txt

lee_g_Page_135.txt

lee_g_Page_127.txt

lee_g_Page_123.txt

lee_g_pdf.txt

lee_g_Page_024.txt

lee_g_Page_161.txt

lee_g_Page_075.txt

lee_g_Page_129.txt

lee_g_Page_005.txt

lee_g_Page_146.txt

lee_g_Page_049.txt

lee_g_Page_154.txt

lee_g_Page_008.txt

lee_g_Page_125.txt

lee_g_Page_011.txt

lee_g_Page_020.txt

lee_g_Page_055.txt

lee_g_Page_065.txt

lee_g_Page_117.txt

lee_g_Page_100.txt

lee_g_Page_001.txt

lee_g_Page_111.txt

lee_g_Page_105.txt

lee_g_Page_077.txt

lee_g_Page_093.txt

lee_g_Page_017.txt

lee_g_Page_081.txt

lee_g_Page_119.txt

lee_g_Page_124.txt

lee_g_Page_064.txt

lee_g_Page_134.txt

lee_g_Page_109.txt

lee_g_Page_120.txt

lee_g_Page_012.txt

lee_g_Page_128.txt

lee_g_Page_035.txt

lee_g_Page_132.txt

lee_g_Page_073.txt

lee_g_Page_045.txt

lee_g_Page_082.txt

lee_g_Page_007.txt

lee_g_Page_022.txt

lee_g_Page_042.txt

lee_g_Page_047.txt

lee_g_Page_014.txt

lee_g_Page_031.txt

lee_g_Page_050.txt

lee_g_Page_083.txt

lee_g_Page_030.txt

lee_g_Page_016.txt

lee_g_Page_096.txt

lee_g_Page_098.txt

lee_g_Page_164.txt

lee_g_Page_090.txt

lee_g_Page_037.txt

lee_g_Page_080.txt

lee_g_Page_108.txt

lee_g_Page_159.txt

lee_g_Page_028.txt

lee_g_Page_058.txt

lee_g_Page_052.txt

lee_g_Page_158.txt

lee_g_Page_136.txt

lee_g_Page_036.txt

lee_g_Page_043.txt

lee_g_Page_009.txt

lee_g_Page_054.txt

lee_g_Page_066.txt

lee_g_Page_103.txt

lee_g_Page_025.txt

lee_g_Page_019.txt

lee_g_Page_084.txt

lee_g_Page_015.txt

lee_g_Page_147.txt

lee_g_Page_104.txt

lee_g_Page_051.txt

lee_g_Page_139.txt

lee_g_Page_059.txt

lee_g_Page_079.txt

lee_g_Page_067.txt

lee_g_Page_040.txt

lee_g_Page_122.txt

lee_g_Page_088.txt

lee_g_Page_053.txt

lee_g_Page_085.txt

lee_g_Page_033.txt

lee_g_Page_102.txt

lee_g_Page_094.txt

lee_g_Page_039.txt

lee_g_Page_097.txt


Full Text












A WEB-SERVICE-BASED E-LEARNING SERVICE INFRASTRUCTURE FOR
ACHIEVING DYNAMIC AND COLLABORATIVE E-LEARNING















By

GILLIEAN LEE


A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL
OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT
OF THE REQUIREMENTS FOR THE DEGREE OF
DOCTOR OF PHILOSOPHY

UNIVERSITY OF FLORIDA


2005

































Copyright 2005

by

Gilliean Lee


































To my wife, Rang-wook, and my parents.















ACKNOWLEDGMENTS

The work with this dissertation has been extensive, requiring much work and fun.

Without help and support from many persons, I would never have been able to finish this

work.

First of all, I would like to thank my advisor Stanley Su for his inspiring and

encouraging way to guide me, and his invaluable comments during the whole work with

this dissertation. He showed me how to approach a research problem and how to devise

and provide a systematic solution. He also provided me with many opportunities to

publish papers and meet people in the e-learning area.

I would like to thank Howard Beck for his guide, challenging questions and support.

I will also give a special thanks to Sem Lampotang for his strong support and decision to

make use of this work for his work without hesitation. I am grateful to Herman Lam for

his encouragement and very helpful comments throughout this work. A special thanks

goes to Abdelsalam Helal for his guidance. I would like thank Markus Schneider for his

support and serving as an advisory committee.

Thanks to all my colleagues at the Database Systems R&D Center who gave me lot

of help. Especially I would like to thank Seema Degwekar and Xu Zhang for helping me

with implementations and Brian Weinrich for proofreading this dissertation. A special

thanks to Sharon Grant for reviewing many research papers even with very short notices.

I cannot thank enough to my parents for giving me life in the first place and their

endless support. I also would like to thank my parents-in-law for their support. Last, but









not least, I would like to give a very special thanks to my wife, Rang-wook Oh, who

always has been there for me and to my lovely daughter Narae for their patience and

understanding all the hard works I went through.
















TABLE OF CONTENTS

page

A C K N O W L E D G M E N T S ................................................................................................. iv

LIST OF TABLES ................................. ............. .............. .... ix

LIST OF FIGURES ............................... ... ...... ... ................. .x

ABSTRACT ........ .............. ............. .. ...... .......... .......... xii

CHAPTER

1 IN TR O D U C TIO N ................. .................................. .... ....... .................

2 R E L A T E D W O R K .............................................................................. ............ ... 7

2.1 Cisco's Reusable Learning Object (RLO) Strategy.................. ..................
2.2. ADL's Sharable Content Object Reference Model (SCORM)..............................8
2.3 Flex-EL ............... ........ ......................................................................11
2.4 K now ledgeTree ........................................... ............ ...... .......... 12
2 .5 L 3 .................................................................................................................... 1 2
2.6 NETg ............... .......................................... 13
2.7 M ER L O T ............................................................................................. ............ 13
2 .8 C O R D R A ........................................................................................................ 1 3

3 LEARNING OBJECT MODELS ................................. ............................15

3.1 W hat Is a Learning Object? ................................ ...................... ..... 15
3.1.1 Atomic Learning Object ................................ .................... ............ 15
3.1.2 Composite Learning Object ........................ ........................... .......... 16
3.1.2.1 Activity tree ................................ ........................ ... ... 16
3.1.2.2 Sequencing control modes ........................................................18
3.1.2.3 Learning objective ......................................................... ........ 19
3.1.2.4 A activity action ........................................................... .. ...... 20
3.1.2.5 Activity data ................................ ....................... .... ..20
3.1.3 M eta-D ata .............................................................. 20
3.2 Learning Resources Taxonom y .................................................... ....... 22
3.3 Dynamic E-Learning Service Requirements and Techniques...........................23
3.3.1 Rule-Based Execution M odel ............................................ ....... 24
3.3.2 D ynam ic B inding........................................ ............... ............... 29









3.3.3 M odel-based A ssessm ent ........ ................................................................ 31
3.3.3.1 Assessment specification............. ...... ...............32
3.3.3.2 Model-based objective measure assignment.................................33

4 LEARNING CONTENT MODELING LANGUAGE AND LEARNING
PROCESS MODELING LANGUAGE ........................................ ............... 36

4.1 W hy XML? ................................. .............................. ........ 36
4.2 M eta-m odel ..............................................38...........................
4.3 Learning Content Definition Language ............... ......................................39
4.4 Learning Process Definition Language ..................................... .................42
4.4.1 Non-leaf Activity ........................................... ..... ... ..................43
4.4.2 Leaf A activity ................................. ............ .... ........ .. .............. 48
4 .4 .3 C o n n e cto r ............................................................................................. 5 0
4 .4 .4 E d g e ...............................5 1.............................

5 E-LEARNING SERVICE INFRASTRUCTURE ............................................... 53

5.1 E-Learning Infrastructure for Virtual E-Learning Communities........................53
5.1.1 Roles in a Virtual E-leaming Community...............................................53
5.1.2 Web-Services-Based E-Leaming Service Infrastructure..........................56
5.2 Implementation ............ ....... ....................... ...... ................ 57
5.2.1 Constraints-enabled Web-service Model ....................................... 58
5.2.2 Authoring Tools & LO Repository.................................. ............... 62
5.2.2.1 AL O authoring tool ........................................ ....... ............... 62
5.2.2.2 CLO authoring tool ........................................ ....... ............... 64
5.2.2.3 LO repository ............. ................................ .......... .. .......... 64
5.2.3 Learning Process M management System ................... ................................. 65
5.2.3.1 Learning process execution engine .............. ................................. 65
5.2.3.2 Event-Trigger-Rule server................. ....... ........ ........... 71
5.2.3.3 A ssessm ent com ponent ....................................... ............... 74
5.2.3.4 Constraints-based LO broker ................................. ............... 76
5.2.3.5 U ser interface com ponent...................................... ............... 78
5.2.3.6 W eb user interface................................................. .. .............. .. 78

6 APPLYING LEARNING OBJECT AND DYNAMIC E-LEARNING
TECHNOLOGIES TO SIMULATION-BASED MEDICAL INSTRUCTION ........81

6.1 Instruction on Anesthesia M achines................................ ....................... 81
6.2 Introduction to the Virtual Anesthesia Machine............... ......... ............... 82
6.3 Application to Medical Instruction using VAM............... ......... ............... 84
6.3.1 Encapsulating VAM as Learning Objects.................... .............. 85
6.3.2 Dynamic Execution of VAM Instruction ........................................... 88
6.3.3 Importance of Leaming-Object-Technology-Based Medical Instruction..91
6.4 Chapter Summ ary .................................. .. .. .. ........ ...............92

7 SU M M ARY ......................... .. ......... .......... ..................................94









7.1 Sum m ary and C onclusion.......................................................... ............... 94
7 .2 F u tu re W o rk .................................................................................................... 9 5

APPENDIX

A XML SCHEMA DEFINITION OF LEARNING CONTENT DEFINITION
LANGUAGE .............. ................. ............ ................ .......... .. 97

B XML SCHEMA DEFINITION OF LEARNING PROCESS DEFINITION
LANGUAGE .............. ................. ............ .............. ............ 102

C SAMPLE ATOMIC LEARNING OBJECT AND COMPOSITE LEARNING
O B JE C T ...................................... ................................................. 1 12

C.1 Sample Atomic Learning Object Low Pressure System.............................. 112
C.2 Sample Composite Learning Object Virtual Anesthesia Machine ...............15

D LEARNING OBJECT REPOSITORY AND BROKER WEB SERVICE
DEFINITION LANGUAGE DOCUMENTS....................................................... 129

D. 1 Learning Object Repository Web Service Description.................................... 129
D .2 Broker W eb Service D definition ........................................ ...... ............... 131

E XML SCHEMA DEFINITION OF CLO RUNTIME STATUS MODEL AND
LEARNER INFORM ATION M ODEL................................................................. 135

E.1 CLO Runtime Status Model Definition ................................... ............... 135
E.2 Learner Information M odel Definition ................................... ............... 138

LIST OF REFEREN CES ........................................ ........................ ............... 146

B IO G R A PH ICA L SK ETCH ......... ................. ...................................... .....................151
















LIST OF TABLES


Table page

4-1 Execution Stages and Description of Activity Actions in Non-leaf Activity.............45

4-2 Execution Stages and Description of Activity Actions in Leaf Activity...................49
















LIST OF FIGURES


Figure page

2-1. C isco 's R L O and R IO .......... ............................................ ................ ........ ....... .. ..

2-2. A Representation of an Activity Tree Composed of Clusters in SCORM .................10

2-3. Conditions and Action/Behavior in SCORM's Sequencing Definition Model.......... 10

3-1. Modeling Constructs in a Composite Learning Object.................. ................17

3-2. Sequencing Control M odes. .............................................. ............................. 18

3-3. Meta-data Attributes in Extended WSDL Document..............................................22

3-4. Taxonomy of Learning Resources and their Relationships........................................23

3-5. Tasks Performed in an Activity Node at Runtime.................. ................................25

3-6. Assignment of Measures to Multiple Objectives for an Assessment at Al ..............34

3-7. Activity Tree with M multiple Assessments ...................................... ............... 35

4-1. Meta-model of Learning Process Definition Language and Learning Content
Definition Language and their Relationships.......................................................38

4-2. D detailed M eta-m odel for L CD L ........................................................................ .. ...42

4-3. Entities in the Meta-model of a Non-leaf Activity in Learning Process Definition
L an gu ag e ............................................................................. 4 7

4-4. Meta-model of Leaf Activity and Related Entities in the Learning Process
D definition Language .................................................. .. ...... .. ........ .... 50

4-5 Meta-model of Connector and Edge in the Learning Process Definition Language...51

5-1. Roles and Relationships among Members of a Virtual E-Learning Community.......55

5-2. Web-service-based E-Leaming Service Infrastructure ...........................................57

5-3. Extended W SDL Information M odel .............................................. ............... 59









5-4. Extended W SDL Document Example ............................ .................................... 61

5-5. Graphical User Interface Frame of the ALO Authoring Tool...................................62

5-6. Graphical User Interface Frame of the CLO Authoring Tool ................. ........... 63

5-7. Architecture of Learning Process Management System.....................................65

5-8. State Transition Diagrams for Learning Process and Activity .............................66

5-9. Relationships between Learning Object Definition and Runtime Objects of a CLO
Instance ............... .. .. ....... ................. ................................67

5-10. Architecture of the Learning Process Execution Engine................................. 68

5-11. Object Diagram of CLO Deployment Process .............. ......................70

5-11. Event and Rule Mechanisms for Coordination and Collaboration.........................73

5-12. Runtime Structure of Assessment Component.................................... ..................75

5-13. Registration and Discovery Process of LO..................................................... 76

5-14. W eb U ser Interface ............... ................. .......................... .... ..... 79

6-1. Construction of LOs using VAM Learning Resources .............. ................86

6-2. W eb User Interface of VAM Instruction...................... ................... ............... 87

6-3. Condition/Action Rules and Dynamic Binding Defined in 'VAM' Instruction
C L O .................................................................................90















Abstract of Dissertation Presented to the Graduate School
of the University of Florida in Partial Fulfillment of the
Requirements for the Degree of Doctor of Philosophy

A WEB-SERVICE-BASED E-LEARNING SERVICE INFRASTRUCTURE FOR
ACHIEVING DYNAMIC AND COLLABORATIVE E-LEARNING

By

Gilliean Lee

August 2005

Chair: Stanley Y. W. Su
Major Department: Computer and Information Science and Engineering

Multimedia data and application systems that are accessible over the Web are

valuable assets for developing instructional materials for teaching, training, problem

solving and decision support. These assets can be used for constructing learning objects,

each of which is a reusable granule of instruction designed to meet a specific instructional

objective. In order to search, access, and deliver the learning objects, an infrastructure for

the registration, discovery, and invocation of these objects is required. Also, there is a

need to develop infrastructural technologies to enable general Internet users, not just

students and educators, to engage in life-long instruction and learning. These

technologies should allow the establishment of many virtual e-learning communities,

each of which is formed by people with a common interest in exchanging knowledge

useful for problem-solving and decision support in a specific problem domain.

In this work, we model distributed and sharable learning resources by two types of

Learning Objects (LOs): Atomic Learning Object and Composite Learning Object. Both









types of LOs are uniformly published as Web-services in a constraints-based Web service

broker. XML-based languages for modeling these two types of LOs are defined. The

languages also serve as the interchange formats for transferring and sharing LOs.

We have developed an e-learning service infrastructure that facilitates the authoring,

registration, discovery, storing, and invocation of LOs. The infrastructure is built on top

of an extended Web-service framework, which leverages the constraints-based Web

service broker and distributed LO repositories to make LOs searchable, sharable and

reusable. A set of distributed software components has been developed to provide e-

learning services. It includes authoring tools for constructing LOs, and a Learning

Process Management System for the registration, management and delivery of LOs and

the assessment of learners' comprehension. The techniques used to achieve active,

adaptive, flexible and customizable execution of learning processes such as dynamic

binding to LOs, rule-based execution of learning processes that makes use of the profiles

and runtime status models of learners, and model-based assessment are presented. The

roles and functions of virtual e-learning community members are also discussed.

The e-learning technologies we developed have been applied to encapsulate the

instructional materials of the Web-based Virtual Anesthesia Machine and the simulator as

LOs, deliver instructional materials to learners, use the simulation system for practice,

and perform assessment. Several techniques, such as retrying or disabling activities

depending on a learner's profile, performance and needs, dynamic binding to suitable

learning objects, optional assessment presentation, and the support of different learning

approaches by customization of sequencing control modes, have been applied to achieve

personalized learning.














CHAPTER 1
INTRODUCTION

The advent of Internet and Web technologies has enabled organizations and

individuals all over the world to place enormous quantity of multimedia data (texts, Web

pages, graphs, images, Web simulation, video and audio) on the Web. Increasingly, Web-

based application systems are also made accessible to Web users through browsers.

These data and application systems are valuable resources for constructing instructional

materials for teaching, training, problem solving and decision support. One approach to

make use of these distributed, heterogeneous data and application systems is to apply the

object-oriented technology and "wrap" them as distributed objects. These distributed

objects can then be used as learning assets to compose learning objects (LOs) for

instruction and training purposes.

In recent years, there have been a number of initiatives in developing and

standardizing Web-based learning technologies. The Advanced Distributed Learning

Initiative [ADL, 2003], the IMS Global Learning Consortium [IMS, 2004], and the Open

Knowledge Initiative [Eduworks & OKI Leadership, 2002], are a few examples.

The Sharable Content Object Reference Model (SCORM) [ADL, 2004a] is a

reference model initiated by the Advanced Distributed Learning (ADL) program of the

Department of Defense (DoD) and the White House Office of Science and Technology

Policy (OSTP). According to the SCORM's specification, it is envisaged that Internet

users and heterogeneous LMSs would use the Web as a universal platform for accessing

and launching sharable content objects and for establishing close communication,









interaction and coordination among content object developers, course authors, users, and

administrators. To realize this vision, sharable content objects must be durable,

interoperable, accessible and reusable. In order to meet these requirements, it is necessary

to have a uniform way of modeling, not only learning resources, but also heterogeneous

learning tools and LMSs, as well as an information infrastructure to enable the

interoperation and sharing of their contents and functionalities. Also, the aggregation

model that defines the learning sequence or process has to be flexible, adaptable and

customizable to meet different learners' needs and learning contexts. Our work to meet

the above needs is consistent with the vision and goals of the ADL Program.

There are systems such as MERLOT [MERLOT, 2004], MIT OpenCourseWare

[OCW, 2003], CLOE [CLOE, 2004] and EOE [The EOE Foundation, 2004], which offer

repositories of learning assets to virtual learning communities. Each learning asset is

described by metadata and a Universal Resource Locator (URL), which is searchable

either by categories or by keywords using a search engine. These systems function more

like directories provided by digital libraries. Users of these systems have to manually

search the directories and access the learning assets that are "pointed to" by the URLs

stored in the directories. The above systems do not provide externally accessible

programming interfaces for accessing the contents of the directories and the associated

learning assets. Nor do they provide facilities for assembling instructional materials out

of the learning assets available in the Web, delivering content to users based on their

needs and profiles, and assessing users' understanding of the delivered content.

On the other hand, there are commercial instructional management systems (IMSs)

such as WebCT [WebCT, 2005], Blackboard [Blackboard, 2005], and eCollege [eCollege,









2005], and research systems such as LON CAPA [Laboratory for Instructional

Technology in Education, 2004] and Sakai [Sakai Project, 2005], which are designed to

support course development, deliver contents to students, perform assessment, and

provide tools for course management. These systems are designed and implemented for

creating, teaching and managing courses and their targeted users are instructors, students

and course administrators of educational institutions.

The existing systems that provide directory accesses to learning assets and the

existing instructional management systems represent two ends of a spectrum. Useful

systems can be built in between these two ends. For example, a system may provide tools

for Internet users, who are not necessarily course developers or instructors, to design,

develop and share LOs. LOs do not have to be instructional materials for formal courses.

They can be small granules of information content that are useful to some learners and

contain practice and assessment items to exercise and assess the learners' comprehension

of the content. The learners do not have to be students who take courses in schools or

receive some formal training in business and government organizations. They can be

ordinary Internet users who need help in various decision-making and problem-solving

situations. Since such a system is not a full-fledged IMS, it will be simpler and easier to

develop and maintain than IMSs.

Our vision is to build an e-learning service infrastructure, which provides tools for

authoring learning objects, facilities for aggregating and sequencing of small granules of

learning objects to form reusable composite learning objects, and a Learning Process

Management System for learning object registration, management, delivery and

assessment. The e-leaming service infrastructure will enable the global participation of









Internet users in life-long instruction and learning. Internet users with similar interest in a

specific subject or domain will be able to form a virtual e-learning community to share

their knowledge. This is consistent with the vision of "building the technological

infrastructure to support dynamic, ad-hoc communities of lifelong learners who interact

within an environment of learning objects through a creative blend of advanced

computing technologies, high performance networks, authoring and collaboration tools"

stated in York et al. [2002].

Internet users have much more diverse backgrounds than students in schools. A

learning process management system that delivers identical contents to all learners cannot

accommodate diverse Web users' needs. Web-based learning should accommodate

learners' different profiles, which include users' backgrounds, competencies and interests.

A Learning Process Management System must be flexible, adaptive and customizable in

order to satisfy heterogeneous learners' needs.

Learning is largely a social activity; and even the most well developed multimedia

interactive materials lack the flexibility of human interaction [Lewis, 2002]. Therefore, a

Learning Process Management System that facilitates interactions and collaborations

among the people involved in learning will enhance the learning experience.

This work focuses on the creation of an Web-services-based learning, problem-

solving and decision-support environment, in which Internet users (not limited to

educators) who are knowledgeable in any subject domain (e.g., how to purify water, how

to care for a patient with a certain disease, etc.) can participate in a global virtual

community to create, compose, and evaluate distributed, reusable and assessable

multimedia LOs for instructional purposes; and Internet users who engage in lifelong









learning, problem-solving and decision-making can request, access and study the contents

of these LOs, be assessed of the knowledge gained, and engage in collaborative learning

with other learners and content producers.

The e-learning virtual communities envisioned in this work are different from the

existing virtual communities on the Internet. Learning in the virtual e-leaming

communities is based on reusable, assessable, and programmatically accessible e-leaming

objects. LOs are stored in distributed repositories of content providers to avoid the

bottleneck problem of a centralized repository and to give content providers more

authority and freedom to manage their LOs. These objects are designed and evaluated by

content producers and content evaluators with the support of user interface tools. They

are delivered and managed by the Learning Process Management System, which consists

of a Learning Process Execution Engine (LPEE) for processing learning objects, an

Event-Trigger-Rule (ETR) Server [Lee, Su & Lam, 2001] and other supporting

components for achieving collaborative, adaptive, customizable and flexible e-learning.

To summarize, our vision is the creation of a sustainable e-learning infrastructure

and the development of advanced e-learning technologies to enable the global

participation of Internet users in life-long instruction and learning. Internet users with

similar interest in a specific subject or domain will be able to form and operate their

virtual e-learning community to share their knowledge captured in reusable, compose-

able and assessable learning objects and use them to aid decision-making and problem

solving. The contribution of this work is in the development of an extended Web-services

infrastructure and dynamic and collaborative e-leaming technologies essential for the

realization of our vision. The developed infrastructure and technologies are in forms of









learning object models, learning object authoring tools, learning object definition

languages, user interface tools, information and runtime status models of learners,

distributed e-learning service architecture, event-trigger-rule-based execution of learning

processes, and model-based assessment.

This dissertation is organized as follows: Related works are discussed first. Then,

two learning object models for defining what we call Atomic Learning Object (ALO) and

Composite Learning Object (CLO) are presented in Chapter 3. The languages used to

define ALOs and CLOs are then described in Chapter 4. Next, Chapter 5 describes an e-

learning service infrastructure for virtual e-learning communities. The implementation of

the infrastructure including tools and software system components are also discussed.

Chapter 6 discusses an application of our e-learning technologies to encapsulate the

instructional materials of the Web-based Virtual Anesthesia Machine and the simulator as

LOs, deliver instructional materials to learners, use the simulation system for practice,

and perform assessment. A summary and the follow-up R&D efforts are given in the last

section.














CHAPTER 2
RELATED WORK

Effective delivery of learning contents to learners of varied backgrounds is one of

the goals of e-learning. Organizing learning contents is an importance task for achieving

this goal. There are several research and standardization efforts in developing learning

process models. SCORM's Content Aggregation Model [ADL, 2004b] and Cisco's

Reusable Learning Object [Termaat et. al., 2003] are two popular models that organize

learning objects for effective delivery. The structure of learning content specifies the

delivery sequence of the content. A tree structure, which is commonly used to present the

'table of contents' of a book or training manual, is generally used to model a learning

process. A tree node represents a granule of learning content to be presented to learners.

It can represent a course, module or lesson. The tree structure is used in SCORM, Cisco's

reusable learning object (RLO), CLI Virtuoso [Cisco Learning Institute, 2004],

KnowledgeTree [Brusilovsky, 2002], and KOD [Sampson, 2002].

2.1 Cisco's Reusable Learning Object (RLO) Strategy

Cisco's Reusable Learning Object (RLO) Strategy is a scheme for configuring LOs

that can be used in a learning process or learning management. It recognizes two levels of

LOs: Reusable Information Objects (RIOs) at the bottom level and RLOs at the top level.

Each RIO contains content items, practice items and assessment items related to a

learning objective. These items are stored in a RIO so that the consistency among content

delivery, practice and assessment can be maintained when the RIO is used in different

contexts. A larger structure called RLO can be formed out of RIOs. It can have an









overview, a summary, an assessment, and five to nine (7+2) RIOs. The assessment in an

RLO is simply a collection of the assessment items taken from the RIOs that form the

RLO. When an RLO is delivered, the content items in the RIOs are presented, and then

the assessment items randomly chosen from its RIOs are given. Figure 2-1 shows a RIO,

an RLO and their relationship.

Although an RLO can be meta-tagged, it lacks a meta-data specification that

describes RLOs and RIOs. A concrete specification of meta-data is required especially

for automated discovery and dynamic binding purposes. In our work, we use an Object-

Oriented Constraint Specification Language (OOCSL) introduced in Su et. al. [2001] to

specify the meta-data of a learning object.


A B

Figure 2-1. Cisco's RLO and RIO. A) Reusable Information Object. B) Reusable
Learning Object

2.2. ADL's Sharable Content Object Reference Model (SCORM)

SCORM is a reference model, which is intended to provide a standard framework

for building learning systems to enable the reuse and sharing of learning contents

developed by different authoring tools. Since our learning process model makes use of

some ideas presented in SCORM's sequencing and navigation model, we describe

SCORM's model in more details below.









In SCORM, there are two types of specialized instances of resources: Asset, and

. \,/lablle Content Object (SCO). Asset is a learning content in its most basic form. Assets

are electronic representations of media, texts, images, sound tracks, web pages, chat

sessions, assessment objects or other pieces of data that can be rendered by a Web client

and presented to a learner [ADL, 2004b]. SCO represents a collection of one or more

Assets packaged as a single launchable resource that can communicate with a Learning

Management System (LMS) using its runtime data environment.

SCORM's Sequencing Definition Model [ADL, 2004a] is a rule-based sequencing

model, which supports adaptive execution of an activity tree using sequencing rules,

rollup rules, and the status of learning objectives. An activity tree is a hierarchical

structure of learning activities and their corresponding learning contents. A cluster,

composed of a parent and its child activities, is the basic building block for sequencing.

An activity tree is composed of a set of clusters. The parent activity specifies information

about the sequencing strategy for navigating through its child activities. Figure 2-2 shows

the structure of an activity tree and its clusters in SCORM's Sequencing Definition

Model. An activity can have an associated resource such as SCO resource or Assets

resource, or can be made up of additional sub-activities consisting of other clusters.

In SCORM, learning objectives represent a set of locally and globally scoped data

items, each with a satisfaction status and a satisfaction measure. Activities may have

more than one associated local objective and may reference multiple globally shared

objectives. The Tracking Status Model records the status of progress associated with

objectives, activities, and attempts of activities.








10



Cluster
Course


t----------- /,-- T
II I I
Module 1 Module 2 Module 3
I------------------- ---L--------

-Lesson 01 Lesson 01 Lesson 01

II I I
Leso 0 Lesson 02 LeSSO 2 Lesson 02
-- II I I Cluster -
CluCluster I ste
Cluster -
Lesson 03 Chapter 1


-- Lesson 04 Chapter 2
Cluster Cluster



Figure 2-2. A Representation of an Activity Tree Composed of Clusters in SCORM


SCORM's Sequencing Definition Model makes use of a rule-based sequencing


model, which adopted the IMS Simple Sequencing Specification [IMS, 2003]. A set of


rules is defined for an activity, and is evaluated at specific times during the delivery of an


activity. A sequencing rule is in the form of if[condition] then [action/behavior]. It


consists of a set of conditions and an action/behavior. The action is executed when the


conditions of the rules are evaluated to True. The conditions of a sequencing rule are


based on the Tracking Status Data. Figure 2-3 shows the possible conditions and


actions/behaviors in sequencing rules.


Precondition Postcondition
Actions Actions

Conditions Skip Exit Parent
Activity Progress Disabled Exit All
Satisfied Known
Known
Objective Status Attempted Hidden From Choice Retry
Known
Known A Stop Forward
IF Objective Measure Attempt Limit Then Stp raverwa Retry All
(not) Known Exceeded
Objective Measure Time Limit Exceeded Ignore (default) Continue
Greater Than
Objective Measure Outside Available Previous
Less Than Time Range Exit Actions
Ignore (default)
Completed Always (default) Exitgnore (defa

Ignore (default)

Figure 2-3. Conditions and Action/Behavior in SCORM's Sequencing Definition Model









SCORM's Sequencing Definition Model provides the desirable set of features

described above; however, it has a few limitations. First, the definition of learning objects

in SCORM does not explicitly distinguish content, practice, and assessment items as in

Cisco Systems' RLO, which is adopted in our work. Additionally, we make use of meta-

data and their constraints specified in each LO to achieve more accurate, dynamic

binding of requests to LOs. Second, non-leaf activities in an Activity Tree neither present

contents nor perform assessment in SCORM. We believe that it is useful to allow a non-

leaf node to present an introduction and/or a summary of the contents covered by its child

activities. Assessment items for testing the integrated knowledge of the contents

presented by the child activities should also be allowed. Third, there is no model or

specification for conducting assessments in the SCORM sequencing definition model,

hence the coverage of an assessment is decided entirely by a SCO bound to the activity

instead of the information specified in its sequencing model. As a result, a change of

assessment coverage in an activity tree requires a structural change of the learning

process and the authoring or modification of an SCO to conduct the new assessment. This

may require a substantial amount of time and effort. In this work, we introduce a model-

based assessment technique to facilitate flexible assessments.

2.3 Flex-EL

A workflow process model represented by a directed acyclic graph (DAG) is

employed in Flex-EL [Lin, 2002]. The model can specify the interaction, coordination

and collaboration among the individuals involved in learning and also the sequencing of

contents to be presented to learners. The system uses conditional transitions expressed in

a workflow model to achieve the flexibility in selecting learning pathways that match

each learner's individual pace and learning style. Different from Flex-EL, we model a









learning process by an activity tree, and use sequencing rules and rollup rules as in

SCORM. The action part of the rules can change the sequencing paths by allowing

learners to retry, hide, and skip activities when the conditions of the rules are met. In

addition, we allow the structure of a learning process or sequencing control modes to be

customized at runtime by invoking some rules to check a learner's profile and progress.

2.4 KnowledgeTree

The adaptive Web-based educational system, KnowledgeTree, introduced by

Brusilovsky [2002], separates learning materials into primary materials for average

learners and additional materials for learners with different learning styles and knowledge.

The system uses learning goals, preferences and knowledge of individual learners to

select the most appropriate learning materials. Our dynamic binding of requests to LOs is

similar to their idea of binding learning materials at runtime. However, we leverage on

the standardized Web-services technology for the registration and discovery of LOs and

add meta-data and constraints in LO specifications.

2.5 L3

L3 [Altenhofen, 2002] separates learning processes from strategies, that is,

navigation rules, and introduces meta-tags for describing the knowledge type of learning

activities and the inter-relationships among the activities. A strategy chosen at runtime

and the meta-tags of learning activities enable adaptive navigation of a learning process.

Different from their work, our learning process model allows sequencing rules and rollup

rules to be attached to each activity at both design time and runtime in order to achieve

dynamic properties in a learning process execution.









2.6 NETg

NETg [Thomson, 2005] is a commercial learning management system. With pre-

assessment technique, NETg can selectively deliver contents that a learner needs to take

according to the assessment result. However, different from this work, they do not make

use of post-assessment results and learner profile for adaptive delivery. In NETg, the

assessments can be taken anytime a learner wants, and the deliverable learning contents

are written in a proprietary format instead of the general Web document format.

2.7 MERLOT

MERLOT (Multimedia Educational Resource for Learning and Online Teaching)

[MERLOT, 2004] is a free and open resource repository designed primarily for faculty

and students of higher education. MERLOT is also a community of people who are

involved in education. Community members may contribute materials, assignments and

comments. Meta-data-based search and category-based search methods through a Web

browser are provided, and both require human intervention. Learning resources can only

be accessed through the URLs provided by the system. It does not provide an access

mechanism for an external software component to access the resources.

2.8 CORDRA

CORDRA (Content Object Repository Discovery and Registration/Resolution

Architecture) [LSAL, 2004] is a reference model for content repositories, brokering of

contents, and APIs for content registration, discovery and a standard mechanism to access

repositories. Its key capabilities include the following:

* Content can be made widely available.
* Content can persist outside of the realm of a single course.
* Content can be discovered.
* Once discovered, there will be standard mechanisms to access the content






14


* Content can be managed and deploying organizations will be able to tailor
management to their needs.
* Implementation of the model will be open and flexible.

Our design requirements and functionality of the implementation of content

repository and constraints-based broker are consistent with CORDRA's functional

requirements. We leverage standard Web-service technology and Web-service registry

and make some extensions to them for the registration, discovery, and access of learning

objects.














CHAPTER 3
LEARNING OBJECT MODELS

On the Web, there is an enormous amount of multimedia data and application

systems that can potentially be used for constructing instructional materials for teaching,

training, problem-solving and decision support. The object concept in Object-Oriented

Programming can be applied to encapsulate these materials as objects for their use and

reuse.

3.1 What Is a Learning Object?

A Learning Object (LO) is a granule of instruction designed to meet a specific

instructional objective. We model an LO in terms of content items, practice items,

assessment items needed to cover a subject of learning, provide practice items and

conduct an assessment. Additionally, we specify its meta-data as introduced in Termaat et

al. [2003] and Heins & Himes [2002]. By including these three types of learning items in

an LO specification, the author of the LO can ensure that practice and assessment items

presented to learners are consistent with the presented content items. After an LO is

authored, we publish the LO as a Web-Service in a Constraints-based Web service

Broker for interoperability and ease of access.

3.1.1 Atomic Learning Object

An Atomic Learning Object (ALO) is a small granule of instruction, which

contains some content items for teaching learners a problem-solving skill or providing

them the knowledge needed in a decision-making situation. An ALO can optionally

include practice and assessment items for exercising and assessing learners' acquired









skill or knowledge. In addition to these learning items, meta-data that describes

properties and constraints of the LO, and a delivery sequence of content and practice

items compose an ALO.

3.1.2 Composite Learning Object

ALOs by themselves will have limited use unless they can be used to compose

larger granules of instruction. A Composite Learning Object (CLO) is an aggregation

model defined as a tree structure of activities with sequencing information and

sequencing rules. The following subsections discuss the specification of an activity tree

including sequencing control modes, learning objectives and activity data.

3.1.2.1 Activity tree

When a reader selects a book, he/she usually takes a look at the table of contents of

the book to view the contents and the overall structure of the book. An activity tree in a

CLO follows the tree structure of the table of contents to aggregate deliverable contents

and defines the delivery sequence of the contents. An activity tree is designed with its

modeling constructs such as activities, connectors, and edges.

S Activity: A unit of processing in the delivery of a CLO instance. An activity can

represent a granule of instruction such as a lesson, module, chapter, part, and so on.

Depending on its location in an activity tree, an activity is either a leaf or a non-leaf

activity. A non-leaf activity can include content, practice and assessment items in its

specification. A content item in a non-leaf activity can provide an abstract and/or an

introduction to learners before the sub-tree rooted at the non-leaf activity is

delivered. A summary of the contents of a sub-tree can also be presented by a

content item. Assessment and practice items in a non-leaf activity can be designed

to assess learners' abilities to integrate the concepts and contents presented in its











child activities. A leaf activity can bind to a specific ALO or CLO statically, or it


can contain constraints for dynamic binding to an ALO or CLO that is suitable to a


learner. Additionally, a set of rules can be included in a CLO specification and be


used to alter the navigation path and the structure of an activity tree based on each


individual learner's profile (i.e., background, age, preference and competency) and


progress. In an activity, learning objectives and activity data can be declared and


specified. The sequencing rules and the rule-based execution model will be


discussed later in this chapter.


* Connector: A modeling construct that bridges a parent activity and its child


activities. It includes Sequencing Control Modes of the child activities, which will

be discussed in the next section.


* Edge: A directed edge that connects a parent activity to a connector, and a


connector to a child activity.


Figure 3-1 shows an example CLO, 'Relational Model', composed of the modeling


constructs discussed above.


-el
Relational Model
I--I
E 4,------ Edge
I I
I--I

Non-leaf Activity
E E E E
-___---___
I II I S I
History Terminology Referential Integrity Relational Langsi


Leaf Activity C" --- Connector

E E E
E _


Relational Algebra Relational Calculus Other Languages


Figure 3-1. Modeling Constructs in a Composite Learning Object







18


3.1.2.2 Sequencing control modes

Sequencing control modes (SCMs) adopted from SCORM's Sequencing Definition

Model defines the sequencing behavior among child activities. SCMs include Choice,

Forward-Only and Flow modes. Each mode can be set to True or False, and multiple

modes can be enabled to specify combinations of these modes. Choice SCM enables the

user to choose child activities in any order. Forward-Only SCM permits traversal through

its child activities only in the forward direction. Flow SCM allows sequencing through

the child activities in forward and backward directions. The sequence of child activities in

Flow and Forward Only SCM is defined in a connector. Figure 3-2 illustrates the three

sequencing control modes.

Parent Activity


Choice


Activity 1 Activity 2 Activity 3 Activity 4
A

Parent Activity


Flow


Activity 1 Activity 2 < Activity 3 < Activity 4
B

Parent Activity
,


----- ----- -- C

Figure 3-2. Sequencing Control Modes. A) Choice. B) Flow. C) Forward Only.









Unlike SCORM, which defines SCMs in a parent activity of a cluster, we specify

them in a connector. By separating the control information (i.e. SCMs) from the activity

specification, runtime customization of a learning process instance can be achieved more

easily.

3.1.2.3 Learning objective

A learning objective, adopted from SCORM's Sequencing and Navigation model

[ADL, 2004a], is a data structure whose data conditions can either be marked as

'Satisfied' or 'Unsatisfied' to indicate if a learning objective has been or has not been met.

Learning objectives are declared in an activity. They can be prefixed by the ID of

the activity (i.e., 'activitylD.objectivelD'), thus can be unambiguously referenced from

any activity of a CLO. To reference a locally declared objective, activityld does not be

prefixed. A learning objective includes the data fields such as 'Objective ID (String)',

'Satisfied by Measure (Boolean)', 'Minimum Satisfied Measure (decimal value between

0.0 and 1.0)', and 'Contributes to Rollup (Boolean)'. An objective whose 'Contributes to

Rollup' is True is referred to as primary objective. Each activity is required to have a

primary objective, and the satisfaction status of the primary objective represents the

satisfaction status of the activity. At runtime, a learning objective will have a Boolean

value for its satisfaction status and a numerical value for its normalized score, that is.

measure.

There are two ways to satisfy or unsatisfy an objective: First, when an objective's

satisfied by measure field is True, a measure (score of an assessment) will be recorded as

the result of an assessment. If the measure is equal or above its minimum satisfied

measure, then the objective will be set to 'Satisfied'. Otherwise, it will be set to

'Unsatisfied'. Second, when an objective's satisfied by measure field is False, the









objective has to be set to 'Satisfied' or 'Unsatisfied' by a condition-action rule. For

example, in order to satisfy an activity when a learner has taken all the content and

practice items, an after-post-assessment rule "if [true], then [Satisfy this activity]" can be

specified. Details of sequencing rules and the stages of activity processing will be

discussed later in this chapter.

3.1.2.4 Activity action

Activity action is a set of simple Java instructions executed at specific execution

stages during activity processing. These instructions may check a learner profile and the

runtime data model, and assign meaningful values to activity data. Details about their use

will be discussed in Chapter 4.

3.1.2.5 Activity data

Activity data are variables declared in an activity. Their values represent the status

of the activity, which are used by rules. The data type of each datum can be any one of

the simple data types of the Java language such as integer, float, boolean, string, and so

forth.

3.1.3 Meta-data

Meta-data of an LO is the data that describes the LO. The meta-data is expressed in

terms of a set of attributes and the constraints associated with these attributes. The

attributes include Title, Subject, Author, Keywords, Target age, Media format, Language,

Cost, Quality Rating, and so on, as in MERLOT, CLOE, and IEEE LOM standard [IEEE

LTSC, 2005]. These attributes can be categorized into two types. Static attributes such

as Title, Subject, Keywords, Language, Target age and Media type are attributes whose

constraints are specified by authors. Dynamic attributes such as Usage number, Average

score and Quality rating are attributes whose constraints are recorded and updated by









evaluators (a role played by qualified individuals in a virtual community) and the

Learning Process Management System. Constraints can be categorized into attribute

constraints (i.e., the legitimate values of these attributes), and inter-attribute constraints

(i.e., their value relationships). An attribute constraint has the following form:

* attribute-Id keyword value range enumeration

where attribute-Id is the identifier of an attribute, keyword can be either a

comparison operator '=', '!=' <', '<=', '>' or '>=', 'RANGE' or

'ENUMERATION'. In case the keyword is a comparison operator, value would

specify the data value of the attribute in a simple predicate expression. If the

keyword is 'RANGE', a range specification denoted by [value..value] would

specify the value range that the attribute can have. In case of 'ENUMERATION',

an enumeration specification denoted by [value, value,.., value} would specify a list

of possible values of the attribute.

An inter-attribute constraint is defined as follows:

* If attribute-constraints then attribute-constraints

where attribute-constraints is a Boolean expression in which each term is an

attribute constraint.

For example, an attribute constraint of an LO specified by 'Target age = [3..8]'

specifies that the LO is to be used by children between 3 and 8 years old. An LO that is

free of charge to people from a developing country can be specified by an inter-attribute

constraint 'If learner.country e developing country, then cost = 0'. The meta-data

constraints provided by LO producers are used for the registration and discovery of LOs

[Lee, Zhang & Su, 2004].












LOs developed for different application domains may require different meta-data


attributes. In order to accommodate different applications, meta-data attributes must be


customized and/or expanded to meet different application needs. We specify meta-data


attributes in an extended WSDL document, which is used by the LO authoring tools and


LO search tool, and allow the user to specify meta-data constraints. A part of the


extended WSDL document that describes the names and data types of the meta-data


attributes used in our current system are shown in Figure 3-3.




LO Type
string


Title
string


Subject
string


Author
string


Description
string


Keywords
string


Material Type
string


Media Format
string




Primary_audience
string


Language
string


Difficulty
string


Workload
string


Target age
integer


Level of detail
string


Studyperiod
duration


Cost
float




Figure 3-3. Meta-data Attributes in Extended WSDL Document


3.2 Learning Resources Taxonomy


We distinguish three types of learning resources in a taxonomy of resources. The


lowest level of resources is called learning asset, which represents the most basic


resources available on the Web and can be presented to a learner through a Web browser.










A learning asset can be a simple file, such as a text, image, audio/video clip or plug-in

files such as Flash, or a complicated web page that references multiple learning assets.

The next level of resources is the Atomic Learning Object (ALO) in which each of the

learning items includes a learning asset. The highest in the taxonomy is the Composite

Learning Object (CLO), which is an aggregation model defined as a tree structure of

activities with sequencing information. As discussed, a leaf activity can bind to either an

ALO or a CLO for the delivery of learning contents, practice and assessment. Figure 3-4

illustrates the taxonomy and reference/binding relationships among learning resources.


CLO
Non-leaf Activitv /Meta-data,
Intro, summaryI s tra

Practice items

Assessment itemsVidLeaf Lea



Learning Assets-L g ALO R
Image CEEE~^ -Intro, summary
As dImaged, Inteet users have much more diverse backgrounds and profiles than
Practice items
Video clip Assessment items

Audio clip Meta-data &
pageB Constraints



-- Binds to


Figure 3-4. Taxonomy of Learning Resources and their Relationships

3.3 Dynamic E-Learning Service Requirements and Techniques

As discussed, Internet users have much more diverse backgrounds and profiles than

students in schools. Therefore, Web-based learning has to be dynamic to accommodate

learners' different backgrounds, competencies and interests. To meet this requirement,









learning object services must have the following dynamic properties: active,flexible,

adaptive, and customizable. They should be "active" in that operations on them can

automatically trigger rules to enforce policies and constraints, coordinate learning

activities, and notify peers and content producers to achieve collaborative e-leaming.

They should be "flexible" in that small granules of LOs and multimedia assets can be

used to flexibly compose larger objects, and a request for an object can be flexibly bound

to a suitable LO dynamically. They should be "adaptive" in that activities can be retried,

skipped, exited, enabled or disabled, and sequencing control modes can be changed at

runtime to adapt to the learner performancee (i.e., assessment results) and interaction

with the system. They should be customizablee" in that the structures, enabled/disabled

status of activities and sequencing control modes can be customized to suit individual

learners before the processing of a CLO by using the information provided in learners'

profiles. A learner's profile contains a learner's identification, demographics,

accessibility, background and preference information such as date of birth, name, address,

preferred language and learning style, the type of internet connection, disability, interests,

learning history, learning objective, and others. Details of the learner profile model will

be discussed in Chapter 5. The following sections describe the techniques and

mechanisms we have developed to satisfy these requirements.

3.3.1 Rule-Based Execution Model

In this work, we use a rule-based execution model to process a CLO in order to

achieve dynamic, flexible, adaptive and customizable e-learning services. The execution

model can guide learners through different learning paths that lead to effective learning

experience by invoking sequencing rules during the learning process execution. A CLO

instance refers to a runtime instance of a CLO being enacted for the delivery purpose. A










CLO instance is processed by the Learning Process Management System, which contains

a Learning Process Execution Engine (LPEE), an Event-Trigger-Rule (ETR) Server [Lee,

Su & Lam, 2001] and a few other server components.

Drill-down Notified Notify Roll-up


0 Pre-activity Event After-Post-assessment Event+
10 Post-assessment (if specified)
0* Pre-assessment (if specified) t
Condition- Present Practice Items Condition-
Action After-Pre-assessment Event Action
Rules Present Summary Content item Rules
~-- Present Overview No No
S Content item Yes Chld tvt t v

*Drill-down Event R


Notify Drill-down Roll-up Notified
A

Drill-down Notified Notify Roll-up

Pre-activity Event
Bind to a Learning Object
S Pre-assessment (if specified)
Condition-
Action 4. After-Pre-assessment Event
Rules
Present Content/Practice items

4 Post-assessment (if specified)
SAfter-Post-Assessment Event

h B

."""> Event Posting
SExecution Flow


Figure 3-5. Tasks Performed in an Activity Node at Runtime. A) Non-leaf activity. B)
Leaf Activity.

Each enactment of a CLO by the LPEE would process the activities of an activity

tree by following a sequencing order determined by the followings:

* A pre-order traversal of the activity tree (drill-down and roll-up process).









* Sequencing control modes (Choice, Flow and Forward Only).

* Activation of sequencing rules to retry, skip, exit, enable or disable activities.

* Learner's navigation requests at runtime, for example, exit, next activity, previous

activity, choose an activity, continue, and so on.

As shown in Figure 3-5 (A), sequencing rules are executed during the processing of

activities. A sequencing rule is a condition-action rule having the structure, "if

[condition] then [action] else [alt-action]". The major differences between the

processing of leaf and non-leaf activities are that drill-down and roll-up rules do not exist

in a leaf activity, and an LO is bound to a leaf activity after the pre-activity event is

posted, as shown in Figure 3-5 (B).

During the execution of an activity, events are posted to notify the ETR Server that

certain stages of execution have been reached. The ETR Server would invoke sequencing

rules associated with the events. As shown in Figure 3-5, a sequencing rule is invoked by

an event with the same name. For example, a Pre-activity event activates a Pre-activity

sequencing rule. The detailed description of the ETR Server will be given in Chapter 5.

An activity may contain the following sequencing rules:

1. Pre-activity rule Processed before the enactment of an activity. Learner's profile

or the status of another activity can be referenced in the rule for possible adaptation

or customization.

2. After-pre-assessment rule Processed after the pre-assessment task. The result of

the pre-assessment can be evaluated for any possible adaptive sequencing.

3. Drill-down rule Processed before leaving the activity to go down the activity tree

to process its child activities. Sequencing control modes of the connector between









the activity and its children can be set adaptively at this stage by checking the

learner's profile and runtime status. Drill-down rules are applicable only to non-leaf

activities.

4. Roll-up rule Processed when an activity is revisited after each of its child

activities is finished. A roll-up rule is in the form of if[Child_activity_set

(Minimumset) Condition_set] then [action] else [alt-action]. The

Child activity set specifies a qualifier (All, Any, None, At Least Count, or At

Least Percent), which defines the set of child activities referenced during the

evaluation of the condition part of a rollup rule. If "At Least Count" or "At Least

Percent" is used, it is required that Minimum set is specified. Minimum set

represents the minimum count or the percentage of child activities that must be

evaluated. The condition set of the rollup rule contains "Satisfied", "Attempted",

"Completed", "Objective Status Known", "Objective Measure Known", "Activity

Progress Known", "Attempt Limit Exceeded", and "Never" as in SCORM's

Sequencing and Navigation [ADL, 2004a]. For example, a rollup rule "if[At Least

Count (2) Satisfied] then [Satisfy this activity]" states that if any two of the child

activities are satisfied, then the activity (parent) is satisfied. Rollup rules are

specified in a parent activity.

If there are one or more child activities yet to be processed, sequencing control

modes will determine a set of available child activities for the learner's choice.

Roll-up rules are applicable only to non-leaf activities.









5. After-post-assessment rule Processed after a post assessment task to check the

result of the post-assessment. The result can be used for any possible adaptive

sequencing.

The condition part of each sequencing rule may check a learner's profile and the

progress status at each stage of activity processing. Thus, an appropriate action can be

taken to accommodate a specific learner or a category of learners in different learning

contexts. For example, the execution of a sequencing rule can change the sequencing

control mode and/or the control structure of the current instance of an activity tree to

dynamically adapt to the learning context and the learner's profile and progress. The

action part of a rule may specify "Skip Activity", "Exit Activity", "Retry Activity",

"Enable/Disable Activity", "Incomplete Activity", "Satisfy/Unsatisfy Activity",

"Satisfy/Unsatisfy objective", "Hide Activity from Choice", "Pre/Post-Assess",

"Remove/Add Sequencing Control Mode of a Connector", and so forth, so that the

delivery sequence of activities can become adaptive, flexible and customizable.

A pre-activity rule specified in a root activity of a CLO can be activated for

customization of the CLO instance. For example, a pre-activity rule "If[learner 's goals

do not include 'database administrator' or 'DBA'], then [Disable activity

'installing DBMS']" would check the learner profile to see if his/her learning goal is to

become a database administrator. If not, 'installing DBMS' activity that delivers learning

items related to the details of a DBMS installation will not be presented to the learner.

Before an after-pre-assessment rule is invoked, the result of the pre-assessment will be

available. An after-pre-assessment rule "If [pre-assessment objective is 'Satisfied'], then

[Skip this activity would allow the current activity to be skipped when the pre-









assessment result is satisfactory. A drill-down rule of a non-leaf activity specified as "If

[learner prefers 'Receptive learning style], then [Set Sequencing Control Mode to

'Forward Only '], else [Set Sequencing Control Mode to 'Choice 7'" would not allow a

learner who prefers receptive learning style to freely choose the next child activity. Rules

as illustrated above can enable the Learning Process Management System to deliver

contents to different learners in different order depending on the learners' profiles and the

progress they make.

3.3.2 Dynamic Binding

LO repositories established at the sites of content authors who created LOs may be

updated frequently, that is, new LOs are created and existing LOs are enhanced with up-

to-date contents or infrequently used LOs can be removed from the repositories. One way

to leverage LOs stored in the distributed repositories is to register the meta-data and the

access methods of the LOs in a Constraint-based LO Broker that is externally accessible.

Then learners and the Learning Process Execution Engine can query the LO Broker to

find and execute the desired LOs. Another benefit of making LOs programmatically

accessible through the LO Broker is to enhance the effectiveness of learning by selecting

LOs that suit learners' different competencies and backgrounds. The LO Broker works as

a meta-data repository that provides the filtering service.

Dynamic binding refers to the runtime binding of an activity to an LO. It is a more

active approach than altering learning paths in that it can choose different learning

materials dynamically at runtime. It is achieved by allowing a leaf-activity to specify

binding constraints at build-time, and generating a query using the binding constraints to

the LO Broker at runtime. The binding constraints describe the requirements of an LO

that can satisfy the learning objective of a leaf-activity. They are specified in terms of









attribute and inter-attribute constraints which are in the same format as the meta-data of

LOs. The Broker would match the query requirements against the meta-data of the

registered LOs to find the suitable LO(s). If more than one LO match with the query, the

meta-data of these LOs will be presented to the learner so that he/she can choose an LO

of his/her preference. Details about LO registration and binding process will be discussed

in Chapter 5.

In order to make dynamic binding adaptive, binding constraints may contain a

variable in its attribute constraint specification. This variable will be assigned a value

based on a learner's profile, status of objectives, and activity data. In the binding

constraints of a leaf activity, the value on the right-hand side of an attribute constraint can

be prefixed by 'OBJ:' or 'VAR:', which represents the objective, or the activity data,

respectively. At runtime, an objective id prefixed with 'OBJ:' will be replaced by the

status of the objective, and a data id with the prefix 'VAR:' will be substituted by the

value of the activity data at the time of dynamic binding to generate the query. For

example, a binding constraint 'Targetage = VAR:iAge' will be transformed into

'Targetage = 15' when a 15 year old learner is taking the CLO with the activity data

iAge assigned to the age of the learner. As another example, a learner with a disability

can be presented with appropriate content by an attribute constraint 'Media type

ENUMERATION {VAR:content type}', where the activity data 'content type' can be

replaced by an enumeration of strings {"Movie i/ ith caption ", "HTML ", "Flash "} for a

hearing-impaired learner, or {"Audio", "Movie i/ ith audio"} for a visually impaired

learner. Binding constraints allow the discovery of LOs that have appropriate media types.









3.3.3 Model-based Assessment

Assessment is an important aspect of learning in that it measures a learner's

knowledge and problem-solving skills. Assessment results provide important information

that can be used to select learning paths, bind activities to suitable LOs, and identify areas

that a learner should pay special attention to. SCORM's sequencing definition model

does not specify assessment related information, such as when and how an assessment

will be conducted. The content of the presented assessment is solely dependent on an

assessment LO referenced in a leaf activity. Thus, a change of assessment coverage and

location in an activity tree requires a structural change of a learning process and the

authoring of an LO that conducts the new assessment. This would require a substantial

amount of time and effort.

In this work, we allow the specifications of a pre-assessment and a post-assessment

when an activity is defined. We also allow the specification of sequencing rules that can

make use of the results of the assessments to select a learning path, and customize a

learning process structure as discussed before.

Any activity node in a learning process model can carry out a pre- and/or post-

assessment task on the learning contents covered by the tree that is rooted at the node.

The assessment items used in the assessment task can be randomly and proportionally

selected from the assessment items of the non-leaf nodes and those learning objects

bound to the leaf nodes of the tree. The above provision addresses the SCORM's

limitation that only leaf nodes of an activity can have assessments, and gives a content

producer greater flexibility in specifying when and where assessments are to be carried

out.









3.3.3.1 Assessment specification

Assessment specification, which is a part of activity specification, includes

information related to the assessments) to be conducted in an activity. Assessment

Marker describes the type of the assessment (pre- and/or post-assessment) to be

conducted. Assessment Parameters specify the selection percentage (0 100%) of

assessment items and a scoring weight (0 1.0) for each activity that belongs to the

coverage of the assessment. The selection percentage and the scoring weight represent

the contribution of the activity for selecting problems and grading the assessment,

respectively. The number of assessment items that should be extracted from the items in

the activity can be calculated by considering the percentage and the number of

assessment items in the activity. For example, if four pre-assessment items exist in an

activity and the selection percentage for the activity is set to 50%, then two items are

selected randomly from either the activity (in case of non-leaf activity) or the LO bound

to the activity (in case of leaf activity) for the assessment. The scoring weight is applied

to calculate how many points are contributed to the total score of the assessment. The

maximum score, gained score and normalized result score of an assessment are calculated

as follows:

Max Score= Z Pts(P.)* weight(Ai)
A activities in subtree. P1 selected assessment items in A,


, where Pts(P,) is points allocated to P,, and i' eig'ht(4) is scoring weight of A,

Gained Score = PtsGained(P) weight(A,)
4 eactivitiesin subtree. P selected assessmentitems in A,

, where PtsGained(P,) is points gained from P,, and 1i eig/ht(4) is scoring weight of A,.









Normalized result score = Gained Score / Max Score


The normalized result score is set to the measure of the objective associated with

the assessment that has been carried out.

3.3.3.2 Model-based objective measure assignment

As discussed, the satisfaction status of an activity, which is evaluated for the

processing of a roll-up rule of its parent activity, is represented by the status of the

primary objective of the activity. Additionally, non-primary objectives) can be declared

in an activity. A possible usage of non-primary objectives is for the analysis of an

assessment result. In case there is an assessment in an activity, the primary objective's

measure may represent the overall gained score, and the measures of the non-primary

objectives can represent scores gained from some parts of the assessment, that is,

problems chosen from a subset of activities in the assessment coverage. As a result,

objectives can be used in an analysis of the assessment, the result of which can be useful

for giving advice to learners for future study, and making the execution of the learning

process adaptive.

As a part of assessment specification, we provide a mechanism to set multiple

objective measures according to the result of an assessment conducted in an activity. An

objective is paired with a list of activities that belong to the subtree rooted at the activity.

As an example, Figure 3-6 shows a subtree that has an assessment at its root Al. The

activity Al has three objectives: Overall, Left and Right. The objective Overall covers the

whole subtree, Left covers the left subtree, and Right covers the right subtree. A list of

activities (A2, A4, A5, and A6) is assigned to Left, and (A3, A7, A8) to Right. With this










specification, the normalized measures of the objectives Overall, Left and Right will be

set by calculating the maximum score, gained score and normalized score as discussed.

Objectives in Al:
Left
Right
Overall


A1
I I


I I
J]-------- ----L---- -------:

A2 A3



A4 A5 A6 A7 A8
I I I


- - - I - -

LL-
Figure 3-6. Assignment of Measures to Multiple Objectives for an Assessment at Al

Just like there can be multiple quizzes and exams in a course, it is possible to

schedule multiple assessments in a CLO. In addition, it is possible that an assessment is

conducted optionally by a sequencing rule. As an example, Figure 3-7 shows an activity

tree with several assessments. A set of assessment questions will be given at the end of

each of the activities at level 2 under the activity A2, that is, A4, A5, and A6. Only those

learners, who pass less than two of the three assessments, need to take the assessment on

the activity A2. To make the assessment on A2 optional, a roll-up rule of the activity A2

can be specified as "if[At Least Count (2) are Satisfied], then [Satisfy this activity], else

[Unsatisfy this activity]", and a after-post-assessment rule "if [this activity is not

Satisfied], then [perform a Post-Assessment]". Assessment parameters need to be

specified in A2 for the optional assessment.









In the child activities of A3, there will be no assessment, and there will be a

mandatory comprehensive assessment for the entire tree rooted at Al. The roll-up rule of

the non-leaf activity A3 is "If [All child activities are Satisfied], then [Satisfy this

activity], else [Unsatisfy this activity]". Activities without any assessment will be

satisfied after they have been navigated by an after-post-assessment rule "If[true], then

[Satisfy this activity]". The root activity Al has a primary objective primary objective

and a non-primary objective assessment objective for the post-assessment conducted at

the root activity. The entire CLO will be satisfied only if activity A2 and the objective

assessment objective are satisfied, which can be specified by an after-post-assessment

rule of Al: "if[(activity A2 is Satisfied) AND (objective(assessment objective) is

Satisfied)], then [Satisfy this activity], else [Unsatisfy this activity] ".

Level 0 ............ --...... ...



Level 1 ------------- A3


Level 2 --- A4 A5 A6

] Activity without assessment
Level 3 --- Activity with assessment
SActivity With optional assessment

Figure 3-7. Activity Tree with Multiple Assessments














CHAPTER 4
LEARNING CONTENT MODELING LANGUAGE AND LEARNING PROCESS
MODELING LANGUAGE

The learning object models, introduced in Chapter 3, are used for defining ALOs

and CLOs. They are used as the underlying models for the development of authoring

tools to be used by authors of LOs to create ALOs and CLOs. In addition to the

underlying models and authoring tools, we need concrete languages that describe these

two types of LOs without ambiguity. For the purpose of sharing and exchanging the

specifications of ALOs and CLOs, textual languages for defining these two types of LOs

are useful. In this work, a Learning Content Definition Language (LCDL) and a Learning

Process Definition Language (LPDL) were designed using the XML technology for

defining ALOs and CLOs, respectively. Content authors would utilize authoring tools (to

be described in Chapter 5) to define ALOs and CLOs. The tools generate the language

descriptions of ALOs and CLOs using these two languages.

4.1 Why XML?

XML (eXtended Markup Language) has become a de facto standard for

representing structured and semi-structured information in a textual form [Graham, et. al.,

2002]. There are several advantages of the XML technology, which are summarized in

[Software AG, 2004] as follows: "

* XML is a meta language. It defines markup languages for specific purposes and
schemas for all kinds of data models.

* XML is text-based and easy to read.

* XML is ideal for structured data.









* XML is presentation neutral.

* XML is multi-lingual.

* XML is open technology."

Due to the above advantages and the matured XML technology supported by

numerous vendors, XML documents are used across industry and research institutions for

describing new technologies and data exchange.

Storing, parsing, and validating data in an XML document requires the definition of

an XML data schema. Currently there are two ways to define a XML data schema: XML

Schema [W3C, 2001a] and Document Type Definition (DTD). DTD, an older technology,

defines a valid XML document format with its proprietary syntax to define XML

elements and attributes. XML Schema, developed afterwards, supports new features not

supported in DTD, such as definition of new data types, object-oriented concepts

including extension/restriction of base data types and type reuse, and namespace that

enables incorporation of existing XML Schema definitions to create a new one. In

addition, an XML Schema definition is written in a standard XML document to define an

XML data format, which is easier to read than a DTD. Due to these advantages, the

languages and protocols that describe Web-Service technology, such as Web Service

Definition Language (WSDL) [W3C, 2001b], Universal Description, Discovery and

Integration (UDDI) [OASIS, 2004], and Simple Object Access Protocol (SOAP) [W3C,

2003], are defined using XML Schemas. We define the learning object languages, that is,

LCDL and LPDL, using the XML Schema technology. The XML Schema definitions of

LCDL and the LPDL are listed in Appendix A and Appendix B, respectively.











4.2 Meta-model

A meta-model of a modeling language reveals modeling entities, their attributes,


and cardinality and containment relationships among the entities. Figure 4-1 shows the


meta-model diagram of LPDL and LCDL using the class diagram of the Unified


Modeling Language (UML). Each entity, represented by a rectangle in the diagram, is


either an XML element or attribute in the XML-based languages.

I-----------------------------------------------------------
Service Inter-attr LPDL
Constraint Constraint UDDI Saved
links to Registration Time
1 1 1 1
/ I-, --- 1 11 11
II_ Constraints1
o0 1 1 Learning Process
0,1 Business | 1 (CLO) Definition 1
0 1 Business
Service Key binds to 1


S Activity Activity Item on ctor Edge


Binding o r-----
Information Activity l

binds to 1 1 l T 1 1 *1 i



1 1 1 1 1
Updated Limit Objective Activity Activity Assessmentnt Sequencing
Time Data Action Marker Parameters Rules



SContent LCDL
Item
1 Learning Content
+1 (ALO) Definition Practice
1 Item
Assessment
UDDI 1 Learning Items Item
Registration 1I Sequence

Figure 4-1. Meta-model of Learning Process Definition Language and Learning Content
Definition Language and their Relationships

The diagram shows the high-level entities of LPDL and LCDL, and relationships


between the entities, such as cardinality, composition, link and binding. To simplify the


diagram, a super-class 'Activity' is introduced to show that 'Leaf Activity' and 'Non-leaf










Activity' share entities associated with 'Activity'. Details about the meta-model are

explained in the following sections.

4.3 Learning Content Definition Language

LCDL is an XML-based language for defining ALOs. A Learning Content

Definition, that is, an ALO, consists of Content Item, Practice Item, Assessment Item,

Constraints, UDDI Registration, and Learning Items Sequence. A content item contains a

learning asset in the form of text, URL, or HTML that presents the content item. A

practice item and an assessment item include a content item for its problem content, and

an answer. In addition, an assessment item involves a numeric value, that is, a point

allocated to the problem, and a Boolean value that indicates whether the item can be

automatically graded by simple text matching. The following XML code segment

declares learning items consists of four content items and two practice items whose

content type is URL, and two assessment items that have text for their problem

presentation:




http://128.227.176.41:8888/VAM/Lowpressuresystem Ql.
htm


Number="2">
http://128.227.176.41:8888/VAM/Low pressure system lea
rning objectives.htm



http://128.227.176.41:8888/VAM/Low pressuresystem Q2.
htm



http://128.227.176.41:8888/VAM/Low pressure system Ql
Objectives.htm






http://128.227.176.41:8888/VAM/Lowpressuresystem
Ql VAM simulation.htm









40


N/A



http://128.227.176.41:8888/VAM/Lowpressuresystem
Q2 VAM simulation.htm


N/A







Q. If a vaporizer concentration dial is
adjusted to a non-zero setting, will 02 flow generated
by an 02 flush flow through the vaporizer?

A.
No

B. Yes

C. Depends on the setting
of the 02 flowmeter knob

D. Depends on the FGF
setting



A



Q. With the N20 flow meter at its maximum
setting (> 5 L/min), will a hypoxic gas mixture result
at the common gas outlet if the 02 flow meter is
subsequently decreased to its minimum setting (about
200 mL/min)?

A. Yes

B. No

C.
Maybe



B


.......

Learning items sequence describes a presentation sequence of content and practice


items when an ALO is bound to a CLO instance and delivered to learners. Type attribute


of LearningltemSequence element represents the type of the learning item to be presented,


and Itemld attribute matches with Number attribute of the corresponding learning items.


UDDIRegistration records a business interface key and a business service key returned


from a UDDI registry when registering the ALO with the Constraint-based Broker. The


following defines a learning items sequence and the UDDI registration of an ALO:















41




......

Constraints entity is the meta-data that describes an ALO, and is used for the


registration and discovery of the ALO through the Constraint-based Broker. The


following is an example attribute constraint specification describing that 'Title' is "Low


Pressure System VAM", 'MediaFormat' is "HTML" and "Shockwave", 'Language' is


"English", 'cost' is 0, and 'Author' is "Gilliean Lee":





Title
string
eq
"Low Pressure System VAM"
no
0


Media Format
string
enu
{"HTML", "Shockwave"}
no
0


Language
string
eq
"English"
no
0


Cost
float
eq
0.0
no
0


Author
string
eq
"Gilliean Lee"
no
0

.......











The complete definition of the ALO shown in the above example can be found in

Appendix C. Figure 4-2 shows the detailed meta-model of LCDL, consisting of entities

and relationships among the entities.

1 o0..1 =Text|
Content 1 o..1
1 1.. Item 1 URL
I Learning Content A1 It l m
IConstraints (ALO) Definition
1 1
SPractice Answer
S Item
Service Inter-attr
Constraint Constraint 1 1 1
[_ UDDI.I 1i I i "IIAssessment Point
UDDI Learning Items Item
Registration Sequence Autograde


Figure 4-2. Detailed Meta-model for LCDL

4.4 Learning Process Definition Language

LPDL is an XML-based language used for defining a CLO. LPDL specifies a

learning process in the form of an activity tree. As discussed in Chapter 3, there are

several modeling constructs of the activity tree: leaf activity, non-leaf activity, connector,

and edge, each of which is expressed as an XML element in LPDL. The most

fundamental modeling entities are LeafActivity and Non-leafActivity, with which the

other entities such as Limit, Objective, Activity Data, Activity Action, Binding Info,

Assessment Marker, Assessment Parameters, ETR Rules, Content items, Practice items,

and Assessment items are associated. The related entities will be explained when the

Activity entities are introduced.

In addition to the modeling constructs of the activity tree, Constraints and UDDI

Registration entities are also specified. Saved Time entity stores the most recent time a

CLO is created and saved. The information is compared with a deployment time recorded

in the LPEE to verify whether a re-deployment of the CLO is necessary or not.










We will use a CLO, which models the instructional process of a Virtual Anesthesia

Machine, as an example of LPDL code in this section. The full specification of the CLO

can be found in Appendix C.

4.4.1 Non-leaf Activity

In an activity tree, a non-leaf activity is a node that has at least one child node. It

can contain contextual contents, that is, introduction and summary, and practices and

assessments for exercising and assessing a learner's ability to integrate the contents

presented in its child activities. The following XML code segment specifies that an

introduction can be accessed through the given URL and a summary is given in the text.




http://www.vam.org/VAM/VAM Intro.htm


Original Virtual Anesthesia Machine Web page is
http://vam.anest.ufl.edu
.

Special Thanks to Dr. Sem Lampotang


Copyright: University of Florida.




.......

The Limit entity specifies a delivery limit of the activity in terms of the time

experienced or the number of attempts. The Objective entity represents a learning

objective of the activity. An activity is required to have a primary objective, which

represents the satisfaction status of the activity, as discussed in Chapter 3. The Activity

Data entity contains attributes or variables of simple data types supported by the Java

programming language. Their values specify a learner's profile information, the result of

some simple calculations, or the current status of an activity. They can be used in the

processing of a CLO instance. At runtime, all the values of Activity Data are passed to

sequencing condition-action rules, such as Pre-Activity, After-Pre-Assessment, and










After-Post-Assessment rules, for communication between the CLO runtime instance and

the rule code. The following XML code segment declares the objectives and activity data

of an activity named 'Part_3_SafetyExercises':



SatisfiedByMeasure="true"
MinimumSatisfiedNormalizedMeasure="0.5" />
SatisfiedByMeasure="true"
MinimumSatisfiedNormalizedMeasure="0.5" />
SatisfiedByMeasure="true"
MinimumSatisfiedNormalizedMeasure="0.5" />
Id="oBreathingCircuit" SatisfiedByMeasure="true"
MinimumSatisfiedNormalizedMeasure="0.5" />
Id="oScavengingSystem" SatisfiedByMeasure="true"
MinimumSatisfiedNormalizedMeasure="0.5" />





.......

The Activity action, a piece of Java code executed at a specific stage of activity

processing, can be defined to perform some simple operations such as checking learner

profile and status of objectives, assigning values to activity data, carrying out a data type

conversion, and so on. In a non-leaf activity, there are 'Before-Pre-Activity Actions',

'Before-Pre-Assessment Actions', 'Before-Introduction Actions', 'After-Introduction

Actions', 'Before-Rollup Actions', 'Before-Post-Assessment Actions', and 'After-Post-

Assessment Actions'. Each action is translated into Java code.

Internally, an activity code class is created for each activity. In the class, activity

data are declared as member variables, and a method implements each of the activity

actions. LPEE invokes these methods at specific stages of activity processing. Table 4-1

summarizes activity actions in a non-leaf activity and their descriptions.










Table 4-1 Execution Stages and Description of Activity Actions in Non-leaf Activity

Activity Action Name Execution Stage Description

Before-Pre-Activity Before processing Pre-Activity Assign values to activity data to be
rules used for the execution of Pre-
Activity rules.
Before-Pre-Assessment Before conducting a pre- Executed to take any necessary
assessment action for the preparation of a pre-
assessment.
Before-Introduction Before processing After-Pre- Assign values to activity data to be
Assessment rules, i.e. before used for the execution of After-Pre-
presenting a content item as the Assessment rules.
introduction
After- Introduction Before drill-down to a child activity, Assign values to activity data to be
i.e. before processing Drill-down used for the execution of Drill-down
rules rules.
Before-Rollup Before processing Roll-up rules, Assign values to activity data to be
i.e., before roll-up to itself after used for the execution of Roll-up
finishing a child activity rules.
Before-Post- Before conducting a post- Executed to take any necessary
Assessment assessment action for the preparation of post-
assessment.
After-Post-Assessment Before processing After-Post- Assign values to activity data to be
Assessment rules used for the execution of After-
Post-Assessment rules.



Assessment information for the model-based assessment discussed in Chapter 3 is

specified as a part of an activity. The Assessment Marker specifies whether a pre- and/or

post-assessment is going to be conducted in the activity. For each assessment, there exist

the Assessment Parameters, which include the Assessment Selection Parameters and the

Objective Settings. The Assessment Selection Parameters specify the activities

participating in the assessment. It is composed of a set of tuples (activity ID, selection

percentage, scoring weight), where activity ID is an identification of a descendent

activity from which assessment items will be collected. Selection percentage specifies

what percentage of assessment items will be chosen from the activity, and scoring weight

is the weight of selected assessment items to be used for grading the assessment.







46



Objective Setting entity, which is a subset of descendent activities, indicates the activities


that contribute to the calculation of the objective's measure.


The following XML code segment shows an example of assessment parameters


specified in a parent activity 'Part 3_Safety Exercises', which has the following child


activities: 'HighPressure_System', 'Low_Pressure_System', 'Breathing_Circuit',


'ManualVentilation', 'MechanicalVentilation', and 'Scavenging_System'. In the


parent activity, there are objectives 'oOverall', 'oPressureSystem', 'oBreathingCircuit',


'oVentilation', and 'oScavengingSystem' whose measures will be assigned as the result


of an assessment conducted in the activity:




ScoringWeight="l" SelectionPercentage="0.5" />
ScoringWeight="l" SelectionPercentage="0.5" />
ScoringWeight="l" SelectionPercentage="0.5" />
ScoringWeight="l" SelectionPercentage="0.5" />
ScoringWeight="l" SelectionPercentage="0.5" />
ScoringWeight="l" SelectionPercentage="0.5" />
ScoringWeight="l" SelectionPercentage="0.5" />



Part 3 Safety Exercises
High Pressure System
Low Pressure System
BreathingCircuit
ManualVentilation
MechanicalVentilation
Scavenging_System


High Pressure System
Low Pressure System


BreathingCircuit


Manual Ventilation
Mechanical Ventilation


Scavenging_System


......







































Minimum 1
Satisfied I
Measure I
Figure 4-3. Entities in the Meta-model of a Non-leaf Activity in Learning Process
Definition Language

As discussed, a condition-action rule has the structure "If [Condition], then

[Action], else [Alt-Action]". Thus, the Rule entity consists of a Condition, an Action, and

an Alternative Action. Condition is in the form of a Boolean expression, and Action and

Alternative Action are Java code segments to be executed when the Condition is satisfied

or unsatisfied, respectively. Sequencing rules for a non-leaf activity include 'Pre-activity',

'After-Pre-Assessment', 'Drill-down', 'Roll-up', and 'After-Post-Assessment' rules.

Figure 4-3 depicts a detailed meta-model of a Non-leaf Activity entity with its related

entities.










4.4.2 Leaf Activity

A leaf activity is a leaf node in an activity tree. Unlike a non-leaf activity, which

includes learning items in it, a leaf activity binds to an LO at runtime either statically or

dynamically. Binding Info specifies the method of LO binding and the required

information for each method. In the case of static binding, a business service key and a

business interface key is specified. Dynamic binding involves the requirements of LO

that the activity needs to bind, which are specified in the same format as the meta-data of

LOs. Implementation details on the registration and dynamic binding mechanism will be

given in Chapter 5. In the following example of Binding Info, it specifies the information

necessary for dynamic binding, where the attribute Keywords should be "input output of

anesthesia machine" and the attribute Language should be set to the value of activity data

'sLanguage' at the time of binding:







Keywords
string
eq
"input output of anesthesia machine"

No
0


Language
string
eq
"VAR:sLanguage"
No
0




.......














Table 4-2 Execution Stages and Description of Activity Actions in Leaf Activity

Activity Action Name Execution Stage Description

Before-Pre-Activity Before processing Pre-Activity Assign values to activity data to be
rules used for the execution of Pre-Activity
rules.

Before-Binding Before binding to a learning Assign values to activity data that can
object be referenced for updating dynamic
binding constraints.
Before-Pre-Assessment Before conducting a pre- Executed to take any necessary
assessment action for the preparation of pre-
assessment.

Before-Content Before processing After-Pre- Assign values to activity data to be
Assessment rules, i.e. before used for the execution of After-Pre-
presenting Introduction content Assessment rules.
item

Before-Post- Before conducting a post- Executed to take any necessary
Assessment assessment action for the preparation of post-
assessment.

After-Post-Assessment Before processing After-Post- Assign values to activity data to be
Assessment rules used for the execution of After-Post-
Assessment rules.
In a leaf activity, there are the following activity actions: 'Before-Pre-Activity

Actions', 'Before-Binding Actions', 'Before-Pre-Assessment Actions', 'Before-Content

Actions', 'Before-Post-Assessment Actions', and 'After-Post-Assessment Actions'.

Table 4-2 describes the execution stages and the purposes of the activity actions. A leaf

activity specifies Pre-activity, After-Pre-Assessment, and After-Post-Assessment

sequencing rules.







































Figure 4-4. Meta-model of Leaf Activity and Related Entities in the Learning Process
Definition Language

The definitions of the Limit, Activity Data, Objective, Assessment Marker,

Assessment Parameters entities in Leaf Activities are identical to those in Non-leaf

Activities. Figure 4-4 shows the detailed meta-model of Leaf Activity and its related

entities.

4.4.3 Connector

A connector relates a parent activity and its child activities in a cluster. Sequencing

ControlModes of the cluster are specified in a connector. Additionally, it can include an

ordered list of child activities, which gives the processing sequence of these child







51


activities in the Forward Only and Flow sequencing control modes. Figure 4-5 shows the

detailed meta-model for connector, edge, and their related entities.


Sequencing 1 1 1 1
Control Modes Connector Edge
1 1 1 1..2
0..1 0..1 ..1 1 ..*
Choice Flow Forward 1
Only Activity
Mode Mode Mode (Leaf, Non-leaf)

Figure 4-5 Meta-model of Connector and Edge in the Learning Process Definition
Language

The following XML code defines two connectors having the 'ForwardOnly' and

'Flow' sequencing control modes, respectively:



Part 1 Basic Concepts
Part 2 IO of VAM
Part 3 Safety_Exercises


HighPressure System
Low Pressure System
Breathing Circuit
Manual Ventilation
Mechanical Ventilation
Scavenging System
.......

4.4.4 Edge

An Edge is a directed edge, which connects an activity to a connector or a

connector to an activity. It has a 'from' attribute and a 'to' attribute. The value of each

attribute can be either an activity ID or a connector ID. The meta-model of Edge is shown

in Figure 4-5. The next XML code defines edges that connect an activity to a connector,

and vice versa:



Id="connectorl::Part 1 BasicConcepts" From="connectorl" />
From="connectorl" />
Id="connectorl::Part 3 Safety Exercises" From="connectorl" />







52


From="Part 3 Safety_Exercises" />
Id="connector2::High PressureSystem" From="connector2" />
From="connector2" />
From="connector2" />
From="connector2" />
Id="connector2::Mechanical Ventilation" From="connector2" />
From="connector2" /> ......














CHAPTER 5
E-LEARNING SERVICE INFRASTRUCTURE

We envision a new type of virtual e-learning community that can be established

based on reusable, assessable, and programmatically accessible e-learning objects that are

created and stored in a distributed fashion over the Internet.

5.1 E-Learning Infrastructure for Virtual E-Learning Communities

The e-learning infrastructure provides a dynamic and collaborative e-leaming

environment in which a large number of virtual collaborative e-learning communities can

be dynamically established and evolved. Each collaborative community is dynamically

formed by a community of Internet users who have a common interest in a specific

subject of learning, and who can provide and/or use the knowledge for solving problems

in that subject domain.

5.1.1 Roles in a Virtual E-learning Community

Members of a virtual e-learning community can play the following roles: content

provider, content composer, content evaluator, content learner, and community host

administrator. A member can play one or more of these roles.

Content providers create and register ALOs. Since an ALO is an aggregation of learning

items (i.e., content, practice and assessment items), which make references to learning

assets, a content provider can either take advantage of the learning assets available in the

Internet, or produce learning assets by using appropriate authoring tools to build ALOs.

HTML authoring tools, audio and movie editing tools, Macromedia Director, and so on,

can be used to create learning assets. The constructed ALOs are stored in the provider's









local repository, maintained by the Apache Xindice XML DBMS. Each ALO, together

with its meta-data and business service key, is registered as a Web-service in the

Constraints-based LO Broker deployed at a community host's site for later discovery and

delivery. Community members, and the Learning Process Management System can

browse and query the LO Broker for LOs. The LO Broker performs constraints matching

to discover the best LO that matches with a learner's request and profile.

Content composers' responsibility is to compose and register CLOs by making use

of the CLO authoring tool. Because non-leaf activities can include learning items, they

also need to be able to access learning assets as content providers. They can work with

content providers, or take the role of a content provider. Constructed CLOs are stored in

the content composer's local repository. The meta-data and access information of the

CLO is again registered with the LO Broker and made accessible and reusable to other

community members.

Content evaluators, elected by a virtual e-leaming community, would review,

evaluate and rate the ALOs and CLOs that are registered with the LO Broker based on

learners' feedback and LOs' use statistics, and, together with the administrator, approve

or disapprove their inclusion for the community's use, and their modification and

removal. It is necessary that content providers, content composers, and content evaluators

are domain experts in the subject area of LOs that they produce and evaluate.

Administrators of the community host are responsible for the operation and

maintenance of the Learning Process Management System installed at the host site.

Additionally, they take care of the registration and enforcement of the community's

policy rules, which govern LO registrations with the LO Broker. Policy rules can










recommend to members the LOs that have high evaluation scores, or drop LOs from the

registry that are rarely used or have very low rating.

Content
Evaluators


rUses

Content G e te Ev ua by c e Evaluation Tool
Providers Content va ted
Composers
Generate
aI LOs Used by Used b CLOs
Content Re i ed '
Providers d2 s Leev aluq n LOs

ProvidesElearning Host
Pf.S P providess E-learning Adminis

Content Register Profile Commun [ a
...Content ---- CCommunity intain E ab/sh
Learners Host LO action

Community Rules


Figure 5-1. Roles and Relationships among Members of a Virtual E-Leaming
Community

Content learners are members of a virtual e-learning community who use the LOs

created by the virtual community. During the learner registration, they are required to

provide information that constitute learner profiles, which are used by the Learning

Process Management System to achieve adaptive and customizable delivery of learning

experience. In addition to learning from LOs, they are authorized to evaluate the LOs that

have been delivered to them. They make use of the Web User Interface provided by the

community host. The roles and relationships among members of a virtual e-leaming

community are depicted in Figure 5-1.









5.1.2 Web-Services-Based E-Learning Service Infrastructure

The infrastructure is composed of distributed software components including the

LO authoring tools, the distributed LO repositories, the Learning Process Management

System, the LO Broker, and Web Servers. Each network site of a virtual community has a

Web server to provide HTTP and SOAP Web-services. LO repositories are stored at the

sites where they are created to avoid the communication/storage bottleneck of a

centralized repository and to give more authority to content providers and content

composers in their creation, modification and removal of LOs.

Different software components are installed at different sites depending on the roles

that the members of a virtual community play. The Content Provider site is equipped

with the ALO authoring tool and other learning asset authoring tools. It also has an XML

DBMS to store and maintain the local LO repository. The Content Composer site has a

CLO authoring tool in addition to the facilities available to a content provider. Using the

LO authoring tools, content composers and providers store LOs in their local LO

repositories, and register them with the Constraints-based LO Broker installed at the host

site. The Community Host site has the Learning Process Management System, the

Constraints-based LO Broker and a local LO repository. The local LO repository

maintains all the data necessary for the execution and delivery of LOs to learners, that is,

the learner profile models, the runtime status models and LOs that are fetched from the

distributed repositories at the sites of content providers and composers for processing by

the Learning Process Management System. The Content Learner site needs only a Web

browser. A learner can browse or query the LO Broker for registered LOs by specifying

his/her learning requirements in terms of the meta-data and constraints associated with a

desired LO. The learner can then store the LOs of his/her choice in a learner space, called










MyCLOs, for later execution. He/she can execute the LOs in his/her learner space. The

facilities at different sites of the web-service-based e-learning service infrastructure are

shown in Figure 5-2. The implementation details of the infrastructure are discussed in the

next section.


egistry Content Provider
Register, Lookup LO Access Info ALO
Community Host Authoring Tool Web-page -
authoring tool I
Link A sets
Broker (UPL)
Register Import
ALOsHTMs
Learning .
Process LLnk assets Learning
Management rnel (URL) Asset
System C Create i

Web, SOAP Server Web, SOAP Server
Request ALOs
Request CLOs
Register CLOs | -
Search LOs, Web Servers
Request LO Execution, Content Composer V"b, SOAP on Internet
Content Delivery Create, Edit CLOs I Server

Web earning
Browser Authorng Tool Assets
Content Learner [


Figure 5-2. Web-service-based E-Learning Service Infrastructure

5.2 Implementation

E-leaming services enable the authoring, registration, delivery and management of

LOs. They are needed for the creation of virtual e-learning communities. In order to

provide these e-leaming services, a service framework that facilitates the authoring,

registration, discovery, binding, and invocation of LOs is necessary. In addition, a

uniform way of modeling multimedia learning assets and Web-based service components

in the form of objects is needed. The Web-services technology developed by the IT

industry can be adapted and extended to serve this purpose.









5.2.1 Constraints-enabled Web-service Model

The Universal Description, Discovery and Integration (UDDI) [OASIS, 2004]

provides a general framework to allow objects to be defined as Web-services using the

Web Service Description Language (WSDL). The major elements of WSDL used for

Web service description are as follows [W3C, 2001]. The relationships among these

elements are illustrated in Figure 5-3:

* types a container for data type definitions using some type system (such as XSD).

* message an abstract, typed definition of the data being communicated. It consists
of the data types defined in 'types' elements.

* operation an abstract description of an action supported by the service. Input /
output parameters are defined using the messages defined in 'message' elements.

* portType an abstract set of operations supported by one or more endpoints.

* binding a concrete protocol and data format specification for a particular port
type.

* port a single endpoint defined as a combination of a binding and a network
address.

* service a collection of related endpoints.

A WSDL document can be posted on the Internet, and its access point (URL)

together with a textual description and the category information can be registered with a

Web-services registry such as the UDDI registry. The contents of the registry can then be

navigated or searched manually or programmatically to discover and obtain the access

information of suitable Web-services. As an alternative to downloading identified objects

for local use, the Web-services model allows the runtime binding of a service request to a

remote Web-service, and provides the Simple Object Access Protocol (SOAP) [W3C,

2003] that allows the activation of a remote service by exchanging SOAP XML messages.

By applying the Web-service technology, LOs and other instructional resources, tools,










and software systems can be uniformly specified as Web-services. However, the existing

specification and implementation of UDDI does not provide constraints specification and

filtering capabilities to match service constraints with a service requestor's requirements

to identify suitable services. Without these constraints specification and filtering

capabilities, an LO can be selected by the registry, but the selected LO may not satisfy

the requestor's requirements.

In this work, we have extended the WSDL specification and the UDDI registry's

capabilities by allowing constraints to be specified in WSDL, and adding constraint

processing capability to the UDDI registry. In the extended WSDL, a constraints element

that describes the meta-data of a Web-service is written using the LO meta-data format,

and appended as a part of the Web-service description. The extended WSDL information

model is shown in Figure 5-3.


par t,p Service Interface Definition


I. It portType

(abstract)
message (abstract)
operation



I concrete implementation
binding

(concrete)
message (concrete)
operation


service + T Concrete en'.:o:.lni pron
4- Made concrete by
Contains zero or more C:onsraln

Service Implementation Definition


Figure 5-3. Extended WSDL Information Model (In part from [Graham, et. al. 2002])










Figure 5-4 shows a part of an extended WSDL of an LO that includes an operation

getLO, the access point of which is http://128.227.176.41:8888/axis/LODBService.jws.

The meta-data attribute 'Keywords' of the LO has the enumerated values: "Anesthesia

Machine", "Anesthesia", "Virtual Anesthesia Machine", "Simulation", and "Low

Pressure System", the attribute 'Media Format' has the enumerated values "HTML" and

"Shockwave", and the attributed 'Cost' has 0 as its value.


xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="urn:LODBService"
xmlns:intf="urn:LODBService"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">















transport="http://schemas.xmlsoap.org/soap/http" />



encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:LODBService" use="encoded" />


encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:LODBService" use="encoded" />





location="http://128.227.176.41:8888/axis/LODBService.jws" />















Keywords
string
enu
{"Anesthesia Machine", "Anesthesia", "Virtual Anesthesia
Machine", "Simulation", "Low Pressure System", "High Pressure
System", "Breathing Circuit", "Manual Ventilation", "Mechanical
Ventilation", "Scavenging System"}

No
0


Media_Format
string
enu
{"HTML", "Shockwave"}
No
0


Cost
float
eq
O.0
No
0





Figure 5-4. Extended WSDL Document Example

A Constraints-based Web service Registry [Degwekar, Su & Lam, 2004], which

stores constraints and performs constraints matching to select suitable Web-services, is

utilized as a constraints-enabled Web-services registry. The registry leverages Apache

jUDDI registry (UDDI v.2.0) [The Apache Software Foundation, 2003] as a back-end to

acquire globally unique registration keys and store access points of LO repositories where

LOs are located. Since we make use of the registry as an LO registry that matches LOs

with browse requests, we shall refer it as the 'Constraints-based LO Broker'.

LOs registered as Web services are accessible by calling Web-service operations of

the LO repositories (getLO, addLO, etc) deployed at the access points of the Web-







62


services. The registry serves as a meta-data repository in contrast to LO repositories.

More about the Constraints-based Registry will be discussed in a later section.

5.2.2 Authoring Tools & LO Repository

Authoring tools with graphical user interfaces have been implemented to help

authors compose ALOs and CLOs efficiently and effectively. We make use of the Java

Architecture for XML Binding (JAXB) [Sun Microsystems, 2003] technology to

implement XML parsing and updating in our authoring tools. The JAXB package

generates a set of Java class files using an XML Schema definition as an input. The use

of JAXB package and the generated Java class files greatly simplifies the parsing,

updating, writing, and validation of XML files, which conform to the XML Schema

definition provided as an input.

I.- I- .. ,,n


I I I 1 1 I I




"- ,
-I .I .. T*L .2W..! 5! !

,i l I i I IT I ,,w


II '- I f F .- -



A B
Figure 5-5. Graphical User Interface Frame of the ALO Authoring Tool. A) Content
Items Authoring Tab. B) Service Constraints (Meta-data) Tab.

5.2.2.1 ALO authoring tool

We have developed an ALO authoring tool that facilitates authoring and

registration of ALOs. It is developed using Java Swing components. Its user interface is










63




similar to a tabbed dialog box in a windows-based operating system. The tool is used to



add, delete, and edit learning items, and to create, edit and register ALOs. The user


interface of the


chema Process Model Activity

IWl0l@ llE


ALO authoring tool is shown in Figure 5-5.


edit IrporfRemove Code Generation


d Process Model
9 O LeafActiviles
D Part_1_Basic_Conce
D Part_ 2__of_ VAM
D High_Pressure_Syst
[ LowPressureSyste
i BreathingCircuit
Li ManualVentlation
[ Mechanical Ventilatlc
[ scavenging_Syslem
9 L NonleafArtivities
DVAM
e Part 3_Safety Eer
9 [Connectors
connector
connector2
L 1 Edges
SVAM connector
L connector Part1_B
i connectorl Part 2_(
Sconnectorl Part3_S
D Part_3_Safety_Exerc
D[ connector2 High_Pr
D connector Low_re
[ connector Breathanc
D connector Manual
Sconnec tor2 Mecha.
4_:_1 I


-
VAM






S LE


Part 1_BasicConcepts Part_2_10_ VAM Part_3_Safet_Exercises

E


C


IE E I E E



High PressureSystem Low_Pressure_Systern Breathing_Circull Manual Ventllation Me


2I"'


Tree View


ActivtyD Pal _oAM
Activity Name t otoVM
Description simulation works Including Input and Output
Lim it----------------


O Num of Attempts E Times


Assessment Marker
OPreAssessment Set Parameters
0 nems from This Actty Only
0 iems from Subtree
D PostAssessment | et Parameters |


Binding Info for Leaf Acttiv
BrokerURL I
SDynamic Bdinig et Matching Constraints
0 Static Binding
Service Key


Objective ID
loOverall


Activity IDs in Assessment
Part 3 Safety Exercises '
High Pressure System
Low Pressure System
BreathingCircuit
Manual Ventilation -


Add Objective Setting

Registered Objective Setting
Obective ID Associated Activity IDs
oOverall Part_3_Safety_Exercises,High_Pressu
oPressureSystem HighPressure System,Low Pressure
oBreathingCircuit Breathing_Circuit
oVentilation Manual VentilationMechanical Ventilat

Remove Objective Setting


OK ancel B OK Cancel

Figure 5-6. Graphical User Interface Frame of the CLO Authoring Tool. A) User

Interface Frame with Tree View and Canvas Area. B) Leaf Activity Dialog

Box. C) Assessment Dialog Box.


anical ventilation


Scavenging System


Canvas Area


8~0~ II~


-1--------------------------------------------------------


1 111Obiectives -ings


rrmr~me! WI~


)1 in1lnrpl ',pliiJ'


I


I









5.2.2.2 CLO authoring tool

The CLO authoring tool supports the authoring and registration of CLOs. As shown

in Figure 5-6 (A), the tool's frame provides a canvas area on the right side for designing

an activity tree graphically, and a tree view on the left side of the frame where modeling

constructs are categorized and presented. Using the CLO authoring tool, a content

composer can create, edit and register CLOs. Dialog boxes for editing the properties of

the modeling constructs such as activities, connectors and edges are also provided.

Functions such as 'Add', 'Delete' and 'Edit' learning items are provided for defining

learning items in non-leaf activities. Activity and Assessment dialog boxes are shown in

Figure 5-6 (B) and (C).

5.2.2.3 LO repository

The ALO and CLO authoring tools store and retrieve LOs from an LO repository

stored in an XML database managed by the Web-based native XML DBMS, Xindice

[The Apache Software Foundation, 2004]. The Learning Process Management System

also accesses LOs from distributed LO repositories for processing. For interoperability

and ease of access, each LO repository is implemented as a Web-service. The Java Web

Service (JWS) technology supported by the Apache Axis SOAP engine is used for the

deployment of the Web-service of the LO repository. Any part of an LO, such as meta-

data, contents items, assessment items and practice items, can be accessed from the LO

repository. The WSDL document that describes the LO repository's Web-service is given

in Appendix D. Details about the LO registration process with the Constraints-based LO

Broker and the accessing of LOs from LO repositories will be discussed later.










5.2.3 Learning Process Management System

LOs are registered, discovered and processed by the Learning Process Management

System, which consists of the following main components: a Learning Process Execution

Engine (LPEE), an Event-Trigger-Rule (ETR) Server, an Assessment Component, an LO

Broker, a local LO Repository, and a User Interface Component. The architecture of

Learning Process Management System is illustrated in Figure 5-7. The components of the

system are discussed in the following sections.
i------------------------------------------------------------------
Learning Process Management System Communication Protocol
4- Java RMI
---- ---- -------- ------- SOAP
LO Broker ___ UI- u-" Learning Process 4------ HTTP
I ---- Component Execution Engine

Monitoring Component
Component
SI a Collaboration Tools
S LO Repository, (E-mail, Internet
Runtime Data, ETR Messenger,
External Learner ProfilesServer Workflow, etc)
LO Repositories Web-Service
I0I (HTTP, SOAP
Server)

Figure 5-7. Architecture of Learning Process Management System

5.2.3.1 Learning process execution engine

The LPEE processes LOs using the rule-based execution model to facilitate active,

adaptive, flexible and customizable e-leaming service. When a learner requests the

execution of an ALO, a predefined CLO having a single leaf activity is instantiated and

the leaf activity is bound to the ALO. When the execution of a CLO is requested, LPEE

fetches the requested CLO from a repository that stores the CLO by making a Web-

service call, and then deploys the CLO by generating activity codes and installing events,

triggers and rules specified in the CLO in the Event-Trigger-Rule Server. Next, an

instance of CLO is created for execution. A runtime status model, described in an XML

document, is created and maintained in a local LO repository stored in an XML database.










* Runtime Status Model

The model keeps the following information necessary for the execution of a CLO:

o Status of the instance: started, suspended, and finished.

o Current activity id.

o Status of activities: unattempted, attempted, and completed.

o Status of learning objectives: unknown, satisfied, unsatisfied, and current
measure.

o Status of activity attempts.

Upon the creation of a CLO instance, a runtime status model described in an XML

document, and a temporary copy of the CLO are created and maintained in the local LO

repository. The local LO repository is built on top of Xindice XML database, which

provides the persistent storage. LPEE maintains the runtime status model document for

the CLO instance. Upon receiving sequencing commands, the states of activities and the

instance are recorded in the runtime status model according to the state transition

diagrams shown in Figure 5-8. The runtime status model is defined in an XML Schema

shown in Appendix E.

Start Suspend Attempt
StartStart
started I Suspended
Unattempted Attempted
Resume
Finish, Finish Exit
Terminated Attempt

Finished
A Completed
Figure 5-8. State Transition Diagrams for Learning Process and Activity. A) Process
Instance Status Transition Diagram B) Activity Status Transition Diagram

A monitoring component makes use of the runtime status model to provide the

status information about the CLO instance to a learner. A UI component invokes the









monitoring component to create a Web page that presents the status information along

with the activity tree of the CLO instance.

* Architecture of LPEE

A learning process instance handler object (LPInstance Handler) takes care of the

execution of a learning process (CLO) instance by managing the execution of its

activities and maintaining its runtime status model through an Activity Handler and the

LO Repository Access Module. An Activity Handler object is responsible for the

execution of an activity. It instantiates the activity code object of an activity and invokes

its appropriate methods in accordance with the stage of execution. Some of the methods

post events to the ETR Server to invoke sequencing rules that are installed when the CLO

is deployed. The parsed structure of the CLO definition is maintained so that the LO

specification can be retrieved rapidly. The runtime objects of a CLO instance and their

relationships with a learning object definition are illustrated in Figure 5-9.


ETR Server
1 Condition-Action
ETR Server Rules
Rules

Figure 5-9. Relationships between Learning Object Definition and Runtime Objects of a
CLO Instance







68


The LMS Engine Core object implements the core functionality of LPEE. The

runtime objects, including activity codes, parsed CLOs, LPInstance Handlers, and

Activity Handlers, are maintained in four hash tables. Using the CLO instance ID or a

combination the instance ID and an activity ID, the runtime objects of a CLO instance

can be retrieved from the hash tables. LPEE is encapsulated as a Remote Method

Invocation (RMI) server accessible to sequencing rules and the UI component.


LMS Engine Core

Activity Code Hashtable Learning Process Hashtable
Key: LPlnstance Id + Activity Id Key: LPlnstance Id

Activity Code Parsed CLO



LP Instance Hashtable Activity Handler Hashtable
Key: LPlnstance Id Key: LPlnstance Id + Activity Id

LPInstance Handler Activity Handler




Runtime Status Model Learner Info Model Learning Object DB
Accessor Accessor Accessor



LMSEnginelmpl
(RMI Server)

Figure 5-10. Architecture of the Learning Process Execution Engine

The LO Repository Access Module consists of three classes that access the Xindice

XML database: Runtime Status Model Accessor, Learner Information Model Accessor,

and Learning Object DB Accessor. These classes make use of XPath and XUpdate

technologies to query and update the XML database. The Runtime Status ModelAccessor

class is responsible for the management of runtime status models. The Learner









Information Model Accessor class queries and updates the learner profile models. The

Learning Object DB Accessor class stores temporary LOs and accesses LO specifications.

The architecture of LPEE is shown in Figure 5-10.

S LO Deployment Process

A CLO has to be deployed before an instance of the CLO can be instantiated. The

deployment process involves the generation of activity codes for all the activities of the

CLO, and the installation of sequencing rules, which involves code generation for events,

triggers, and rules, and installing the code in the ETR Server. During the deployment

process, the installProcesslnstance method of the LMS Engine Core object invokes the

deployCLO method of CLO RuntimeDB Access object. The deployCLO method checks

whether the CLO has to be deployed by comparing the CLO's last deployment time and

the CLO's update time. If the CLO is deployed for the first time, the deployCLO method

will generate code for events, triggers, rules, and activities that are necessary for the

execution of the CLO instance. If the CLO has been deployed before and the update time

is later than the deployment time, then some of the activities of the CLO have to be

deployed to reflect the update. The deployment method deploys only the activities whose

update time is later than the deployment time by generating and installing codes for the

events, triggers and rules associated with the updated activities and the codes for the

updated activities. An object diagram of the objects related to the deployment process is

shown in Figure 5-11.























Non-leaf Activity
Code Generator


Figure 5-11. Object Diagram of CLO Deployment Process

* Learner Profile Model

Learner profile information provides the basis for the adaptation and customization

of learning objects. An LO can give different learning experiences to different learners

with diverse competencies and backgrounds. The IMS Learner Information Package

Specification [IMS, 2005] provides a specification of learner information model. Our

Learner Profile Model adopts most of the core information in the IMS specification and

adds additional features such as the specification of preferred learning style as shown

below:

o Identification Learner ID, Password, Address, Name, Contact Information
(phone, e-mail, fax, etc.), Date of Birth, Gender, Place of Birth.

o Goal Description, Setup data, Target date, Completion Date, Status (active,
inactive, completed), Sub-goals.

o Qualification, Certificate, License

o Accessibility

Language Proficiency Oral Speak, Oral Comprehension, Read, Write









Preference

Network Connection Dial up, DSL, T1, T2, etc.

Preferred Learning Style Receptive, Directive, Guided Discovery,
Explorative.

Preferred Media Type Movie, Audio, Document, Flash, Presentation,
etc.

Disability Hearing, Visual, Mobility.

o Learning History Start data, Finish date, Evaluation Result, Status (Active,
Suspended, Finished, Failed).

o Affiliation Affiliated organizations and related information.

o Interest Description.

The XML Schema Definition of the learner profile model is shown in Appendix E.

5.2.3.2 Event-Trigger-Rule server

The ETR Server is the rule engine that implements and executes sequencing rules

and community policies and regulations. These rules, policies and regulations are defined

in terms of events, triggers and condition-action rules. In the next few paragraphs, we

explain how a sequencing rule of a CLO is implemented as an event, a trigger and a rule,

and how the sequencing rule is executed.

An event is a data structure that can be posted to represent an occurrence of an

event type, and is implemented as a Java class. The attributes of an event class include

CLO instance related information, such as CLO ID, process instance ID, activity ID and

activity data. A constructor of the class is the only class method specified in the event

class.

A rule, which is also implemented as a Java class, consists of a condition

specification, an action specification, and alternative action specification. Each of the









condition, action and alternative action of the rule is implemented as a method of the rule

class. The data attributes of the rule class also include the CLO instance related

information as in the event class (i.e., CLO ID, process instance ID, activity ID and

activity data) so that the CLO instance information of an event occurrence can be passed

to an invoked rule. In addition, the rule class has an attribute, the value of which is a

reference to the LMSEngine. Through this reference, the action and alternative action

parts of a rule can invoke the methods of the LMSEngine.

A trigger is a Java object that links an event to a rule in order to allow the ETR

server to execute the rule when the associated event is posted. A trigger object specifies

the event that will activate the trigger, a rule that will be invoked by the trigger, and the

mapping between the parameters of the event and the parameters of the rule. The

parameter mapping information allows values of the data attributes of the event to be

transferred to the data attributes of the rule. During the CLO deployment process, the

code of the event and rule classes are generated, compiled and installed in the ETR

Server. A trigger is not code-generated, but a trigger object is instantiated with the

information specified above. It is registered with the ETR Server after instantiation.

When the Learning Process Execution Engine posts an event to the ETR Server during

the execution of a CLO instance, the ETR Server identifies the trigger object associated

with the event. Using the specification in the trigger object, the ETR Server identifies the

associated rule, passes the values of the data attributes of the event to the attributes of the

associated rule, and invokes the condition method of the rule class. The condition method

invokes either the action method or the alternative action method of the rule class

depending on the result of the condition evaluation. The action and alternative action










methods can identify the activity, the CLO instance, and the status of the activity by

referring to the data attributes of the rule class. These methods can in turn invoke the

methods of LMSEngine for adaptive, flexible and customizable delivery of e-learning

services.

CMC Tools
Interesting event occurred. (E-mail, discussion
Boards, etc)
Post Event(s) Schedules a c ference
l N e )( Te ISend e-mail
Notifies Executes Rule process Management
/ System
Call PIs for
oper ions
IT System
Components
Figure 5-11. Event and Rule Mechanisms for Coordination and Collaboration

In addition to sequential rule processing, the general ETR mechanism allows any

party interested in an event to subscribe to the event and receive a notification when an

occurrence of the event is posted. When an event is posted at a computing node, all

subscribers' nodes are notified, and triggers and rules associated with the event are

executed in a distributed fashion by the replicas of the ETR Server installed at the

subscribers' sites. We exploit the event notification mechanism to support collaboration

in e-leaming by integrating it with Computer Mediated Communication (CMC) tools. An

event is posted when a situation that requires collaboration has occurred. Rules triggered

by each instance of the event can perform collaborative operations such as sending e-

mails to collaborators, posting message to a discussion board, initiating a workflow

process, or arranging a conference call with fellow learners, the content author, and/or a

mentor. The event and rule mechanisms enable timely collaboration among people

involved in e-learning. Figure 5-11 shows the event notification mechanism that









facilitates collaborative e-leaming through the activation of CMC tools, workflow

processes, and other IT systems.

5.2.3.3 Assessment component

The Assessment Component performs the model-based assessment. It carries out

the assessment process, which involves selecting assessment items, collecting selected

assessment items from the activities participating in an assessment, grading the answers

submitted by learners, and recording the assessment result in the runtime status model of

the CLO instance that conducts the assessment.

An assessment in a non-leaf activity is carried out by making use of the assessment

items specified in the non-leaf activity as well as all or part of the assessment items of all

its child activities. The assessment component makes use of the Parsed CLO (internal

tree structure representation of a CLO) to identify the child activities of a non-leaf

activity. Additionally, assessment items in non-leaf activities can be retrieved from the

Parsed CLO.

A class named Assessmentlnfo is responsible for collecting and providing

assessment items, grading the answers provided by a learner and assigning measures of

the assessment to learning objectives. The information of each assessment item is

maintained in an object of the class named Assessmentltemlnfo. The collected assessment

items are stored in a vector named vAssessmentltemlnfo. The assessment items in the

vector are delivered in their indexed order. A hash table named htAssessmentltems is used

to store the vectors associated with learning objectives. The table uses learning objective

id as the key. Since assessment items of each objective are stored in a separate vector, the

measure of an objective can be easily calculated.









In case a leaf activity is bound to a CLO, an AssessmentInfo object of the CLO is

instantiated and stored in a vector in a hash table, htAssessmentlnfo, which uses learning

objective id as the hash key. The Assessmentlnfo object is also stored in the

vAssessmentlnfoOfBoundCLO vector for presentation. Assigning measures to objectives,

obtaining the bound LOs for collecting assessment items, and so on, are accomplished by

communicating with the LMSEngineCore object. When a learner submits an answer to an

assessment item, the user interface component would communicate with the RMI server

of LMSEngine (LMSEnginelmpl) to record the answer. The runtime structure of the

assessment component is illustrated in Figure 5-12.


1 1 1
1 1 1

Parsed CLO LMSEngineCore LMSEnginelmpl
S(RMI Server)
Figure 5-12. Runtime Structure of Assessment Component










5.2.3.4 Constraints-based LO broker

The Constraints-based LO Broker, which is an extension of UDDI v2.0 registry,

supports registration, browsing and dynamic binding of LOs. To register an LO with the

Broker, the RegBroker (QueryBroker) Web service operation should be invoked. The

operation requires the URL of an extended WSDL document describing its registration

(query) constraints as a parameter. The extended WSDL document includes the meta-data

description as well as the general WSDL elements, as discussed.

10. Obtain the LO Specification
(End of binding)
LPEE -
Business
service Keys
5. Discovery (Dynamic 8. Returns service
Binding) request with a keys, Access Point,
service constraints document ke, s of LOs

Constraints- 9. Request the
6. Search Web Services based Broker LO for Binding
(LOs) using business through Access
service keys Point with LO ID
7. Returns Business
Service structure
^ UDDI containing Access Points Web, SOAP Serer
Registry and IDs of the LOs (Acess Point

Sof LO (Only Once)
Extended WSDL (LO) Described LO
Service Interface By
Operations
Service Implementation 4. Register the LO with
2. Register service Access Point (URL) Meta-data & business key
implementation of Meta-data (Constraints) (End of registration)
an LO
J1: Business Service Key
3. Return a business service
key for the LO


Figure 5-13. Registration and Discovery Process of LO

LO authoring tools register LOs with the Broker, and take the following steps to

accomplish the task. First, an LO Web-Service interface is registered as a service









interface with the UDDI registry. The registration operation returns an interface key

(i b,,lel key). The interface can be considered as a business type that is common to all

LOs of that type. So, the interface registration is a one-time process. Then an LO, which

is an implementation of the service interface, is registered with the UDDI registry as a

business service, and a business service key is returned to the authoring tool when the

registration of the LO is completed. Together with the interface key and the business key,

the meta-data and constraints of the LO are registered with the Constraints-based Broker,

which serves as a meta-data repository having a constraint-matching facility.

The LPEE can discover an LO for dynamic binding using the constraint-matching

facility provided by the LO Broker. During the processing of a CLO instance, the LPEE

would issue a discovery request to the LO Broker by submitting an extended WSDL

document that includes a set of requirements. The constraint-matching facility would

match the specified requirements against the meta-data and constraints of LOs that have

been registered as Web services. The LO Broker finds a set of service keys of the LOs

that match with the requirements. Using the service keys, the LO Broker accesses the

UDDI registry to obtain LO access information, which includes the IDs and access points

of the LOs. The Web user interface retrieves the meta-data of each LO from its LO

repository to display the information to a learner to help him/her choose the right LO.

Finally, the LPEE accepts the learner's choice, and then invokes the getLO operation at

the access point of the chosen LO (i.e. the LO repository) with the ID of the selected LO

as an input parameter. The getLO operation fetches the LO and returns it to LPEE for

delivery. In Figure 5-13, steps 1 through 4 describe the registration procedure, and steps 5

through 10 describe the dynamic discovery and binding process. In case of a static









binding request, the LO Broker is given the business service key of a pre-selected LO

instead of service requirements in step 5. The LO Broker directly passes the business

service key to the UDDI registry without constraint-matching to obtain the service access

information. The WSDL document that describes the LO Broker Web service is given in

Appendix D.

5.2.3.5 User interface component

The User Interface Component is a set of Java Server Pages (JSPs), which generate

Web pages for communication between users and server components, such as LPEE,

Assessment Component, Monitoring Component and Constraints-based Broker. Through

the Web user interface, a learner can start, suspend, finish, navigate, and monitor a CLO

instance, and search LOs using meta-data constraints.

MainFrames JSP carries out user authentication and loading of a main Web page.

CLO instance commands, such as instantiation, completion, suspension, and resumption

of a CLO instance, are handled by cloCommands JSP. ActivityCommands JSP processes

the activity navigation commands, such as Continue, Previous Contents, Next Activity

and Previous Activity. Communication with the Assessment Component for assigning

answers to assessment items is accommodated through assessmentCommand JSP.

Monitoring JSP provides the status information of a CLO instance. Web user interface

that facilitates LO discovery through the Constraints-based LO Broker is provided by

searchLOs JSP. A user space called 'MyCLOs' can be accessed through a Web page

generated by myclos JSP.

5.2.3.6 Web user interface

A learner interacts with the Learning Process Management System through Web

pages that the User Interface Component generates. After a learner logs in the system,










79




he/she is able to search and execute LOs, access his/her learner space 'MyCLOs', or log



off.


, .- .
*j O .- I tv I


1.


Activit Command
C .n I E- I *iA I-, I


PIeCRe eeni hie consisoinl n frrrimoionDf lronaIng cije
youwrlh tO leaInm rT


for each corntroint aturLIeiDecIv The reIowIlr
infn moorn

.a-. ie '4,',. T.p Ve.-wd 4ou.-e'


I-- _1]1 I- II T



.w- _1F1- p ..
. --- _t1 -- 1p --


CLO C~mnd.



fiji- J


i -


~J RNvI I ~ I I ~I


Learning Objects in Progress or Finished

kSiftICt k* Jltowetrfflj
v M 1m iote74fdlS ,^o 01 enatu r- Ur)mI*





Learning Objects n MyCLOs

0I Vuori K.iy VInII. 1w


St'O,12B27174 .fl & l O I I t i> 1

1 CA0.1aw L37 A I Ifil c
Vsmncraa Itllr=


l wae ea '"n I
Cost eq 0.0

Idi-apla25a2i7Wuiaweau ] ]g "q uclle
f i. l ( I 1 141
%,row u?6


*W a-5 I C- _101


. j 1o1 21


, I
i,/


Legend

+ ONon-leafActivity DLeafActivity

*Color Code
+ 0 Current + 4 Suspended
+ Satisfied + *Unsatisfied
+ Unattempted + ` Disabled

- Current Status of CLO with Instance ID -
VAM1034bb5 103e74f3d01 -7ff0


= U VAM (Active)

Description
This is Root activity of Virtual
Anesthesia Machine instruction
Objective Status [id:Status(Norm
4Measure)]
-Overall Unknown (0)

Cmluent Status: Active
# of Attempts: 1
D Partly 1 asicConcepts (Satisfied)
M Part_2_IO_of VAMI (Attempted)
+ Part 3_SafetyExercises (Current)


] .: :. C DE | Interet l

Figure 5-14. Web User Interface. A) Search Constraint Specification. B) 'MyCLOs'

Learner Space. C) CLO Status Monitoring Information.


trC I' 9l-. 1U yc


LQ2-urv IcP


CLO Commands

SI 0.0

F." CLO


,lll.r~.,,..~m.m.r~r~u* -~-lilP IIII


c--m,,~;mnimruc EY~


13 urr 5atmof L.B- -loor I


- F- r


r 1,*.-..


]









When a learner chooses to search LOs, a page that accepts search requirements is

provided as shown in Figure 5-14 (A). A list of LOs that meets the requirements and their

meta-data is displayed as the result of the search request. In the search result page, LOs

can be added to 'MyCLOs' for later execution, or an LO can be instantiated for execution.

In 'MyCLOs' Web page, a learner is able to start an LO registered in 'MyCLOs', gain

learning experience by executing the LO, suspend, finish, or resume existing LO

instances. Figure 5-14 (B) shows the 'MyCLOs' page. During the execution of a CLO

instance, a learner can monitor the status of a CLO instance through a Web browser as

shown in Figure 5-14 (C).














CHAPTER 6
APPLYING LEARNING OBJECT AND DYNAMIC E-LEARNING TECHNOLOGIES
TO SIMULATION-BASED MEDICAL INSTRUCTION

There are many areas of education where our learning object models and e-learning

service infrastructure can be applied. As a part of this work, we aim to apply the e-

learning technologies to a practical area where there can be a direct impact.

6.1 Instruction on Anesthesia Machines

Complex medical equipment is regularly used in hospitals and clinics where patient

safety depends on the proper interaction between skilled practitioners and equipment

[Dalley, et. al., 2004] [Reason, 2000]. Even though anesthesia is increasingly safe,

critical accidents in which patients are seriously injured still occur [Dalley, et. al., 2004]

[Weinger, 1999]. Misuse of equipment is far more common than pure equipment

errors/failures in the medical environment. Human error is a dominating factor in up to

90% of the problems caused by equipment [Weinger, 1999] [Williamson, et. al., 1993].

There are several Web contents that provide learning materials on anesthesia

machines. For example, the resource reported in [Dosch, 2004] provides extensive Web

contents about a variety of anesthesia machines. The material by the College of

Veterinary Medicine [Washington State University, 2004] is a comprehensive resource

that covers circuits, vaporizers, gas cylinders, pressure regulators, flow meters,

scavenging, ventilators, and endotracheal tubes. However, they do not provide simulation

software for practice, nor a way of assessment to measure learners' understanding of the

materials. [Gas Man, 2004] is a commercial product for teaching, simulating and









experimenting with anesthesia uptake and distribution. It provides a text tutorial and

simulation software. The text tutorial is not accessible on the Web; it is published as a

book. The simulation software is not implemented as a learning object. To the authors'

knowledge, no anesthesia simulation system has been developed based on the learning

object technology at the time of writing.

6.2 Introduction to the Virtual Anesthesia Machine

There are several ways for practitioners and medical students to learn how to use an

anesthesia machine. First, a person who is proficient in the use of the machine can

provide a training session by giving a demonstration and using textbooks and reference

materials supplied by the manufacturer of the machine. Second, a practitioner can learn

by using the anesthesia machine with a Human Patient Simulator (HPS) [Dalley, et. al.,

2004]. Third, a Virtual Anesthesia Machine (VAM) [Lampotang, et. al.] that simulates a

real counterpart can be used for educational purposes. VAM is a Web-based simulation

system developed at the University of Florida. It, together with a Web-accessible

workbook, can be accessed by registered users free of charge through Web-enabled

personal computers. VAM is an interactive simulation of a generic anesthesia machine

with model-driven, real-time animation of color-coded molecules and dynamic

representations of flows, pressures, volumes and concentrations of gases. It is

international in scope and features legends in 23 languages and is used in over 336

institutions and programs worldwide. The VAM web site at http://vam.anest.ufl.edu

receives more than 2,000,000 hits per year.

A major advantage of VAM is that users can focus on learning about anesthesia

without being distracted by the concern of placing an actual patient at risk [White, 2002].

Also, it is a cost-efficient way to learn because it is free to use and does not require any









actual anesthesia equipment or patient. In addition, practitioners and medical students can

learn the inner workings of the anesthesia machine because VAM is a transparent reality

simulator; that is, it is a model-driven, display-based simulation that represents internal,

abstract and invisible functions with explicitly visible and manipulatable symbols to

assist learners in exploring, developing and confirming mental models. The focus of the

simulation is on high fidelity behavior rather than life-like appearance [Lampotang, et.

al.].

In spite of VAM's success and advantages, there are a number of limitations in the

existing system. First, it is a monolithic system in that the components and their

accompanying instructional materials, questions and answers for practice and questions

for assessment are not modularized to make them reusable for constructing other

simulation systems. Second, users of VAM and its workbook can freely operate on any

part of the system and access any content of the workbook. Although, the workbook

provides some guide for structured exercises, the learners can choose not to follow the

guide. Thus, the last of the four learning approaches (receptive, directive, guided

discovery and explorative) proposed by Dr. Ruth Clark [Clark, 2000] is emphasized.

Some learners may desire or need more structured learning approaches than the

exploratory approach. Lastly, the ability of the existing VAM system to adapt and

customize its instruction delivery to suit the learners' profiles and needs is currently

limited to language and medical gas color code. Searching for contents on the VAM Web

site is accomplished via a search box, driven by Google, which is a part of the header of

every Web page on the VAM Web site. This chapter discusses the application of the









learning object and e-learning service technologies we have developed to address these

limitations.

6.3 Application to Medical Instruction using VAM

The Virtual Anesthesia Machine (VAM) simulates the inner workings of an

anesthesia machine and ventilator the complex equipment in which oxygen, nitrous

oxide and anesthetics mix together to provide patients insensitivity to pain during surgery

or procedures. The objective of VAM is to increase the safety of patients by providing

practitioners clear understanding of the flow of gas in the machine, user actions and the

consequences of equipment malfunctions [White, 2002].

VAM is composed of a transparent reality simulator developed using Macromedia

Director, and a Web-based workbook (http://vam.anest.ufl.edu/members/workbook/apsf-

workbook-english.html) delivered in the Macromedia FlashPaper format. The simulator

currently supports 22 languages, and the workbook is in 11 different languages. In the

visual display of the simulator, the language of the user interface as well as the color code

for medical gases are changed according to a learner's selection or data retrieved from a

user database.

The workbook consists of three parts. Part 1 covers the basic concepts of the

anesthesia machine. Part 2 teaches input/output controls of VAM. Users can adjust gas

pipelines, valves, gas flow meter knobs, buttons, and so on, and visually observe the

effects of the adjustment on the flow of molecules of gases, the readings of pressure

gauges, valves, and so forth. Part 3 covers safety exercises and is composed of six

sections for covering the high pressure system, the low pressure system, the breathing

circuit, manual ventilation, mechanical ventilation, and the scavenging system,

respectively. Each section is comprised of a set of learning objectives, a set of









instructional materials, and a set of post-assessment questions. Each instructional material

has a question, an answer, a VAM demonstration instruction, an explanation of the

demonstration, and some learning objectives. The post-assessment questions (quiz) can

be answered online at a Website specified in the workbook.

The workbook, the simulator and the quiz Web site need to be used together for

effective delivery of learning experience. However, the current VAM system is not

structured to provide a smooth transition between the workbook contents, the simulator,

and the post-assessment questions. Even though directions are provided in the workbook,

it is the responsibility of a learner to open the workbook online, to start the simulator, to

go to the quiz Website at appropriate times. The learner is free to do anything with the

contents and the simulator (i.e., explorative learning). The learning process is generally

not guided by the system.

6.3.1 Encapsulating VAM as Learning Objects

There are two main advantages to create LOs that encapsulate the workbook

contents, the VAM simulator, and the quiz problems. First, each LO can be reused for

instruction of other types of anesthesia machines, which may use the same or similar

componentss. Second, it is possible to deliver learning experiences provided by the

workbook's contents, the use of the simulator for practice, and the use of quiz problems

for assessment in a seamless fashion and under the control of the Learning Process

Management System.

In this application scenario, we created an ALO for Part 1 and another ALO for

Part 2 of the workbook. Part 3 is composed of several ALOs each of which contains

instructional materials to cover a component of the anesthesia machine. For these ALOs,

the workbook contents are extracted and regenerated as separate HTML pages. The quiz







86


problems available at the quiz Website are extracted and used as post-assessment items.


We constructed a CLO for modeling the entire VAM instruction as an activity tree, in


which each of the leaf activities is bound to an ALO. Figure 6-1 shows the activity tree of


the CLO, and the relationship among the ALOs and VAM resources.



VAM Instruction CLO
r---------------------
S. ...41Rds to
-ORL
,l w Assets Created
Sa by Referencing Materials




............. A r" r'
.... .. ..... ....,. **."' .
S .......... l... ............ B


Content items
HTML
Pages



Workbook Simulator Quiz Web Site VAM
A ... Learning
S.. 1 Resources



Figure 6-1. Construction of LOs using VAM Learning Resources

An ALO bound to a leaf activity of Part 3 begins its presentation with a textual


description of learning objectives of the ALO. Then a sequence of several content and


practice items of the workbook is delivered. A content item is presented to the learner in


the form of Q&A as in the VAM workbook. For example, a content item in the High


Pressure System ALO is as follows: "Question: During the morning pre-use check of an

anesthesia machine, you open the 02 cylinder to check the 02 cylinder pressure. The 02

cylinder reads full (2,000 psig). You subsequently close the 02 cylinder. With the anesthesia

machine turned on with a minimal flow of200mL/min of 02, what does the 02 cylinder pressure

gauge now read with the 02 pipeline supply connected and the 02 cylinder closed? Answer:









87




Even ;, li,,,li the 02 cylinder has been closed, the 02 cylinder pressure gauge will continue to


read full."


I .-2. 1 .
It",


Welcome glee
M CLs
Search CLOs



CLO Commands
Suspend CLO
Fnish CLO


SI I
3 V' ~ a 1
-------- ~~.i2a !. --


Activity Commands
Prvotn. J t Ex.tAc. t.I P1riousAcdtly I NIA.t.v. I



Practice Item to be presented.
Answer is on the bottom of the page.

Please click the link below to see the learning item.


I I I






I_ J Ir I-1 ": __ ___o ''l I ; :
I 21.1 I- I I
lJ
Demonstration using VAM s ru aton (coordinates reer to VAM grand map below)
Pes Reet (E13 to start imulaton aresh without caLyoerro preiou ntentions
a Chcl on vaporizer concentration dia con () to swch vaporizer to a nonzero setting The external wofthe
vPepoz erfades mio a cul-ou. vew when the cutsor rs placed on ihe vap orzer Ico FGF moleculs fbow over the
hqud anesthet c pool insde he vapozer and pc up vaporized anesthet c molecules
b Press the 0, flush icon (D-B) The fiow 0O, molecules caused by pressing the 0C fish flows dr-eciy ino he
breathing c.rcut without p-assmg through the vaporzer The molecules from the C2 and N2O fjwmetecs contmue to
flow into the breathing circuit during an 02 flush
Explanation The high 02 flow (approx 60 Umln) generated by an 0, flush does not flow through the vaporizer and is thus at a
volatile anesthetic concentration of 0% The 0, flush thus dilutes the anesthetic concentration in the breathing circuit


iij,,L--


k r J 1V-1


Figure 6-2. Web User Interface of VAM Instruction. A) E-Learning Service System

Delivering Practice Item. B) A Practice Item with Demonstration Scenario.




Full Text

PAGE 1

A WEB-SERVICE-BASED E-LEARNING SERVICE INFRASTRUCTURE FOR ACHIEVING DYNAMIC AND CO LLABORATIVE E-LEARNING By GILLIEAN LEE A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLOR IDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY UNIVERSITY OF FLORIDA 2005

PAGE 2

Copyright 2005 by Gilliean Lee

PAGE 3

To my wife, Rang-wook, and my parents.

PAGE 4

ACKNOWLEDGMENTS The work with this dissertation has been extensive, requiring much work and fun. Without help and support from many persons, I would never have been able to finish this work. First of all, I would like to thank my advisor Stanley Su for his inspiring and encouraging way to guide me, and his invaluable comments during the whole work with this dissertation. He showed me how to approach a research problem and how to devise and provide a systematic solution. He also provided me with many opportunities to publish papers and meet people in the e-learning area. I would like to thank Howard Beck for his guide, challenging questions and support. I will also give a special thanks to Sem Lampotang for his strong support and decision to make use of this work for his work without hesitation. I am grateful to Herman Lam for his encouragement and very helpful comments throughout this work. A special thanks goes to Abdelsalam Helal for his guidance. I would like thank Markus Schneider for his support and serving as an advisory committee. Thanks to all my colleagues at the Database Systems R&D Center who gave me lot of help. Especially I would like to thank Seema Degwekar and Xu Zhang for helping me with implementations and Brian Weinrich for proofreading this dissertation. A special thanks to Sharon Grant for reviewing many research papers even with very short notices. I cannot thank enough to my parents for giving me life in the first place and their endless support. I also would like to thank my parents-in-law for their support. Last, but iv

PAGE 5

not least, I would like to give a very special thanks to my wife, Rang-wook Oh, who always has been there for me and to my lovely daughter Narae for their patience and understanding all the hard works I went through. v

PAGE 6

TABLE OF CONTENTS page ACKNOWLEDGMENTS .................................................................................................iv LIST OF TABLES .............................................................................................................ix LIST OF FIGURES .............................................................................................................x ABSTRACT ......................................................................................................................xii CHAPTER 1 INTRODUCTION........................................................................................................1 2 RELATED WORK.......................................................................................................7 2.1 Ciscos Reusable Learning Object (RLO) Strategy................................................7 2.2. ADLs Sharable Content Object Reference Model (SCORM)..............................8 2.3 Flex-EL.................................................................................................................11 2.4 KnowledgeTree.....................................................................................................12 2.5 L3..........................................................................................................................12 2.6 NETg.....................................................................................................................13 2.7 MERLOT..............................................................................................................13 2.8 CORDRA..............................................................................................................13 3 LEARNING OBJECT MODELS...............................................................................15 3.1 What Is a Learning Object?..................................................................................15 3.1.1 Atomic Learning Object.............................................................................15 3.1.2 Composite Learning Object........................................................................16 3.1.2.1 Activity tree......................................................................................16 3.1.2.2 Sequencing control modes...............................................................18 3.1.2.3 Learning objective............................................................................19 3.1.2.4 Activity action..................................................................................20 3.1.2.5 Activity data.....................................................................................20 3.1.3 Meta-Data...................................................................................................20 3.2 Learning Resources Taxonomy............................................................................22 3.3 Dynamic E-Learning Service Requirements and Techniques...........................23 3.3.1 Rule-Based Execution Model.....................................................................24 3.3.2 Dynamic Binding........................................................................................29 vi

PAGE 7

3.3.3 Model-based Assessment...........................................................................31 3.3.3.1 Assessment specification..................................................................32 3.3.3.2 Model-based objective measure assignment....................................33 4 LEARNING CONTENT MODELING LANGUAGE AND LEARNING PROCESS MODELING LANGUAGE.....................................................................36 4.1 Why XML?...........................................................................................................36 4.2 Meta-model...........................................................................................................38 4.3 Learning Content Definition Language................................................................39 4.4 Learning Process Definition Language................................................................42 4.4.1 Non-leaf Activity........................................................................................43 4.4.2 Leaf Activity...............................................................................................48 4.4.3 Connector...................................................................................................50 4.4.4 Edge............................................................................................................51 5 E-LEARNING SERVICE INFRASTRUCTURE......................................................53 5.1 E-Learning Infrastructure for Virtual E-Learning Communities..........................53 5.1.1 Roles in a Virtual E-learning Community..................................................53 5.1.2 Web-Services-Based E-Learning Service Infrastructure............................56 5.2 Implementation.....................................................................................................57 5.2.1 Constraints-enabled Web-service Model...................................................58 5.2.2 Authoring Tools & LO Repository.............................................................62 5.2.2.1 ALO authoring tool..........................................................................62 5.2.2.2 CLO authoring tool..........................................................................64 5.2.2.3 LO repository...................................................................................64 5.2.3 Learning Process Management System......................................................65 5.2.3.1 Learning process execution engine..................................................65 5.2.3.2 Event-Trigger-Rule server................................................................71 5.2.3.3 Assessment component....................................................................74 5.2.3.4 Constraints-based LO broker...........................................................76 5.2.3.5 User interface component.................................................................78 5.2.3.6 Web user interface............................................................................78 6 APPLYING LEARNING OBJECT AND DYNAMIC E-LEARNING TECHNOLOGIES TO SIMULATION-BASED MEDICAL INSTRUCTION........81 6.1 Instruction on Anesthesia Machines.....................................................................81 6.2 Introduction to the Virtual Anesthesia Machine...................................................82 6.3 Application to Medical Instruction using VAM...................................................84 6.3.1 Encapsulating VAM as Learning Objects..................................................85 6.3.2 Dynamic Execution of VAM Instruction...................................................88 6.3.3 Importance of Learning-Object-Technology-Based Medical Instruction..91 6.4 Chapter Summary.................................................................................................92 7 SUMMARY................................................................................................................94 vii

PAGE 8

7.1 Summary and Conclusion.....................................................................................94 7.2 Future Work..........................................................................................................95 APPENDIX A XML SCHEMA DEFINITION OF LEARNING CONTENT DEFINITION LANGUAGE..............................................................................................................97 B XML SCHEMA DEFINITION OF LEARNING PROCESS DEFINITION LANGUAGE............................................................................................................102 C SAMPLE ATOMIC LEARNING OBJECT AND COMPOSITE LEARNING OBJECT....................................................................................................................112 C.1 Sample Atomic Learning Object Low Pressure System.................................112 C.2 Sample Composite Learning Object Virtual Anesthesia Machine.................115 D LEARNING OBJECT REPOSITORY AND BROKER WEB SERVICE DEFINITION LANGUAGE DOCUMENTS...........................................................129 D.1 Learning Object Repository Web Service Description......................................129 D.2 Broker Web Service Definition.........................................................................131 E XML SCHEMA DEFINITION OF CLO RUNTIME STATUS MODEL AND LEARNER INFORMATION MODEL....................................................................135 E.1 CLO Runtime Status Model Definition.............................................................135 E.2 Learner Information Model Definition..............................................................138 LIST OF REFERENCES.................................................................................................146 BIOGRAPHICAL SKETCH...........................................................................................151 viii

PAGE 9

LIST OF TABLES Table page 4-1 Execution Stages and Description of Activity Actions in Non-leaf Activity..............45 4-2 Execution Stages and Description of Activity Actions in Leaf Activity.....................49 ix

PAGE 10

LIST OF FIGURES Figure page 2-1. Ciscos RLO and RIO...................................................................................................8 2-2. A Representation of an Activity Tree Composed of Clusters in SCORM.................10 2-3. Conditions and Action/Behavior in SCORMs Sequencing Definition Model..........10 3-1. Modeling Constructs in a Composite Learning Object..............................................17 3-2. Sequencing Control Modes........................................................................................18 3-3. Meta-data Attributes in Extended WSDL Document.................................................22 3-4. Taxonomy of Learning Resources and their Relationships........................................23 3-5. Tasks Performed in an Activity Node at Runtime......................................................25 3-6. Assignment of Measures to Multiple Objectives for an Assessment at A1...............34 3-7. Activity Tree with Multiple Assessments..................................................................35 4-1. Meta-model of Learning Process Definition Language and Learning Content Definition Language and their Relationships...........................................................38 4-2. Detailed Meta-model for LCDL.................................................................................42 4-3. Entities in the Meta-model of a Non-leaf Activity in Learning Process Definition Language..................................................................................................................47 4-4. Meta-model of Leaf Activity and Related Entities in the Learning Process Definition Language.................................................................................................50 4-5 Meta-model of Connector and Edge in the Learning Process Definition Language...51 5-1. Roles and Relationships among Members of a Virtual E-Learning Community.......55 5-2. Web-service-based E-Learning Service Infrastructure...............................................57 5-3. Extended WSDL Information Model.........................................................................59 x

PAGE 11

5-4. Extended WSDL Document Example........................................................................61 5-5. Graphical User Interface Frame of the ALO Authoring Tool....................................62 5-6. Graphical User Interface Frame of the CLO Authoring Tool....................................63 5-7. Architecture of Learning Process Management System.............................................65 5-8. State Transition Diagrams for Learning Process and Activity...................................66 5-9. Relationships between Learning Object Definition and Runtime Objects of a CLO Instance.....................................................................................................................67 5-10. Architecture of the Learning Process Execution Engine..........................................68 5-11. Object Diagram of CLO Deployment Process.........................................................70 5-11. Event and Rule Mechanisms for Coordination and Collaboration...........................73 5-12. Runtime Structure of Assessment Component.........................................................75 5-13. Registration and Discovery Process of LO...............................................................76 5-14. Web User Interface...................................................................................................79 6-1. Construction of LOs using VAM Learning Resources..............................................86 6-2. Web User Interface of VAM Instruction....................................................................87 6-3. Condition/Action Rules and Dynamic Binding Defined in VAM Instruction CLO..........................................................................................................................90 xi

PAGE 12

Abstract of Dissertation Presented to the Graduate School of the University of Florida in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy A WEB-SERVICE-BASED E-LEARNING SERVICE INFRASTRUCTURE FOR ACHIEVING DYNAMIC AND COLLABORATIVE E-LEARNING By Gilliean Lee August 2005 Chair: Stanley Y. W. Su Major Department: Computer and Information Science and Engineering Multimedia data and application systems that are accessible over the Web are valuable assets for developing instructional materials for teaching, training, problem solving and decision support. These assets can be used for constructing learning objects, each of which is a reusable granule of instruction designed to meet a specific instructional objective. In order to search, access, and deliver the learning objects, an infrastructure for the registration, discovery, and invocation of these objects is required. Also, there is a need to develop infrastructural technologies to enable general Internet users, not just students and educators, to engage in life-long instruction and learning. These technologies should allow the establishment of many virtual e-learning communities, each of which is formed by people with a common interest in exchanging knowledge useful for problem-solving and decision support in a specific problem domain. In this work, we model distributed and sharable learning resources by two types of Learning Objects (LOs): Atomic Learning Object and Composite Learning Object. Both xii

PAGE 13

types of LOs are uniformly published as Web-services in a constraints-based Web service broker. XML-based languages for modeling these two types of LOs are defined. The languages also serve as the interchange formats for transferring and sharing LOs. We have developed an e-learning service infrastructure that facilitates the authoring, registration, discovery, storing, and invocation of LOs. The infrastructure is built on top of an extended Web-service framework, which leverages the constraints-based Web service broker and distributed LO repositories to make LOs searchable, sharable and reusable. A set of distributed software components has been developed to provide e-learning services. It includes authoring tools for constructing LOs, and a Learning Process Management System for the registration, management and delivery of LOs and the assessment of learners comprehension. The techniques used to achieve active, adaptive, flexible and customizable execution of learning processes such as dynamic binding to LOs, rule-based execution of learning processes that makes use of the profiles and runtime status models of learners, and model-based assessment are presented. The roles and functions of virtual e-learning community members are also discussed. The e-learning technologies we developed have been applied to encapsulate the instructional materials of the Web-based Virtual Anesthesia Machine and the simulator as LOs, deliver instructional materials to learners, use the simulation system for practice, and perform assessment. Several techniques, such as retrying or disabling activities depending on a learners profile, performance and needs, dynamic binding to suitable learning objects, optional assessment presentation, and the support of different learning approaches by customization of sequencing control modes, have been applied to achieve personalized learning. xiii

PAGE 14

CHAPTER 1 INTRODUCTION The advent of Internet and Web technologies has enabled organizations and individuals all over the world to place enormous quantity of multimedia data (texts, Web pages, graphs, images, Web simulation, video and audio) on the Web. Increasingly, Web-based application systems are also made accessible to Web users through browsers. These data and application systems are valuable resources for constructing instructional materials for teaching, training, problem solving and decision support. One approach to make use of these distributed, heterogeneous data and application systems is to apply the object-oriented technology and wrap them as distributed objects. These distributed objects can then be used as learning assets to compose learning objects (LOs) for instruction and training purposes. In recent years, there have been a number of initiatives in developing and standardizing Web-based learning technologies. The Advanced Distributed Learning Initiative [ADL, 2003], the IMS Global Learning Consortium [IMS, 2004], and the Open Knowledge Initiative [Eduworks & OKI Leadership, 2002], are a few examples. The Sharable Content Object Reference Model (SCORM) [ADL, 2004a] is a reference model initiated by the Advanced Distributed Learning (ADL) program of the Department of Defense (DoD) and the White House Office of Science and Technology Policy (OSTP). According to the SCORMs specification, it is envisaged that Internet users and heterogeneous LMSs would use the Web as a universal platform for accessing and launching sharable content objects and for establishing close communication, 1

PAGE 15

2 interaction and coordination among content object developers, course authors, users, and administrators. To realize this vision, sharable content objects must be durable, interoperable, accessible and reusable. In order to meet these requirements, it is necessary to have a uniform way of modeling, not only learning resources, but also heterogeneous learning tools and LMSs, as well as an information infrastructure to enable the interoperation and sharing of their contents and functionalities. Also, the aggregation model that defines the learning sequence or process has to be flexible, adaptable and customizable to meet different learners needs and learning contexts. Our work to meet the above needs is consistent with the vision and goals of the ADL Program. There are systems such as MERLOT [MERLOT, 2004], MIT OpenCourseWare [OCW, 2003], CLOE [CLOE, 2004] and EOE [The EOE Foundation, 2004], which offer repositories of learning assets to virtual learning communities. Each learning asset is described by metadata and a Universal Resource Locator (URL), which is searchable either by categories or by keywords using a search engine. These systems function more like directories provided by digital libraries. Users of these systems have to manually search the directories and access the learning assets that are pointed to by the URLs stored in the directories. The above systems do not provide externally accessible programming interfaces for accessing the contents of the directories and the associated learning assets. Nor do they provide facilities for assembling instructional materials out of the learning assets available in the Web, delivering content to users based on their needs and profiles, and assessing users understanding of the delivered content. On the other hand, there are commercial instructional management systems (IMSs) such as WebCT [WebCT, 2005], Blackboard [Blackboard, 2005], and eCollege [eCollege,

PAGE 16

3 2005], and research systems such as LON CAPA [Laboratory for Instructional Technology in Education, 2004] and Sakai [Sakai Project, 2005], which are designed to support course development, deliver contents to students, perform assessment, and provide tools for course management. These systems are designed and implemented for creating, teaching and managing courses and their targeted users are instructors, students and course administrators of educational institutions. The existing systems that provide directory accesses to learning assets and the existing instructional management systems represent two ends of a spectrum. Useful systems can be built in between these two ends. For example, a system may provide tools for Internet users, who are not necessarily course developers or instructors, to design, develop and share LOs. LOs do not have to be instructional materials for formal courses. They can be small granules of information content that are useful to some learners and contain practice and assessment items to exercise and assess the learners comprehension of the content. The learners do not have to be students who take courses in schools or receive some formal training in business and government organizations. They can be ordinary Internet users who need help in various decision-making and problem-solving situations. Since such a system is not a full-fledged IMS, it will be simpler and easier to develop and maintain than IMSs. Our vision is to build an e-learning service infrastructure, which provides tools for authoring learning objects, facilities for aggregating and sequencing of small granules of learning objects to form reusable composite learning objects, and a Learning Process Management System for learning object registration, management, delivery and assessment. The e-learning service infrastructure will enable the global participation of

PAGE 17

4 Internet users in life-long instruction and learning. Internet users with similar interest in a specific subject or domain will be able to form a virtual e-learning community to share their knowledge. This is consistent with the vision of building the technological infrastructure to support dynamic, ad-hoc communities of lifelong learners who interact within an environment of learning objects through a creative blend of advanced computing technologies, high performance networks, authoring and collaboration tools stated in York et al. [2002]. Internet users have much more diverse backgrounds than students in schools. A learning process management system that delivers identical contents to all learners cannot accommodate diverse Web users needs. Web-based learning should accommodate learners different profiles, which include users backgrounds, competencies and interests. A Learning Process Management System must be flexible, adaptive and customizable in order to satisfy heterogeneous learners needs. Learning is largely a social activity; and even the most well developed multimedia interactive materials lack the flexibility of human interaction [Lewis, 2002]. Therefore, a Learning Process Management System that facilitates interactions and collaborations among the people involved in learning will enhance the learning experience. This work focuses on the creation of an Web-services-based learning, problem-solving and decision-support environment, in which Internet users (not limited to educators) who are knowledgeable in any subject domain (e.g., how to purify water, how to care for a patient with a certain disease, etc.) can participate in a global virtual community to create, compose, and evaluate distributed, reusable and assessable multimedia LOs for instructional purposes; and Internet users who engage in lifelong

PAGE 18

5 learning, problem-solving and decision-making can request, access and study the contents of these LOs, be assessed of the knowledge gained, and engage in collaborative learning with other learners and content producers. The e-learning virtual communities envisioned in this work are different from the existing virtual communities on the Internet. Learning in the virtual e-learning communities is based on reusable, assessable, and programmatically accessible e-learning objects. LOs are stored in distributed repositories of content providers to avoid the bottleneck problem of a centralized repository and to give content providers more authority and freedom to manage their LOs. These objects are designed and evaluated by content producers and content evaluators with the support of user interface tools. They are delivered and managed by the Learning Process Management System, which consists of a Learning Process Execution Engine (LPEE) for processing learning objects, an Event-Trigger-Rule (ETR) Server [Lee, Su & Lam, 2001] and other supporting components for achieving collaborative, adaptive, customizable and flexible e-learning. To summarize, our vision is the creation of a sustainable e-learning infrastructure and the development of advanced e-learning technologies to enable the global participation of Internet users in life-long instruction and learning. Internet users with similar interest in a specific subject or domain will be able to form and operate their virtual e-learning community to share their knowledge captured in reusable, compose-able and assessable learning objects and use them to aid decision-making and problem solving. The contribution of this work is in the development of an extended Web-services infrastructure and dynamic and collaborative e-learning technologies essential for the realization of our vision. The developed infrastructure and technologies are in forms of

PAGE 19

6 learning object models, learning object authoring tools, learning object definition languages, user interface tools, information and runtime status models of learners, distributed e-learning service architecture, event-trigger-rule-based execution of learning processes, and model-based assessment. This dissertation is organized as follows: Related works are discussed first. Then, two learning object models for defining what we call Atomic Learning Object (ALO) and Composite Learning Object (CLO) are presented in Chapter 3. The languages used to define ALOs and CLOs are then described in Chapter 4. Next, Chapter 5 describes an e-learning service infrastructure for virtual e-learning communities. The implementation of the infrastructure including tools and software system components are also discussed. Chapter 6 discusses an application of our e-learning technologies to encapsulate the instructional materials of the Web-based Virtual Anesthesia Machine and the simulator as LOs, deliver instructional materials to learners, use the simulation system for practice, and perform assessment. A summary and the follow-up R&D efforts are given in the last section.

PAGE 20

CHAPTER 2 RELATED WORK Effective delivery of learning contents to learners of varied backgrounds is one of the goals of e-learning. Organizing learning contents is an importance task for achieving this goal. There are several research and standardization efforts in developing learning process models. SCORMs Content Aggregation Model [ADL, 2004b] and Ciscos Reusable Learning Object [Termaat et. al., 2003] are two popular models that organize learning objects for effective delivery. The structure of learning content specifies the delivery sequence of the content. A tree structure, which is commonly used to present the table of contents of a book or training manual, is generally used to model a learning process. A tree node represents a granule of learning content to be presented to learners. It can represent a course, module or lesson. The tree structure is used in SCORM, Ciscos reusable learning object (RLO), CLI Virtuoso [Cisco Learning Institute, 2004], KnowledgeTree [Brusilovsky, 2002], and KOD [Sampson, 2002]. 2.1 Ciscos Reusable Learning Object (RLO) Strategy Ciscos Reusable Learning Object (RLO) Strategy is a scheme for configuring LOs that can be used in a learning process or learning management. It recognizes two levels of LOs: Reusable Information Objects (RIOs) at the bottom level and RLOs at the top level. Each RIO contains content items, practice items and assessment items related to a learning objective. These items are stored in a RIO so that the consistency among content delivery, practice and assessment can be maintained when the RIO is used in different contexts. A larger structure called RLO can be formed out of RIOs. It can have an 7

PAGE 21

8 overview, a summary, an assessment, and five to nine (72) RIOs. The assessment in an RLO is simply a collection of the assessment items taken from the RIOs that form the RLO. When an RLO is delivered, the content items in the RIOs are presented, and then the assessment items randomly chosen from its RIOs are given. Figure 2-1 shows a RIO, an RLO and their relationship. Although an RLO can be meta-tagged, it lacks a meta-data specification that describes RLOs and RIOs. A concrete specification of meta-data is required especially for automated discovery and dynamic binding purposes. In our work, we use an Object-Oriented Constraint Specification Language (OOCSL) introduced in Su et. al. [2001] to specify the meta-data of a learning object. A B Figure 2-1. Ciscos RLO and RIO. A) Reusable Information Object. B) Reusable Learning Object 2.2. ADLs Sharable Content Object Reference Model (SCORM) SCORM is a reference model, which is intended to provide a standard framework for building learning systems to enable the reuse and sharing of learning contents developed by different authoring tools. Since our learning process model makes use of some ideas presented in SCORMs sequencing and navigation model, we describe SCORMs model in more details below.

PAGE 22

9 In SCORM, there are two types of specialized instances of resources: Asset, and Sharable Content Object (SCO). Asset is a learning content in its most basic form. Assets are electronic representations of media, texts, images, sound tracks, web pages, chat sessions, assessment objects or other pieces of data that can be rendered by a Web client and presented to a learner [ADL, 2004b]. SCO represents a collection of one or more Assets packaged as a single launchable resource that can communicate with a Learning Management System (LMS) using its runtime data environment. SCORMs Sequencing Definition Model [ADL, 2004a] is a rule-based sequencing model, which supports adaptive execution of an activity tree using sequencing rules, rollup rules, and the status of learning objectives. An activity tree is a hierarchical structure of learning activities and their corresponding learning contents. A cluster, composed of a parent and its child activities, is the basic building block for sequencing. An activity tree is composed of a set of clusters. The parent activity specifies information about the sequencing strategy for navigating through its child activities. Figure 2-2 shows the structure of an activity tree and its clusters in SCORMs Sequencing Definition Model. An activity can have an associated resource such as SCO resource or Assets resource, or can be made up of additional sub-activities consisting of other clusters. In SCORM, learning objectives represent a set of locally and globally scoped data items, each with a satisfaction status and a satisfaction measure. Activities may have more than one associated local objective and may reference multiple globally shared objectives. The Tracking Status Model records the status of progress associated with objectives, activities, and attempts of activities.

PAGE 23

10 Course Module 3 Chapter 1 Lesson 02 Lesson 01 Module 2 Lesson 03 Lesson 02 Lesson 01 Lesson 04 Module 1 Lesson 02 Lesson 01 Chapter 2 ClusterClusterCluster ClusterCluster Figure 2-2. A Representation of an Activity Tree Composed of Clusters in SCORM SCORMs Sequencing Definition Model makes use of a rule-based sequencing model, which adopted the IMS Simple Sequencing Specification [IMS, 2003]. A set of rules is defined for an activity, and is evaluated at specific times during the delivery of an activity. A sequencing rule is in the form of if [condition] then [action/behavior]. It consists of a set of conditions and an action/behavior. The action is executed when the conditions of the rules are evaluated to True. The conditions of a sequencing rule are based on the Tracking Status Data. Figure 2-3 shows the possible conditions and actions/behaviors in sequencing rules. IF(not) Conditions Activity ProgressKnown Attempted Attempt LimitExceeded Time Limit Exceeded Outside AvailableTime Range Completed Objective MeasureLess Than Objective MeasureGreater Than Objective MeasureKnown Objective StatusKnown Satisfied PreconditionActions Ignore (default) Stop ForwardTraversal Hidden From Choice Disabled Skip Then Always (default) PostconditionActions Continue Retry All Retry Exit All Exit Parent Previous Ignore (default) Exit Actions Ignore (default) Exit Figure 2-3. Conditions and Action/Behavior in SCORMs Sequencing Definition Model

PAGE 24

11 SCORMs Sequencing Definition Model provides the desirable set of features described above; however, it has a few limitations. First, the definition of learning objects in SCORM does not explicitly distinguish content, practice, and assessment items as in Cisco Systems RLO, which is adopted in our work. Additionally, we make use of meta-data and their constraints specified in each LO to achieve more accurate, dynamic binding of requests to LOs. Second, non-leaf activities in an Activity Tree neither present contents nor perform assessment in SCORM. We believe that it is useful to allow a non-leaf node to present an introduction and/or a summary of the contents covered by its child activities. Assessment items for testing the integrated knowledge of the contents presented by the child activities should also be allowed. Third, there is no model or specification for conducting assessments in the SCORM sequencing definition model, hence the coverage of an assessment is decided entirely by a SCO bound to the activity instead of the information specified in its sequencing model. As a result, a change of assessment coverage in an activity tree requires a structural change of the learning process and the authoring or modification of an SCO to conduct the new assessment. This may require a substantial amount of time and effort. In this work, we introduce a model-based assessment technique to facilitate flexible assessments. 2.3 Flex-EL A workflow process model represented by a directed acyclic graph (DAG) is employed in Flex-EL [Lin, 2002]. The model can specify the interaction, coordination and collaboration among the individuals involved in learning and also the sequencing of contents to be presented to learners. The system uses conditional transitions expressed in a workflow model to achieve the flexibility in selecting learning pathways that match each learners individual pace and learning style. Different from Flex-EL, we model a

PAGE 25

12 learning process by an activity tree, and use sequencing rules and rollup rules as in SCORM. The action part of the rules can change the sequencing paths by allowing learners to retry, hide, and skip activities when the conditions of the rules are met. In addition, we allow the structure of a learning process or sequencing control modes to be customized at runtime by invoking some rules to check a learners profile and progress. 2.4 KnowledgeTree The adaptive Web-based educational system, KnowledgeTree, introduced by Brusilovsky [2002], separates learning materials into primary materials for average learners and additional materials for learners with different learning styles and knowledge. The system uses learning goals, preferences and knowledge of individual learners to select the most appropriate learning materials. Our dynamic binding of requests to LOs is similar to their idea of binding learning materials at runtime. However, we leverage on the standardized Web-services technology for the registration and discovery of LOs and add meta-data and constraints in LO specifications. 2.5 L3 L3 [Altenhofen, 2002] separates learning processes from strategies, that is, navigation rules, and introduces meta-tags for describing the knowledge type of learning activities and the inter-relationships among the activities. A strategy chosen at runtime and the meta-tags of learning activities enable adaptive navigation of a learning process. Different from their work, our learning process model allows sequencing rules and rollup rules to be attached to each activity at both design time and runtime in order to achieve dynamic properties in a learning process execution.

PAGE 26

13 2.6 NETg NETg [Thomson, 2005] is a commercial learning management system. With pre-assessment technique, NETg can selectively deliver contents that a learner needs to take according to the assessment result. However, different from this work, they do not make use of post-assessment results and learner profile for adaptive delivery. In NETg, the assessments can be taken anytime a learner wants, and the deliverable learning contents are written in a proprietary format instead of the general Web document format. 2.7 MERLOT MERLOT (Multimedia Educational Resource for Learning and Online Teaching) [MERLOT, 2004] is a free and open resource repository designed primarily for faculty and students of higher education. MERLOT is also a community of people who are involved in education. Community members may contribute materials, assignments and comments. Meta-data-based search and category-based search methods through a Web browser are provided, and both require human intervention. Learning resources can only be accessed through the URLs provided by the system. It does not provide an access mechanism for an external software component to access the resources. 2.8 CORDRA CORDRA (Content Object Repository Discovery and Registration/Resolution Architecture) [LSAL, 2004] is a reference model for content repositories, brokering of contents, and APIs for content registration, discovery and a standard mechanism to access repositories. Its key capabilities include the following: Content can be made widely available. Content can persist outside of the realm of a single course. Content can be discovered. Once discovered, there will be standard mechanisms to access the content

PAGE 27

14 Content can be managed and deploying organizations will be able to tailor management to their needs. Implementation of the model will be open and flexible. Our design requirements and functionality of the implementation of content repository and constraints-based broker are consistent with CORDRAs functional requirements. We leverage standard Web-service technology and Web-service registry and make some extensions to them for the registration, discovery, and access of learning objects.

PAGE 28

CHAPTER 3 LEARNING OBJECT MODELS On the Web, there is an enormous amount of multimedia data and application systems that can potentially be used for constructing instructional materials for teaching, training, problem-solving and decision support. The object concept in Object-Oriented Programming can be applied to encapsulate these materials as objects for their use and reuse. 3.1 What Is a Learning Object? A Learning Object (LO) is a granule of instruction designed to meet a specific instructional objective. We model an LO in terms of content items, practice items, assessment items needed to cover a subject of learning, provide practice items and conduct an assessment. Additionally, we specify its meta-data as introduced in Termaat et al. [2003] and Heins & Himes [2002]. By including these three types of learning items in an LO specification, the author of the LO can ensure that practice and assessment items presented to learners are consistent with the presented content items. After an LO is authored, we publish the LO as a Web-Service in a Constraints-based Web service Broker for interoperability and ease of access. 3.1.1 Atomic Learning Object An Atomic Learning Object (ALO) is a small granule of instruction, which contains some content items for teaching learners a problem-solving skill or providing them the knowledge needed in a decision-making situation. An ALO can optionally include practice and assessment items for exercising and assessing learners acquired 15

PAGE 29

16 skill or knowledge. In addition to these learning items, meta-data that describes properties and constraints of the LO, and a delivery sequence of content and practice items compose an ALO. 3.1.2 Composite Learning Object ALOs by themselves will have limited use unless they can be used to compose larger granules of instruction. A Composite Learning Object (CLO) is an aggregation model defined as a tree structure of activities with sequencing information and sequencing rules. The following subsections discuss the specification of an activity tree including sequencing control modes, learning objectives and activity data. 3.1.2.1 Activity tree When a reader selects a book, he/she usually takes a look at the table of contents of the book to view the contents and the overall structure of the book. An activity tree in a CLO follows the tree structure of the table of contents to aggregate deliverable contents and defines the delivery sequence of the contents. An activity tree is designed with its modeling constructs such as activities, connectors, and edges. Activity: A unit of processing in the delivery of a CLO instance. An activity can represent a granule of instruction such as a lesson, module, chapter, part, and so on. Depending on its location in an activity tree, an activity is either a leaf or a non-leaf activity. A non-leaf activity can include content, practice and assessment items in its specification. A content item in a non-leaf activity can provide an abstract and/or an introduction to learners before the sub-tree rooted at the non-leaf activity is delivered. A summary of the contents of a sub-tree can also be presented by a content item. Assessment and practice items in a non-leaf activity can be designed to assess learners abilities to integrate the concepts and contents presented in its

PAGE 30

17 child activities. A leaf activity can bind to a specific ALO or CLO statically, or it can contain constraints for dynamic binding to an ALO or CLO that is suitable to a learner. Additionally, a set of rules can be included in a CLO specification and be used to alter the navigation path and the structure of an activity tree based on each individual learners profile (i.e., background, age, preference and competency) and progress. In an activity, learning objectives and activity data can be declared and specified. The sequencing rules and the rule-based execution model will be discussed later in this chapter. Connector: A modeling construct that bridges a parent activity and its child activities. It includes Sequencing Control Modes of the child activities, which will be discussed in the next section. Edge: A directed edge that connects a parent activity to a connector, and a connector to a child activity. Figure 3-1 shows an example CLO, Relational Model, composed of the modeling constructs discussed above. Connector Leaf Activity Non-leaf Activity Edge Figure 3-1. Modeling Constructs in a Composite Learning Object

PAGE 31

18 3.1.2.2 Sequencing control modes Sequencing control modes (SCMs) adopted from SCORMs Sequencing Definition Model defines the sequencing behavior among child activities. SCMs include Choice, Forward-Only and Flow modes. Each mode can be set to True or False, and multiple modes can be enabled to specify combinations of these modes. Choice SCM enables the user to choose child activities in any order. Forward-Only SCM permits traversal through its child activities only in the forward direction. Flow SCM allows sequencing through the child activities in forward and backward directions. The sequence of child activities in Flow and Forward Only SCM is defined in a connector. Figure 3-2 illustrates the three sequencing control modes. A ctivity 1 A ctivity 2 A ctivity 3 A ctivity 4 Choice Parent Activity A A ctivity 1 A ctivity 2 A ctivity 3 A ctivity 4 Flow Parent Activity B A ctivity 1 A ctivity 2 A ctivity 3 A ctivity 4 Forward Only Parent Activity C Figure 3-2. Sequencing Control Modes. A) Choice. B) Flow. C) Forward Only.

PAGE 32

19 Unlike SCORM, which defines SCMs in a parent activity of a cluster, we specify them in a connector. By separating the control information (i.e. SCMs) from the activity specification, runtime customization of a learning process instance can be achieved more easily. 3.1.2.3 Learning objective A learning objective, adopted from SCORMs Sequencing and Navigation model [ADL, 2004a], is a data structure whose data conditions can either be marked as Satisfied or Unsatisfied to indicate if a learning objective has been or has not been met. Learning objectives are declared in an activity. They can be prefixed by the ID of the activity (i.e., activityID.objectiveID), thus can be unambiguously referenced from any activity of a CLO. To reference a locally declared objective, activityId does not be prefixed. A learning objective includes the data fields such as Objective ID (String), Satisfied by Measure (Boolean), Minimum Satisfied Measure (decimal value between 0.0 and 1.0), and Contributes to Rollup (Boolean). An objective whose Contributes to Rollup is True is referred to as a primary objective. Each activity is required to have a primary objective, and the satisfaction status of the primary objective represents the satisfaction status of the activity. At runtime, a learning objective will have a Boolean value for its satisfaction status and a numerical value for its normalized score, that is. measure. There are two ways to satisfy or unsatisfy an objective: First, when an objectives satisfied by measure field is True, a measure (score of an assessment) will be recorded as the result of an assessment. If the measure is equal or above its minimum satisfied measure, then the objective will be set to Satisfied. Otherwise, it will be set to Unsatisfied. Second, when an objectives satisfied by measure field is False, the

PAGE 33

20 objective has to be set to Satisfied or Unsatisfied by a condition-action rule. For example, in order to satisfy an activity when a learner has taken all the content and practice items, an after-post-assessment rule if [true], then [Satisfy this activity] can be specified. Details of sequencing rules and the stages of activity processing will be discussed later in this chapter. 3.1.2.4 Activity action Activity action is a set of simple Java instructions executed at specific execution stages during activity processing. These instructions may check a learner profile and the runtime data model, and assign meaningful values to activity data. Details about their use will be discussed in Chapter 4. 3.1.2.5 Activity data Activity data are variables declared in an activity. Their values represent the status of the activity, which are used by rules. The data type of each datum can be any one of the simple data types of the Java language such as integer, float, boolean, string, and so forth. 3.1.3 Meta-data Meta-data of an LO is the data that describes the LO. The meta-data is expressed in terms of a set of attributes and the constraints associated with these attributes. The attributes include Title, Subject, Author, Keywords, Target age, Media format, Language, Cost, Quality Rating, and so on, as in MERLOT, CLOE, and IEEE LOM standard [IEEE LTSC, 2005]. These attributes can be categorized into two types. Static attributes such as Title, Subject, Keywords, Language, Target age and Media type are attributes whose constraints are specified by authors. Dynamic attributes such as Usage number, Average score and Quality rating are attributes whose constraints are recorded and updated by

PAGE 34

21 evaluators (a role played by qualified individuals in a virtual community) and the Learning Process Management System. Constraints can be categorized into attribute constraints (i.e., the legitimate values of these attributes), and inter-attribute constraints (i.e., their value relationships). An attribute constraint has the following form: attribute-Id keyword value | range | enumeration where attribute-Id is the identifier of an attribute, keyword can be either a comparison operator =, !=, <, <=, > or >=, RANGE or ENUMERATION. In case the keyword is a comparison operator, value would specify the data value of the attribute in a simple predicate expression. If the keyword is RANGE, a range specification denoted by [value..value] would specify the value range that the attribute can have. In case of ENUMERATION, an enumeration specification denoted by {value, value,.., value} would specify a list of possible values of the attribute. An inter-attribute constraint is defined as follows: If attribute-constraints then attribute-constraints where attribute-constraints is a Boolean expression in which each term is an attribute constraint. For example, an attribute constraint of an LO specified by Target_age = [3..8] specifies that the LO is to be used by children between 3 and 8 years old. An LO that is free of charge to people from a developing country can be specified by an inter-attribute constraint If learner.country developing_country, then cost = 0. The meta-data constraints provided by LO producers are used for the registration and discovery of LOs [Lee, Zhang & Su, 2004].

PAGE 35

22 LOs developed for different application domains may require different meta-data attributes. In order to accommodate different applications, meta-data attributes must be customized and/or expanded to meet different application needs. We specify meta-data attributes in an extended WSDL document, which is used by the LO authoring tools and LO search tool, and allow the user to specify meta-data constraints. A part of the extended WSDL document that describes the names and data types of the meta-data attributes used in our current system are shown in Figure 3-3. Figure 3-3. Meta-data Attributes in Extended WSDL Document Primary_audience LO_Type string string Language Title string string Difficulty Subject string string Workload Author string string Target_age Description integer string Level_of_detail Keywords string string Study_period Material_Type duration string Cost Media_Format float string 3.2 Learning Resources Taxonomy We distinguish three types of learning resources in a taxonomy of resources. The lowest level of resources is called learning asset, which represents the most basic resources available on the Web and can be presented to a learner through a Web browser.

PAGE 36

23 A learning asset can be a simple file, such as a text, image, audio/video clip or plug-in files such as Flash, or a complicated web page that references multiple learning assets. The next level of resources is the Atomic Learning Object (ALO) in which each of the learning items includes a learning asset. The highest in the taxonomy is the Composite Learning Object (CLO), which is an aggregation model defined as a tree structure of activities with sequencing information. As discussed, a leaf activity can bind to either ALO or a CLO for the delivery of learning contents, practice and assessment. Figure 3-4 illustrates the taxonomy and reference/binding relationships among learning resources. an Figure 3-4. Taxonomy of Learning Resources and their Relationships hniques As iles than stude CLO Meta-data, Constraints Leaf Activity Leaf Activity Leaf Activity ReferencesBinds to N o n l ea f A ct ivi ty Intro, summary Practice items Plug-in files Video clip Image Web p a g esLearning Assets Audio clip ALO Intro, summary Prs actice item Assessment items CLOs Assessment items Meta-data & Constraints 3.3 Dynamic E-Learning Service Requirements and Tec discussed, Internet users have much more diverse backgrounds and prof nts in schools. Therefore, Web-based learning has to be dynamic to accommodate learners different backgrounds, competencies and interests. To meet this requirement,

PAGE 37

24 learning object services must have the following dynamic properties: active, flexible, adaptive, and customizable. They should be active in that operations on them can automatically trigger rules to enforce policies and constraints, coordinate learning activities, and notify peers and content producers to achieve collaborative e-learninThey should be flexible in that small granules of LOs and multimedia assets can be used to flexibly compose larger objects, and a request for an object can be flexibly bouto a suitable LO dynamically. They should be adaptive in that activities can be retried, skipped, exited, enabled or disabled, and sequencing control modes can be changed at runtime to adapt to the learners performance (i.e., assessment results) and interaction with the system. They should be customizable in that the structures, enabled/disabledstatus of activities and sequencing control modes can be customized to suit individual learners before the processing of a CLO by using the information provided in learnersprofiles. A learners profile contains a learners identification, demographics, accessibility, background and preference information such as date of birth, nampreferred language and learning style, the type of internet connection, disability, interests, learning history, learning objective, and others. Details of the learner profile model will be discussed in Chapter 5. The following sections describe the techniques and mechanisms we have developed to satisfy these requirements. 3.3.1 Rule-Based Execution Model g. nd e, address, d execution model to process a CLO in order to achien In this work, we use a rule-base ve dynamic, flexible, adaptive and customizable e-learning services. The executiomodel can guide learners through different learning paths that lead to effective learning experience by invoking sequencing rules during the learning process execution. A CLO instance refers to a runtime instance of a CLO being enacted for the delivery purpose. A

PAGE 38

25 CLO instance is processed by the Learning Process Management System, which containsa Learning Process Execution Engine (LPEE), an Event-Trigger-Rule (ETR) Server [Lee, Su & Lam, 2001] and a few other server components. A B o Activity. Each CLO by the LPEE would process the activities of an activity tree b process). Drill-down Notified Figure 3 -5. Tasks Perf rmed in an Activity Node at Runtime. A) Non-leaf activity. B) Leaf enactment of a y following a sequencing order determined by the followings: A pre-order traversal of the activity tree (drill-down and roll-up After-Pvent Post-assessment (if specified)Present Practice Items PRoll-up Event ost-assessment E resent Summy Content item ar Pre-activity Event Pre-assessment (if specified) After-Pre-asssment Event es Present Overview Content item Drill-down Event Rd oll-up Notifie ConditionAction Rules ConditionAction Rules Notify Drill-dowll-up Notify Ro n Ye s No Child activity to visit? Notify Roll-up Pre-activity Event Bind to a Learning Object Pre-assessment (if specified) After-PrePresent ContenPost-asssment Event es Practice items t/ assessment (if specified) After-Post-Assessment Event ConditionAction Rules Drill-down Notified Event Posting Execution Flow

PAGE 39

26 Sequencing control modes (Choice, Flow and Forward Only). Activation of sequencing rules to retry, skip, exit, enable or dis able activities. ous executed during the processing of activi ot exist vity, events are posted to notify the ETR Server that certai of an activity. Learners profile 2. ent rule Processed after the pre-assessment task. The result of 3. vity tree to process its child activities. Sequencing control modes of the connector between Learners navigation requests at runtime, for example, exit, next activity, previ activity, choose an activity, continue, and so on. As shown in Figure 3-5 (A), sequencing rules are ties. A sequencing rule is a condition-action rule having the structure, if [condition] then [action] else [alt-action]. The major differences between theprocessing of leaf and non-leaf activities are that drill-down and roll-up rules do nin a leaf activity, and an LO is bound to a leaf activity after the pre-activity event is posted, as shown in Figure 3-5 (B). During the execution of an acti n stages of execution have been reached. The ETR Server would invoke sequencing rules associated with the events. As shown in Figure 3-5, a sequencing rule is invoked by an event with the same name. For example, a Pre-activity event activates a Pre-activity sequencing rule. The detailed description of the ETR Server will be given in Chapter 5. An activity may contain the following sequencing rules: 1. Pre-activity rule Processed before the enactment or the status of another activity can be referenced in the rule for possible adaptation or customization. After-pre-assessm the pre-assessment can be evaluated for any possible adaptive sequencing. Drill-down rule Processed before leaving the activity to go down the acti

PAGE 40

27 the activity and its children can be set adaptively at this stage by checking the learners profile and runtime status. Drill-down rules are applicable only to non-leaactivities. Roll-up rule Processed when an activity is revisited after each of its child activities is f 4. finished. A roll-up rule is in the form of if [Child_activity_set At ring the st ed, ty ild l vailable child activities for the learners choice. (Minimum_set) Condition_set] then [action] else [alt-action]. The Child_activity_set specifies a qualifier (All, Any, None, At Least Count, orLeast Percent), which defines the set of child activities referenced duevaluation of the condition part of a rollup rule. If At Least Count or At LeaPercent is used, it is required that Minimum_set is specified. Minimum_set represents the minimum count or the percentage of child activities that must be evaluated. The condition set of the rollup rule contains Satisfied, AttemptCompleted, Objective Status Known, Objective Measure Known, ActiviProgress Known, Attempt Limit Exceeded, and Never as in SCORMs Sequencing and Navigation [ADL, 2004a]. For example, a rollup rule if [At LeastCount (2) Satisfied] then [Satisfy this activity] states that if any two of the chactivities are satisfied, then the activity (parent) is satisfied. Rollup rules are specified in a parent activity. If there are one or more child activities yet to be processed, sequencing contromodes will determine a set of a Roll-up rules are applicable only to non-leaf activities.

PAGE 41

28 5. After-post-assessment rule Processed after a post assessment task to check the result of the post-assessment. The result can be used for any possible adaptive sequencing. The condition part of each sequencing rule may check a learners profile and the progress status at each stage of activity processing. Thus, an appropriate action can be taken to accommodate a specific learner or a category of learners in different learning contexts. For example, the execution of a sequencing rule can change the sequencing control mode and/or the control structure of the current instance of an activity tree to dynamically adapt to the learning context and the learners profile and progress. The action part of a rule may specify Skip Activity, Exit Activity, Retry Activity, Enable/Disable Activity, Incomplete Activity, Satisfy/Unsatisfy Activity, Satisfy/Unsatisfy objective, Hide Activity from Choice, Pre/Post-Assess, Remove/Add Sequencing Control Mode of a Connector, and so forth, so that the delivery sequence of activities can become adaptive, flexible and customizable. A pre-activity rule specified in a root activity of a CLO can be activated for customization of the CLO instance. For example, a pre-activity rule If [learners goals do not include database administrator or DBA], then [Disable activity installing_DBMS] would check the learner profile to see if his/her learning goal is to become a database administrator. If not, installing_DBMS activity that delivers learning items related to the details of a DBMS installation will not be presented to the learner. Before an after-pre-assessment rule is invoked, the result of the pre-assessment will be available. An after-pre-assessment rule If [pre-assessment objective is Satisfied], then [Skip this activity] would allow the current activity to be skipped when the pre

PAGE 42

29 assessment result is satisfactory. A drill-down rule of a non-leaf activity specified as If [learner prefers Receptive learning style], then [Set Sequencing Control Mode to Forward_Only], else [Set Sequencing Control Mode to Choice] would not allow a learner who prefers receptive learning style to freely choose the next child activity. Rules as illustrated above can enable the Learning Process Management System to deliver contents to different learners in different order depending on the learners profiles and the progress they make. 3.3.2 Dynamic Binding LO repositories established at the sites of content authors who created LOs may be updated frequently, that is, new LOs are created and existing LOs are enhanced with up-to-date contents or infrequently used LOs can be removed from the repositories. One way to leverage LOs stored in the distributed repositories is to register the meta-data and the access methods of the LOs in a Constraint-based LO Broker that is externally accessible. Then learners and the Learning Process Execution Engine can query the LO Broker to find and execute the desired LOs. Another benefit of making LOs programmatically accessible through the LO Broker is to enhance the effectiveness of learning by selecting LOs that suit learners different competencies and backgrounds. The LO Broker works as a meta-data repository that provides the filtering service. Dynamic binding refers to the runtime binding of an activity to an LO. It is a more active approach than altering learning paths in that it can choose different learning materials dynamically at runtime. It is achieved by allowing a leaf-activity to specify binding constraints at build-time, and generating a query using the binding constraints to the LO Broker at runtime. The binding constraints describe the requirements of an LO that can satisfy the learning objective of a leaf-activity. They are specified in terms of

PAGE 43

30 attribute and inter-attribute constraints which are in the same format as the meta-data of LOs. The Broker would match the query requirements against the meta-data of the registered LOs to find the suitable LO(s). If more than one LO match with the query, the meta-data of these LOs will be presented to the learner so that he/she can choose an LO of his/her preference. Details about LO registration and binding process will be discussed in Chapter 5. In order to make dynamic binding adaptive, binding constraints may contain a variable in its attribute constraint specification. This variable will be assigned a value based on a learners profile, status of objectives, and activity data. In the binding constraints of a leaf activity, the value on the right-hand side of an attribute constraint can be prefixed by OBJ: or VAR:, which represents the objective, or the activity data, respectively. At runtime, an objective id prefixed with OBJ: will be replaced by the status of the objective, and a data id with the prefix VAR: will be substituted by the value of the activity data at the time of dynamic binding to generate the query. For example, a binding constraint Target_age = VAR:iAge will be transformed into Target_age = 15 when a 15 year old learner is taking the CLO with the activity data iAge assigned to the age of the learner. As another example, a learner with a disability can be presented with appropriate content by an attribute constraint Media_type ENUMERATION {VAR:content_type}, where the activity data content_type can be replaced by an enumeration of strings {Movie with caption, HTML, Flash} for a hearing-impaired learner, or {Audio, Movie with audio} for a visually impaired learner. Binding constraints allow the discovery of LOs that have appropriate media types.

PAGE 44

31 3.3.3 Model-based Assessment Assessment is an important aspect of learning in that it measures a learners knowledge and problem-solving skills. Assessment results provide important information that can be used to select learning paths, bind activities to suitable LOs, and identify areas that a learner should pay special attention to. SCORMs sequencing definition model does not specify assessment related information, such as when and how an assessment will be conducted. The content of the presented assessment is solely dependent on an assessment LO referenced in a leaf activity. Thus, a change of assessment coverage and location in an activity tree requires a structural change of a learning process and the authoring of an LO that conducts the new assessment. This would require a substantial amount of time and effort. In this work, we allow the specifications of a pre-assessment and a post-assessment when an activity is defined. We also allow the specification of sequencing rules that can make use of the results of the assessments to select a learning path, and customize a learning process structure as discussed before. Any activity node in a learning process model can carry out a preand/or post-assessment task on the learning contents covered by the tree that is rooted at the node. The assessment items used in the assessment task can be randomly and proportionally selected from the assessment items of the non-leaf nodes and those learning objects bound to the leaf nodes of the tree. The above provision addresses the SCORMs limitation that only leaf nodes of an activity can have assessments, and gives a content producer greater flexibility in specifying when and where assessments are to be carried out.

PAGE 45

32 3.3.3.1 Assessment specification Assessment specification, which is a part of activity specification, includes information related to the assessment(s) to be conducted in an activity. Assessment Marker describes the type of the assessment (preand/or post-assessment) to be conducted. Assessment Parameters specify the selection percentage (0 ~ 100%) of assessment items and a scoring weight (0 ~ 1.0) for each activity that belongs to the coverage of the assessment. The selection percentage and the scoring weight represent the contribution of the activity for selecting problems and grading the assessment, respectively. The number of assessment items that should be extracted from the items in the activity can be calculated by considering the percentage and the number of assessment items in the activity. For example, if four pre-assessment items exist in an activity and the selection percentage for the activity is set to 50%, then two items are selected randomly from either the activity (in case of non-leaf activity) or the LO bound to the activity (in case of leaf activity) for the assessment. The scoring weight is applied to calculate how many points are contributed to the total score of the assessment. The maximum score, gained score and normalized result score of an assessment are calculated as follows: .)(*)(subtreeinactivitiesAAinitemsassessmentselectedPiijiiijAweightPPtsScoreMax where Pts(P ij ) is points allocated to P ij and weight(A i ) is scoring weight of A i. .)(*)(subtreeinactivitiesAAinitemsassessmentselectedPiijiiijAweightPPtsGainedScoreGained where PtsGained(P ij ) is points gained from P i and weight(A i ) is scoring weight of A i.

PAGE 46

33 Normalized result score = Gained Score / Max Score The normalized result score is set to the measure of the objective associated with the assessment that has been carried out. 3.3.3.2 Model-based objective measure assignment As discussed, the satisfaction status of an activity, which is evaluated for the processing of a roll-up rule of its parent activity, is represented by the status of the primary objective of the activity. Additionally, non-primary objective(s) can be declared in an activity. A possible usage of non-primary objectives is for the analysis of an assessment result. In case there is an assessment in an activity, the primary objectives measure may represent the overall gained score, and the measures of the non-primary objectives can represent scores gained from some parts of the assessment, that is, problems chosen from a subset of activities in the assessment coverage. As a result, objectives can be used in an analysis of the assessment, the result of which can be useful for giving advice to learners for future study, and making the execution of the learning process adaptive. As a part of assessment specification, we provide a mechanism to set multiple objective measures according to the result of an assessment conducted in an activity. An objective is paired with a list of activities that belong to the subtree rooted at the activity. As an example, Figure 3-6 shows a subtree that has an assessment at its root A1. The activity A1 has three objectives: Overall, Left and Right. The objective Overall covers the whole subtree, Left covers the left subtree, and Right covers the right subtree. A list of activities (A2, A4, A5, and A6) is assigned to Left, and (A3, A7, A8) to Right. With this

PAGE 47

34 specification, the normalized measures of the objectives Overall, Left and Right will be set by calculating the maximum score, gained score and normalized score as discussed. Figure 3-6. Assignment of Measures to Multiple Objectives for an Assessment at A1 A1 A6 A5 A4 A2 A3 Objectives in A1: Left Right Overall A8 A7 Just like there can be multiple quizzes and exams in a course, it is possible to schedule multiple assessments in a CLO. In addition, it is possible that an assessment is conducted optionally by a sequencing rule. As an example, Figure 3-7 shows an activity tree with several assessments. A set of assessment questions will be given at the end of each of the activities at level 2 under the activity A2, that is, A4, A5, and A6. Only those learners, who pass less than two of the three assessments, need to take the assessment on the activity A2. To make the assessment on A2 optional, a roll-up rule of the activity A2 can be specified as if [At Least Count (2) are Satisfied], then [Satisfy this activity], else [Unsatisfy this activity], and a after-post-assessment rule if [this activity is not Satisfied], then [perform a Post-Assessment]. Assessment parameters need to be specified in A2 for the optional assessment.

PAGE 48

35 In the child activities of A3, there will be no assessment, and there will be a mandatory comprehensive assessment for the entire tree rooted at A1. The roll-up rule of the non-leaf activity A3 is If [All child activities are Satisfied], then [Satisfy this activity], else [Unsatisfy this activity]. Activities without any assessment will be satisfied after they have been navigated by an after-post-assessment rule If [true], then [Satisfy this activity]. The root activity A1 has a primary objective primary_objective and a non-primary objective assessment_objective for the post-assessment conducted at the root activity. The entire CLO will be satisfied only if activity A2 and the objective assessment_objective are satisfied, which can be specified by an after-post-assessment rule of A1: if [(activity A2 is Satisfied) AND (objective(assessment_objective) is Satisfied)], then [Satisfy this activity], else [Unsatisfy this activity]. A1 Activity without assessment Activity with assessment Activity With optional assessment Level 0 A6 A2 A5 A4 A3 Level 3 Level 2 Level 1 Figure 3-7. Activity Tree with Multiple Assessments

PAGE 49

CHAPTER 4 LEARNING CONTENT MODELING LANGUAGE AND LEARNING PROCESS MODELING LANGUAGE The learning object models, introduced in Chapter 3, are used for defining ALOs and CLOs. They are used as the underlying models for the development of authoring tools to be used by authors of LOs to create ALOs and CLOs. In addition to the underlying models and authoring tools, we need concrete languages that describe these two types of LOs without ambiguity. For the purpose of sharing and exchanging the specifications of ALOs and CLOs, textual languages for defining these two types of LOs are useful. In this work, a Learning Content Definition Language (LCDL) and a Learning Process Definition Language (LPDL) were designed using the XML technology for defining ALOs and CLOs, respectively. Content authors would utilize authoring tools (to be described in Chapter 5) to define ALOs and CLOs. The tools generate the language descriptions of ALOs and CLOs using these two languages. 4.1 Why XML? XML (eXtended Markup Language) has become a de facto standard for representing structured and semi-structured information in a textual form [Graham, et. al., 2002]. There are several advantages of the XML technology, which are summarized in [Software AG, 2004] as follows: XML is a meta language. It defines markup languages for specific purposes and schemas for all kinds of data models. XML is text-based and easy to read. XML is ideal for structured data. 36

PAGE 50

37 XML is presentation neutral. XML is multi-lingual. XML is open technology. Due to the above advantages and the matured XML technology supported by numerous vendors, XML documents are used across industry and research institutions for describing new technologies and data exchange. Storing, parsing, and validating data in an XML document requires the definition of an XML data schema. Currently there are two ways to define a XML data schema: XML Schema [W3C, 2001a] and Document Type Definition (DTD). DTD, an older technology, defines a valid XML document format with its proprietary syntax to define XML elements and attributes. XML Schema, developed afterwards, supports new features not supported in DTD, such as definition of new data types, object-oriented concepts including extension/restriction of base data types and type reuse, and namespace that enables incorporation of existing XML Schema definitions to create a new one. In addition, an XML Schema definition is written in a standard XML document to define an XML data format, which is easier to read than a DTD. Due to these advantages, the languages and protocols that describe Web-Service technology, such as Web Service Definition Language (WSDL) [W3C, 2001b], Universal Description, Discovery and Integration (UDDI) [OASIS, 2004], and Simple Object Access Protocol (SOAP) [W3C, 2003], are defined using XML Schemas. We define the learning object languages, that is, LCDL and LPDL, using the XML Schema technology. The XML Schema definitions of LCDL and the LPDL are listed in Appendix A and Appendix B, respectively.

PAGE 51

38 4.2 Meta-model A meta-model of a modeling language reveals modeling entities, their attributes, and cardinality and containment relationships among the entities. Figure 4-1 shows the meta-model diagram of LPDL and LCDL using the class diagram of the Unified Modeling Language (UML). Each entity, represented by a rectangle in the diagram, is either an XML element or attribute in the XML-based languages. Figure 4-1. Meta-model of Learning Process Definition Language and Learning Content Definition Language and their Relationships LCDL LPDL Connector Activity Data Binding Information A ctivit y Activity Action Objective Assessment Marker 1 1 1 1 * * 1 1 1 1 1 1 1 1 1 1 * 1 1 1 1 1 1 1 1 0..1 * binds to 1 0..1 Learning Item 1 1 1 links to *binds to links to 1 Assessment Parameters 1 1 Edge Non-leaf Activity 1 1 Saved Time 1 1 UDDI Registration Learning Process ( CLO ) Definition Learning Content (ALO) Definition 0..1 Service Constraint Inter-attr Constraint 1 1 1 1 0..1 Constraints Content Item 1 Sequencing Rules 1 Dynamic Static Leaf Activity 1 1 Practice Item Limit 1 1 Updated Time 1 1 Learning Items Sequence 1 UDDI Registration Assessment Item 1 Business Service Key The diagram shows the high-level entities of LPDL and LCDL, and relationships between the entities, such as cardinality, composition, link and binding. To simplify the diagram, a super-class Activity is introduced to show that Leaf Activity and Non-leaf

PAGE 52

39 Activity share entities associated with Activity. Details about the meta-model are explained in the following sections. 4.3 Learning Content Definition Language LCDL is an XML-based language for defining ALOs. A Learning Content Definition, that is, an ALO, consists of Content Item, Practice Item, Assessment Item, Constraints, UDDI Registration, and Learning Items Sequence. A content item contains a learning asset in the form of text, URL, or HTML that presents the content item. A practice item and an assessment item include a content item for its problem content, and an answer. In addition, an assessment item involves a numeric value, that is, a point allocated to the problem, and a Boolean value that indicates whether the item can be automatically graded by simple text matching. The following XML code segment declares learning items consists of four content items and two practice items whose content type is URL, and two assessment items that have text for their problem presentation: ....... < ns1:ContentItems > < ns1:ContentItem Name ="Q1" Number ="1"> < ns1:URL > http://128.227.176.41:8888/VAM/Low_pressure_system_Q1.htm < ns1:ContentItem Name ="Low Pressure System Learning Objective" Number ="2"> < ns1:URL > http://128.227.176.41:8888/VAM/Low_pressure_system_learning_objectives.htm < ns1:ContentItem Name ="Q2" Number ="3"> < ns1:URL > http://128.227.176.41:8888/VAM/Low_pressure_system_Q2.htm < ns1:ContentItem Name ="Q1 Learning Objectives" Number ="4"> < ns1:URL > http://128.227.176.41:8888/VAM/Low_pressure_system_Q1_Objectives.htm < ns1:PracticeItems > < ns1:PracticeItem Number ="1" Name ="Q1 VAM Simulation"> < ns1:Problem Number ="0"> < ns1:URL > http://128.227.176.41:8888/VAM/Low_pressure_system_Q1_VAM_simulation.htm

PAGE 53

40 < ns1:Answer > N/A < ns1:PracticeItem Number ="2" Name ="Q2 VAM Simulation"> < ns1:Problem Number ="0"> < ns1:URL > http://128.227.176.41:8888/VAM/Low_pressure_system_Q2_VAM_simulation.htm < ns1:Answer > N/A < ns1:Assessments > < ns1:PreAssessmentItems /> < ns1:PostAssessmentItems > < ns1:AssessmentItem Points ="3" AutoGrade ="true" Number ="1"> < ns1:Problem > < ns1:text >

Q. If a vaporizer concentration dial is adjusted to a non-zero setting, will O2 flow generated by an O2 flush flow through the vaporizer?

A. No

B. Yes

C. Depends on the setting of the O2 flowmeter knob

D. Depends on the FGF setting

< ns1:Answer > A < ns1:AssessmentItem Points ="3" AutoGrade ="true" Number ="2"> < ns1:Problem > < ns1:text >

Q. With the N2O flow meter at its maximum setting (> 5 L/min), will a hypoxic gas mixture result at the common gas outlet if the O2 flow meter is subsequently decreased to its minimum setting (about 200 mL/min)?

A. Yes

B. No

C. Maybe

< ns1:Answer > B ....... Learning items sequence describes a presentation sequence of content and practice items when an ALO is bound to a CLO instance and delivered to learners. Type attribute of LearningItemSequence element represents the type of the learning item to be presented, and ItemId attribute matches with Number attribute of the corresponding learning items. UDDI Registration records a business interface key and a business service key returned from a UDDI registry when registering the ALO with the Constraint-based Broker. The following defines a learning items sequence and the UDDI registration of an ALO: ....... < ns1:LearningItemSequences > < ns1:LearningItemSequence Type ="Content" ItemId ="2" /> < ns1:LearningItemSequence Type ="Content" ItemId ="1" /> < ns1:LearningItemSequence Type ="Practice" ItemId ="1" /> < ns1:LearningItemSequence Type ="Content" ItemId ="4" /> < ns1:LearningItemSequence Type ="Content" ItemId ="3" />

PAGE 54

41 < ns1:LearningItemSequence Type ="Practice" ItemId ="2" /> < ns1:UDDIRegistration BusinessInterfaceKey ="UUID:8ACC6F10-115B-11D9-A2B3-000629DC0A53" ServiceImplementationKey ="5B863DF0-7D6A-11D9-9561-000629DC0A53" /> ....... Constraints entity is the meta-data that describes an ALO, and is used for the registration and discovery of the ALO through the Constraint-based Broker. The following is an example attribute constraint specification describing that Title is Low Pressure System VAM, Media_Format is HTML and Shockwave, Language is English, cost is 0, and Author is Gilliean Lee: ....... < ns1:constraints > < ns1:service_constraints > < ns1:service_constraint > < ns1:name >Title < ns1:type >string < ns1:keyword >eq < ns1:valueList >"Low Pressure System VAM" < ns1:negotiable >no < ns1:priority >0 < ns1:service_constraint > < ns1:name >Media_Format < ns1:type >string < ns1:keyword >enu < ns1:valueList >{"HTML", "Shockwave"} < ns1:negotiable >no < ns1:priority >0 < ns1:service_constraint > < ns1:name >Language < ns1:type >string < ns1:keyword >eq < ns1:valueList >"English" < ns1:negotiable >no < ns1:priority >0 < ns1:service_constraint > < ns1:name >Cost < ns1:type >float < ns1:keyword >eq < ns1:valueList >0.0 < ns1:negotiable >no < ns1:priority >0 < ns1:service_constraint > < ns1:name >Author < ns1:type >string < ns1:keyword >eq < ns1:valueList >"Gilliean Lee" < ns1:negotiable >no < ns1:priority >0 .......

PAGE 55

42 The complete definition of the ALO shown in the above example can be found in Appendix C. Figure 4-2 shows the detailed meta-model of LCDL, consisting of entities and relationships among the entities. 1 Learning Content (ALO) Definition 1 1..* 1 1 Assessment Item 1 1 0..1 Text 1 0..1 URL 1 0..1 1 1 UDDI Registration Learning Items Sequence Practice Item 1 1 Content Item Html 1 1 Autograde 1 1 1 Point 1 1 Answer 1 Service Constraint 1 1 Constraints 1 Inter-attr Constraint 1 1 Figure 4-2. Detailed Meta-model for LCDL 4.4 Learning Process Definition Language LPDL is an XML-based language used for defining a CLO. LPDL specifies a learning process in the form of an activity tree. As discussed in Chapter 3, there are several modeling constructs of the activity tree: leaf activity, non-leaf activity, connector, and edge, each of which is expressed as an XML element in LPDL. The most fundamental modeling entities are Leaf Activity and Non-leaf Activity, with which the other entities such as Limit, Objective, Activity Data, Activity Action, Binding Info, Assessment Marker, Assessment Parameters, ETR Rules, Content items, Practice items, and Assessment items are associated. The related entities will be explained when the Activity entities are introduced. In addition to the modeling constructs of the activity tree, Constraints and UDDI Registration entities are also specified. Saved Time entity stores the most recent time a CLO is created and saved. The information is compared with a deployment time recorded in the LPEE to verify whether a re-deployment of the CLO is necessary or not.

PAGE 56

43 We will use a CLO, which models the instructional process of a Virtual Anesthesia Machine, as an example of LPDL code in this section. The full specification of the CLO can be found in Appendix C. 4.4.1 Non-leaf Activity In an activity tree, a non-leaf activity is a node that has at least one child node. It can contain contextual contents, that is, introduction and summary, and practices and assessments for exercising and assessing a learners ability to integrate the contents presented in its child activities. The following XML code segment specifies that an introduction can be accessed through the given URL and a summary is given in the text. ....... http://www.vam.org/VAM/VAM_Intro.htm

Original Virtual Anesthesia Machine Web page is http://vam.anest.ufl.edu .

Special Thanks to Dr. Sem Lampotang

Copyright: University of Florida.

....... The Limit entity specifies a delivery limit of the activity in terms of the time experienced or the number of attempts. The Objective entity represents a learning objective of the activity. An activity is required to have a primary objective, which represents the satisfaction status of the activity, as discussed in Chapter 3. The Activity Data entity contains attributes or variables of simple data types supported by the Java programming language. Their values specify a learners profile information, the result of some simple calculations, or the current status of an activity. They can be used in the processing of a CLO instance. At runtime, all the values of Activity Data are passed to sequencing condition-action rules, such as Pre-Activity, After-Pre-Assessment, and

PAGE 57

44 After-Post-Assessment rules, for communication between the CLO runtime instance and the rule code. The following XML code segment declares the objectives and activity data of an activity named Part_3_Safety_Exercises: ....... ....... The Activity action, a piece of Java code executed at a specific stage of activity processing, can be defined to perform some simple operations such as checking learner profile and status of objectives, assigning values to activity data, carrying out a data type conversion, and so on. In a non-leaf activity, there are Before-Pre-Activity Actions, Before-Pre-Assessment Actions, Before-Introduction Actions, After-Introduction Actions, Before-Rollup Actions, Before-Post-Assessment Actions, and After-Post-Assessment Actions. Each action is translated into Java code. Internally, an activity code class is created for each activity. In the class, activity data are declared as member variables, and a method implements each of the activity actions. LPEE invokes these methods at specific stages of activity processing. Table 4-1 summarizes activity actions in a non-leaf activity and their descriptions.

PAGE 58

45 Table 4-1 Execution Stages and Description of Activity Actions in Non-leaf Activity Activity Action Name Execution Stage Description Before-Pre-Activity Before processing Pre-Activity rules Assign values to activity data to be used for the execution of Pre-Activity rules. Before-Pre-Assessment Before conducting a pre-assessment Executed to take any necessary action for the preparation of a pre-assessment. Before-Introduction Before processing After-Pre-Assessment rules, i.e. before presenting a content item as the introduction Assign values to activity data to be used for the execution of After-Pre-Assessment rules. AfterIntroduction Before drill-down to a child activity, i.e. before processing Drill-down rules Assign values to activity data to be used for the execution of Drill-down rules. Before-Rollup Before processing Roll-up rules, i.e., before roll-up to itself after finishing a child activity Assign values to activity data to be used for the execution of Roll-up rules. Before-Post-Assessment Before conducting a post-assessment Executed to take any necessary action for the preparation of post-assessment. After-Post-Assessment Before processing After-Post-Assessment rules Assign values to activity data to be used for the execution of After-Post-Assessment rules. Assessment information for the model-based assessment discussed in Chapter 3 is specified as a part of an activity. The Assessment Marker specifies whether a preand/or post-assessment is going to be conducted in the activity. For each assessment, there exist the Assessment Parameters, which include the Assessment Selection Parameters and the Objective Settings. The Assessment Selection Parameters specify the activities participating in the assessment. It is composed of a set of tuples (activity ID, selection percentage, scoring weight), where activity ID is an identification of a descendent activity from which assessment items will be collected. Selection percentage specifies what percentage of assessment items will be chosen from the activity, and scoring weight is the weight of selected assessment items to be used for grading the assessment.

PAGE 59

46 Objective Setting entity, which is a subset of descendent activities, indicates the activities that contribute to the calculation of the objectives measure. The following XML code segment shows an example of assessment parameters specified in a parent activity Part_3_Safety_Exercises, which has the following child activities: High_Pressure_System, Low_Pressure_System, Breathing_Circuit, Manual_Ventilation, Mechanical_Ventilation, and Scavenging_System. In the parent activity, there are objectives oOverall, oPressureSystem, oBreathingCircuit, oVentilation, and oScavengingSystem whose measures will be assigned as the result of an assessment conducted in the activity: ....... Part_3_Safety_Exercises High_Pressure_System Low_Pressure_System Breathing_Circuit Manual_Ventilation Mechanical_Ventilation Scavenging_System High_Pressure_System Low_Pressure_System Breathing_Circuit Manual_Ventilation Mechanical_Ventilation Scavenging_System .......

PAGE 60

47 1 1 Figure 4-3. Entities in the Meta-model of a Non-leaf Activity in Learning Process Definition Language As discussed, a condition-action rule has the structure If [Condition], then [Action], else [Alt-Action]. Thus, the Rule entity consists of a Condition, an Action, and an Alternative Action. Condition is in the form of a Boolean expression, and Action and Alternative Action are Java code segments to be executed when the Condition is satisfied or unsatisfied, respectively. Sequencing rules for a non-leaf activity include Pre-activity, After-Pre-Assessment, Drill-down, Roll-up, and After-Post-Assessment rules. Figure 4-3 depicts a detailed meta-model of a Non-leaf Activity entity with its related entities. Activity Data Limit Activity Action Assessment Marker 1 1 1 1 1 1 1 1..* 1 0..1 0..1 Assessment Parameters 0..1 Condition 1 1 1 1 Type ID 1 1 1 0..1 1 0..1 1 1 * 1..* 1 Rule 1 0..5 1 1 1 1 Alt Action 1 1 Action Assessment Selection Parameter Number Of Attempts Time Duration 1 1 Name ID 1 1 Contributes to Rollu p Minimum Satisfied Measure Satisfied by Measure 1 1 1 1 1 Pre-Assessment Post-Assessment 1 0..1 1 0..1 1 1 Non-leaf Activity 1 1 0..1 Assessment Item 1 0..1 Text 1 0..1 URL 1 0..1 Practice Item 1 Content Summary 1 1 1 Introduction 0..1 1 1 Html Autograde 1 1 1 1 1 1 1 1 1 Point Answer 1 Item Objective Setting Selection Percent Scoring Wei g ht 1 1 1 Objective 1 ID

PAGE 61

48 4.4.2 Leaf Activity A leaf activity is a leaf node in an activity tree. Unlike a non-leaf activity, which includes learning items in it, a leaf activity binds to an LO at runtime either statically or dynamically. Binding Info specifies the method of LO binding and the required information for each method. In the case of static binding, a business service key and a business interface key is specified. Dynamic binding involves the requirements of LO that the activity needs to bind, which are specified in the same format as the meta-data of LOs. Implementation details on the registration and dynamic binding mechanism will be given in Chapter 5. In the following example of Binding Info, it specifies the information necessary for dynamic binding, where the attribute Keywords should be input output of anesthesia machine and the attribute Language should be set to the value of activity data sLanguage at the time of binding: ....... Keywords string eq "input output of anesthesia machine" No 0 Language string eq "VAR:sLanguage" No 0 .......

PAGE 62

49 Table 4-2 Execution Stages and Description of Activity Actions in Leaf Activity Activity Action Name Execution Stage Description Before-Pre-Activity Before processing Pre-Activity rules Assign values to activity data to be used for the execution of Pre-Activity rules. Before-Binding Before binding to a learning object Assign values to activity data that can be referenced for updating dynamic binding constraints. Before-Pre-Assessment Before conducting a pre-assessment Executed to take any necessary action for the preparation of pre-assessment. Before-Content Before processing After-Pre-Assessment rules, i.e. before presenting Introduction content item Assign values to activity data to be used for the execution of After-Pre-Assessment rules. Before-Post-Assessment Before conducting a post-assessment Executed to take any necessary action for the preparation of post-assessment. After-Post-Assessment Before processing After-Post-Assessment rules Assign values to activity data to be used for the execution of After-Post-Assessment rules. In a leaf activity, there are the following activity actions: Before-Pre-Activity Actions, Before-Binding Actions, Before-Pre-Assessment Actions, Before-Content Actions, Before-Post-Assessment Actions, and After-Post-Assessment Actions. Table 4-2 describes the execution stages and the purposes of the activity actions. A leaf activity specifies Pre-activity, After-Pre-Assessment, and After-Post-Assessment sequencing rules.

PAGE 63

50 Activity Data 1 Limit Activity Action Objective Assessment Marker 1 1 1 1 1 1 1 1..* 0..1 Assessment Parameters 1 1 0..1 Static Binding Attribute Constraints 1 Constraints Condition 1 1 1 1 Type ID 1 1 1 0..1 1 0..1 1 1 1 1..* 1 Rule 1 0..3 1 1 1 1 Alt Action 1 1 1 1 Service Key Action Assessment Selection Parameter 1 1 1 1 Interface Key 1 1 Inter-Attr Constraints Number Of Attempts Time Duration 1 1 Name ID 1 1 Binding Information Pre-Assessment Post-Assessment 1 0..1 1 0..1 1 1 11 Objective Settings ID Selection Percent 1 1 1 1 Scoring Wei g ht Leaf Activity Contributes to Rollu p Minimum Satisfied Measure 1 1 1 1 1 Satisfied by Measure Dynamic Binding Figure 4-4. Meta-model of Leaf Activity and Related Entities in the Learning Process Definition Language The definitions of the Limit, Activity Data, Objective, Assessment Marker, Assessment Parameters entities in Leaf Activities are identical to those in Non-leaf Activities. Figure 4-4 shows the detailed meta-model of Leaf Activity and its related entities. 4.4.3 Connector A connector relates a parent activity and its child activities in a cluster. Sequencing Control Modes of the cluster are specified in a connector. Additionally, it can include an ordered list of child activities, which gives the processing sequence of these child

PAGE 64

51 activities in the Forward Only and Flow sequencing control modes. Figure 4-5 shows the detailed meta-model for connector, edge, and their related entities. Figure 4-5 Meta-model of Connector and Edge in the Learning Process Definition Language Edge Choice Mode Flow Mode 1 Forward Only Mode 1 0..1 1 0..1 Sequencing Control Modes 1 0..1 1 1 1 1 Activity (Leaf, Non-leaf) 1..* Connector 1..2 The following XML code defines two connectors having the ForwardOnly and Flow sequencing control modes, respectively: ....... Part_1_Basic_Concepts Part_2_IO_of_VAM Part_3_Safety_Exercises High_Pressure_System Low_Pressure_System Breathing_Circuit Manual_Ventilation Mechanical_Ventilation Scavenging_System ....... 4.4.4 Edge An Edge is a directed edge, which connects an activity to a connector or a connector to an activity. It has a from attribute and a to attribute. The value of each attribute can be either an activity ID or a connector ID. The meta-model of Edge is shown in Figure 4-5. The next XML code defines edges that connect an activity to a connector, and vice versa: .......

PAGE 65

52 .......

PAGE 66

CHAPTER 5 E-LEARNING SERVICE INFRASTRUCTURE We envision a new type of virtual e-learning community that can be established based on reusable, assessable, and programmatically accessible e-learning objects that are created and stored in a distributed fashion over the Internet. 5.1 E-Learning Infrastructure for Virtual E-Learning Communities The e-learning infrastructure provides a dynamic and collaborative e-learning environment in which a large number of virtual collaborative e-learning communities can be dynamically established and evolved. Each collaborative community is dynamically formed by a community of Internet users who have a common interest in a specific subject of learning, and who can provide and/or use the knowledge for solving problems in that subject domain. 5.1.1 Roles in a Virtual E-learning Community Members of a virtual e-learning community can play the following roles: content provider, content composer, content evaluator, content learner, and community host administrator. A member can play one or more of these roles. Content providers create and register ALOs. Since an ALO is an aggregation of learning items (i.e., content, practice and assessment items), which make references to learning assets, a content provider can either take advantage of the learning assets available in the Internet, or produce learning assets by using appropriate authoring tools to build ALOs. HTML authoring tools, audio and movie editing tools, Macromedia Director, and so on, can be used to create learning assets. The constructed ALOs are stored in the providers 53

PAGE 67

54 local repository, maintained by the Apache Xindice XML DBMS. Each ALO, together with its meta-data and business service key, is registered as a Web-service in the Constraints-based LO Broker deployed at a community hosts site for later discovery and delivery. Community members, and the Learning Process Management System can browse and query the LO Broker for LOs. The LO Broker performs constraints matching to discover the best LO that matches with a learners request and profile. Content composers responsibility is to compose and register CLOs by making use of the CLO authoring tool. Because non-leaf activities can include learning items, they also need to be able to access learning assets as content providers. They can work with content providers, or take the role of a content provider. Constructed CLOs are stored in the content composers local repository. The meta-data and access information of the CLO is again registered with the LO Broker and made accessible and reusable to other community members. Content evaluators, elected by a virtual e-learning community, would review, evaluate and rate the ALOs and CLOs that are registered with the LO Broker based on learners feedback and LOs use statistics, and, together with the administrator, approve or disapprove their inclusion for the communitys use, and their modification and removal. It is necessary that content providers, content composers, and content evaluators are domain experts in the subject area of LOs that they produce and evaluate. Administrators of the community host are responsible for the operation and maintenance of the Learning Process Management System installed at the host site. Additionally, they take care of the registration and enforcement of the communitys policy rules, which govern LO registrations with the LO Broker. Policy rules can

PAGE 68

55 recommend to members the LOs that have high evaluation scores, or drop LOs from the registry that are rarely used or have very low rating. Content Com p osers Content Evaluators Content Learners ALOs Asset CLOs Provides E-learnin g Generate Generate Used by Evaluated by Registered to,Used by Host Admin Evaluated b y Registered to,Used b y Evaluation ToolCommunity Host Community Rules Maintain LO registration Administers Uses Log evaluation on LOs Generate Used b y Content Provider s Content Providers Establish Register Profile Figure 5-1. Roles and Relationships among Members of a Virtual E-Learning Community Content learners are members of a virtual e-learning community who use the LOs created by the virtual community. During the learner registration, they are required to provide information that constitute learner profiles, which are used by the Learning Process Management System to achieve adaptive and customizable delivery of learning experience. In addition to learning from LOs, they are authorized to evaluate the LOs that have been delivered to them. They make use of the Web User Interface provided by the community host. The roles and relationships among members of a virtual e-learning community are depicted in Figure 5-1.

PAGE 69

56 5.1.2 Web-Services-Based E-Learning Service Infrastructure The infrastructure is composed of distributed software components including the LO authoring tools, the distributed LO repositories, the Learning Process Management System, the LO Broker, and Web Servers. Each network site of a virtual community has a Web server to provide HTTP and SOAP Web-services. LO repositories are stored at the sites where they are created to avoid the communication/storage bottleneck of a centralized repository and to give more authority to content providers and content composers in their creation, modification and removal of LOs. Different software components are installed at different sites depending on the roles that the members of a virtual community play. The Content Provider site is equipped with the ALO authoring tool and other learning asset authoring tools. It also has an XML DBMS to store and maintain the local LO repository. The Content Composer site has a CLO authoring tool in addition to the facilities available to a content provider. Using the LO authoring tools, content composers and providers store LOs in their local LO repositories, and register them with the Constraints-based LO Broker installed at the host site. The Community Host site has the Learning Process Management System, the Constraints-based LO Broker and a local LO repository. The local LO repository maintains all the data necessary for the execution and delivery of LOs to learners, that is, the learner profile models, the runtime status models and LOs that are fetched from the distributed repositories at the sites of content providers and composers for processing by the Learning Process Management System. The Content Learner site needs only a Web browser. A learner can browse or query the LO Broker for registered LOs by specifying his/her learning requirements in terms of the meta-data and constraints associated with a desired LO. The learner can then store the LOs of his/her choice in a learner space, called

PAGE 70

57 MyCLOs, for later execution. He/she can execute the LOs in his/her learner space. The facilities at different sites of the web-service-based e-learning service infrastructure are shown in Figure 5-2. The implementation details of the infrastructure are discussed in the next section. Link Assets (URL) Register CLOs Request ALOs Request CLOs Content Composer CLOsCreate, Edit CLOs Web-page authoring tool Import Link assets (URL) Create Edit ALOs Content Provider ALOs HTMLs Broker UDDI Registry Community Host Register ALOs Learning Process Management System CLO Authoring Tool Web Servers on Internet Learning Assets Web Browse r Search LOs, Request LO Execution, Content Delivery Register, Lookup LO Access Info Web, SOAP Server Learning Assets ALO Authoring Tool Web, SOAP Server Web, SOAP Server LOs. Runtile data. Learner Profile Content Learner Figure 5-2. Web-service-based E-Learning Service Infrastructure 5.2 Implementation E-learning services enable the authoring, registration, delivery and management of LOs. They are needed for the creation of virtual e-learning communities. In order to provide these e-learning services, a service framework that facilitates the authoring, registration, discovery, binding, and invocation of LOs is necessary. In addition, a uniform way of modeling multimedia learning assets and Web-based service components in the form of objects is needed. The Web-services technology developed by the IT industry can be adapted and extended to serve this purpose.

PAGE 71

58 5.2.1 Constraints-enabled Web-service Model The Universal Description, Discovery and Integration (UDDI) [OASIS, 2004] provides a general framework to allow objects to be defined as Web-services using the Web Service Description Language (WSDL). The major elements of WSDL used for Web service description are as follows [W3C, 2001]. The relationships among these elements are illustrated in Figure 5-3: types a container for data type definitions using some type system (such as XSD). message an abstract, typed definition of the data being communicated. It consists of the data types defined in types elements. operation an abstract description of an action supported by the service. Input / output parameters are defined using the messages defined in message elements. portType an abstract set of operations supported by one or more endpoints. binding a concrete protocol and data format specification for a particular port type. port a single endpoint defined as a combination of a binding and a network address. service a collection of related endpoints. A WSDL document can be posted on the Internet, and its access point (URL) together with a textual description and the category information can be registered with a Web-services registry such as the UDDI registry. The contents of the registry can then be navigated or searched manually or programmatically to discover and obtain the access information of suitable Web-services. As an alternative to downloading identified objects for local use, the Web-services model allows the runtime binding of a service request to a remote Web-service, and provides the Simple Object Access Protocol (SOAP) [W3C, 2003] that allows the activation of a remote service by exchanging SOAP XML messages. By applying the Web-service technology, LOs and other instructional resources, tools,

PAGE 72

59 and software systems can be uniformly specified as Web-services. However, the existing specification and implementation of UDDI does not provide constraints specification and filtering capabilities to match service constraints with a service requestors requirements to identify suitable services. Without these constraints specification and filtering capabilities, an LO can be selected by the registry, but the selected LO may not satisfy the requestors requirements. In this work, we have extended the WSDL specification and the UDDI registrys capabilities by allowing constraints to be specified in WSDL, and adding constraint processing capability to the UDDI registry. In the extended WSDL, a constraints element that describes the meta-data of a Web-service is written using the LO meta-data format, and appended as a part of the Web-service description. The extended WSDL information model is shown in Figure 5-3. part abstract interfaceportType type (abstract)operation concrete implementationbinding (concrete)operation (concrete) message service constraints Service Interface Definition Service Implementation Definition Made concrete by Contains zero or more Concrete endpoint port (abstract) message Figure 5-3. Extended WSDL Information Model (In part from [Graham, et. al. 2002])

PAGE 73

60 Figure 5-4 shows a part of an extended WSDL of an LO that includes an operatio n getLOL and Request" name="getLORequest" /> intf:LODBServiceSoapBinding" name="LODBService"> axis/LODBService.jws" /> the access point of which is http://128.227.176.41:8888/axis/LODBService.jws. The meta-data attribute Keywords of the LO has the enumerated values: Anesthesia Machine, Anesthesia, Virtual Anesthesia Machine, Simulation, and Low Pressure System, the attribute Media_Format has the enumerated values HTMShockwave, and the attributed Cost has 0 as its value. xmlns ="http://schemas.xmlsoap.org/ws xmlns:apachesoap ="http://xml.apache.org/xml-soap" xmlns:intf ="urn:LODBService" xmlns:soapenc ="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl ="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap ="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd ="http://www.w3.org/2001/XMLSchema"> d:string" /> sdl:message> e="getLOReturn" type="xsd:string" /> dl:portType name="LODBService"> name="getLO" parameterOrder="sLOId sLOType sLOPart portType> ODBServiceSoapBinding" type="intf:LODBService"> dl:binding name="Ling styl uest"> dl:output name="getLOResponse"> ody operation> binding> dl:service name="LOding=" e> eyword> "} iable> yword> t> tiable> aints> string< enu{"Anesthesia Mac Machine", "Simulation System", "Breathing Circuit Ventilation", "Scavenging System"} No 0 ervice_constraint> rvice_constraint> Media_Formatstringenu{"HTML", "Shockwave No0 ervice_constraint> rvice_constraint> Cost floateq0.0No0 ervice_constraint> ce_constraints> ttribute_constraints /> raints> definitions> A Constraints-based Web service Registry [D constraints and performs constraints matching to select suitable Web-services, is utilized as a constraints-enabled Web-services registry. The registry leverages Apache jUDDI registry (UDDI v.2.0) [The Apache Software Foundation, 2003] as a back-end tacquire globally unique registration keys and store access points of LO repositories whereLOs are located. Since we make use of the registry as an LO registry that matches LOs with browse requests, we shall refer it as the Constraints-based LO Broker. LOs registered as Web services are accessible by calling Web-service op

PAGE 75

62 servicelp ly and effectively. We make use of the Java Archie use es. The registry serves as a meta-data repository in contrast to LO repositories. More about the Constraints-based Registry will be discussed in a later section. 5.2.2 Authoring Tools & LO Repository Authoring tools with graphical user interfaces have been implemented to h authors compose ALOs and CLOs efficient tecture for XML Binding (JAXB) [Sun Microsystems, 2003] technology to implement XML parsing and updating in our authoring tools. The JAXB package generates a set of Java class files using an XML Schema definition as an input. Thof JAXB package and the generated Java class files greatly simplifies the parsing, updating, writing, and validation of XML files, which conform to the XML Schema definition provided as an input. of the ALO Authoring Tool. A) Content ce Constraints (Meta-data) Tab. registration of ALOs. It is developed using Java Swing components. Its user interface is A B Figure 5-5. Graphical User Interface Frame Items Authoring Tab. B) Servi 5.2.2.1 ALO authoring tool We have developed an ALO authoring tool that facilitates authoring and

PAGE 76

63 similar to a tabbed dialog box in a windows-based operating system. The tool is used to add, dser A elete, and edit learning items, and to create, edit and register ALOs. The uinterface of the ALO authoring tool is shown in Figure 5-5. B C Figure 5-6. Graphical User Interface Frame of the CLO Authoring Tool. A) User Interface Frame with Tree View and Canvas Area. B) Leaf Activity Dialog Box. C) Assessment Dialog Box. Tree View Canvas Area

PAGE 77

64 5.2.2.2 CLO authoring tool The CLO authoring tool supports the authoring and registration of CLOs. As shown in Figure 5-6 (A), the tools frame provides a canvas area on the right side for designing an activity tree graphically, and a tree view on the left side of the frame where modeling constructs are categorized and presented. Using the CLO authoring tool, a content composer can create, edit and register CLOs. Dialog boxes for editing the properties of the modeling constructs such as activities, connectors and edges are also provided. Functions such as Add, Delete and Edit learning items are provided for defining wn in Figure 5-6lity he -ocument that describes the LO repositorys Web-service is given about the LO registration process with the Constraints-based LO Broke learning items in non-leaf activities. Activity and Assessment dialog boxes are sho (B) and (C). 5.2.2.3 LO repository The ALO and CLO authoring tools store and retrieve LOs from an LO repository stored in an XML database managed by the Web-based native XML DBMS, Xindice [The Apache Software Foundation, 2004]. The Learning Process Management System also accesses LOs from distributed LO repositories for processing. For interoperabiand ease of access, each LO repository is implemented as a Web-service. The Java WebService (JWS) technology supported by the Apache Axis SOAP engine is used for tdeployment of the Web-service of the LO repository. Any part of an LO, such as metadata, contents items, assessment items and practice items, can be accessed from the LO repository. The WSDL d in Appendix D. Details r and the accessing of LOs from LO repositories will be discussed later.

PAGE 78

65 5.2.3 Learning Process Management System LOs are registered, discovered and processed by the Learning Process ManagemeSystem, which consists of the following main components: a Learning Process ExecutionEngine (LPEE), an Event-Trigger-Rule (ETR) Server, an Assessment Component, an LBroker, a local LO Repository, and a User Interface Component. The architecture of Learning Process Management System is illustrated in Figure 5-7. The components of thsystem are discussed in the following sections. nt O e 5.2.3.1 Learning process execution engine The LPEE processes LOs using the rule-based execution model to facilitate active, adaptive, flexible and customizable e-learning service. When a learner requests the execution of an ALO, a predefined CLO having a single leaf activity is instantiated and the leaf activity is bound to the ALO. When the execution of a CLO is requested, LPEE fetches the requested CLO from a repository that stores the CLO by making a Web-service call, and then deploys the CLO by generating activity codes and installing events, triggers and rules specified in the CLO in the Event-Trigger-Rule Server. Next, an escribed in an XM document, is created and maintained in a local LO repository stored in an XML database. Figure 5-7. Architecture of Learning Process Management System instance of CLO is created for execution. A runtime status model, d L Collaboration ToolsMessenger, Workflow, etc) (E-mail, Internet Learning Process Execution Engine UI Component Learning Process Management System LO Broker ETR Server LO Repository, Runtime Data, Learner Profiles Web User Interface External LO Repositories Web-Service (HTTP, SOAP Server) Communication Protocol Java RMI SOAP HTTP Monitoring Component AssessCompo ment nent

PAGE 79

66 Runtime Status Model The model keeps the following information necessary for the execution of a CLO: o Status of the instance: started, suspended, and finished. o Current activity id. o Status of activities: unattempted, attempted, and completed. o Status of learning objectives: unknown, satisfied, unsatisfied, and curmeasure. o Status of activity attempts. Upon the creation of a CLO instance, a runtime status model described in an Xdocument, and a temporary copy of the CLO are created and maintained in the local LO repository. The local LO repository is built on top of Xindice XML database, which rent ML ovi. LPEE maintains the runtime status model document for the Cinstance artransition diagrams shown in Figure 5-8. The runtime status model is defined in an XML Schema shown in Appendix E. A B Instance Status Transition Diagram B) Activity Status Transition Diagram A makes use of the runtime status model to provide the prdes the persistent storage LO instance. Upon receiving sequencing commands, the states of activities and the e recorded in the runtime status model according to the state Figure 5-8. State Transition Diagrams for Learning Process and Activity. A) Process monitoring componentstatus information about the CLO instance to a learner. A UI component invokes the Unattempted Attempted Attempt Exit Start Attempt Completed Started Suspende d Start d Resume Suspen Finish Finish, Terminated Finished

PAGE 80

67 monitoring component to create a Web page that presents the status information along with the activity tree of the CLO instance. Architecture of LPEE A learning process instance handler object (LPInstance Handler) takes care of the execution of a learning process (CLO) instance by managing the execution of its activities and maintaining its runtime status model through an Activity Handler and the execution of an activity. It instO definition is maintained so that the LO runtime objects of a CLO instance and their relatio of a CLO Instance LO Repository Access Module. An Activity Handler object is responsible for the antiates the activity code object of an activity and invokes its appropriate methods in accordance with the stage of execution. Some of the methods post events to the ETR Server to invoke sequencing rules that are installed when the CLO is deployed. The parsed structure of the CL specification can be retrieved rapidly. The nships with a learning object definition are illustrated in Figure 5-9. Figure 5-9. Relationships between Learning Object Definition and Runtime Objects ETR Server LO Definition CLO Instance Runtime Objects LPInstance Handler CLO Parsed CLO1 1 1 1 1 1 1 0..11 1 1 1 1 1 1 1 Activity Code ETR Server Condition-Action Rules 1 Activity Handler Activity Bound LO

PAGE 81

68 The LMS Engine Core object implements the core functionality of LPEE. The runtime objects, including activity codes, parsed CLOs, LPInstance Handlers, and Activity Handlers, are maintained in four hash tables. Using the CLO instance ID or a combination the instance ID and an activity ID, the runtime objects of a CLO instance can be retrieved from the hash tables. LPEE is encapsulated as a Remote Method Invocation (RMI) server accessible to sequencing rules and the UI component. Figure 5-10. Architecture of the Learning Process Execution Engine The LO Repository Access Module consists of three classes that access the Xindice XML database: Runtime Status Model Accessor, Learner Information Model Accessor, and Learning Object DB Accessor. These classes make use of XPath and XUpdate technologies to query and update the XML database. The Runtime Status Model Accessor class is responsible for the management of runtime status models. The Learner LMS Engine Core Activity Code Hashtable Key: LPInstance Id + Activity Id Learning Process Hashtable Key: LPInstance Id Activity Code Parsed CLO LP Instance Hashtable Activity Hand l er Hashtable Key: LPInstance Id LPInstance Handler Key: LPInstance Id + Activity Id Activity Handler LO Repository Access Module Runtime Status Model Accessor Learner Info Model Accessor Learning Object DB Accessor LMSEngineImpl (RMI Server)

PAGE 82

69 Information Model Accessor class queries and updates the learner profile models. The Learning Object DB Accessor class stores temporary LOs and accesses LThe architecture of LPEE is shown in Figure 5-10. LO Deployment Process A CLO has to be deployed before an instance of thdeployment process involves the generation of activity codes for all thCLO, and the installation of sequencing rules, which involves code generation for events, triggers, and rules, and installing the code in the ETR Server. During the deploymprocess, the installProcessInstance method of the LMS EnginedeployCLO method of CLO RuntimeDB Access object. The deployCLO whether the CLO has to be deployed by comparing the CLOs last deploymthe CLOs update time. If the CLO is deployed for the first time, the O specifications. e CLO can be instantiated. The e activities of the ent Core object invokes the method checks ent time and deployCLO method will generate code for events, triggers, rules, and activities that are necessary for the execution of the CLO instance. If the CLO has been deployed before and the update time is later than the deployment time, then some of the activities of the CLO have to be deployed to reflect the update. The deployment method deploys only the activities whose update time is later than the deployment time by generating and installing codes for the events, triggers and rules associated with the updated activities and the codes for the updated activities. An object diagram of the objects related to the deployment process is shown in Figure 5-11.

PAGE 83

70 Learner profile information provides the basis for the adaptation and customization of learning objects. An LO can give different learning experiences to different learners with diverse competencies and backgrounds. The IMS Learner Information Package Specification [IMS, 2005] provides a specification of learner information model. Our Language Proficiency Oral Speak, Oral Comprehension, Read, Write Figure 5-11. Object Diagram of CLO Deployment Process Learner Profile Model Learner Profile Model adopts most of the core information in the IMS specification and adds additional features such as the specification of preferred learning style as shown below: o Identification Learner ID, Password, Address, Name, Contact Information (phone, e-mail, fax, etc.), Date of Birth, Gender, Place of Birth. o Goal Description, Setup data, Target date, Completion Date, Status (active, inactive, completed), Sub-goals. o Qualification, Certificate, License o Accessibility Leaf Activity CodeGenerator Leaf Activity Code Generator Leaf Activity Code Generator Code Generator Learning Process Leaf Activity Code Generator CLO RuntimeDB Access Gen Event Trigger Rule Class Generator Generator LMS Engine Core Leaf Activity CodeGenerator Leaf Activity Code Generator Leaf Activity Code Generator Non-leaf Activity Code Generator

PAGE 84

71 Preference Network Connection Dial up, DSL, T1, T2, etc. Preferred Learning Style Receptive, Directive, Guided Discovery, etc. Disability Hearing, Visual, Mobility. o Learning History Start data, Finish date, Evaluation Result, Status (Active, Suspended, Finished, Failed). o Explorative. Preferred Media Type Movie, Audio, Document, Flash, Presentation, Affiliation Affiliated organizations and related information. 5.2.3.2 E implements and executes sequencing rules and community policies and regulations. These rules, policies and regulations are defined in terms of evexplain how a sequencing rule of a CLO is implemented as an event, a trigger and a rule, and how the sequencing rule is executed. An event is a data structure that can be posted to represent an occurrence of an event type, a iCLO instance related information, such as CLO ID, process instance ID, activity ID and activity data. A constructor of the class is the only class method specified in the event class. rndition specification, an action specification, and alternative action specification. Each of the o Interest Description. The XML Schema Definition of the learner profile model is shown in Appendix Event-Trigger-Rule server The ETR Server is the rule engine that ents, triggers and condition-action rules. In the next few paragraphs, we nds implemented as a Java class. The attributes of an event class include A ule, which is also implemented as a Java class, consists of a co

PAGE 85

72 condition, action and alternative actio n of the rule is implemented as a method of the rule class. reference, the action and alternative action parts g between the parameters of the event and the parameters of the rule. The paramto be e ed he e event to the attributes of the assocod The data attributes of the rule class also include the CLO instance related information as in the event class (i.e., CLO ID, process instance ID, activity ID and activity data) so that the CLO instance information of an event occurrence can be passed to an invoked rule. In addition, the rule class has an attribute, the value of which is a reference to the LMSEngine. Through this of a rule can invoke the methods of the LMSEngine. A trigger is a Java object that links an event to a rule in order to allow the ETR server to execute the rule when the associated event is posted. A trigger object specifies the event that will activate the trigger, a rule that will be invoked by the trigger, and themappin eter mapping information allows values of the data attributes of the event transferred to the data attributes of the rule. During the CLO deployment process, the code of the event and rule classes are generated, compiled and installed in the ETR Server. A trigger is not code-generated, but a trigger object is instantiated with thinformation specified above. It is registered with the ETR Server after instantiation. When the Learning Process Execution Engine posts an event to the ETR Server during the execution of a CLO instance, the ETR Server identifies the trigger object associatwith the event. Using the specification in the trigger object, the ETR Server identifies tassociated rule, passes the values of the data attributes of th iated rule, and invokes the condition method of the rule class. The condition methinvokes either the action method or the alternative action method of the rule class depending on the result of the condition evaluation. The action and alternative action

PAGE 86

73 methods can identify the activity, the CLO instance, and the status of the activity by referring to the data attributes of the rule class. These methods can in turn invoke the methods of LMSEngine for adaptive, flexible and customizable delivery of e-learninservices. g any s sites. We exploit the event notification mechanism to support collaboration in e-learning by integrating it with Computer Mediated Communication (CMC) tools. An event is posted when a situation that requires collaboration has occurred. Rules triggered by each instance of the event can perform collaborative operations such as sending e-mails to collaborators, posting message to a discussion board, initiating a workflow process, or arranging a conference call with fellow learners, the content author, and/or a ple involv CMC Tools (E-mail, discussion Figure 5-11. Event and Rule Mechanisms for Coordination and Collaboration In addition to sequential rule processing, the general ETR mechanism allowsparty interested in an event to subscribe to the event and receive a notification when anoccurrence of the event is posted. When an event is posted at a computing node, all subscribers nodes are notified, and triggers and rules associated with the event are executed in a distributed fashion by the replicas of the ETR Server installed at the subscriber Boards, etc) Workflow S Management y stem IT System Components Rule Event Notifies Executes Trigger Schedules a conference mentor. The event and rule mechanisms enable timely collaboration among peo ed in e-learning. Figure 5-11 shows the event notification mechanism that Send e-mailInitiate a p rocess operations Interesting event occurred. Post Event(s) Call APIs for

PAGE 87

74 facilitates collaborative e-learning through the activation of CMC tools, workflow processes, and other IT systems. 5.2.3.3 Assessment component The Assessment Component performs the model-based assessment. It carries out the assessment process, which involves selecting assessment items, collecting selected assessment items from the activities participating in an assessment, grading the answers submitted by learners, and recording the assessment result in the runtime status modelthe CLO instance that conducts the assessment. An assessment in a non-leaf activity is carried out by making use of the assessmentitems specified in the non-leaf activity as well as all or part of the assessment items its child activities. The assessment component makes use of the Parsed CLO (intetree structure representation of a CLO) to identify the child activities of a non-leaf activity. Additionally, assessment of of all rnal items in non-leaf activities can be retrieved from the mInfo. The assessment items in the vectohe Parsed CLO. A class named AssessmentInfo is responsible for collecting and providing assessment items, grading the answers provided by a learner and assigning measures ofthe assessment to learning objectives. The information of each assessment item is maintained in an object of the class named AssessmentItemInfo. The collected assessment items are stored in a vector named vAssessmentIte r are delivered in their indexed order. A hash table named htAssessmentItems is used to store the vectors associated with learning objectives. The table uses learning objective id as the key. Since assessment items of each objective are stored in a separate vector, tmeasure of an objective can be easily calculated.

PAGE 88

75 In case a leaf activity is bound to a CLO, an AssessmentInfo object of the CLO is instantiated and stored in a vector in a hash table, htAssessmentInfo, which uses learning objec hed by er Figure 5-12. Runtime Structure of Assessment Component tive id as the hash key. The AssessmentInfo object is also stored in the vAssessmentInfoOfBoundCLO vector for presentation. Assigning measures to objectives,obtaining the bound LOs for collecting assessment items, and so on, are accompliscommunicating with the LMSEngineCore object. When a learner submits an answer to an assessment item, the user interface component would communicate with the RMI servof LMSEngine (LMSEngineImpl) to record the answer. The runtime structure of the assessment component is illustrated in Figure 5-12. AssessmentInfo htAssessmentItems HashtableOs and s) Key: Objective Id (Items from bound AL Non-leaf activitie htObjective Hashtable Key: Activity Id Vector htAssessmentInfo Hashtable (for bound CLOs) Key: Objective Id Vector AssessmentItemInfo 1 1 AssessmentInfo 1 LMSEngineCore Vector Objective Id Parsed CLO 1 vAssessmentInfoOfBoundCLO Vecto r vAssessmentItemInfo Vector1 1 1 1 11 LMS EngineImpl (RMI Server)

PAGE 89

76 5.2.3.4 Constraints-based LO broker The Constraints-based LO Broker, which is an extension of UDDI v2.0 registry, supports registration, browsing and dynamic binding of LOs. To register an LO with the Broker, the RegBroker (QueryBroker) Web service operation should be invoked. The operation requires the URL of an extended WSDL document describing its registration (query) constraints as a parameter. The extended WSDL document includes the meta-data description as well as the general WSDL elements, as discussed. Figure 5-13. Registration and Discovery Process of LO LO authoring tools register LOs with the Broker, and take the following steps to accomplish the task. First, an LO Web-Service interface is registered as a service 4. Register the LO with (End of registration) Meta-data & business key Constraintsbased Broker 1. Register service interface of LO (Only Once) 2. Register service implementation of an LO 5. Discovery (Dynamic Binding) request with a service constraints document 8. Returns service keys, Access Point, IDs of LOs LPEE Business service Keys 9. Request the Binding h Access Point with LO ID 10. Obtain the LO Specification (End of binding) Web, SOAP Server (Access Point) Described By LO forthroug 6. Search Web Services (LOs) using business UDDI Registry service keys 7. Returns Bu siness Service structure containing Access Points and IDs o f t he LOs Business Service Key Extended WSDL (LO)Service Interface Operations Service ImplementationMeta-data (Constraints) Access Point (URL) LO 3. Return a business service key for the LO

PAGE 90

77 interface with the UDDI registry. The registration operation returns an interface key (tModel key). The interface can be considered as a business type that is common to all LOs of that type. So, the interface registration is a one-time process. Then an LO, which is an implementation of the service interface, is registered with the UDDI registry as a business service, and a business service key is returned to the authoring tool when the registration of the LO is completed. Together with the interface key and the business key, the meta-data and constraints of the LO are registered with the Constraints-based Broker, which serves as a meta-data repository having a constraint-matching facility. The LPEE can discover an LO for dynamic binding using the constraint-matching facility provided by the LO Broker. During the processing of a CLO instance, the LPEE would issue a discovery request to the LO Broker by submitting an extended WSDL document that includes a set of requirements. The constraint-matching facility would match the specified requirements against the meta-data and constraints of LOs that have set of service keys ofhe LOs that m points through 10 describe the dynamic discovery and binding process. In case of a static been registered as Web services. The LO Broker finds a t atch with the requirements. Using the service keys, the LO Broker accesses the UDDI registry to obtain LO access information, which includes the IDs and accessof the LOs. The Web user interface retrieves the meta-data of each LO from its LO repository to display the information to a learner to help him/her choose the right LO. Finally, the LPEE accepts the learners choice, and then invokes the getLO operation at the access point of the chosen LO (i.e. the LO repository) with the ID of the selected LOas an input parameter. The getLO operation fetches the LO and returns it to LPEE for delivery. In Figure 5-13, steps 1 through 4 describe the registration procedure, and steps 5

PAGE 91

78 binding request, the LO Broker is given the business service key of a pre-selected LO instead of service requirements in step 5. The LO Broker directly passes the b usiness servic gh ser interface A learner interacts with the Learning Process Management System through Web pages that the User Interface Component generates. After a learner logs in the system, e key to the UDDI registry without constraint-matching to obtain the service accessinformation. The WSDL document that describes the LO Broker Web service is given inAppendix D. 5.2.3.5 User interface component The User Interface Component is a set of Java Server Pages (JSPs), which generateWeb pages for communication between users and server components, such as LPEE, Assessment Component, Monitoring Component and Constraints-based Broker. Throuthe Web user interface, a learner can start, suspend, finish, navigate, and monitor a CLO instance, and search LOs using meta-data constraints. MainFrames JSP carries out user authentication and loading of a main Web pageCLO instance commands, such as instantiation, completion, suspension, and resumption of a CLO instance, are handled by cloCommands JSP. ActivityCommands JSP processes the activity navigation commands, such as Continue, Previous Contents, Next Activity and Previous Activity. Communication with the Assessment Component for assigning answers to assessment items is accommodated through assessmentCommand JSP. Monitoring JSP provides the status information of a CLO instance. Web user interface that facilitates LO discovery through the Constraints-based LO Broker is provided by searchLOs JSP. A user space called MyCLOs can be accessed through a Web page generated by myclos JSP. 5.2.3.6 Web u

PAGE 92

79 79 LOs, access his/her learner space MyCLOs, or log off. he/she is able to search and execute A B C Figure 5-14. Web User Interface. A) Search Constraint Specification. B) MyCLOs Learner Space. C) CLO Status Monitoring Information.

PAGE 93

80 When a learner chooses to search LOs, a page that accepts search requirements is provided as shown in Figure 5-14 (A). A list of LOs that meets the requirements and their meta-data is displayed as the result of the search request. In the search result page, LOs can be added to MyCLOs for later execution, or an LO can be instantiated for execution. In MyCLOs Web page, a learner is able to start an LO registered in MyCLOs, gain learning experience by executing the LO, suspend, finish, or resume existing LO instances. Figure 5-14 (B) shows the MyCLOs page. During the execution of a CLO instance, a learner can monitor the status of a CLO instance through a Web browser as shown in Figure 5-14 (C).

PAGE 94

CHAPTER 6 APPLYING LEARNING OBJECT AND DYNAMIC E-LEARNING TECHNOLOGIES TO SIMULATION-BASED MEDICAL INSTRUCTION There are many areas of education where our learning object models and e-learning service infrastructure can be applied. As a part of this work, we aim to apply the e-learning technologies to a practical area where there can be a direct impact. 6.1 Instruction on Anesthesia Machines Complex medical equipment is regularly used in hospitals and clinics where patient safety depends on the proper interaction between skilled practitioners and equipment [Dalley, et. al., 2004] [Reason, 2000]. Even though anesthesia is increasingly safe, [Wein endotracheal tubes. However, they do not provide simulation software for practice, nor a way of assessment to measure learners understanding of the aterials. [Gas Man, 2004] is a commercial product for teaching, simulating and critical accidents in which patients are seriously injured still occur [Dalley, et. al., 2004] ger, 1999]. Misuse of equipment is far more common than pure equipment errors/failures in the medical environment. Human error is a dominating factor in up to 90% of the problems caused by equipment [Weinger, 1999] [Williamson, et. al., 1993]. There are several Web contents that provide learning materials on anesthesia machines. For example, the resource reported in [Dosch, 2004] provides extensive Webcontents about a variety of anesthesia machines. The material by the College of Veterinary Medicine [Washington State University, 2004] is a comprehensive resource that covers circuits, vaporizers, gas cylinders, pressure regulators, flow meters, scavenging, ventilators, and m 81

PAGE 95

82 experimenting with anesthesia uptake and distribution. It provides a text tutorial and simulation software. The text tutorial is not accessible on the Web; it is published as a book. The simulation software is not imo the authors objecanesthesia machine. First, a person who is provin al., persone edu 2002]. Also, it is a cost-efficient way to learn because it is free to use and does not require any plemented as a learning object. T knowledge, no anesthesia simulation system has been developed based on the learning t technology at the time of writing. 6.2 Introduction to the Virtual Anesthesia Machine There are several ways for practitioners and medical students to learn how to use an proficient in the use of the machine can de a training session by giving a demonstration and using textbooks and reference materials supplied by the manufacturer of the machine. Second, a practitioner can learby using the anesthesia machine with a Human Patient Simulator (HPS) [Dalley, et.2004]. Third, a Virtual Anesthesia Machine (VAM) [Lampotang, et. al.] that simulates a real counterpart can be used for educational purposes. VAM is a Web-based simulation system developed at the University of Florida. It, together with a Web-accessible workbook, can be accessed by registered users free of charge through Web-enabled nal computers. VAM is an interactive simulation of a generic anesthesia machiwith model-driven, real-time animation of color-coded molecules and dynamic representations of flows, pressures, volumes and concentrations of gases. It is international in scope and features legends in 23 languages and is used in over 336 institutions and programs worldwide. The VAM web site at http://vam.anest.ufl.receives more than 2,000,000 hits per year. A major advantage of VAM is that users can focus on learning about anesthesia without being distracted by the concern of placing an actual patient at risk [White,

PAGE 96

83 actual anesthesia equipment or patient. In addition, practitioners and medical studentslearn the inner workings of the anesthesia machine because VAM is a transparent realitsimulator; that is, it is a model-driven, display-based simulation that represents internal,abstract and invisible functions with explicitly visible and manipulatable symbols to assist learners in exploring, developing an can y d confirming mental models. The focus of the simulation is on hmpotang, et. al.]. n the the nd eb by Google, which is a part of the header of every igh fidelity behavior rather than life-like appearance [La In spite of VAMs success and advantages, there are a number of limitations iexisting system. First, it is a monolithic system in that the components and their accompanying instructional materials, questions and answers for practice and questions for assessment are not modularized to make them reusable for constructing other simulation systems. Second, users of VAM and its workbook can freely operate on any part of the system and access any content of the workbook. Although, the workbook provides some guide for structured exercises, the learners can choose not to followguide. Thus, the last of the four learning approaches (receptive, directive, guided discovery and explorative) proposed by Dr. Ruth Clark [Clark, 2000] is emphasized. Some learners may desire or need more structured learning approaches than the exploratory approach. Lastly, the ability of the existing VAM system to adapt acustomize its instruction delivery to suit the learners profiles and needs is currentlylimited to language and medical gas color code. Searching for contents on the VAM Wsite is accomplished via a search box, driven Web page on the VAM Web site. This chapter discusses the application of the

PAGE 97

84 learning object and e-learning service technologies we have developed to address these limitations. 6.3 Application to Medical Instruction using VAM The Virtual Anesthesia Machine (VAM) simulates the inner workings of an anesthesia machine and ventilator the complex equipment in which oxygen, nitrous oxide and anesthetics mix together to provide patients insensitivity to pain during surgeror proc y edures. The objective of VAM is to increase the safety of patients by providing practi k/apsfde rom a e gas circuit, manual ventilation, mechanical ventilation, and the scavenging system, respectively. Each section is comprised of a set of learning objectives, a set of tioners clear understanding of the flow of gas in the machine, user actions and the consequences of equipment malfunctions [White, 2002]. VAM is composed of a transparent reality simulator developed using MacromediaDirector, and a Web-based workbook (http://vam.anest.ufl.edu/members/workbooworkbook-english.html) delivered in the Macromedia FlashPaper format. The simulator currently supports 22 languages, and the workbook is in 11 different languages. In thevisual display of the simulator, the language of the user interface as well as the color cofor medical gases are changed according to a learners selection or data retrieved fuser database. The workbook consists of three parts. Part 1 covers the basic concepts of thanesthesia machine. Part 2 teaches input/output controls of VAM. Users can adjust pipelines, valves, gas flow meter knobs, buttons, and so on, and visually observe the effects of the adjustment on the flow of molecules of gases, the readings of pressure gauges, valves, and so forth. Part 3 covers safety exercises and is composed of six sections for covering the high pressure system, the low pressure system, the breathing

PAGE 98

85 instructional materials, and a set of post-assessment questions. Each instructional materihas a questio al n, an answer, a VAM demonstration instruction, an explanation of the demonstration, anons (quiz) can be an, line, to start the simulator, to go to ther types of anesthesia machines, which may use the same or similar comp or e ALOs, The quiz d some learning objectives. The post-assessment questi swered online at a Website specified in the workbook. The workbook, the simulator and the quiz Web site need to be used together for effective delivery of learning experience. However, the current VAM system is not structured to provide a smooth transition between the workbook contents, the simulatorand the post-assessment questions. Even though directions are provided in the workbookit is the responsibility of a learner to open the workbook on the quiz Website at appropriate times. The learner is free to do anything with the contents and the simulator (i.e., explorative learning). The learning process is generally not guided by the system. 6.3.1 Encapsulating VAM as Learning Objects There are two main advantages to create LOs that encapsulate the workbook contents, the VAM simulator, and the quiz problems. First, each LO can be reused for instruction of o onent(s). Second, it is possible to deliver learning experiences provided by theworkbooks contents, the use of the simulator for practice, and the use of quiz problemsfor assessment in a seamless fashion and under the control of the Learning Process Management System. In this application scenario, we created an ALO for Part 1 and another ALO fPart 2 of the workbook. Part 3 is composed of several ALOs each of which contains instructional materials to cover a component of the anesthesia machine. For thesthe workbook contents are extracted and regenerated as separate HTML pages.

PAGE 99

86 problems available at the quiz Website are extracted and used as post-assessment items. We constructed a CLO for modeling the entire VAM instruction as an activity tree, which each of the leaf activities is bound to an ALO. Figure 6-1 shows the activity tree othe CLO, and the relationship among the ALOs and VAM re in f sources. d h s as follows: Question: During the morning pre-use check of an anesth machine turned on with a minimal flow of 200mL/min of O2, what does the O2 cylinder pressure gauge now read with the O2 pipeline supply connected and the O2 cylinder closed? Answer: Figure 6-1. Construction of LOs using VAM Learning Resources An ALO bound to a leaf activity of Part 3 begins its presentation with a textual description of learning objectives of the ALO. Then a sequence of several content anpractice items of the workbook is delivered. A content item is presented to the learner in the form of Q&A as in the VAM workbook. For example, a content item in the HigPressure System ALO i esia machine, you open the O2 cylinder to check the O2 cylinder pressure. The O2 cylinder reads full (2,000 psig). You subsequently close the O2 cylinder. With the anesthesia Simulator Workbook Quiz Web Site ALO V AM Instruction CLO Binds to URL by Referencing Materials New Assets Created Assessment items Content items Practiceitems HTML Pa g es VAM Learning Resources

PAGE 100

87 Even though the O2 cylinder has been closed, the O2 cylinder pressure gauge will continue to read full. A B Figure 6-2. Web User Interface of VAM Instruction. A) E-Learning Service System Delivering Practice Item. B) A Practice Item with Demonstration Scenario.

PAGE 101

88 Practice items include a text-based demonstration scenario related to the Q&A, anprovides a d Web link for invoking the VAM simulator. The delivery sequence of the items follows the order in the workbook. After finishing the content and practice items, post-assessment items in the multiple-choice format are provided and the result is graded. All these content, practice and assessment items are delivered in sequence through a Web user interface of our Learning Processor Management System. Figure 6-2 (A) shows the Web user interface that presents a practice item of the URL type. By clicking the link to the practice item, a new Web browser that presents the practice item will popup, as shown in 6-2 (B). The user can then invoke the VAM simulator by clicking the link in the new Web browser, and follow the demonstration scenario of the practice item. 6.3.2 Dynamic Execution of VAM Instruction A number of dynamic techniques, including sequencing rules and dynamic binding, are incorporated in the design of the VAM CLO to achieve adaptive, customizable, and flexible delivery of instruction. They are described below: (1) A learner is required to take the content, practice, and assessment items to satisfy an activity. In the activities Part 1 Basic Concepts and Part 2 IO of VAM, all the learning items have to be delivered to a learner in order to make each of the activities Satisfied. This is specified by an after-post-assessment rule if [true], then [set the activity Satisfied] in each activity. (2) A learner is required to retry an activity if the result of post-assessment is not satisfactory. A leaf activity, High Pressure System, requires a learner to retry when he/she does not obtain a satisfactory score in the post-assessment of the activity. ning goals specified in their learner profiles. The pre-activity rule of the root activity VAM (3) Dissimilar contents are delivered to different learners depending on the lear

PAGE 102

89 checkll be n ivity. e en the freedom to choose the next ais, tor. A customized LO is delivered by a pre-activity rule oted n the activi s if a learners goal is related to anesthesia. If it is, then a non-leaf activity Part 3 Safety Exercises, which contains the details of system components and exercises, widelivered to the learner. Otherwise, the non-leaf activity is disabled so that the contents ithe activity and its child activities are not presented to the learner. In the CLO, we consider that the activity Part 3 Safety Exercises covers too many details that are not necessary for a person without a learning goal in anesthesia. (4) ALOs written in the language of a learners preference will be chosen and delivered. The language requirement is specified as a binding constraint of a leaf actFor example, in the CLO, activities Part 1-Basic Concepts and Part 2-IO of VAM can be bound to ALOs that are written in either English or Korean, depending on th language specified in the learners profile model. (5) Various learning approaches that suit different learners backgrounds and preferences are supported. A learner with the background knowledge of anesthesia or a preference to the learning approach, guided discovery, is giv ctivity when the non-leaf activity Part 3 Safety Exercises is delivered. That the Choice sequencing control mode is set in the connector of the activity Part 3 Safety Exercises. On the other hand, a learner who prefers the receptive or directive learning approach will be restricted to choose the next activity; that is, the Flow sequencing control mode will be set in the connec f the root activity. (6) Depending on the performance of a learner, a post-assessment can be conducin the Part 3 Safety Exercises activity. There is an after-post-assessment rule i ty stating If [4 or less children are satisfied], then [conduct Post-assessment], else

PAGE 103

90 [set the activity Satisfied], and each child activity of Part 3 Safety Exercises is designed to conduct a post assessment. If the assessment results are satisfactory in four or less child activities, a post-assessment is presented to the learner. Otherwise, the parent activity will be set to Satisfied. Pre-activity Rule: If learners go al is not related to medical or anesthesia, then Disable Part 3. Roll-up Rule: If all children are Satisfied, Roll-up. Drill-down Rule: If 1 s t attempt, Flow or style). If 2 Choice SCM by learner profile (learning s are After-Post-Assessment Rule: If 4 or less child activities are Satisfied, then Conduct Post-assessment, else set as set to sment result. nd or later attempt, Choice SCMis set. Roll-up Rule: If all child activitieCompleted, then Roll-up. at he assessment result is analyzed to identify the parts (compts Figure 6-3. Condition/Action Rules and Dynamic Binding Defined in VAM Instruction CLO. (7) A learner is required to re-take the instruction of components (activities) thhe/she has failed. If a learner takes the optional assessment in Part 3 Safety Exercises activity discussed in (6), t Satisfied. Activities are selectively Satisfied, or Incomplete by asses After-Post-Assessment Rule: If not satisfied, Retry. After-Post-Assessment Rule: If true, then set aDy(language). s Satisfied. namic binding by learner profile onents) of VAM the learner has to focus on. By referring to the status of learning objectives that are set by the assessment result, the system can figure out the componenwhere the learner has difficulties. An after-post-assessment rule in Part 3 Safety

PAGE 104

91 Exercises sets the status of its child activities as Incomplete for the unsatisfactory pand as Satisfied otherwise. When the learner re-takes the Part 3 Safety Exercises, the statuses of the activities (Attempted or Satisfied) are shown to the learner so that he/she would know which activities to ta arts, ke in order to satisfy and complete the CLO. (8) After the entire child activities of the root activity VAM have been Satisfied, the instruction of the CLO is satisfied. This is specified by a roll-up rule If [all child Satisfied], then [Roll-up] in the root activity. The rules that facilitate the dynamic execution of VAM CLO are shown in Figure 6-3. 6.3.3 Importance of Learning-Object-Technology-Based Medical Instruction Educators in medical education are beginning to propose that assessment should be based on performance end-points rather than an arbitrarily-defined time end-point that is so prevalent in paper and pencil tests. In other words, in this new approach to instruction, it does not matter how long a learner has to practice to learn a given learning objective or skill, as long as the learner can prove at the end of the learning session that the performance end-point has been reached. An LO approach to delivering instruction reduces instructional manpower needs and is thus compatible with assessment based on and auate ject is a long-term initiative by which the ACGME is increasing emphasis on educational outcomes in performance end-points rather than temporal ones, because the LO intrinsically accepts ccounts for the fact that all learners do not learn at the same rate. Accreditation bodies in medicine are also beginning to focus on performance or outcome itself instead of infrastructure. The Accreditation Council for the GradMedical Education (ACGME) oversees medical instruction in the United States as its name implies. In July 2001, the ACGME embarked on a 10-year project, named the Outcome project [ACGME, 2001]. The ACGME Web site states: The Outcome pro

PAGE 105

92 the accreditation of residency education programs. The same Web site also adds: The current model of accreditation captures the potential of a GME (Graduate Medical Education) program to educate residents by focusing on structure and process components. In other wordaccreditation was based on the availability of classrooms, instructional tools and s, mater isk. ulation LOs fits well within the goals ls to evalu applied ne e infrastructure. ues, nd ials, and the curriculum, not on measuring whether the residents (learners) had learned. Medicine is often hands-on and medical simulation is well-suited for practiceand assessment of both cognitive and psychomotor skills without placing patients at rThe encapsulation of assessment within medical sim of ACGME as the individualized assessment scores could be used as one of the too ate learning outcome. 6.4 Chapter Summary The e-learning technologies presented in this dissertation (i.e., learning object models, authoring tools, Web-service infrastructure, learning process management system, and event-driven, rule-based execution of learning processes) have beento encapsulate the instructional materials of the Web-based Virtual Anesthesia Machiand the simulator as LOs, deliver instructional materials to learners, use the simulation system for practice, and perform assessment. The instructional materials are integrated and delivered seamlessly providing more guide in our e-learning servic We have demonstrated that the event-driven, rule-based execution of a learning process, which models the VAM instruction as a CLO, can make the delivery of instruction and assessment active, customizable, flexible and adaptive. Several techniqsuch as retrying or disabling activities depending on a learners profile, performance aneeds, dynamic binding to suitable learning objects, optional assessment presentation,

PAGE 106

93 and the support of different learning approaches by customization of sequencing contmodes, have been applied to achieve personalized learning. rol

PAGE 107

CHAPTER 7 SUMMARY 7.1 Summary and Conclusion It is our vision and belief that the citizens of the world can be educated and benefit if all Internet users can actively engage in sharing their knowledge and learning from one another to solve the problems they face in their lives. An e-learning service infrastructure that is based on reusable multi-media learning objects, and advanced e-learning technologies that support collaborative, adaptable, flexible and customizable learning are the keys to realize this vision. In this work, we have developed two learning object models, two learning object definition languages, a learner profile model, a runtime status model, and several user interface tools and software system components to enable the modeling, specification, registration, discovery, invocation and management of distributed e-learning objects. The developed tools and software system components can be replicated and installed at many Websites to enable the establishment of many virtual e-learning communities for knowledge sharing in different problem domains. To demonstrate the utility of the developed technologies and infrastructure, we have applied them in delivering instructions on the function and operation of a generic anesthesia machine. We modularized and converted the instructional materials of an existing Web-based Virtual Anesthesia Machine into a number of reusable Atomic Learning Objects, each of which contains content, practice and assessment items as well as meta-data with constraint specifications. We also introduced a Composite Learning Object to capture the structure and the sequence of delivering the Atomic Learning 94

PAGE 108

95 Objects. The Web-based Virtual Anesthesia Machine is used by learners as an online simulator to practice on the instructional materials delivered to them. The developed LOs can be reused for other related medical inLearning Process Management Systemtegrated computing environment, in which a learner can learn theeric anesthesia machine, use thtive, ng conte5] rd for structions. The developed tools and the provide an in function and operation of the gen e virtual machine to practice on what he/she has learned, and be assessed on the information and knowledge gained. In this work, we have also demonstrated the use of an Event-Trigger-Rule Server as a component of the Learning Process Management System to achieve active, adaptive, customizable and flexible rule-based instruction delivery. Sequencing rules are defined and invoked in a learning process to, for example, retry or disable activities depending on a learners profile, performance and need, dynamically discover and bind to suitable atomic learning objects, and modify sequencing control modes based on a learners runtime status model. The Learning Process Management System supports four general learning strategies (i.e., recepdirective, guided discovery and explorative) to enable personalized learning. 7.2 Future Work A learner of a specific learning style can benefit from personalized learni nts. There are research efforts on theories on learning styles [Felder & Brent, 200[Jester & Miller, 2000] [Kolb, 1984]. Research on customization/personalization of learning contents to suit different learning styles is a worthwhile undertaking. Another worthwhile research problem is the use of ontology in e-learning. Anontology is a specification of a conceptualization [Gruber, 1993]. Ontologies are useful for representing terminologies in a machine interpretable way and for reasoning about conceptual structures used to represent the meanings of terms. The new W3C standa

PAGE 109

96 ontologies, the Web Ontology Language (OWL) [W3C, 2004], provides a mechanism fsharing ontologies on the Web. In a collaborative e-learning environment, in which individuals who play different roles in a virtual community would exchange instrumaterials, assessment items and practice items, terminology becomes an important issue. Specific terms used by one person in naming entities and attributes and in metadata descriptions can be quite different from those used by another person. Also, users searching for LOs that are registered as Web services in the Web Service Broker will likewise encounter mismatches between the terms used in their searches and the termused to register these LOs. The use of ontology technologies to address the terminoloissues is an important future research. Learning Object (LO) evaluation is essential for promoting reusability becauevaluation information can be used by learners in selecting the suitable learningHowever, the simple quality rating used in the existing learning object repositories dnot provide sufficient information to the learners. A learning process can have a complex structure containing many LOs. Evaluation factors such as drop-out rate, aver or ctional s gy se the objects. oes age score, number of usage, and learners reviidered. Evaluation of CLOs can be a c ews need to be cons hallenging research problem.

PAGE 110

97 APPENDIX A XML SCHEMA DEFINITION OF LEARNING CONTENT DEFINITION LANGUAGE xml version="1.0" encoding="UTF-8" ?> s:lcdl="http://www.cise.ufl.edu/~glee/LCDL1_0" s:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" teFormDefault="unqualified"> d:annotation> Copyright by Gilliean Lee. 2003. sd:annotation> XML Schema for Learning Content Definition Model Language xsd:attribute name="ItemId" type="xsd:NMTOKEN" use="required" /> d:element name="LearningItemSequences"> <

PAGE 111

98 se="required" type="xsd:decimal" /> boolean" /> name="Attachment"> > type="lcdl:ContentTypes" /> name="PracticeItem" type="lcdl:Item" minOccurs="0" ="required" type="xsd:unsignedInt" /> tional" type="xsd:string" /> entItem" type="lcdl:ContentItem" minOccurs="0" rs="unbounded" /> nt name="Code" type="xsd:string" /> exType name="AssessmentItem"> xsd:enumeration value="rm" /> xsd:enumeration value="mov" /> xsd:enumeration value="wmf" /> xsd:enumeration value="doc" /> xsd:restriction> /xsd:simpleType> equence> /xsd:complexType> /xsd:element> xs lement name="ContentItems">

PAGE 112

99 e="text" type="xsd:string" /> ment name="URL" type="xsd:anyURI" /> "Number" use="required" type="xsd:unsignedInt" /> e> s="0" /> e name="ServiceImplementationKey" type="xsd:string" /> s" minOccurs="0" maxOccurs="unbounded" /> ef="lpdl:service_constraints" minOccurs="0" maxOccurs="unbounded" /> nt ref="lpdl:interattribute_constraints" minOccurs="0" maxOccurs="unbounded" /> minOccurs="0" /> ment ref="lpdl:output_constraint" minOccurs="0" maxOccurs="unbounded" /> ration_constraint" minOccurs="0" maxOccurs="unbounded" /> espace="##other" minOccurs="0" /> inOccurs="1" maxOccurs="1" /> ="lpdl:keyword" minOccurs="1" maxOccurs="1" /> "lpdl:valueList" minOccurs="1" maxOccurs="1" /> < ce="##other" minOccurs="0" /> ng" /> exType> lement name="HTMLDoc"> element> ent name="UDDIRegistration"> omplexType> xsd:element> lement name="constraints" type="lcdl:constraintsTyp xsd:complexType nam sd:sequence> sd:complexType> lement name="constraints" type="lpd omplexType name="constraintsType xsd:sequence> e name="constraintType"> sd:complexType name="attributeconstraintType"> ment ref="lpdl:priority" minOc tion value="datetime" /> /> n value="time" /> value="duration" /> name="keywordType"> n value="range" /> alue="enu" /> value="<" /> meration value="<=" /> ion> ase="xsd:string"> lue="yes" /> maxOccurs="unbounded" /> ccurs="0" /> espace="##other" minOccurs="0" /> impleType name="typeType"> sd:restriction base="xsd:string"> xsd:simpleType> s lement name="priority" type="xsd:positiveInteger" /> lement name="output_constraint" type="lpdl:attributeconstraintType" /> lement name="operation_constraint" type="lpdl:attributeconstraintType" /> lement name="service_constraints" type="lpdl:servic xsd:complexType nam x complexType> lement name="service_constraint" type="lpdl:attributeconstraintType" /> lement name="interattribute_constraints" type="lpdl:interattributeconstraintsType" /> omplexType name="interattributeconstraintsType"> s lement name="interattribute_constraint" type="lpdl:interattribute omplexType name="interattributeconstraintType"> xsd:sequence>


PAGE 114

101 < /xsd:schema>

PAGE 115

APPENDIX B XML SCHEMA DEFINITION OF LEARNING PROCESS DEFINITION LANGUAGE XML Schema for Learning Process Definition Model Language 1.0 Copyright by Gilliean Lee. 2003. 102

PAGE 116

103
"xsd:NMTOKEN" use="required" /> tItems"> ype> ontentItem" minOccurs="0" /> lement name="Summary" type="lpdl:NonleafContentItem" minOccurs="0" /> e="html" type="xsd:string" /> < Type> NonleafPracticeItem" type="lpdl:PAItem" minOccurs="0" < e> type="lpdl:NonleafContentItem" /> Answer" type="xsd:string" /> <
h d /xsd:choice> colexType> sd:element name="Non /xsd:complexType> element> :complexType name="PAI sd:a ttribute name="Number" use="required" type="xsd:unsignedInt" /> plexType> ent name="NonleafAssessments"> omplexType> xsd:sequence> /xsd:sequence> d:complexType> element> omplexType name="NonleafAssessmentItems"> xsd:sequence> x complexType> lexType name="NonleafAssessmentItem"> omplexContent> xsd:extension base="lpdl:PAItem">

PAGE 117

104 > < < name="Data" type="lpdl:Data" minOccurs="0" maxOccurs="unbounded" /> quence> oolean" use="optional" default="false" /> olean" use="optional" default="false" /> onal" default="ThisActivityOnly"> pleType> g"> cludeSubtree" /> :enumeration value="ThisActivityOnly" /> < < ameters"> > lpdl:AssessmentSelectionParameters" minOccurs="0" /> "lpdl:AssessmentSelectionParameters" minOccurs="0" /> entObjectiveSettings" type="lpdl:ObjectiveSettings" s="0" /> name="PostAssessmentObjectiveSettings" type="lpdl:ObjectiveSettings" < ment ref="lpdl:AssessmentSelectionParameter" minOccurs="0" dl:Percent" use="required" /> e="lpdl:Percent" use="required" /> complexContent> plexType> ent name="Description" type="xsd:string" /> ent name="Activit xsd:complexType> xsd:element> lement name="Leaf omplexType> sd:attribute name="PreAssessment" type="xsd:boolean" use="optional" default="false" /> xsd:attribute name /xsd:sequence> complexType> nt> ment complexType name="Assess xsd: complexType> t name="AssessmentSelectionParameter"> >

PAGE 118

105 > ityID" type="xsd:NMTOKEN" minOccurs="0" rs="unbounded" /> name="BeforeIntroPresentation_Actions" type="xsd:string" minOccurs="0" /> tion_Actions" type="xsd:string" minOccurs="0" AfterPostAssessment_Actionsxsd:string0" /> :element name="BeforeBinding_Actions" type="xsd:string" minOccurs="0" /> sment_Actions" type="xsd:string" minOccurs="0" /> t name="BeforeContentPresentation_Actions" type="xsd:string" s="0" /> ns" type="xsd:string" minOccurs="0" g" minOccurs="0" /> e> > /> ent ref="lpdl:LMSAction" /> lpdl:WebServiceCall" /> le ype name="ObjectiveSettings"> sequence> xsd:element ref="lpdl:ObjectiveSetting" minOccurs="0" maxOccurs="unbo sequence> :complexType> xsd:element name="Objecti /xsd:complexType> /xsd:element> ="" type="" minOccurs=" plexT ype> name="LeafActivityA ctions"> :complexType> type="xsd:strin eqce> xsd:complexType>

PAGE 119

106 Action" type="lpdl:PostconditionAction" /> ent name="RollupAction" type="lpdl:RollupAction" /> > "> "xsd:string"> value="Skip" /> < value="Stop Forward Traversal" /> > "xsd:string"> value="Exit Parent" /> < value="Not Satisfied" /> /> /> value="PostAssess" /> "> ypes="lpdl:Percent xsd:positiveInteger" /> ref="lpdl:StaticBindingInfo" /> type="lpdl:BindingMode" /> me="BrokerURL" type="xsd:anyURI" /> sumeration value="Hidden from sd:enumeration value="Retry" /> sd:enumeration value="Retry All" /> sd:enumeration value="Previous" /> restriction> leType> nam Testriction base="xsd:string"> xs Type> estriction base="xsd:string"> sd:enumeration value="All" /> umeration value="An sd:eny" /> sd:enumeration value="None" /> on value="At Least Count" /> sd:enumeration value="At Least Percent" /> < enmplexType> oxsd:choice> < quence> > ="lpdl:Trigger" minOccurs="0" /> ype="lpdl:ChildActivitySet" default="All" /> ="lpdl:MinSet" use="optional" /> pe> ctive" minOccurs="0" maxOccurs="unbounded" /> ement ref="lpdl:AttainmentLevel" minOccurs="0" maxOccurs="unbounded" /> xsd:NMTOKEN" use="required" /> easure" type="xsd:boolean" default="false" /> sfiedNormalizedMeasure" type="lpdl:NormalizedValue" /> Rollup" type="xsd:boolean" default="false" /> pe> ents" type="xsd:string" use="required" /> zedScore" type="lpdl:NormalizedValue" use="required" /> edScore" type="lpdl:NormalizedValue" use="required" /> ement name="PreActivityCARule" type="lpdl:Trigger" minOccurs="0" /> AssessedCARule" type="lpdl:Trigger" minOccurs="0" /> t name="DrillDownCARule" type="lpdl:Trigger" minOccurs="0" /> ent ref="lpdl:RollupCARule" minOccurs="0" /> lpdl:Trigger" minOccurs="0" /> ent name="DynamicBindingInfo"> omplexType> xsd:element> s lement name="StaticBindingInfo"> xsd:complexType> element> xsd:element name="O - element> xsd:element name="A

PAGE 121

108 ARule" type="lpdl:Trigger" minOccurs="0" /> t name="PreAssessedCARule" type="lpdl:Trigger" minOccurs="0" /> name="PostAssessedCARule" type="lpdl:Trigger" minOccurs="0" /> / < e value="-1.0" /> ue="1.0" /> ce> ing" type="lpdl:ParamMapping" minOccurs="0" unbounded" /> pe="xsd:NMTOKEN" use="required" /> "DataType" type="xsd:NMTOKEN" use="required" /> "EventId" type="xsd:NMTOKEN" use="required" /> Event" type="lpdl:Event" minOccurs="0" /> ule" /> xType> t name="Duration" type="xsd:duration" /> name="NumOfAttempts" type="xsd:positiveInteger" /> ings" type="lpdl:ParamMappings" minOccurs="0" :simpleType> xsd:complexType name=" co plexType> complexType name="Param sd:attribute name="FromId" type="xsd:NMTOKEN" /> sd:attribute name="ToId" type="xsd:NMTOKEN" /> /xsd:complexType> lexType name="Event"> xsd:sequence> xsd:sequence> xsd:sequence> /xsd:complexType> complexType> ent> ent name="Code" type="xsd:string" /> ent name="WebServiceCall"> xsd:complexType> dl:SCModes" /> > nly" /> ion value="Flow" /> ration value="ChoiceExit" /> tion value="Static" /> tion value="Dynamic" /> e> < nbounded" /> lpdl:NonleafActivity" minOccurs="0" maxOccurs="unbounded" /> Occurs="0" maxOccurs="unbounded" /> lpdl:Edge" minOccurs="0" maxOccurs="unbounded" /> rs="unbounded" /> name="Id" type="xsd:NMTOKEN" use="required" /> me="Name" type="xsd:string" /> l:service_constraints" minOccurs="0" maxOccurs="unbounded" /> ="lpdl:interattribute_constraints" minOccurs="0" maxOccurs="unbounded" /> space="##other" minOccurs="0" /> ce> minOccurs="0" maxOccurs="unbounded" /> onstraint" minOccurs="0" maxOccurs="unbounded" /> ="lpdl:operation_constraint" minOccurs="0" maxOccurs="unbounded" /> ace="##other" minOccurs="0" /> xsd:sequence> complexType> ent> simpleType name="S sstriction base="xsd:NMTOKEN" xsd:simpleType> - sd:element name=" xsd:complexType> d:sequence>
xsd:element> lement name="constraints" type="lpdl:constraintsType" /> xs omplexType name="constraintsType"> ment ref="lpdl:type" minOccurs="1" maxOccurs="1" /> 1" maxOccurs="1" /> inOccurs="1" maxOccurs="1" /> nt ref="lpdl:negotiable" minOccurs="1" maxOccurs="1" /> ty" minOccurs="1" maxOccurs="1" /> Occurs="0" /> <"typeType"> base="xsd:string"> /> ion value="datetime" /> ration value="date" /> n value="duration" /> ion base="xsd:string"> > n value="enu" /> value="eq" /> < < < < meration value="yes" /> maxOccurs="unbounded" /> ccurs="0" /> lexType name="attributeconstraintType"> xsd:sequence> complexType> lement name="name" type="xsd:strin lement name="type" type="lpdl:typeType" / xsd:simpleType name= simpleType> lement name="keyword" type="lpdl:keywordType" /> xsd:simpleType name="k xsd:enumeration value="<" /> xsd:enumeration value="<=" /> xsd:enumeration value=">" /> sd:enumeration value=">=" /> restriction> leType> element name="valueL lement name="negotiable" type="lpdl:negotiableType" /> impleType name="negotiableType"> xsd:simpleType> s lement name="priority" type="xsd:positiveInteger" /> lement name="output_constraint" type="lpdl:attributeconstraintType" /> lement name="operation_constraint" type="lpdl:attributeconstraintType" /> lement name="service_constraints" type="lpdl:servic xsd:complexType nam x complexType> lement name="service_constraint" type="lpdl:attributeconstraintType" /> lement name="interattribute_constraints" type="lpdl:interattributeconstraintsType" /> omplexType name="interattributeconstraintsType">

PAGE 124

111
espace="##other" minOccurs="0" /> < xsd:complexType> s lement name="interattribute_constraint" type="lpdl:interattribute omplexType name="interattributeconstraintType"> xsd:sequence>
/xsd:schema>

PAGE 125

APPENDIX C SECT AND COMPOSITE LEARNING OBJECT t Low Pressure System 0"?> ningObject xmlns:ns1="http://www.cise.ufl.edu/~glee/LCDL1_0" Name="LowPressureSystem" ="LowPressureSystem"> 1:URL>http://128.227.176.41:8888/ VAM/Low_pressure_system_Q1.htm http://128.227.176.41:8888/ VAM/Low_pressure_system_learning_objectives.htm http://128.227.176.41:8888/ VAM/Low_pressure_system_Q2.htm http://128.227.176.41:8888/ VAM/Low_pressure_system_Q1_Objectives.htm http://128.227.176.41:8888/ VAM/Low_pressure_system_Q2_Objectives.htm http://128.227.176.41:8888/ VAM/Low_pressure_system_Q3.htm http://128.227.176.41:8888/ VAM/Low_pressure_system_Q3_Objectives.htm http://128.227.176.41:8888/ VAM/Low_pressure_system_Q4.htm http://128.227.176.41:8888/ VAM/Low_pressure_system_Q4_Objectives.htm http://128.227.176.41:8888/ VAM/Low_pressure_system_Q5.htm http://128.227.176.41:8888/ VAM/Low_pressure_system_Q5_Objectives.htm http://128.227.176.41:8888/ VAM/Low_pressure_system_Q6.htm http://128.227.176.41:8888/ VAM/Low_pressure_system_Q6_Objectives.htm AMPLE ATOMIC LEARNING OBJ C.1 Sample Atomic Learning Objec
PAGE 126

113 http://128.227.176.41:8888/ VAM/Low_pressure_system_Q1_VAM_simulation.htm N/A
VAM/Low_pressure_system_Q3_VAM_simulation.htm URL> /ns1:URL> "> non-zero setting, um setting (> 5 L/min), y decreased ="Q2 VAM Simulatio http://128.227.176.41:8888/ VAM/Low_pressure_system_Q2_VAM_simulation.htm Problem> Answer>N/A ceItem> http://128.227.176.41:8888/ N/A http://128.227.176.41:8888/ VAM/Low_pressure_system_Q4_VAM_simulation.htm N/A http://128.227.176.41:8888/ VAM/Low_pressure_system_Q5_VAM_simulation.htm< N/A er="6" Name="Q6 VAM Simulation"> http://128.227.176.41:8888/ VAM/Low_pressure_system_Q6_VAM_simulation.htm N/A
tems> <p> Q. If a vaporizer concentration dial is adjusted to a O2 flush flow through the vaporizer? </p> will O2 flow generated by an <p> A. No </p> <p> B. Yes </p> <p> C. Depends on the setting of the O2 flowmeter knob </p> <p> D. Depends on the FGF setting </p> /ns1:Answer> A< mber="0"> <p> Q. With the N2O flow meter at its maxims outlet if the O2 flow meter is subsequentl will a hypoxic gas mixture result at the common gato its minimum setting (about 200 mL/min)? </p> <p> A. Yes </p>; <p> B. No </p> <p> C. Maybe </p>

PAGE 127

114
B > ;p> Q. Will liquid anesthetic spill from a loose filler cap if the vaporizer <p> B. No </p> inspiratory pressure exceeds 20 cm H2O </p> /ns1:Answer> "3" AutoGrade="true" Number="4"> <p&ays meter. </p> gas like air or helium </p> A e="Content" ItemId="2" /> emId="1" /> ntent" ItemId="3" /> uence Type="Practice" ItemId="2" /> e="Content" ItemId="6" /> emId="3" /> actice" ItemId="4" /> uence Type="Content" ItemId="9" /> equence Type="Content" ItemId="10" /> Sequence Type="Practice" ItemId="5" /> pe="Content" ItemId="11" /> ype="Content" ItemId="12" /> "Content" ItemId="13" /> A2B3-000629DC0A53" ServiceImplementationKey="5B863DF0-7D6A-11D9-9561-000629DC0A53" /> ts> :type> > ow Pressure System VAM" > string q "Low Pressure System of Anesthesia Machine" iable> < concentration dial is set to 0? </p> <p> A. Yes </p> <p> C. Only if the peak B<
gt; Q. In an O2/N2O anesthesia machine, the O2 flow meter is alw downstream of the N2O flow <p> A. True </p> <p> B. False </p> <p> C. Depends if there is a third s1:Answer>
ic_Concepts"> 1:UpdateTime> cription> S se" ContributesToRollup="true" ure="0" Id="oBasicConcepts" /> Keywords string enu {"Low P & 0 Media_Formatstringenu {"HTML& no 0 Language< string eq "English"< no0 Cost float eq 0.0 no 0 Author string eq "Gilliean Lee"no 0 C.2 Sample Composite Learning Object Virtual Anesthesia Machine ml version="1.0"?> 1:LearningProcess Id="VAM" Name= 1:SavedTime>1116435483106

PAGE 129

116 ingInfo> straints> constraints> Keywords eq "basic concepts of anesthesia machine" No 0 rvice_constraint> Language eq "VAR:sLanguage" No 0 e_constraints> /> > tions>sLanguage = :BeforePreActivity_Actions> Vector vLanguage = DataAccessor.getLIMLanguage(this); ot;; // default language is English i++) { tring) vLanguage.get(i); qualsIgnoreCase("English")) { sLanguage = "English"; gnoreCase("Korean")) { ng_Actions> sessment_Actions>DataAccessor.executeCommand(LMSEngineCore.EXFIED, this, ""); vityActions> tionActionRules> s1:PreAssessedCARule> .EXE_AsInstanceID, m_sActivityID, er PostAssessment="false" PreAssessment="false" /> string string sLanguage = "English&qu for (int i=0;i<vLanguage.size(); String sLang = (S if (sLang.e break; } else if (sLang.equalsI sLanguage = "Korean"; break; } } true m_lmsEngine.executeCommand(LMSEngineCore CTIVITY_SATISFIED, m_sProces""); ctionRules> output of VAM" Id="Part_2_IO_of_VAM"> eafActivity Name="Input,

PAGE 130

117 1116435459388 s1:Dethe VAM simulation works including Input and MinimumSatisfiedNormalizedMeasure=" output of anesthesia
:negotiable> s1:priority>0 1:service_constraint> Language string /ns1:keyword> egotiable>No /ns1:priority> ute_constraints /> traints> ity_Actions>sLanguage = eActivity_Actions> Vectlish"; // default language is English .size();i++) { ing) vLanguage.get(i); lish")) { = "English"; gnoreCase("Korean")) { "Korean"; } ionRule> This module teaches how Output. P0Y0M0DT0H0M0S rvice_constraint> 1:name>Keywordsstring eq "input machine" No eq< "VAR:sLanguage" 0< or vLanguage = DataAccessor.getLIMLanguage(this); sLanguage = "Eng for (int i=0;i<vLanguage String sLang = (Str if (sLang.equalsIgnoreCase("Eng sLanguage break; } else if (sLang.equalsI sLanguage = break; } ding_Actions> ment_Actions>DataAccessor.executeCommand(LMSEngineCoreISFIED, this, ""); true

PAGE 131

118 m_lmsEngine.exe cuteCommand(LMSEngineCore.EXE_A uot;"); PostAssessedCARule> ActionRules> lse" /> 16435463919 ns1:DePost :Description> M0S rue" m.out.println("High Pressure System is D. Retry NOT REQUIRED"); // need didn't pass assessment) h Pressure System is NOT SATISFIED. Retry REQUIRED&quouteCommand(LMSEngineCore.EXE_RETRY, m_sProcessInstan/ns1:LeCondit ssmentSelectionParameter ScoringWeight="1" m" /> ttings> ctiveSetting ObjectiveID="oOverall"> High_Pressure_System > assessment. CTIVITY_SATISFIED, m_sProcessInstanceID, m_sActivityID,&q 11 High pressure system Instruction, Exercise and assessment. P0Y0M0DT0H0 taId="bSatisfied" /> EE5F8C20-7A28-11D9-9561000629DC0A53 >bSatisfied = DataAccessor.isObjectiveSatisfied(this, PostAssessmen bSatisfied Syste SATISFIE to be retried if not satisfied (if System.out.println("Higt;); m_lmsEngine.exec ceID, m_sActivityID, "");
ns1:O1:StaticBindingInfo> DF0-7D6A-11D9-9561-Key> s1:LesmentMarker PostAssessment="true" PreAssessment="false" /> ameters> nPercentage="0.75" ActivityID="Low_Pressure_System" /> sessmentParameters> :ObjectiveSetting ObjectiveID="oOverall"> essure_System tting> 68185 ns1:LiMinimumSati 6C9E7A50-7EC6-11D9-9561-s1:Le 0Y0M0DT0H0M0S 5B863 000629DC0A53 s1:BindingInfo> Low_Pr mentParameters> LeafAy> eafActivity Name="" Id="Br 11164354 scription>Breathing Circuit Instruction, Exercise and Post ent. P0Y0M0DT 000629DC0A53 Breathing_Circuit 1116435470278 Manual Ventilation Instruction, Exercise and Post assessment.

PAGE 133

120 P0Y0M0DT0H0M0S
F635C7B0-7ECF-11D9-9561-000629DC0A53 s1:Pons1:Pon"> Post "1" /> s1:Pons1:Po Manual_Ventilation
54AC9C40-7EE1-11D9-9561-000629DC0A53 Mechanical_Ventilation 1116435476481 Scavenging System Instruction, Exercise and Postassessment.

PAGE 134

121 P0Y0M0DT0H0M0S
3E6DF260-7F7E-11D9-9561-000629DC0A53 "bMedicalGoal" /> lean" DataId="bAnestGoal" /> bMedicalGoal = DataAccessor.goalsIncludeWord(this, "cessor.goalsIncludeWord(this, "Actions> s> t="0"> itionActionRule> Satisfied Scavenging_System
1116435453982 This is Root activity of Virtual Anesthesia Machine instruction. P0Y0M0DT10H0M0S
PAGE 135

122 m_lmsdlerSetReadyToFihishChildren(m_sProcessInstanceID, m_sActivityID, true); m_lmsEngine.executessInstanceID, m_sAct System.out.println("In Rollup rule of VAM: All child SATISF/ns1:Actions> m_lmsEngine.activityHandlerSD, m_sActivityID, false); m_lmsgineCore.EXE_ACTIVITY_UNSATISFIED, m_sProcessInstanceID, m_sActAM: All child UNSATionRule> 1:Summary> gt; Original Virtual Anesthesia Machine Web page is <a href=&l.edu</a>.</p> ;/p> : University of Florida. </p> :Summary> ns1:NacticeItems> afPracticeItem Number="1"> /H3> s1:Problem> :Answer>N/A /ns1:Nnts> s /> ssessments> s1:As > > ns1:Li> ="true" iedByMeasure="true" ContributesToRollup="false" Id="oPressureSystem" /> easure="true" ContributesToRollup="false" on" /> re="true" ContributesToRollup="false" BreathingCircuit" /> Engine.activityHan Command(LMSEngineCore.EXE_ACTIVITY_SATISFIED, m_sProce ivityID, ""); IED"); < etReadyToFihishChildren(m_sProcessInstanceI Engine.executeCommand(LMSEn ivityID, ""); System.out.println("In Rollup rule of V ISFIED"); CARule> http://128.227 <p& quot;http://vam.anest.ufl.edu">http://vam.anest.uf <p> Special Thanks to Dr. Sem Lampotang < <p> Copyright <H3> This is Practice Item <
NonleafActivity> onlevity Id="Part_3_Safety_Exe 1116435461747Specific safety-related exercises using VAM Simulator. P0Y0M0DT0H0M0S taType="int" DataId="iTimes" /> ns1:DaDataType="booityData> orePreActivity_Actions> DataAc false; lse essor.hasLIMLearningStyle(this, DataAccessor.DIRECTIVE) || DataAcStyle: DIRECTIVE or RECEPTIVE" + bDirec ent_Actions>iTimes++; eqd = !DataAccessor.evaluateChildActivities(this, "At Least Count&tReqd) taAccessor.setObjectiveStatus(this, "oOverall", " tReqd = !DataAccessor.isObjectiveSatisfied(this, "eqd = false; his, "oOverall", " } 1:Condition>bDirective System.out.println("Drilldown Rule Action executquot;).out.println("addSCM-ForwardOnly requested for " + m_sActivityID +moveAllSCMfromChildConnector(m_sProcessInstanceID, m_sActivityID); Connector(m_sProcessInstanceID, m_sAct Alternaed!"); System.out.println("addSCM-Choice requested for " + m_sActt;); m_lmsEnginesActivityID); ceID, m_sActivityID, " iTimes = 0;int iAttemptCount = cessor.getAttemptCount(this); if (iAttemptCount > 1) // second or later attempt bDirective = e bDirective = (DataAcc cessor.hasLIMLearningStyle(this, DataAccessor.RECEPTIVE)); System.out.println("Learning tive);:AfterIntroPresentation_ ed!&; System "!"); m_lmsEngine.re m_lmsEngine.addSCMtoChild ivityID, "Flow"); System.out.println("Drilldown Rule tiveAction execut ivityID + "!&quo .removeAllSCMfromChildConnector(m_sProcessInstanceID, m_ m_lmsEngine.addSCMtoChildConnector(m_sProcessInstanChoice"); s1:DrillDownCARule>

PAGE 137

124 m_lmsetReadyToFihishChildren(m_sProcessInstanceID, m_sActivityID, true); m_lmsine.actsInstanceID, m_lmsneCore.EXE_ACTIVITY_UNSATISFIED, m_sProcessInstanceID, m_sAct, &qs1:ConditionActionRule>
Rule> "bAssessmentReqd: " + bAssestReqdln("PostAssessment command requested."mand(LMSEngineCore.EXE_POST_ASSESS, m_sPrInstans> 1:AltActions>System.out.println("::Value of 'iTimes≈: &quoot;PostAssessment command NOT reques // disable all child activities, then selectively enable according to objecti m_lmsEnTIVITY_SATISFIED, m_sProcInstan, &q ACTIVITY_SATISFIED, m_sPrInstan, &q m_lmsEnXE_ACTIVITY_SATISFIED, m_sPrircuit", ""); m_lmsEnSEngineCore.EXE_ACTIVITY_SATISFIED, m_sPr;"); ID, "Mechanical_Ventilation", ""); nging_System", ""); m_lmsatus(m_sProcessInstanceID, m_sActivityID, "entilation"); tus(m_sProcessInstanceID, m_sActivityID, "athingCircuit"); m_lmsm_lms.getsProcessInstanceID, m_sActivityID, "oOverall"); = true; isfied")) { Completed Engine.activityHandlerS EngivityHandlerSetReadyToFihishChildren(m_sProces m_sActivityID, false); Engine.executeCommand(LMSEngi ivityIDuot;"); bAssessmentReqd System.out.println( smen); System.out.print ); m_lmsEngine.executeCom ocessceID, m_sActivityID, "");
PAGE 138

125 TY_UNSATISFIED, UNSATISFIED, re.EXE_ACTIVITY_INCOMPLETE, _INCOMPLETE, m_sPr); on.equals("Satisfied")) { m_sPr "Mechanical_Ventilation", ""); INCOMPLETE, m_sPr m_lmsEngine.exeeCom_ACTIVITY_INCOMPLETE, m_sPr } if (!sBreathingCircuit.equals("Satisfied")) { } ;Satisfied")) { } ot;)) bSatisfied = true; eCommand(LMSEngineCore.EXE_ACTIVITY_SATISFIED, m_sPr UNSATISFIED, m_lmsEngine.executeCommand(LMSEngineCore.EXE_ACTIVIm_sProcessInstanceID, "High_Pressure_System", ""); m_lmsEngine.executeCommand(LMSEngineCore.EXE_ACTIVITY_m_sProcessInstanceID, "Low_Pressure_System", ""); m_lmsEngine.executeCommand(LMSEngineCom_sProcessInstanceID, "High_Pressure_System", ""); m_lmsEngine.executeCommand(LMSEngineCore.EXE_ACTIVITY ocessInstanceID, "Low_Pressure_System", "" } if (!sVentilati m_lmsEngine.executeCommand(LMSEngineCore.EXE_ACTIVITY_UNSATISFIED, ocessInstanceID, "Manual_Ventilation", ""); m_lmsEngine.executeCommand(LMSEngineCore.EXE_ACTIVITY_UNSATISFIED, m_sProcessInstanceID m_lmsEngine.executeCommand(LMSEngineCore.EXE_ACTIVITY_ ocessInstanceID, "Manual_Ventilation", ""); cutmand(LMSEngineCore.EXE ocessInstanceID, "Mechanical_Ventilation", ""); m_lmsEngine.executeCommand(LMSEngineCore.EXE_ACTIVITY_UNSATISFIED, m_sProcessInstanceID, "Breathing_Circuit", ""); m_lmsEngine.executeCommand(LMSEngineCore.EXE_ACTIVITY_INCOMPLETE, m_sProcessInstanceID, "Breathing_Circuit", ""); if (!sScavengingSystem.equals(" m_lmsEngine.executeCommand(LMSEngineCore.EXE_ACTIVITY_UNSATISFIED, m_sProcessInstanceID, "Scavenging_System", ""); m_lmsEngine.executeCommand(LMSEngineCore.EXE_ACTIVITY_INCOMPLETE, m_sProcessInstanceID, "Scavenging_System", ""); /*if (sOverall.equals("Satisfied&qu else bSatisfied = false; if (bSatisfied) m_lmsEngine.execut ocessInstanceID, m_sActivityID, ""); else m_lmsEngine.executeCommand(LMSEngineCore.EXE_ACTIVITY_m_sProcessInstanceID, m_sActivityID, ""); */ }


PAGE 139

126 rker PostAssessment="false" PreAssessmentMode="ThisActivityOnly" afety ach of the lessons consists of several Q&As. Each of Q&A tives of Enjoy! </p> ; Hope you learned a lot about Anesthesia machine! </p> > /> rs> t="1" ionPercentage="0.5" ActivityID="Part_3_Safety_Exercises" /> sure_System" /> ectionParameter ScoringWeight="1" SelectionPercentage="0.5" ActivityID="Low_Pressure_System" /> tionPercentage="0.5" ActivityID="Breathing_Circuit" /> nual_Ventilation" /> essmentSelectionParameter ScoringWeight="1" eight="1" ="0.5" ActivityID="Scavenging_System" /> ing ObjectiveID="oOverall"> tivityID> tyID>Low_Pressure_System yID> chanical_Ventilation Scavenging_System "> Pressure_System :ActivityID> eathingCircuit"> tyID>Breathing_Circuit Ventilation"> al_Ventilation tyID>Mechanical_Ventilation ScavengingSystem"> ing_System ns1:As <p> Here we will be taking lessons related to 'SExercises' using several components of Anesthesia Machines.</p> <p> Ehas a Question and Answer, Demonstration with VAM simulator, Explanation, and Learning Objecthe Question. </p> <p> <p> Part_3_Safety_Exercises High_Pressure_SystemBreathing_Circuit Manual_VentilationMe Scaveng NonleafActivity>

PAGE 140

127 Safety_Exercises ns1:SibngActivvityID>Manual_Ventilation ID> s1:Sibing_System High_Pressure_SystemLow_Pressure_System Breathing_Circuit Mechanical_VentilationScaveng Conn> nector1" To="connector1" From="VAM" /> art_1_Basic_Concepts" T dge Idonnector1::Part_2_IO dge Id="connector1::Part_3_Safe dge Id="Part_3_Safety_Exercise dge Id="connector2::High_Pressur dge Id="connector2::Low_Pressu dge Id="connector2::Breathing_Ci dge onnector2::Manual_Ventilation" To="M 2::Mechanical_Ventilation" To="Mechanical_Ventilation" Frocavenging_System" To="Scavenging_System" From="connector2" /> sinessInterfaceKey="UUID:8ACC6F10-115B-11D9-A2B3-011295A0-7F90-11D9-9561-000629DC0A53" /> nts> rvice_constraint> 1:name>LO_Type string 1:keyword>eq
"CLO" 1:negotiable>No 0 e_constraint> Titlestring eq "Virtual Anesthesia Machine"No 0 Subject string< eq " Anesthesia Machine" No 0 Autho string eq "Gilliean Lee" No0 Keywordsstrin

PAGE 141

128 {"Anesthesia Machine", &quo t;Anesthesia", Simulation", re System", "Breathing Circuit", "Manual Ventilation", nging string 0 ttribute_constraints /> No 0 Media_Format enu {"HTML", "Shockwave"} No Cost float eq 0.0 No 0
ningProces>

PAGE 142

APPENDIX D LEAING AND BROKER WEB SERVICE DEFINITION e Description "xsd:string"/> ame="sLOType" type="xsd:string"/>
RNOBJECT REPOSITORY LANGUAGE DOCUMENTS D.1 Learning Object Repository Web Servic l version="1.0" encoding="UTF-8"?> l:definitions targetNamespace="urn:LODBService /schemas.xmlsoap.org/ :apachesoap="http://xml.apache.org/xml-soap" :impl="urn:LODBService" xmlns:intf="urn:LOD :soapenc="http://schemas.xmlsoap.org/soap/encod :wsdl="http://schemas.xmlsoap.org/wsdl/" :wsdlsoap="http://schemas.xmlsoap.org/wsdl/so ap/" ttp://www.w3.org/2001 sdl:message name="isLOE < wsdl:part name="sLOId" type=
PAGE 143

130 withStringResponse" ="sLOId sLOType"> ExistRequest"/> ing" type="intf:LODBService"> ap/http"/> ame="addLO"> oap/encoding/" mespace="urn:LODBService" use="encoded"/> dy encodingStyle= .org/soap/encoding/" se="encoded"/> ame="getLO"> dy encodingStyle= rg/soap/encoding/" ded"/> > ng/" ="encoded"/> ration soapAction=""/> equest"> etLORequest" n "insertLOwithString" paramete input message="intf:insertLOwithStringRequest"
pBinding" name="LODBService"> 76.41:8888/axis/LODBService.jws"/> Service Definition Type="xsd:string[]"/> operatio p:operation soapAction=""/> ap:body encodingStyle= "http namespace="urn:LODBService" use="encoded"/> ap:body encodingStyle= "http na ding>

PAGE 145

132
e="mainRequest"> "/> "xsd:string"/> sd:string"/> g"/> /> e="interfaceKey" type="xsd:string"/> g"/> ainResponse"> e="RegBrokerReturn" type="xsd:string"/> ponse" name="mainResponse"/> rameterOrder="interfaceKey xmlURL"> Order="serviceKey rfaceKey xmlURL"> uest" > ="serviceKey interfaceKey message="intf:RegBrokerRequest" name="RegBrokerRequest"/> e="QueryBroker2Return" type="soapenc:Array"/> e="serviceKey" type="xsd:string"/> ame="QueryBrokerResponse"> e="QueryBrokerReturn" type="xsd:string"/> e="main" parameterOrder="args">
PAGE 146

133 tion> rokerService"> g style="rpc" soap/http"/> ration soapAction=""/> .org/soap/encoding/" e="encoded"/> .org/soap/encoding/" e="encoded"/> ration soapAction=""/> lsoap.org/soap/encoding/" mespace="urn:BrokerService" use="encoded"/> ame="QueryBrokerResponse"> /soap/encoding/" mespace="urn:BrokerService" use="encoded"/> ="QueryBroker2Request"> ap.org/soap/encoding/" ce" use="encoded"/> ding/" :BrokerService" use="encoded"/> dingStyle="http://schemas.xmlsoap.org/soap/encoding/"
tput name="QueryBroker2Respons ration> p:operation soapAction=""/>

PAGE 147

134 oap:body apBinding" name="BrokerService"> 8.227.176.41:8888/axis/BrokerService.jws"/>
enco na nding> XML Schema for CLO Runtime Data Model. Copyright by Gilliean Lee. 2004. XML SCHEMA DEFINITION OF CLO RUN LEARNER INFORMATION MODEL E.1 CLO Runtime Status Model Definition curs="0"/> mptProgressInformation" pe="clordm:AttemptProgressInformation" minOccurs="0" d"/> NMTOKEN" use="required"/> "Name" type="xsd:string"/> e> e="ObjectiveStatusInformation"> > e="ObjectiveSatisfiedInformation"> xsd:complexType> name="ActivityProgressInformation" type="clordm:ObjectiveStatusInformation" minO xsd:uence> > eration value="Satisfied"/> ation value="Unknown"/> e> e name="ActivityDataStatusInformation"> >

PAGE 150

137 nt name="DataType" type="xsd:NMTOKEN"/> ent name="Value" type="xsd:string"/> > lordm:ActivityProgress"/> name="ProgressStatus" type="xsd:boolean"/> ue="Active"/> n value="Disabled"/> s" type="xsd:boolean"/> s" type="xsd:boolean"/> tion value="Started"/> minOccurs="0" maxOccurs="unbounded"/>
< name="DataId" type="xsd:NMTOKEN" use="re > triction base="xsd:NMTOKEN"> ype> Type name="AttemptProgressInform sequence>
PAGE 151

138 striction> ive value="0.0"/> E.2 Learner Information Model Definition sd="http://www.w3.org/2001/XMLSchema" targetNamespxmlns:lim="hionModel" elementFormDefau XML Sc Copyright by e="xsd:date"/> ate"/> pe="lim:identification"/> goal" minOccurs="0" "/> cl" type="lim:qcl" minOccurs="0" axOccurs="unbounded"/> < hema for Learner Information Model. Gilliean Lee. 2004. :element name="affiliation" type="lim:affiliatimaxOccurs="unbounded"/> sd:sequence> pe="xsd:string"/> e="xsd:NMTOKEN"/> e="address" type="lim:address" minOccurs="0"/> ="contactInfo" type="lim:contactInformation" inOccurs="0"/> xsd:string" minOccurs="0"/> minOccurs="0"/> nce" type="xsd:string" minOccurs="0"/> postalCode" type="xsd:string" minOccurs="0"/> ame="country" type="xsd:string" minOccurs="0"/> > /> "gender"> ="xsd:NMTOKEN"> on value="Male"/> n> name="mobile" type="xsd:str name="placeOfBirth" type="li me="gender" type="lim:gend

PAGE 153

140 "xsd:string" minOccurs="0"/> ame="setupDate" type="xsd:date" minOccurs="0"/> Occurs="0"/> curs="0"/> "/> ed"/> e="priority" type="xsd:integer" use="required"/> ="required"/> base="xsd:NMTOKEN"> ame="qcl"> rs="0" type="xsd:date"/> ame="issueOrganization" type="xsd:string" minOccurs="0"/> /> ration value="Qualification"/> tion value="License"/> lity"> im:language" minOccurs="0" rence" type="lim:preference" minOccurs="0"/> me="disability" type="lim:disability" minOccurs="0"/> ame="proficiency"> d"/> tion value="Good"/> oor"/> n> tion value="OralSpeak"/>
pe="lim:learningStyle" minOccurs="0" ounded"/> me="mediaType" type="lim:mediaType" minOccurs="0" maxOccurs="unbounded"/>
sd:sequence> triction base="xsd:NMTOKEN

PAGE 155

142 ue="T2"/>
on value="Receptive"/> ue="Guided Discovery"/> value="DownloadableMovieCaption"/> ieCaption"/> "/> :string" minOccurs="0"/> lityInfo" minOccurs="0" ame="comment" type="xsd:string" minOccurs="0"/> value="Hearing"/> striction base="xsd ence> xType> ype name="disabilityArea"> d:simpleType>

PAGE 156

143 d:NMTOKEN"> n value="Ignorable"/> "/> Occurs="0" tring"/> me="typeName" type="xsd:string"/> e="organization" type="xsd:string"/> sd:date"/> ame="role" type="lim:role" minOccurs="0" s="0" /> > > /> "Administrator"/> n> d:simpleType> nce>
PAGE 157

144 < /xsd:simpleType> "> ion value="Recreational"/> > tory"> /> ccurs="0"/> me="unit" type="lim:unit" minOccurs="0"/> e="evaluation" type="lim:evaluation" minOccurs="0"/> xsd:simpleType name="learningStatus"> EN"> ion value="Active"/> e="unitName" type="xsd:string"/> valuationResult"/> > ription" type="xsd:string" minOccurs="0"/>
< Type> alizedMeasure" type="lim:normalizedValue"/> "minimumSatisfiedNormalizedMeasure" type="lim:normalizedValue" minOccurs="0"/> ="xsd:string" minOccurs="0" /> "> "date" type="xsd:date"/> Type>

PAGE 159

LIST OF REFERENCES ACGME. (2001). ACGM E Outcome project, Retrieved July 17, 2005, from rg/outcome/project/proHome.aspnced Distributed Learning June 16, 2004, from http://ADLNet.org t Object Reference 3: Sequencing and Navigation, Retrieved January 30, 2004, harable Content Object Reference nt Aggregation Model, Retrieved January er, J. (2002). Flexible Instructional Strategies for e-learning, of the 35th Hawaii International Conference on System Sciences, Big land, Hawaii, USA. e Aache Software Foundation. (2003). Welcome to jUDDI, Retrieved June 11, 005, from http://ws.apache.org/juddi/The Apache Software Foundation. (2004). Apache Xindice, Retrieved June 17, 2004, from http://xml.apache.org/xindice/ Blackboard Inc. (2005). Blackboard Retrieved April 14, 2005, from http://www.blackboard.com Brusilovsky, P., & Nijhavan H. (2002). A Framework for Adaptive E-Learning Based on Distributed Re-usable Learning Activities, Proceedings of World Conference on E-Learning, E-Learn 2002, Montreal, Canada, pp.154-161. Clark, R. (2000). Four Architectures of Instruction, Performance Improvement, 39(10), pp. 31-37. Cisco Learning Institute. (2004). CLI Virtuoso E-Learning Platform, Retrieved April 27, 2005, from http://www.ciscolearning.org/Assets/Cisco_Learning/PDF/CLI_Virtuoso_Featues_2.2.pdf http://www.acgme.o Advanced Distributed Learning (ADL). (2003). Adva Home, Retrieved Advanced Distributed Learning (ADL). (2004a). Sharable Conten Model (SCORM) 1.from http://ADLNet.org Advanced Distributed Learning (ADL). (2004b ). S Model (SCORM): The SCORM Conte 30, 2004, from http://ADLNet.org Altenhofen, M., & Schap Proceedings Is Th p2 146

PAGE 160

147 Co-operative Learning Object Exchange (CLOE). (2004). CLOE Co-operative Learning Object Exchange, Retrieved June 16, 2004, from http://cloe.on.ca/ Dalley, P., Robinson, B., Weller, J., & Caldwell, C. (2004). The Use of High-Fidelity Human Patient Simulation and the Introduction of New Anesthesia Delivery Systems, Anesthesia and Analgesia, vol.99, pp.1737. Degwekar, S., Su, S. Y. W., & Lt Specification and Processing in Web Services Publication and Discovery, Proceedings of the International Dosch, M. (2004). The Anesthesia Gas Machine. Retrieved February 17, 2005, from The EOE Foundation. (2004). EOE Foundation Home. Retrieved June 17, 2004, from eColltrieved April 14, 2005, from http://www.ecollege.com/indexflash.learn Eduwne 15, 2004, from http://web.mit.edu/oki/product/whtpapers/whatis.html Felde, 2005, pp.57-72. a, Java, p. 34, Sams Publishing. 9-220. rning/strategy-architecture.pdfIEEE LTSC (Learning Technology Standards Committee). (2005). IEEE LTSC WG12: Learning Object Metadata, Retrieved on June 12, 2005, from IMS Getrieved June 16, 2004, from http://www.imsglobal.org am, H. (2004). Constrain Conference on Web Services, San Diego, California, USA. http://www.udmercy.edu/crna/agm/index.htm http://www.eoe.org/index.htm ege. (2005). eCollege, Re orks, & O.K.I. Leadership. (2002). OKI White Paper: What is the Open Knowledge Initiative? Retrieved Ju r, R.M., and Brent, R. (2005). "Understanding Student Differences." J. Engr. Education, vol.94, no.1 Gas Man. (2004). Gas Man Home Page, Retrieved February 17, 2005, from http://www.gasmanweb.com Graham, S., Simeonov, S., Boubez., T., Davis, D., Daniels, G., Nakamura, Y., & NeyamR. (2002). Building Web Services with Gruber, T. R. (1993). A translation approach to portable ontologies, Knowledge Acquisition, vol.5, no.2, pp.19 Heins, T., & Himes, F. (2002). Macromedia MX: Strategies and Architectures for eLearningContent, Retrieved on April 27, 2005, from http://download.macromedia.com/pub/solutions/downloads/elea http://ltsc.ieee.org/wg12/ lobal Learning Consortium (IMS). (2004). IMS Global Learning Consortium, Inc., R

PAGE 161

148 IMS Global Learning Consortium (IMS). (2005). IMS Learner Information PackaSpecification, Retrieved April 7, 2005, from ge http://www.imsglobal.org/profiles/index.cfm IMS Ghttp://www.imsglobal.org/simplesequencing/index.html Jesterved urls.htm June 15, 2004, from http://lon-capa.org/ n press) Transparent namic graphical models emphasizing visualization, Educational Technology. Lee, GModels, Authoring Tools, namic and Collaborative E-Learning, Proceedings of the 7th IASTED International Conference on Computers Lee, M., Su, S. Y. W., & Lam, H. (2001). A Web-based Knowledge Network for o.1/2, y to . Educational Technology & Society, vol.5, LSALA: Technical Introduction cmu.edu/lsal/expertise/projects/cordra/intro/intro-v1p00.html OCW. (2003). MIT OpenCourseWare | OCW Home, Retrieved June 15, 2004, from lobal Learning Consortium (IMS). (2003). IMS Simple Sequencing Specification, Retrieved April 18, 2005, from C., & Miller, S. (2000). The Four Learning Styles in the DVC Survey, Retrieon April 22, 2005, from http://www.metamath.com/lsweb/fo Kolb, D. (1984). Experiential Learning: Experience as the Source of Learning and Development, Prentice Hall, NJ. Laboratory for Instructional Technology in Education. (2004). The LearningOnline Network with CAPA, Retrieved Lampotang, S, Lizdas, D. E., Gravenstein, N., & Liem, E. B. (Ireality, a simulation based on interactive dy ., Zhang, X., & Su, S. Y. W. (2004). Learning Object and Learning Object Registry Service for Achieving Dy and Advanced Technology in Education 2004, pp.321-327. Supporting Emerging Internet Applications, the WWW Journal, vol.4, npp.121-140. Lewis, G. (2002). Introduction to Educational Technologies, Retrieved June 16, 2004, from http://www.warwick.ac.uk/ETS/Publications/Guides/Printer.htm Lin, J., Ho, C., Sadiq, W., & Orlowska, M.E. (2002). Using Workflow TechnologManage Flexible e-Learning Services no.4. (Learning Systems Architecture Lab). (2004). CORDRand Overview, Retrieved April 14, 2005, from http://www.lsal. MERLOT. (2004). MERLOT Home Page, Retrieved June 16, 2004, from http://www.merlot.org/Home.po http://ocw.mit.edu/index.html

PAGE 162

149 OASIS. (2004). Universal Description, Discovery, and Integration (UDDI), RetrieveJune 16, 2004, from d Reason, J. (2000). Human error: models and management. BMJ, vol.320, pp.768. Sakail 22, 2005, from roducts/tamino/prod_info/7goodreasons.asp Sun Mebservices/jwsdp/index.jsp ct Strategy: Designing ved s.pW3CW3C (OWL), Retrieved on April 21, 2005, from Weinipment and Human Error, Journal of Clinical Monitoring, vol.15, pp.319. http://www.uddi.org/ Project. (2005). Sakai Project, Retrieved Apri http://www.sakaiproject.org/cms/ Sampson, D., Karagiannidis, C., & Cardinali, F. (2002). An Architecture for Web-based e-Learning Promoting Re-usable Adaptive Educational e-Content, Educational Technology & Society, vol.5, no.4. Software AG. (2004). good reasons for XML, Retrieved April 25, 2005, from http://www1.softwareag.com/es/p Su, S. Y. W., Huang, C., Hammer, J., Huang, Y., Li, H., Wang, L., Liu, Y., Pluempitiwiriyawej, C., Lee, M., & Lam, H. (2001). An Internet-based Negotiation Server for E-Commerce, VLDB Journal, vol.10, no.1, pp.72-90. icrosystems. (2003). Java Architecture for XML Binding (JAXB), Retrieved June 10, 2004, from http://java.sun.com/w Termaat, B., Crowley, R., Agua, B., Tabor, M., McGough, B., Darling, S., Lee, C., Lee, J., Lewis, D., Nichols, B., Dunne, K., Yoshida, C., Epperson, L., Maddocks, P., Donoghue, M., Cisco Networking Academy Program, King, M., Goga, L., Uyeda, S., Birch, S., & Barritt, C. (2003). Reusable Learning Obje and Developing Learning Objects for Multiple Learning Approaches, RetrieJune 29, 2004, from http://business.cisco.com/servletwl3/FileDownloader/iqprd/104108/104108_kbndf Thomson. (2005). Thomson NETg Knowledge Now, Retrieved April 13, 2005, from http://www.netg.com/ W3C. (2001a). XML Schema Part 0: Primer, Retrieved April 10, 2004, from http://www.w3.org/TR/xmlschema-0 W3C. (2001b). Web Services Description Language (WSDL) 1.1, Retrieved June 10, 2004, from http://www.w3.org/TR/wsdl (2003). Simple Object Access Protocol, Retrieved June 15, 2004, from http://www.w3.org/TR/SOAP/ (2004). Web Ontology Language http://www.w3.org/2004/OWL/ ger, M. (1999). Anesthesia Equ

PAGE 163

150 Washington State University. (2004). Anesthesia Information from the College of Veterinary Medicine, Retrieved April 14, 2005, from http://www.vetmed.wsu.edu/depts-anesthesia/equipment/equipment.html WebCT. (2005). WebCT.com, Retrieved April 14, 2005 from http://www.webct.com White, chine: Teaching without Risk, UniSci, Williantensive Care, vol.21, pp.678. A V. (2002). Virtual Anesthesia Ma Retrieved April 14, 2005 from http://unisci.com/stories/20021/0128025.htm mson, J., Webb, R., Sellen A, et al. (1993). Human failure: an analysis of 2000 incident reports, Anaesthesia and I York, B., Dam, A.v., Ullman, J., Soloway, E., Pollack, J., Kay, A., & Kalil, T. (2002)Teacher for Every Learner, Retrieved April 8, 2004, from http://www.cra.org/Activities/grand.challenges/slides/education.pdf

PAGE 164

Gilliean Lee was born in Seoul, Korea. He received his B.S. and M.S. degrees in compely. He Tech.ni Fellowship. He received his M.S. degree in computer and information science and engineering in 2003. His research interests are in e-learning management, Web ontology, e-business, and workflow management. BIOGRAPHICAL SKETCH uter science from Sogang University, Korea, in 1992 and 1994, respectiv was then a senior software researcher at Hyundai Electronics Co., Hyundai Information Co., and Posdata Co. He is a recipient of a University of Florida Alum 151