| IMS Learning Design Best Practice and Implementation Guide Version 1.0 Final Specification

Copyright © 2003 IMS Global Learning Consortium, Inc. All Rights Reserved.
The IMS Logo is a trademark of IMS Global Learning Consortium, Inc.
Document Name: IMS Learning Design Best Practice and Implementation Guide
Revision: 20 January 2003

IPR and Distribution Notices

Recipients of this document are requested to submit, with their comments, notification of any relevant patent claims or other intellectual property rights of which they may be aware that might be infringed by any implementation of the specification set forth in this document, and to provide supporting documentation.

IMS takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on IMS's procedures with respect to rights in IMS specifications can be found at the IMS Intellectual Property Rights web page: http://www.imsglobal.org/ipr/imsipr_policyFinal.pdf.

Copyright © 2003 IMS Global Learning Consortium. All Rights Reserved.

If you wish to copy or distribute this document, you must complete a valid Registered User license registration with IMS and receive an email from IMS granting the license to distribute the specification. To register, follow the instructions on the IMS website: http://www.imsglobal.org/specificationdownload.cfm.

This document may be copied and furnished to others by Registered Users who have registered on the IMS website provided that the above copyright notice and this paragraph are included on all such copies. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to IMS, except as needed for the purpose of developing IMS specifications, under the auspices of a chartered IMS project group.

Use of this specification to develop products or services is governed by the license with IMS found on the IMS website: http://www.imsglobal.org/license.html.

The limited permissions granted above are perpetual and will not be revoked by IMS or its successors or assigns.

THIS SPECIFICATION IS BEING OFFERED WITHOUT ANY WARRANTY WHATSOEVER, AND IN PARTICULAR, ANY WARRANTY OF NONINFRINGEMENT IS EXPRESSLY DISCLAIMED. ANY USE OF THIS SPECIFICATION SHALL BE MADE ENTIRELY AT THE IMPLEMENTER'S OWN RISK, AND NEITHER THE CONSORTIUM, NOR ANY OF ITS MEMBERS OR SUBMITTERS, SHALL HAVE ANY LIABILITY WHATSOEVER TO ANY IMPLEMENTER OR THIRD PARTY FOR ANY DAMAGES OF ANY NATURE WHATSOEVER, DIRECTLY OR INDIRECTLY, ARISING FROM THE USE OF THIS SPECIFICATION.

# Table of Contents

1. Introduction
1.1 Scope
1.2 Benefits of the Learning Design Specification
1.2.1 Core Value Provided by Learning Design Level A
1.2.2 Additional Value Added by Learning Design Level B
1.2.3 Additional Value Added by Learning Design Level C
1.3 Nomenclature
2. Use Cases
2.1 Adapting Units of Learning to Learner Profile
2.2 Obtaining Culturally Relevant Content for Problem-Solving
2.3 Provide Remedial Units of Learning
2.4 A Problem-Based Learning Task for Information Sciences and
Technology
2.5 Completing a Jigsaw Collaborative Activity
2.6 Designing Content for Re-Use Between Groups
2.7 Reduce Content in Learning Path Based upon Learner Profile
2.8 Using Virtual Labs
2.9 Blended Learning Delivery
2.10 Adaptive Learning Delivery
3. Designer's Guide
3.1 Using Learning Design for Different Pedagogies
3.2 Developing a Unit of Learning
3.2.1 Introduction
3.2.2 A Framework for Learning Design
3.2.3 Introducing the Elements in Learning Design
3.2.4 The Design Phase Examined in Detail
3.2.5 An Example Use Case
4. Examples of LD XML Instance Documents
4.1 Programmed Instruction (Level B)
4.1.1 Introduction
4.1.2 UML Activity Diagram
4.1.3 Key Points of Note
4.1.4 XML Instance Document
4.2 The Versailles Role Play (Level A)
4.2.1 Introduction
4.2.2 UML Activity Diagram
4.2.3 Key Points of Note
4.2.4 XML Document Instance
4.3 Competency Based Learning (Level C)
4.3.1 Introduction
4.3.2 UML Activity Diagram
4.3.3 Key Points of Note
4.3.4 XML Instance Document
4.4 Learning By Doing (Level A)
4.4.1 Introduction
4.4.2 UML Activity Diagram
4.4.3 Key Points of Note
4.4.4 XML Instance Document
4.5 Problem Based Learning (Level C)
4.5.1 4.5.1 Introduction
4.5.2 UML Activity Diagram
4.5.3 Key Points of Note
4.5.4 XML Instance Document
4.6 Literature Circles (Level B)
4.6.1 Introduction
4.6.2 UML Activity Diagram
4.6.3 Key Points of Note
4.6.4 XML Instance Document
5. Implementer's Guide
5.1 Introduction
5.1.1 Logical Architecture
5.1.2 Production
5.1.3 Delivery
5.1.4 Role Switch
5.2 External Interfacing
5.2.1 Portals
5.2.2 Student Administration
5.2.3 User Enrollment
5.2.4 Services
5.3 Relationship to Other Specifications
5.4 An Elaborated Domain Model of the Production Stage
5.5 Data Dictionary
About This Document
List of Contributors
Revision History
Index

# 1. Introduction

The development of a framework that supports pedagogical diversity and innovation, while promoting the exchange and interoperability of e-learning materials, is one of the key challenges in the e-learning industry today. The absence of agreed and compatible ways to describe teaching strategies (pedagogical approaches) and educational goals is a constraint that will hold back the development of the industry. As best practice evolves in systems that support e-learning, it follows that some of these pedagogical approaches will be codified, leading to the presentation of opportunities that facilitate successful learning experiences.

There are consequences of not delivering such a framework. Creators of teaching materials and their organizations will continue to experience unnecessary difficulty in:

- documenting the teaching strategies used in or with those materials
- establishing and adhering to prescribed procedures for assuring the consistency of that documentation
- ensuring that teaching quality targets are met across or between organizations
- selecting elements of a complete unit of learning, to allow the creation of new units of learning

The end result is to raise the cost of using content and services from elsewhere. This situation will occur, not because of any technical problems, but because outside content and services have different approaches to learning that do not meet the prescribed needs of the organization.

Associating each element of content with information describing its instructional strategy in a consistent and machine-interpretable way, is one solution to these problems. This information, if properly encoded, could then be used to adapt or interpret content under an instructional strategy that is different from the one for which it was designed. By labelling the strategy and the components of the strategy in a common, machine-readable manner, the context of a learning opportunity can be managed separately from the content itself.

This same information would have substantial benefits for many e-learning communities. For example, it would allow university instructors to describe the instructional approach associated with their content, thus allowing them to more easily share and reuse with their colleagues content that is designed for their particular instructional strategy and discipline.

This information would also facilitate the adaptation of particular content between learning management systems (LMSs). As institutions re-evaluate their original investments in these systems, perhaps deciding to support different or additional systems, this facility would minimize disruption to course delivery.

## 1.1 Scope

The scope of this work was described in the IMS Learning Design Scope document. The high level objectives defined where the following:

The IMS Learning Design workgroup's (LDWG) goal is to work towards establishing specifications for describing the elements and structure of any unit of learning, including:

- resources
- instructions for learning activities
- templates for structured interactions
- conceptual models (e.g., problem-based learning)
- learning goals, objectives and outcomes
- assessment tools and strategies

The specifications, which describe this framework, need to:

- describe and implement different kinds of learning approaches
- enable repeatable, effective, and efficient units of learning
- provide access to, and interchange of, units of learning between learning systems
- support multiple delivery models
- support reuse and re-purposing of units of learning or their component elements
- support the reuse or repurposing of the framework and components of a unit of learning
- leverage existing specifications and standards
- be culturally inclusive and accessible (internationalization)
- support multiple learners and multiple roles in a learning activity, reflecting learning experiences that are collaborative or group-based
- support reporting and performance analysis

The goal is to enable many kinds of educational designs to be created, using a consistent notation, which can be implemented uniformly in multiple courses or learning programs.

Providing conceptual models for problem-based and other types of learning would seem a large task requiring the development of a Topic Mapping capability or some equivalent and is not supported in this document.

Similarly, assessment tools and strategies are not explicitly included in this document, although these can be included by reference to content elements that are assessments. The structure of assessments is described by the QTI Specification. The Type field of the <resource> element in Content Packaging has an agreed set of terms for including instances of other IMS specifications and can be used to identify content elements that are assessments.

The LDWG will explore with the QTI WG how best to integrate the QTI Specifications into the Learning Design Specification.

While the Learning Design approach allows different kinds of learning strategies to be supported, there is currently no vocabulary provided for describing different kinds of learning approaches, in part because the runtime system does not need to have such a vocabulary in order to correctly interpret learning designs - it just has to be able to interpret the meta-language. This provides a means of expressing many different pedagogical approaches in a relatively succinct language as set out in this document. This language in itself must be pedagogically neutral. In consequence, a system that has to interpret this language does not need to know the pedagogical approach underlying the design: it only needs to be able to instantiate the design, allocate activities and their associated resources to participants playing the various roles, and coordinate the runtime flow.

Similarly, while the specification, as outlined in this document, allows the interchange of units of learning between systems, it does not support 'access', in the sense of 'searching by learning approaches', to these units of learning across systems (other than by supporting a GUIDs on each unit of learning). However, the LDWG may, at some point before the Final specification, introduce a taxonomy of pedagogies, or some examples of such taxonomies, which can be used with the IMS Meta-Data <classification> element. These may be separate documents that are not part of the specification as they are likely to be contentious if put forward as normative, and are not central to the rest of the specification.

The IMS Meta-Data Specification already provides a level of description and potential access to units of learning using its existing fields and vocabularies. However, it does not include elements for either Learning Objectives or Prerequisites, which are explicitly included in the Learning Design model. In essence, these take the same form as IMS Reusable Definition of Competency or Educational Objective (RDCEO), in as far as they consist of a text description associated with a GUID that enables the description to be referenced without the need to parse and interpret the text.

Going beyond this to establish a vocabulary of learning objectives is a significant task in its own right (although something along the lines of Topic Maps using RDF to align with the emerging Semantic web would be a research program of relevance to future versions of Learning Design).

The need for a vocabulary of pedagogical approaches therefore lies outside the requirements for the runtime implementation of the designs, and the task then is to elaborate this need more clearly, identifying the actors and their use-cases. An example might be a learning designer looking for content, not just in a particular subject area, but exemplifying a particular learning approach; or a learning provider with a similar need. Another might be a system that provides units of learning for learners on the fly where one of the criteria for selection is the pedagogical approach used. For these kinds of purpose, a taxonomy of learning approaches or pedagogies would be needed for use in the IMS/IEEE Meta-Data <classification> field.

The LDWG has determined the following to be out of scope for this effort:

1. specification of authoring tools
2. the impact of user preferences on the design and delivery of a unit of learning
3. specification of the technical mechanics of delivering a unit of learning (e.g., content packaging models, client-server information transfer, etc.)
4. quality of the unit of learning
5. specification of the mechanics of the process of interpreting content from one model to another

Going beyond the out-of-scope restriction 2) "the impact of user preferences on the design and delivery of a unit of learning", this is supported in Learning Design Level B, which supports properties and conditions and hence indirectly learner dossiers. There are two possible types of properties:

1. "Internal" by which is meant that a learning designer can create properties as needed, with their own names, types and values, which can then be assigned at runtime and stored in a learner record or dossier. These 'internal' properties are only meaningful in the first instance to the learning designer and to the runtime instances of that design.
2. "External" by which is meant properties that are more widely agreed upon with an agreed vocabulary, that can be used across learning designs. These would typically include learning preferences, accessibility requirements. These fields may be maintained in systems within an institution or a regional or national database of some sort. Plausible sources for these fields may be found in the IMS Meta-Data and Learner Information Package (LIP) Specifications, together with the additions being made to them by the Accessibility WG.

Type one is not difficult to support and needs no widespread agreements, yet adds considerably more capability for the learning designer. It has already been developed and implemented in EML and makes a valuable addition.

Type two is probably the reason why it was put forward for exclusion because of the difficulty of defining properties. But where they have already been defined in other IMS specifications, it also makes sense to support them as properties in Learning Design (in fact the exclusion of properties was questioned at the time but never properly discussed).

Going beyond the out-of-scope restriction 3) "specification of the technical mechanics of delivering a unit of learning (e.g., content packaging models, client-server information transfer, etc.)", given the decision to build on Content Packaging, the Learning Design Specification inherits this part of the mechanics of delivering a unit of learning.

Going beyond the out-of-scope restriction 5) "specification of the mechanics of the process of interpreting content from one model to another", as was found in the Simple Sequencing WG, the specification also has to provide a Behavioral Model explaining the dynamics of a learning design. This could be taken as meaning a specification of the (high level) mechanics of the process of interpreting content. Otherwise this scope restriction is observed in this document.

## 1.2 Benefits of the Learning Design Specification

The LDWG takes into account existing IMS specifications and tries to build on them where possible, producing extended variants if necessary. It therefore is relevant to ask what value the Learning Design Specification adds to the existing and concurrently developing IMS specifications.

This can be done in three parts, reflecting the three different learning design schemas provided by this specification. To facilitate both the production of the specification and its subsequent implementation, Learning Design has been divided into three parts, known as Level A, Level B, and Level C. Separate XML schemas are provided for each level, with Levels B and C each integrating with and extending the previous Level.

### 1.2.1 Core Value Provided by Learning Design Level A

In general, Learning Design supports the use of a wide range of pedagogies in online learning. Rather than attempting to capture the specifics of each of many pedagogies in equally many specific schemas, each requiring specialized implementation of both design and runtime systems, Learning Design provides a generic and flexible language. This language, a version of which is set out in this specification, is designed to enable many different pedagogies to be expressed. The approach has the advantage over alternatives that only one set of learning design and runtime tools then need to be implemented in order to support the desired wide range of pedagogies. The language was originally developed at the Open University of the Netherlands (OUNL), after extensive examination and comparison of a wide range of pedagogical approaches and their associated learning activities, and several iterations of the developing language to obtain a good balance between generality and pedagogic expressiveness.

The current IMS specifications reflect a model of a single user, as a lone learner, interacting with content and being tested. Learning Design provides the capability of designing units of learning that simultaneously include several roles, each of which can be played by several actors. It enables their activities to be specified in coordinated "learning flows" that are analogous to groupware workflows. It thus supports both group and collaborative learning of many different kinds, the importance of which is increasingly recognized in both the commercial training and educational spheres. It can still be used to support the single learner model through the creation of a unit of learning with a single role and no interactions defined between learners. If multiple learners are assigned to the role, they each work with the assigned resources in isolation.

The same mechanism also enables support staff roles to be included in a design, as well as those of learners.

Because Learning Design separates Activities from Activity Structures and these from Roles and Resources, they all become reusable components. They are brought together under the concept of a Method which uses the familiar structure of a Play with Acts and Role-parts in each Act.

Certain Services are also specified in the Learning Design Specification. A Service provides a general function such as an email, conferencing, or announcement service which cannot be specified using a URL at design time, but instead can only be bound by the runtime system when the learning design is instantiated and actual people have been assigned to the various roles. The concept of a Service is not currently supported in Content Packaging where a fixed URL has to be specified at design time. This part of the specification has a separate XML binding so that it can also be used independently of the rest of Learning Design, for example as an extension to Simple Sequencing.

### 1.2.2 Additional Value Added by Learning Design Level B

Learning Design Level B provides for the inclusion of generic properties and conditions. There are two types of property proposed: "Internal" and "External". Internal properties have names and value ranges that are defined at design time and govern the flow of events in a pre-determined manner. External properties and their vocabularies have to be agreed more widely ('globally'). Examples of these are the fields and terms established by the Accessibility specification extensions. Others may be developed in a future version of the IMS LIP Specification.

To the single learner model, Level B adds learner personalization, supporting pre-knowledge, preferences, and accessibility, enabling these to be taken account of in a learning design.

It also supports the learning approach based on "portfolio assessment", increasingly being used in certain types of commercial training, which is based on qualitative assessment of the learner's productions or "portfolio" rather than quantitative or test-based assessments.

### 1.2.3 Additional Value Added by Learning Design Level C

Learning Design Level C introduces notification or "messaging" both between system components and between roles. This adds a new dimension by supporting real-time event-driven work/learning flow.

Activities can then be set as a consequence of dynamic changes to the learner's profiles and/or of events generated in the course of the learning activities. It can also be used to trigger messages being dynamically sent to participants.

More generally, it enables the automation of learning flow activities, which are triggered by the completion of tasks, rather than the learning flows being pre-planned. Collaborative events can be supported where the activities of roles are dependent on the state of the activities of others. These can therefore be designed as a network of event rules rather than as a pre-planned order of events. A consequence of this dependence on runtime events is that the activities set to learners are no longer wholly predictable, they depend on the course of the collaboration. At Levels A and B, the ordering of learners' activities is predictable, although of course at level B through the use of properties and conditions the learning flow may become conditional.

Level C also allows role-play / game-play and event-driven simulations.

## 1.3 Nomenclature

AICC | Aviation Industry CBT Committee
EML | Educational Modelling Language
IETM | Interactive Electronic Technical Manual
LDWG | Learning Design Working Group
LIP | Learner Information Package
LMS | Learning Management System
LOM | Learning Object Metadata (IEEE 1484.12.1 - 2002)
OOP | Object Oriented Programming
OUNL | Open University of the Netherlands
UML | Unified Modeling Language
URI | Universal Resource Identifier
W3C | World Wide Web Consortium
XML | Extensible Mark-up Language

# 2. Use Cases

The following are descriptions of use cases representing the diverse needs of the IMS LDWG membership, including academic, corporate, content, and publisher. From the Conceptual Model, the fundamental concepts behind a Unit of Learning include Role, Resource, Activity, and Method. Additionally, Units of Learning have various meta-data which include Objectives, Title, etc. Since use case development and conceptual model development iterate at the project level, the use cases below have been chosen to validate the conceptual model.

## 2.1 Adapting Units of Learning to Learner Profile

Narrative: One model of learning has an instructor initiate the learning process by identifying desired outcomes for a particular learner. By pre-assessing that individual's prior knowledge and understanding the student's strengths and special needs, the instructor is able to identify relevant activities and pull them together into an individualized unit of learning, which is then delivered to the learner. This use case addresses how a software system could automate parts of this process, bringing value to both instructors and learners.

Primary Actors: Learner, Instructor

Stakeholders and Interests:

- Instructor - guidance of flexibly cast outcomes-based learning experiences.
- Learner (individual and/or group) - engagement in learning experiences suited to their capabilities.
- Organization- providing an efficient infrastructure that enables the capture, tracking, and sharing of units of learning.

Preconditions: The instructor and learner are logged onto the system.

Trigger: The instructor identifies a desired outcome for a student.

Scenario Steps:

1. Instructor matches learner and desired outcome(s) in the system.
2. System retrieves pre-assessment based on prerequisites for desired outcome and delivers pre-assessment to learner.
3. Learner takes pre-assessment and submits results to system.
4. System grades pre-assessment.
5. System uses Learner Information Package, pre-assessment results, and defined outcomes to retrieve relevant activities.
6. Peer evaluation is completed.
7. Units of learning are created.
8. System delivers Unit of Learning to the learner.
9. Learner completes unit of learning and submits results to the system.
10. System delivers post-assessment to the student.
11. Student completes post-assessment and submits results to system.
12. System grades post-assessment and delivers results to educator.

Extensions:

5a. Pre-assessment results show that student does not meet criteria for beginning activities matched to desired outcomes.

5a1. System notifies educator and displays pre-assessment result.

5a2. Educator identifies new desired outcome and returns to Scenario Step 1.

## 2.2 Obtaining Culturally Relevant Content for Problem-Solving

Narrative: In a Grade 6 Social Studies unit, aboriginal students would not use "Canadian" parliamentary procedures to debate an issue; they would use "First Nation" governance procedures. Similarly, responsible citizenship may be defined quite differently for certain situations in First Nation communities. The LMS used by Alberta Distance Learning Center (ADLC) must be able to provide the culturally appropriate content based on the learner's profile, without the human tutor having to literally deconstruct a packaged resource by inserting links, changing questions, adding activities, replacing assignments or processes with others-in other words, physically individualizing the learning environment for each student. Although content (cases, illustrations, examples, etc.) may be personalized, students must be able to work in cross-cultural groups to create an argument for an upcoming online debate.

Primary Actor: Learner, Instructor (Tutor)

Stakeholders and Interests:

- Learner - obtains culturally relevant content as basis of problem-solving activity.
- Instructor - facilitates the learning task.
- Organization - delivers the appropriate content to the target student.

Preconditions:

1. The Learner has a learner profile registered with the System.
2. The System contains content that reflects cultural contexts.

Trigger: The Learner logs onto the System and identifies module in Grade 6 Social Studies unit: "Canadian Governance".

Main Success Scenario:

1. Learner logs on to System using an assigned ID and password.
2. System recognizes Learner and retrieves correct profile.
3. Learner identifies module in Canadian Governance.
4. System checks access to course against learner profile and sees that Learner has authorization for access to module.
5. System makes module available, and assigns Tutor.
6. Learner is assigned to a cross-cultural collaborative group, and receives main problem/question for the debate.
7. Learner prepares individually for the debate, with help from his/her tutor when required. An email message can be sent from the Web page for which the Learner needs clarification or assistance.
8. System receives email form Learner and matches it to location. Page link is inserted in body of email message and forwarded to tutor.
9. Tutor checks system email to see whether or when help is required; replies to email or phones student.
10. Where core concept requires an example, an illustration, a case, etc., System searches content database and provides culturally relevant example

Extensions:

1a. Submitted user data is incorrect or incomplete.

1a1. System prompts for data and is satisfied

1a2. System does not recognize student and he/she is locked out.

2a. System cannot match learner profile to student's ID.

2a1. Student has not completed a profile; is prompted to do so.

2a2. Student is not registered in course. System advises student to contact ADLC.

4a. Module is not available to student.

4a1. Student has not completed prerequisites; System posts advisement.

4a2. Student is not on class list; tutor may override system and add.

4a3. No tutor is available; System advises student and message is sent to administrator.

5a. Student neither receives question nor is assigned to a group.

5a1. Student notifies tutor; tutor assigns mechanically.

5a2. Tutor advises system administrator of system error.

6a. Tutor does not receive email message.

6a1. Student calls tutor.

7a. Student email does not contain URL of problematic page.

8a. Tutor does not respond to email.

8b. Email has not been received. Student sends error message to system administrator.

9a. Culturally relevant content is not found.

9a1. There is no available content of this nature.

9a2. The content is not properly linked to system; tutor assigns mechanically. Notification is sent to system administrator.

## 2.3 Provide Remedial Units of Learning

Narrative: One common instructional model at the tertiary level combines large, 1-hour, large-lecture class meetings taught by a professor with smaller, weekly sessions, run by teaching assistants, which focus on clarifying points of the lectures or facilitating completion of student homework. In an effort to optimize this model, pre-assessments are given to individual students in order to identify missing pre-requisite knowledge and skills, followed by self-paced tutorials meant to address any deficiencies uncovered by the pre-assessment. These self-paced tutorials are assembled from existing materials, based on both their relevance in addressing the specific knowledge and skills identified, and their conformance to the individual student's learning needs. This use case addresses how a software system can effectively automate parts of this process.

Primary Actors: Learner

Stakeholders and Interests:

- Learner - receives instruction specific to deficits in required knowledge and skill, and relevant to individual learning needs.
- Instructor - enables participation of students capable of functioning well in large-lecture course.
- Organization - increases efficiency and effectiveness of introductory courses.

Preconditions:

1. The Learner has been registered with the system and has a learning profile.
2. The Learner has been registered for a qualifying course.

Trigger: The Learner attempts to log in to the qualifying course for the first time.

Main Success Scenario:

1. Learner logs into the System using an assigned id and password.
2. System recognizes the Learner, retrieves the correct profile, and offers the Learner a menu of options, based on access authorizations.
3. Learner makes a selection that corresponds to initiation of a qualifying course.
4. System notifies student that a pre-assessment is a course requirement and prompts the Learner for a decision whether or not to take the pre-assessment at this time.
5. Learner opts to take the pre-assessment.
6. System delivers the pre-assessment.
7. Learner takes the pre-assessment and submits the result to the system for grading.
8. Learner scores the pre-assessment, records the results, updates the learner's profile, and searches for learning activities that address those areas below criteria.
9. System assembles a unit of learning for course remediation, based on the deficiencies uncovered by the pre-assessment and activities aligned with the learner's profile. The unit of learning consists of a set of activity-structures whose sequence is based on the sequence of topics in the qualifying course. Each activity-structure contains a post-test used to verify effective completion of the activity-structure.
10. The Learner completes each activity-structure in order, takes the associated post-test, and submits the results to the system.
11. The System records the results, grades the post-test, and updates the learner's profile.

Extensions:

1a. System may not recognize the student id and/or password.

4a. Learner may opt to take the pre-assessment at another time.

9a. System nay not locate any activity-structures that match the learner's deficits or learning profile.

10a. Learner may not complete an activity-structure in a single session.

10b. Learner may not take or complete the post-test.

11a. Learner may fall below criteria on the post-test.

## 2.4 A Problem-Based Learning Task for Information Sciences and Technology

Narrative: At Penn State, students in Information Sciences and Technologies are involved in courses which emphasize problem-based learning. In any given course, a number of problem-based learning activities are completed. Preparation for these problems includes an introduction to course objectives, policy and structure, principles of problem-based learning, and sample group problem-solving activities. For any given problem-based learning activity, students are assigned to teams and presented with a problem description, objectives, document and presentation requirements, an outline of associated topics, and evaluation rubrics. Students are then assigned a number of discrete learning tasks which address all areas of the overall problem. These tasks include participation in discussion activities, access to subject matter experts, reviewing online content and resources, and online quizzing. Once students have completed all of the discrete tasks, students are evaluated by delivering their problem solution in the form of an in-class presentation and a response document, together with discussion activity participation, self- and peer-assessment, and online low-stakes quizzes.

Actors: Student

Stakeholders and Interests:

- Student - learns about the subject area and achieve an acceptable grade.
- Instructor - helps students develop team problem-solving skills related to information sciences and associated technologies.
- University - enables students to demonstrate knowledge of skills and content for accreditation.

Preconditions:

1. Student understands course requirements and process.

Trigger: Provision of ill-structured problem description with rubric for successful completion of problem.

Main Success Scenario:

1. Student logs onto system.
2. System identifies student and presents problem description.
3. System directs students to problem resources.
4. Students divide problem responsibilities. Is this to say that students self-assign to various discrete tasks? Also, is there an assumption that between Steps 4 and 5, the students actually complete said tasks?
5. Students assemble parts to answer problem definition for response document and presentation.
6. Students consult with instructor regarding outstanding issues.
7. Students submit document and give presentation.
8. Feedback and evaluation from instructor, experts, and peers.
9. Students complete low-stakes quizzes.

Extensions:

4a. Students complete weekly discussion activities.

## 2.5 Completing a Jigsaw Collaborative Activity

Narrative: One common instructional model for K-12 education has students placed in groups of 2-5 members, in which each member has a role. These roles are associated with an activity, based on a set of resources, one of which is a form that is used to record each student's role-artifact. These role artifacts are then aggregated into a group artifact. The group discusses the group artifact and then submits it as a record of their best group work. The system aggregates the artifacts as they are submitted, analyzes the data therein, and displays the results in a way that is meaningful to the teacher. As the evidence accumulates, the teacher may initiate a class discussion, send one or more of the artifacts back for correction or clarification, or move a group on to another activity, with the same or rotated roles. This use case examines how a software system may automate one or more steps in this process.

Preconditions:

1. A set of learners is logged onto the system.

Main Success Scenario:

1. The instructor uses the system to place the learners into groups.
2. The instructor uses the system to assign roles to individual learners.
3. The System notifies the instructor when all learners are successfully logged on, are in a group, and are aware of their role.
4. The Teacher sends an activity, as well as the associated role-forms, to each group.
5. The learners fulfill their roles by completing their forms and submitting the results as role-artifacts.
6. The System accumulates the role-artifacts until the group artifact is complete. When the group artifact is complete, the System makes the completed artifact available to the group members.
7. The group members discuss the group artifact, make changes if desired, and then submit the final artifact.
8. The System accumulates the group artifacts as they are submitted, analyzes the results, and displays the results in a way that is meaningful to the instructor.

Extensions:

1a. The instructor may assign a time limit for the activity, view alternate activities, check that all students present are logged in, etc.

4a. Each group may get the same or different activities.

5a. The system may make the state of the role-artifacts of each learner available for the instructor to view.

6a. The system may make the state of each group-artifact available for the instructor to view.

8a. The groups may vote to submit the form, or the form may be submitted as is, after a timelimit set by the instructor.

8b. The instructor may return a group form for correction or clarification. Forms returned to groups are removed from the aggregate and are not used in the analysis.

Post-Conditions:

1. The teacher has synchronous access to the currently aggregated results and the analysis, and may use these to initiate class discussion, return group forms for correction or clarification, or submit group work to student digital portfolios.

Notes:

1. A form is not necessarily a dialog box with text fields to fill out; rather, it is much more general. For example, an activity may contain simply a picture or graph and the student form is simply a point which the student can move about over the picture or graph. The role-artifact is the ordered pair of coordinates of the student's point. Think of the form more as a tool used to record a student artifact, than as something to be filled in using a keyboard.
2. The aggregated results are kept in layers (by group), so that any subset of the data may be examined.

## 2.6 Designing Content for Re-Use Between Groups

Narrative: Multiple groups within Microsoft develop content on the same technology domain and need to reduce the duplication of efforts in order to provide deeper and richer learning objects. This content is currently saved in separate data repositories. Authors need the ability to query disparate repositories, determine when content has already been developed or is in the process of being developed for a particular learning activity and then include this object as part of their reuse design. During the early stages of development the "content" is only an outline of the intended units of learning for the user experience, objectives, roles, activities, and methods to be used. Once the content is to be packaged, the referenced objects are imported as required.

Primary Actor: Author, System

Stakeholders and Interests:

- Author - reduces the need to natively author content.
- System - ability to code objects to allow import/export between separate systems in both a finished and a raw state.
- Business - ability to provide base content earlier and deeper content more often.

Preconditions:

1. Internal groups and partners have authoring tools in production or being developed that are capable of packaging and interchange based on an agreed upon scheme.

Trigger: Author queries object repositories on meta-data elements.

Main Success Scenario:

1. Author searches for content using meta-data elements and/or attributes.
2. System returns result set of possible matches.
3. Author reviews meta-data and/or content.
4. Author re-uses object within content map.
5. System links found element reference to location within content map.
6. Author packages content.
7. System includes externally referenced elements in package.

Extensions:

1a.No results found.

1a1. Metadata elements not present.

1a2. Database connection not available.

7a.Elements not publishable.

7a1. Content deleted.

7a2. Content not ready.

7a3. Permission denied.

## 2.7 Reduce Content in Learning Path Based upon Learner Profile

Narrative: Customers are asking for (demanding) the ability to solve business problems in less time. The time to take a traditional sequenced course over 3-5 working days is no longer possible for many. And at times the content may cover objectives the learner has completed in previous courses, a pre-assessment covering multiple content organizations or through on-the-job experience.

Primary Actor: System, Learner, (Instructor)

Stakeholders and Interests:

- Learner - reduces the time required to reach learning objectives, validating their prior knowledge either through a "test out" of content or accessing their learner profile.
- Business - trains customers in a shorter period and improve deployment of software and satisfaction levels.

Preconditions:

1. Authors have written assessment items and added meta-data mapping pre-requisite knowledge needed to skip over or point to necessary objects.

Trigger: Learner launches link to content on a particular domain of knowledge.

Main Success Scenario:

1. System provides pre-assessment option.
2. Learner chooses to assess previous knowledge from on-the-job experience.
3. System presents bank of QTI items.
4. Learner submits responses to individual questions, case studies, etc. in a sequential order.
5. Learner chooses to score results.
6. System provides feedback on entire pre-assessment results (displaying information on possible areas needing attention or remediation).
7. System maps individual QTI item results to prerequisite mastery needed within requested content domain.
8. System adapts learning track and offers alternate learning path based upon assessment results.
9. Learner chooses alternate path.

Extensions:

1a.Instructor looks to provide shortened course and teach just what needs to be taught (async activity).

1a1. Instructor creates item bank covering multiple knowledge domains.

1a2. Instructor sends link to pre-assessment to enrolled students.

1a3. Student(s) take pre-assessment.

1a4. System scores results and adds mastery scores to learner profile.

1a5. Instructor creates new learning path for bulk of content and assigns pre-work to individual student(s).

8a.Learner has taken previous courses covering overlapping objectives (i.e., Windows 2000 Server has similar functionality repeated in Windows XP course content).

8a1. System maps learner profile to current content and provides alternate learning path.

## 2.8 Using Virtual Labs

Narrative: Learning designers want to take advantage of labs, chat, mentoring, and other functionality provided in many current learning delivery systems with some assurance that a call to such a service will not result in a "broken link" and that some alternate experience can be created.

Primary Actor: System, Learner, Tutor

Stakeholders and Interests:

- Learner - able to have a richer, more integrated learning experience.
- System - capabilities of system are exposed and utilized.
- Business - better chance of achieving knowledge transfer, intentions of learning designer translate into delivered behaviors.

Preconditions:

1. Authors have written content that includes services and resources outside of the published content.
2. Content delivery systems are "listening" and have services available.

Trigger: Content includes a virtual lab reference.

Main Success Scenario:

1. Learner selects virtual lab.
2. System opens lab environment.
3. Learner completes lab activity.
4. Learner closes lab session.
5. System ends lab session.
6. Learner returns to content and completes learning objective.

Variations:

2a. System does not have resources available.

2a1. Content provides option if lab capabilities do not exist.

2a2. System displays alternative content.

3a. Learner leaves lab session in incomplete state.

3a1. Learner closes lab activity.

3a2. System preserves lab environment.

3a3. Learner continues with other activities within the learning path.

3a4. Learner returns to lab activity.

3a5. System recalls and opens previous lab state.

3b. Learner requires assistance during lab activity (synch).

3b1. Learner requests mentoring assistance.

3b2. System opens a chat window and points to lab in question.

3b3. Tutor in particular domain responds and inquires about learner's problems.

3b4. Learner inputs problem, referring to dialog box in lab activity.

3b5. Tutor lists procedural steps for learner to try.

3b6. Learner attempts steps (success) in lab activity.

3b7. Learner responds to Tutor that the steps worked.

3b8. Learner closes chat window and requests to save chat transcript for future reference.

3b9. System saves transcript in note section associated with lab activity for the learning object and closes chat window.

3b10. Learner completes lab activity.

3c. Learner requires assistance during lab activity (asynch).

3c1. Learner requests mentoring assistance.

3c2. System opens an email window with a subject referencing the lab activity.

3c3. Learner inputs question into email dialog, referring to dialog box in lab activity, and sends email.

3c4. Learner closes lab activity.

3c5. System preserves lab environment.

3c6. Learner continues with other activities within the learning path.

3c7. Tutor in particular domain responds and lists procedural steps for learner to try.

3c8. System notifies Learner of response from Tutor.

3c9. Learner opens email response.

3c10. Learner opens lab activity.

3c11. Learner attempts steps (success) in lab activity.

3c12. Learner completes lab activity.

## 2.9 Blended Learning Delivery

Narrative: Blended Learning is a NETg feature by which a course includes components that do not fall into the traditional mold of 'sequenced content'; a FAQ, a glossary, references, resource documents for the student to work with, etc. Alternately, in a Blended Learning environment, the role of learning objects themselves may be different than in a traditional course; the learning objects may simply be instructions for the student to perform some real-world task in an application other than the learning content. The performance of this task may also require a different scoring paradigm than the standard "learning object reports a score" paradigm; there may need to be a human in the loop or other scoring options may need to be explored.

Further, in a Blended Learning environment, the role of assessment may be different from that described in the adaptive pre-assessment environment. The assessment may be integrated with the individual content objects, or there may be a single task object that provides an assessment in an authentic context over a set of content objects. These task assessments may also exist multiple times, and there may be relationships between these multiple assessments; for example, one may be an assessment with a high degree of scaffolding and assistance for the learner, and another may be an assessment where there is virtually no scaffolding or assistance. These relationships must be explicit so that the role of each object is clear.

Primary Actor: Learner

Scope: The system under discussion in this use case is the Learning Content.

Level: Summary

Stakeholders and Interests:

1. NETg: Contract with multiple vendors of LMSs to enable NETg content to be delivered with the highest fidelity to the original design, without individual development effort.
2. Learner: Receive the highest quality educational experience from the learning content.
3. Learner's Organization: Provide on-the-job training with maximum results at minimum expense.
4. LMS Vendor: Deliver NETg content in a high fidelity manner at minimum expense.

Preconditions:

1. NETg and the LMS Vendor have a contractual relationship to deliver NETg content.
2. The Learner has an account (presumably through the Learner's Organization) with an instance of the LMS Vendor's system.
3. NETg content is loaded on the LMS Vendor's system.

Trigger: Learner launches an instance of NETg Blended Learning content under a 3rd party LMS.

Main Success Scenario:

1. Learner logs in to a 3rd party LMS and launches an instance of NETg content.
2. Learner interacts with the content as it was designed by NETg.
3. Learner logs off of the LMS, terminating the experience with the NETg content.

Extensions:

2a. It may be that the content contains reference objects, such as a glossary or FAQ. In this case, the content should indicate the 'scope' of these reference objects, and the LMS should make them available at the appropriate time, as defined by the content. It may be that the definition of 'available' is determined by LMS policy, or it may be specified in the content (i.e., whether 'make available' means 'provide a link' or 'automatically deliver' or something else entirely).

2b. It may be that the content is in the form of an external task, and everything that would normally be standard content is actually reference material for that external task. In this case, the delivery system should make the task available to the learner, and make all of the reference material available at the appropriate time, as defined by the content.

2c. It may be that the content is in the form of multiple task-based assessments, each of which has a different set of reference material and operational guidelines related to it. In this case, the delivery system should present the assessments according to the rules presented in the content, and the relevant reference material should be made available along with each assessment.

2d. It may be that the content is actually a set of instructions to use a real world application to perform some specific task. In this case, there will need to be an association between the task and the support material (both reference material and standard content), and the support material will need to be available to the learner at the appropriate time.

## 2.10 Adaptive Learning Delivery

Narrative: NETg wishes to be able to deliver content in an adaptive manner based on characteristics of the learner (for example, those found in NETg's Learner Profile project). There are many possible adaptive interventions that can be taken based on learner characteristics. For purposes of illustration, consider that learners with high inductive reasoning generally benefit from seeing concrete examples before conceptual material in a learning presentation, while learners with lower inductive reasoning generally benefit from seeing the conceptual material first, then the concrete examples. Alternatively, consider that learners with high social skills may benefit more from synchronous interaction with their peers, while those with lower social skills may benefit more from asynchronous interaction. These are merely two ways in which adaptive delivery might benefit a learner, and are presented as examples for the purpose of illustration, not as an exhaustive list.

Interoperability of such adaptive delivery would be enabled by a specification that identified the individual components of any given bit of content. Such a specification should clearly describe the educational role played by each piece of content, and how they relate to each other. Further, the specification should allow for the creation of rules embedded in the content that would allow content authors to describe how the presentation of the content should be adapted for the needs of the individual learner.

Primary Actor: Learning Delivery System

Scope: The system under discussion in this use case is the Learning Content.

Level: Summary

Stakeholders and Interests:

1. NETg: Enable the best possible learner experience from NETg content, in an interoperable manner.
2. Learner: Receive the highest quality educational experience from the learning content.
3. Learner's Organization: Provide on-the-job training with maximum results at minimum expense.
4. LMS Vendor: Deliver NETg content in a high fidelity manner at minimum expense.

Preconditions:

1. NETg and the LMS Vendor have a contractual relationship to deliver NETg content.
2. The Learner has an account (presumably through the Learner's Organization) with an instance of the LMS Vendor's system.
3. NETg content is loaded on the LMS Vendor's system.

Minimal Guarantees:

1. The content is delivered to the learner as presented in the descriptions packaged with the content (such as an IMS Manifest) without modification.

Success Guarantees:

1. The content is presented to the learner in the manner that will best serve that learner's needs as a learner, to the extent that said manner can be ascertained.

Trigger: Learner launches an instance of NETg Adaptive Learning content under a 3rd party LMS.

Main Success Scenario:

1. Learner logs in to a 3rd party LMS and launches an instance of NETg content.
2. LMS modifies the presentation of the content according to: the rules embedded in the content, its own presentation rules, and the known characteristics of the particular learner.
3. Learner logs off of the LMS, terminating the experience with the NETg content.

Extensions:

2e. It may be that the characteristics of the particular learner are unknown. In this case, the LMS should follow any rules that are learner independent, whether those rules are embedded in the content or local to the LMS.

2f. It may be that the rules embedded in the content contradict the rules that are local to the LMS. Proper behavior in this case is outside of the scope of this use case.

# 3. Designer's Guide

## 3.1 Using Learning Design for Different Pedagogies

The question of how one may use Learning Design to accommodate different pedagogies has been discussed throughout this guide. Section 1.3.4 for instance, contains such a discussion. More importantly, the use cases and examples presented, cover a variety of different pedagogies, thus underscoring Learning Design's capability to support multiple pedagogies. Finally, the Telestia use case features a double play, that each may be conceived of as a different pedagogical approach towards designing patterns.

## 3.2 Developing a Unit of Learning

### 3.2.1 Introduction

The design and development of education is an incremental process that systematically follows the stages of analysis, design, development, implementation, and evaluation. Instrumentation differs for each stage, depending on specific goals, settings, and actors that play a role during that stage. The LD Specification is a notation system, enabling flexible, personalized, interactive education, based on a variety of pedagogical views. Although it shows its strengths mainly during the design and development phases, in real life one, of course, cannot dispense with the other phases.

- In the analysis phase, a concrete educational problem (use case) is analyzed, usually by talking to the various stakeholders. What matters here is that the analysis results in a didactical scenario that is captured in a narrative, often on the basis of a checklist.
- The narrative then is cast in the form of a UML activity diagram in order to add more rigor to the analysis. This is the first design step. The UML activity diagram then forms the basis for an XML document instance that conforms to the LD spec. This is the second design step.
- This document instance subsequently forms the basis for the development of the actual content (resources) in the development phase.
- The content package with both the resources and the learning design will then be evaluated.

This section provides some guidelines for the design phase. It assumes the availability of a narrative, although it discusses the kind of information one should include in a narrative in order to be suitable for our purposes. The development and testing phases, as we well as the analysis phase proper are out of scope. This does in no way imply that they are of lesser importance. Their discussion would, however, make us stray from our present purpose, which is to illustrate how one may work with and implement the Learning Design Specification.

In the remaining sections, we will first discuss the general framework for Learning Design, in particular the Levels A, B, and C at which it operates (section 2). In section 3 we will give a run down of the elements in the method element, paying particular attention to the way they are related to each other (this is of course, formally specified in the Information Model). Section 4 is devoted to a detailed examination of the analysis and design phases of the development of educational experiences. Section 5, finally, discusses in detail an example use case. Here, we'll see how a story (narrative) of what the educational experiences should be like results in kind of work flow diagram, which, in its turn, gives rise to the actual XML code as specified in the binding document. The discussion is divided in two parts. First we'll use a simplified version of the use case example to illustrate how one creates a design for level A only, then we'll use the original, more complex version to illustrate the design of learning designs that require levels B and C.

### 3.2.2 A Framework for Learning Design

At Level A, Learning Design specifies a time ordered series of activities to be performed by learners and teachers (role), within the context of an environment consisting of learning objects or services (see Fig. 4.2.1 for a UML diagram that shows how the various terms used here hang together). Analysis of existing design approaches (see e.g., Koper, 2000, 2001, 2002) revealed that this was the common model behind all the different behaviorist, cognitive, and (social) constructivist approaches to learning and instruction.

Most formal learning design strategies start reasoning from learning objectives, but one may also start from the learning activities, the support activities (usually provided by the teacher), or the environment. Often, a lot of design variables are already fixed and thus are constants in the design process. For instance, in most situations the roles are predetermined (student, teacher, mentor, assessor, etc.), and so is the global time schedule (e.g., semesters). Focusing on the knowledge transfer tradition, it is implicit that the learning activities always are variants on the theme: 'learn the knowledge provided'. In this case, one may concentrate on the question what knowledge and what test resources one should provide. In classroom teaching teacher activities are constrained by the possibilities the classroom affords.

Figure 3.1 - Conceptual model of overall Learning Design structure at level C; UML class diagram; major classes are grayed to enhance readability.

For more advanced learning purposes, properties and conditions, and notifications are required. Levels B and C of the Learning Design Specification provide these. Properties, specified at Level B, are needed to store information about a person or a group of persons (role). So for a student its progress may be stored, perhaps in a dossier; for a teacher information on papers graded may be stored. Conditions, also part of Level B, constrain the actual evolution of the didactic scenario. They are set in response to specific circumstances, preferences, or the characteristics of specific learners (e.g., prior knowledge). An example of a condition would be 'when the learner has learning style X, present the activities in random order'. The idea is of course that randomness allows the student to freely explore the materials. Notifications, specified in addition to the properties and conditions of Level B at Level C, are mechanisms to trigger new activities, based on an event during the learning process. For instance: the teacher is triggered to answer a question when a question of a student occurs; or the teacher should grade a report, once it has been submitted.

From the point of view of the Learning Design Specification, the learning-design element is the top level element. However, a learning design is typically (though not necessarily) embedded in an IMS Content Package, where it is placed with the Organizations element:

    manifest
       metadata
       organizations
          learning-design
       resources
       manifests (submanifests of included packages)

It can therefore be seen as a more sophisticated alternative to the original Organization and item, which provides a hierarchy of tree-structure for the underlying content. Note that as content packages can be nested using embedded sub-manifests, when Learning Design is embedded in a content package, existing content packages can be reused and referenced from within the learning-design element. Learning Design can thus be seen as a higher level 'wrapper' for learning content and services that supports the coordination of multiple users and adds a number of other features. The information model illustrates in very general terms how to prepare a Content Package that contains a learning design.

### 3.2.3 Introducing the Elements in Learning Design

The following list shows the way the major elements of the Learning Design Specification are hierarchically ordered (an asterisk * means that an element may occur more than once):

    learning-design
       title
       learning-objectives
       prerequisites
       components
          roles
             learner*
             staff*
          activities
             learning-activity*
                environment-ref*
                activity-description
             support-activity*
                environment-ref*
                activity-description
             activity-structures*
                environment-ref*
          environments
             environment*
                title
                learning objects*
                services*
                environment-ref*
                metadata
    method
          play*
             act*
                role-parts*
                   role-ref
                   activity-ref
    metadata

We will now discuss the individual elements in some detail. For a more detailed discussion, consult the Information Model.

#### 3.2.3.1 Method, Play, and Role-Parts

If you want to design a learning scenario, the element to start with is the method element. It is to be found towards the end of a learning design XML document. So the method element contains a nested structure of play, act, and role-part elements. The play element (often only one) contains a number act elements. These acts will be run in sequence, each one being triggered by the end of the preceding one. The play is complete when the last act is completed. The transitions between acts thus form a set of synchronization points for all the participating roles.

Note that if there is more than one play element, these will be run in parallel (this was found necessary to accommodate certain situations such as when a teacher activity has to run across all the act sequences of the learners).

Within an act there is a set of role-parts. These are run in together in parallel. This enables different roles to do different things at the same time. The most common use is for different activities to be given to learners and teachers, but it also allows different tasks for different subsets of learners to be managed, as for example in role-plays.

#### 3.2.3.2 Role-Parts are the Link to Components

role-parts are the element that links the method section to the components. A role-part contains a reference to a role and a reference to an activity (typically an activity-structure but this can be by-passed and reference may be made directly to a learning-activity or a support-activity or even directly to an environment). This effectively assigns the activity to the role for this act. (Think of the activities as the scripts for the different roles that will be on stage together in an act in a theatre play.)

#### 3.2.3.3 Acts and Activity-Structures

The significance of this is that an activity-structure is always something that is assigned to a role at a particular point in the learning process. It is particularly important to understand this when translating from a human description into a learning design. The hardest part of this process is determining what should go in the sequence of acts and what should go into activity-structures, and some paper-based going back and forth is often needed in the design stages, especially if it is a complex design.

While a role often has multiple players (e.g. individual learners) assigned to it, at runtime each player in that role gets separately presented with and separately uses the assigned activities and its associated learning objects and services. Therefore, activity-structures cannot be used to coordinate multiple individuals. If they are to collaborate or work together at the same time, this has to be through a service in their assigned environment which supports this, such as a conferencing system. Also notifications may be used to trigger activities across roles. Coordinating the activities of different roles across time, and getting different roles to do different things at the same time, requires acts.

#### 3.2.3.4 Components

The elements role, activity-structure, learning-activity, support-activity, and environment are all included in the components section. Think of this as the collection of parts that are reusable within a learning design. As mentioned above, the role-part provides the link into this collection by specifying a role and an activity. An activity in turn references an environment which contains the learning-objects and services that are to be used by someone when they engage with the activity.

#### 3.2.3.5 Activity-Structures, Sequence, and Selection

An activity-structure contains either simple activities (a learning-activity or a support-activity) or other activity-structures. Referencing other activity-structures means that you can form an arbitrarily complex structure of activities. Typically this forms a tree hierarchy, but other types of structure are also possible.

From the point of view of modeling a learning design, an important feature to note is that activity-structures have an attribute called structure-type, which can have one of two values, sequence or selection. The default, if it is not included, is set to selection. This means that when it is presented to the user, all the lower level activities must be presented as some kind of menu or navigation aid for the user to select which activity to carry out, when and in what order. If the structure-type is set to sequence, then it means that the lower level elements must be presented to the user in sequence. It is quite possible for a sequence activity structure to contain a selection activity structure and vice versa. Thus for example, there might be a sequence of beginning, middle and end, but the middle consists of a user-selectable activity structure.

Again, it is important to bear in mind that each user will be tracked and presented individually with the sequence and/or individually make their selections from the activity structure.

#### 3.2.3.6 Activities

An activity (learning-activity or support-activity) has a number of parts. They can have their own learning-objectives, prerequisites, and meta-data. Typically, they also have a reference to an environment which will contain the learning objects and/or services to be used in that activity. They also have an activity-description which is typically a reference to Web page which provides information, description, instructions about what the user should do in this activity. In some cases this is sufficient, and may be all that is needed for example to describe offline activities that are to be carried out. However, it typically tells the user what they should be doing with the resources contained in the associated environment. By tagging it separately from the resources in its environment, the runtime system can treat it differently, perhaps always keeping it available on a tab or menu for the duration of the activity.

#### 3.2.3.7 Tracking References

Most links between elements in a learning design XML document instance are made by using references. XML supports a special attribute called an identifier. When given to an element, this attribute must be unique within the document (and have no spaces in it).

This unique name allows an element to be referenced from elsewhere in the document and again XML provides a special attribute which references the identifiers. Many Learning Design elements contain such references. These generally start with the name of the element type and always ending with "-ref".

In order to track a reference you have to go to where the types are included in the documents and then search through the identifiers of the elements to find the one being referenced. These in turn often contain references to other elements and so on. This multiple referencing can make manually tracking through a large design quite difficult. Some editors keep track of the names of identifiers and show them in a specific window. This saves you a lot of searching work. Naming your identifiers in a clever way, helps too. It is a good practice to preface a name of an activity-structure with, say, the label 'AS' and an act with the label 'ACT', etc. (see the worked out example below). An activity-structure may then look as follows:

    <activity-structure identifier="AS-introduction" structure-type="sequence">

This helps you to identify quickly the kind of element you want to refer to.

#### 3.2.3.8 Why Reference? Why Not Nest?

It might be asked why references are so extensively used in learning design: why not just nest things inside each other which would make them easier to find? The answer is that referencing makes the elements reusable in different places: the same roles occur in different acts, the same activities can be part of more than one activity structure, and so on. If they were actually nested, they would have to be replicated (copied) everywhere they were used more than once. Apart from making the document much larger, the biggest problem comes in maintenance: a change or correction in one place means that it has to be changed in every occurrence with greater likelihood of errors and inconsistency. Referencing also makes the elements more reusable between learning designs. They can be more easily identified, extracted, classified and made available for re-assembly on other learning designs.

### 3.2.4 The Design Phase Examined in Detail

The starting point for the creation of a design is a use case narrative. For the narrative to contain sufficient detail, it should conform to the following document structure, which is derived from Alistair Cockburn's use case template:

Title - a very short description.

Narrative - a general description of the use case in educational terms (see below).

Primary Actor - student in student led learning, teacher in teacher led situations.

Scope - runtime systems involved in the delivery.

Level - description of the level of complexity.

Stakeholders and Interests - a discussion of the roles and their respective responsibilities.

Preconditions - a specification of what is needed in order to provide the student with learning experiences.

Minimal Guarantees - role specific preconditions.

Success Guarantees - role specific demands for the learning experience to be successful.

Main Success Scenario - relate to the runtime systems involved.

Extensions - various failure scenarios.

The narrative should be structured in the following way

Title - a very short description.

Provided by - author, institution, etc.

Pedagogy/Type of learning - case based, problem based, individualized linear, etc.

Description/Context - idem

Learning objectives - idem

Roles: - the various participants, such as student, tutor, assessor, etc.

Different types of learning content used - local texts, internet pages, multimedia DVDs.

Different types of learning services/facilities/tools used - external expert, groupware.

Different types of collaborative activities - among students, between students and tutors, etc.

Learning activity workflow - how Actors / Content / Services interact.

Scenarios - e.g., the same content may be used for face-to-face and distance learning.

Other needs / Specific requirements - e.g. accessibility, specific target groups, etc.

The following steps are to be taken in order to proceed from a description of an educational problem to a learning scenario, captured as an XML document instance to conforms to the Learning Design Specification. Step 1 coincides mostly with the analysis phase, steps 2 and 3 with the design phase:

1. The analysis phase should result in a didactical scenario that is captured in the form of a narrative. On the basis of a specific pedagogical view the narrative describes a complete learning experience in terms of a number of scenarios, both from the point of view of the learner(s) and the support staff (teachers) involved. In the words of Martin Fowler: "A scenario is a sequence of steps describing interactions between user and system. (...) A use case is a set of scenarios tied together by a common user goal. (...) Often, you find that a use case has a common all goes well case [scenario], and many alternatives that may include things going wrong and also alternative ways that things go well." (Martin Fowler, 2000, pp. 39-40. UML Distilled, 2nd ed., Addison Wesley). A use case focuses on the work flow element. A specific template will be used to represent the use cases.
2. In the first of these, the narrative of the analysis stage is taken and cast in the form of a series of (nested) UML activity diagrams. The UML diagrams capture the workflow aspects of the narrative. The UML diagram is an intermediary step, a kind of semi-formalization if you like. A UML diagram is much more rigorous than a narrative, but contains significantly less detail than an XML document instance. Activity diagrams are used as they are well-suited to depict a workflow and parallel processes. Parallel processes are likely to occur when a variety of roles are distinguished with different responsibilities. In such cases swimlanes will be used to describe which role is responsible for which activities. The diagrams are of a composite nature in order to reflect the hierarchy of activities, activity structures, role parts, acts, and plays. Acts and role parts will be drawn in a single diagram, if needed the various activities that constitute a role part may be drawn in separate diagram for readability reasons.
3. On the basis of the UML activity diagrams a XML document instance for the unit-of learning will be put together. Any XML document instance should be a valid against the LD Specification.

The XML document instance forms the basis for developing the actual content (phase 3). This final steps, which involve creating the physical resource files, linking them to the design and packaging all of them into a content package, will not be considered here. This obviously is an important step as it is required to create actual educational experiences. However, here we shall rest content discussing the learning design only.

The above advice on the sequence of steps to be taken is valid for creating XML document instances from narratives. When it comes to 'reading' existing document instances, one had better start with the method and work one's way down starting with the play element and then on to act, role-part, activity-structure elements all the way to the individual learning-activity or support-activity elements.

Since the Learning Design Specification may be considered a special kind of organization in the Content Packaging's Organizations element, we will not duplicate discussions that really belong to the Content Packaging Specification. Thus resources, nor meta-data or possible submanifests will be discussed here. The use cases are confined to the Learning Design Specification only.

We will now carry out the above steps in the context of an actual use case.

### 3.2.5 An Example Use Case

The example use case has been provided by Travis Carlton of the Boeing Corporation, and discusses the replacement of a fuel valve in an aircraft's wing. The use case description has been put in the format the LD group agreed on using. The example use case has been split into two parts. The original use case contains a complicated testing procedure which demands the use of conditions and properties. In the first part, we have therefore left this procedure out, in order to be able to illustrate the design of a Level A instance document. In the second part, the full use case will be dealt with. Finally, where information was lacking, we've added comments [in square brackets].

#### 3.2.5.1 An Example Use Case at Level A

3.2.5.1.1 Step 1: The use case description

The first step is to provide a description of the use case in the form of a narrative. Only the narrative has been detailed here, as this is most needed to perform steps 2 and 3 (required field names underlined). This means that, relative to the original formulation of the use case, the order of paragraphs has changed, but the text itself has remained intact with the exception of one paragraph.

Title: Boeing Fuel Valve Removal

Provided by: Travis Carlton (Boeing); simplified to fit LD level A and cast in the LD format by Peter Sloep and Hans Hummel (OUNL)

Pedagogy/type of learning: Not discussed in original; the description shows that we're dealing with a kind of individual, self-guided learning.

Description/context: The Fuel Valve Removal course is a fictitious example representing part of a maintenance technician's curriculum. It is assumed that the student will have completed courses that familiarize the student with the vehicle and its systems prior to taking this course. The fuel valve removal course teaches how to remove a fuel valve from a fictitious aircraft's wing in order to service the valve. To enable access to valve, the proper door and the fuel quantity transmitter must be removed.

Learning objectives: Clearly, the objective is that the student should be able to competently remove a fuel valve from a fictitious aircraft's wing.

Roles: From the description, it is clear that there is only one kind of actor and role: the student.

Different types of learning content used: Although this discussion uses the term 'course' the term is meant only as a convenient way to describe the group of instruction in the example. The example may also be considered in terms of an AICC's conceptual notion of a 'Learning Object'.

This discussion refers to the first block and its instructional modules as an introduction. The second block is referred to as the lesson block and the modules are called lessons. The lesson and exam blocks also allow the student to view the Interactive Electronic Technical Manual (IETM). The final block is the test block with the first two tests grouped so that the student only sees them as a unit called the knowledge test. The last test in the test block is a simulation-based test called a performance test.

Different types of learning services/facilities/tools used: [The IETM is the only facility offered.]

Different types of collaborative activities: None

Learning activity workflow (how actors/content/services interact): The course is comprised of three blocks. The first block serves as an introduction, the second block contains the actual lessons, and the third block consists of tests.

Block 1: Fuel Valve Introduction

Fuel Valve Lesson Intro

Fuel Valve Theory of Operation

Block 2: Fuel Valve Lessons

Fuel Valve and Quantity Transmitter Components

Fuel System Hazards

Fuel Valve Removal Procedure

Preparation

Remove Door

Remove Transmitter

Remove Valve

Block 3: Tests

Knowledge Test

Fuel System Components

Fuel System Hazards

Performance Test (simulation)

Removal Simulation (Prep, Remove Door, Remove Transmitter, Remove Fuel Valve)

The overall course is ordered sequentially where each block must be completed before proceeding to the next block.

The first block is taken as a whole, started when the student chooses the Fuel Valve Introduction menu item.

The second block is displayed as three choices. When the student has completed the introduction block, only the first two lessons in the second block are enabled, allowing the student to take either of the first two lessons in any order. Although he may take these two lessons in any order, he must complete both before proceeding to the third lesson (i.e., the first two lessons, which may be taken in any order, are prerequisites to the third lesson). The third lesson teaches the actual steps needed to perform the fuel valve removal procedure in the required order. At any step in the lesson, he may view the IETM job performance aid for that step in the procedure.

The tests are not enabled until all three lessons have been completed. The first test is a standard question/answer knowledge test consisting of two sections. After the knowledge tests are completed, the student may take the performance-based test. This test consists of a 'simulation' of the environment in which the student must 'perform' the correct steps in the correct order within a certain time limit. During the simulation, the user may launch and use the IETM much like an open book exam. This example use case in this paragraph has been simplified compared to the original to fit LD Level A.

Other needs/Specific requirements: None

3.2.5.1.2 The UML Diagram

Constructing a UML activity diagram for a learning design on the basis of a use case narrative typically entails a number of steps. Obviously, the order in which the steps are taken here is only a suggested order, not a mandatory one. The creation of a learning design typically is an iterative process, in which one leaps forward and back tracks according to ones personal preferences, the specifics of the use case and one's experience. For the inexperienced, the order suggested here will at least work. UML diagrams primarily are meant to provide an overview and a shared visual insight into complex flows of activities, and secondarily they are an exact way to formally model these flows. Formalization takes place in step 3.

UML activity diagrams place activities in a sequential or parallel order. Choices are allowed and activities may be nested. Also, responsibilities for activities may be indicated by the use of swim lanes. This suggests the following series of steps.

Figure 3.2 - UML activity diagram for the simplified Boeing use case.

1. As a first step one identifies all the activities, learning-activities or support-activities, name them and list them roughly sequentially. Naming is important as these names will end up in the XML-document instance.
   In the Boeing use case they are listed in the course outline.
2. The second step is to identify the different roles. If there are two or more roles, the activities have to be sorted by role. Activities that belong to two or more roles should be mentioned twice or accordingly more often. Activities that belong to, say, the learner role end up in the learner swimlane, those that belong to the teacher in the teacher swimlane, etc. This way a swimlane is related to a role-part in the XML document instance.
   In the present use case there's only one role: learner.
3. Step 3 looks at the activities within each swimlane: do they follow one another sequentially or are there alternative routes from which one may choose or are there alternative routes that run in parallel? All may be modeled using the appropriate UML symbols, a choice is depicted as a branch and a merge, a parallel route as a fork and a join. These symbols are now inserted in the swimlanes. Typically forks and joins cross swimlanes, branches and merges do not. For all but the simplest of use cases drawing branches and merges or forks and joins, requires the use of composite activities, either within the same diagram or in separate diagrams.
   Here, we only have one choice and join: the activities 'Fuel Valve and Quantity Transmitter Components' and 'Fuel Valve Hazards' may be run in any order. But since the branch-merge is part of an overall sequence, the diagram is a composite one.
4. At this fourth stage we have a diagram with various activities, ordered sequentially, possibly with some alternative routes. The activities in the diagram correspond to the learning-activities and support-activities, the headers in the swimlanes to the roles. Now, activities should be grouped in order to indicate if they are to follow each other sequentially or if there's a choice. Sequences and choices are indicated by setting the activity-structure's structure-type to either sequence or selection. Activity-structures correspond to composite activities. Preferably they should also receive appropriate names now.
   In the Boeing use case, we have only one selection in an overall sequence.
5. Step 5 is concerned with the forks and joins. Between a fork and a join a parallel route is depicted. If a fork-join concerns activities that cross a swimlane, this means that at least two role-parts have to be synchronized. Synchronization may occur at the start and endpoints - as in the Boeing use case - or in between. If the latter is the case, the activities between the fork and the join belong to a separate act. As role-parts do not cross the boundaries of acts, the swimlane or swimlane segment between a fork and a join automatically indicates the role-parts that are to be distinguished.
   In the Boeing use case there's only one swimlane. Furthermore, forks and joins are missing entirely. So we're only dealing with one act here. This makes sense as each student works individually and should not be held up by others who move on more slowly.
6. Strictly speaking, there's a sixth step, involving the decision to have one or more plays. Multiple plays may for instance be used when alternative didactic scenario's need to be specified. A case in point would be a course covering the same material that is to be delivered either in a distance learning or a blended learning mode. The choice between either play may be made by the teacher when the course is instantiated or at runtime. But even the student may in runtime decide which play to follow, or even to switch between plays. As this is irrelevant to the Boeing use case, we will not go into it any further. Suffice it to say that an alternative activity diagram needs to be drawn that involves the same activities or a subset or superset of them. See the Learning by Doing example (section 3.4) for an example of the use of two plays.

3.2.5.1.3 Step 3: The XML Document Instance

In a way similar to the steps taken to move from the narrative to the UML diagram, a number of steps are now needed to proceed from the UML activity diagram to the XML document instance. Also, similar qualifying remarks apply to the order in which the steps have to be taken.

1. Step 1 is a relatively simple, but nonetheless important one: determine a title. The title should reflect the kind of didactic scenario followed rather than the kind of content modeled with this particular scenario. After all, the title characterizes the learning design. The title of the content package of which this particular scenario is a part, should reflect the kind of content it contains. So a course called 'Mathematical Modeling in the Life Sciences' may be modeled with a self paced learning scenario, a problem based learning scenario, or any other kind of appropriate scenario. At this stage, references to the learning objectives and prerequisites of the course should also be created. This is done via the item element. Item elements refer to individual physical files, stored as content packages; hence the reference to the Content Packaging Specification

    <?xml version="1.0" encoding="UTF-8"?>
    <!-- edited with XML Spy v4.4 U (http://www.xmlspy.com) by Peter Sloep and Hans Hummel -->
    <learning-design identifier="LD-boeing-simplified" uri="URI" level="A">
       <title>Boeing Fuel Valve Removal simplified</title>
       <learning-objectives>
          <item identifierref="" identifier="LOB-learning-objectives"/>
       </learning-objectives>
       <prerequisites>
          <item identifierref="" identifier="PREQ-prerequisites"/>
       </prerequisites>
       <components>
          <!-- to be detailed in step 2 -->
       </components>
       <method>
          <!-- to be detailed in step 3 -->
       </method>
    </learning-design>

1. Step 2 relates to the components. There are four kinds of components: roles, properties, activities, and environments. The UML activity diagram tells us what roles to discern, they are in the headings of the swimlanes. It also tell us what activities and activity-structures to discern. They correspond to respectively the individual activities and the composite activities. Environments are not part of the UML activity diagrams. However, they are of course described in the use case narrative. At this stage, it is useful to identify the environments. Properties may be described now too.
   In the simplified version of the Boeing use case there is one role only, the student, and there are no properties at all. All the activities are learning activities as students are not supported in any way by a teacher or tutor, nor do they support each other. There are six activity structures; four (introduction, lessons, removal procedure, tests) consist of learning activities only and one of them (lessons) is a selection, the others are sequences. The introduction corresponds to Block 1, the tests to Block 3 in the narrative. The two remaining activity structure consist of activities structures only. The first of these combines the two activity structures that consist of lessons, thus constituting Block 2. It has not been drawn in the activity diagram, nor has the activity structure that encompasses all blocks. There is one environment, the IETM, which may be consulted by the students during the lessons (Block 2) and tests (Block 3) parts.

    <?xml version="1.0" encoding="UTF-8"?>
    <!-- edited with XML Spy v4.4 U (http://www.xmlspy.com) by Peter Sloep and Hans Hummel -->
    <learning-design identifier="LD-boeing-simplified" uri="URI" level="A">
       <title>Boeing Fuel Valve Removal simplified</title>
       <learning-objectives>
          <item identifierref="" identifier="LOB-learning-objectives"/>
       </learning-objectives>
       <prerequisites>
          <item identifierref="" identifier="PREQ-prerequisites"/>
       </prerequisites>
       <components>
          <roles>
             <learner identifier="R-learner"/>
          </roles>
          <activities>
             <learning-activity identifier="LA-fuel-valve-lesson-intro">
                <activity-description>
                   <item identifierref="" identifier="I-fuel-valve-lesson-intro"/>
                </activity-description>
             </learning-activity>
             <learning-activity identifier="LA-fuel-valve-theory">
                <activity-description>
                   <item identifierref="" identifier="I-fuel-valve-theory"/>
                </activity-description>
             </learning-activity>
             <learning-activity identifier="LA-lesson-hazards">
                <activity-description>
                   <item identifierref="" identifier="I-lesson-hazards"/>
                </activity-description>
             </learning-activity>
             <learning-activity identifier="LA-lesson-components">
                <activity-description>
                   <item identifierref="" identifier="I-lesson-components"/>
                </activity-description>
             </learning-activity>
             <learning-activity identifier="LA-preparation">
                <activity-description>
                   <item identifierref="" identifier="I-preparation"/>
                </activity-description>
             </learning-activity>
             <learning-activity identifier="LA-remove-door">
                <activity-description>
                   <item identifierref="" identifier="I-remove-door"/>
                </activity-description>
             </learning-activity>
             <learning-activity identifier="LA-remove-transmitter">
                <activity-description>
                   <item identifierref="" identifier="I-remove-transmitter"/>
                </activity-description>
             </learning-activity>
             <learning-activity identifier="LA-remove-valve">
                <activity-description>
                   <item identifierref="" identifier="I-remove-valve"/>
                </activity-description>
             </learning-activity>
             <learning-activity identifier="LA-knowledge-test-hazards">
                <activity-description>
                   <item identifierref="" identifier="I-knowledge-test-hazards"/>
                </activity-description>
             </learning-activity>
             <learning-activity identifier="LA-knowledge-test-components">
                <activity-description>
                   <item identifierref="" identifier="I-knowledge-test-components"/>
                </activity-description>
             </learning-activity>
             <learning-activity identifier="LA-performance-test">
                <activity-description>
                   <item identifierref="" identifier="I-performance-test"/>
                </activity-description>
             </learning-activity>
             <activity-structure identifier="AS-introduction" number-to-select="2" structure-type="sequence">
                <title/>
                <learning-activity-ref ref="LA-fuel-valve-lesson-intro"/>
                <learning-activity-ref ref="LA-fuel-valve-theory"/>
             </activity-structure>
             <activity-structure identifier="AS-fuel-valve-lessons" number-to-select="2" structure-type="selection">
                <title/>
                <learning-activity-ref ref="LA-lesson-hazards"/>
                <learning-activity-ref ref="LA-lesson-components"/>
             </activity-structure>
             <activity-structure identifier="AS-fuel-valve-removal-procedure" number-to-select="4" structure-type="sequence">
                <title/>
                <learning-activity-ref ref="LA-preparation"/>
                <learning-activity-ref ref="LA-remove-door"/>
                <learning-activity-ref ref="LA-remove-transmitter"/>
                <learning-activity-ref ref="LA-remove-valve"/>
             </activity-structure>
             <activity-structure identifier="AS-lessons-and-procedure" number-to-select="2" structure-type="sequence">
                <title/>
                <environment-ref ref="E-interactive-electronic-training-manual"/>
                <activity-structure-ref ref="AS-fuel-valve-lessons"/>
                <activity-structure-ref ref="AS-fuel-valve-removal-procedure"/>
             </activity-structure>
             <activity-structure identifier="AS-tests" number-to-select="2" structure-type="sequence">
                <title/>
                <environment-ref ref="E-interactive-electronic-training-manual"/>
                <learning-activity-ref ref="LA-knowledge-test-hazards"/>
                <learning-activity-ref ref="LA-knowledge-test-components"/>
                <learning-activity-ref ref="LA-performance-test"/>
             </activity-structure>
             <activity-structure identifier="AS-boeing-simplified" number-to-select="3" structure-type="sequence">
                <title/>
                <activity-structure-ref ref="AS-introduction"/>
                <activity-structure-ref ref="AS-lessons-and-procedure"/>
                <activity-structure-ref ref="AS-tests"/>
             </activity-structure>
          </activities>
          <environments>
             <environment identifier="E-interactive-electronic-training-manual">
                <title>Interactive Electronic Technical Manual</title>
             </environment>
          </environments>
       </components>
       <method>
          <!-- to be detailed in step 3 -->
       </method>
    </learning-design>

1. The third step concerns itself with the didactic scenario proper (i.e., the method element). Here, one may most conveniently follow a top-down approach, starting with plays and then working your way down via acts and role-parts to finally the activity structures and activities that were identified as components.
   In the simplified Boeing use case, there's no need for more than one play (the use case discusses one scenario only) nor for more than one act (there's only one role and each person in that role - student - studies individually so there's no need to synchronize activities with roles or among roles). As a consequence, only one role-part will do, combining the student role with the all encompassing activity-structure.

    <?xml version="1.0" encoding="UTF-8"?>
    <!-- edited with XML Spy v4.4 U (http://www.xmlspy.com) by Peter Sloep and Hans Hummel -->
    <learning-design identifier="LD-boeing-simplified" uri="URI" level="A">
       <title>Boeing Fuel Valve Removal simplified</title>
       <learning-objectives>
          <item identifierref="" identifier="LOB-learning-objectives"/>
       </learning-objectives>
       <prerequisites>
          <item identifierref="" identifier="PREQ-prerequisites"/>
       </prerequisites>
       <components>
          <!-- detailed in step 2 -->
       </components>
       <method>
          <play identifier="PLAY-Boeing-simplified" isvisible="true">
             <act identifier="ACT-individualized-learning">
                <role-part identifier="RP-individualized-learning">
                   <role-ref ref="R-learner"/>
                   <activity-structure-ref ref="AS-boeing-simplified"/>
                </role-part>
                <complete-act>
                   <when-role-part-completed ref="RP-individualized-learning"/>
                </complete-act>
             </act>
             <complete-play>
                <when-last-act-completed/>
             </complete-play>
          </play>
       </method>
    </learning-design>

Note: The identifiers chosen for play, act and role-part refer to the learning scenario or design rather than the subject matter of the use case.

The full XML document instance for the simplified version of the Boeing example is (including a skeletal IMS Content Package)

    <?xml version="1.0" encoding="UTF-8"?>
    <imscp:manifest xmlns:imscp="http://www.imsglobal.org/xsd/imscp_v1p1" xmlns:imsld="http://www.imsglobal.org/xsd/imsld_v1p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imscp_v1p1 http://www.imsglobal.org/xsd/imscp_v1p1p3.xsd  http://www.imsglobal.org/xsd/imsld_v1p0 http://www.imsglobal.org/xsd/imsld_level_a_v1p0.xsd" identifier="CP-Boeing-Simplified">
       <imscp:organizations>
          <imsld:learning-design identifier="LD-boeing-simplified" uri="URI" level="A">
             <imsld:title>Boeing Fuel Valve Removal simplified</imsld:title>
             <imsld:learning-objectives>
                <imsld:title>Learning objectives title</imsld:title>
                <imsld:item identifier="LOB-learning-objectives" identifierref="RES-learning-objectives">
                   <imsld:title>Learning objective title</imsld:title>
                </imsld:item>
             </imsld:learning-objectives>
             <imsld:prerequisites>
                <imsld:title>Prerequisites title</imsld:title>
                <imsld:item identifier="PREQ-prerequisites" identifierref="RES-prerequisites">
                   <imsld:title>Prerequisite title</imsld:title>
                </imsld:item>
             </imsld:prerequisites>
             <imsld:components>
                <imsld:roles>
                   <imsld:learner identifier="R-learner"/>
                </imsld:roles>
                <imsld:activities>
                   <imsld:learning-activity identifier="LA-fuel-valve-lesson-intro">
                      <imsld:activity-description>
                         <imsld:title>Activity description title</imsld:title>
                         <imsld:item identifier="I-fuel-valve-lesson-intro" identifierref="RES-fuel-valve-lesson-intro">
                            <imsld:title>Intro fuel valve</imsld:title>
                         </imsld:item>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-fuel-valve-theory">
                      <imsld:activity-description>
                         <imsld:title>Activity description title</imsld:title>
                         <imsld:item identifier="I-fuel-valve-theory" identifierref="RES-fuel-valve-theory">
                            <imsld:title>Fuel valve theory</imsld:title>
                         </imsld:item>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-lesson-hazards">
                      <imsld:activity-description>
                         <imsld:title>Activity description title</imsld:title>
                         <imsld:item identifier="I-lesson-hazards" identifierref="RES-lesson-hazards">
                            <imsld:title>Hazards</imsld:title>
                         </imsld:item>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-lesson-components">
                      <imsld:activity-description>
                         <imsld:title>Activity description title</imsld:title>
                         <imsld:item identifier="I-lesson-components" identifierref="RES-lesson-components">
                            <imsld:title>Components</imsld:title>
                         </imsld:item>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-preparation">
                      <imsld:activity-description>
                         <imsld:title>Activity description title</imsld:title>
                         <imsld:item identifier="I-preparation" identifierref="RES-preparation">
                            <imsld:title>Preparation</imsld:title>
                         </imsld:item>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-remove-door">
                      <imsld:activity-description>
                         <imsld:title>Activity description title</imsld:title>
                         <imsld:item identifier="I-remove-door" identifierref="RES-remove-door">
                            <imsld:title>Remove door</imsld:title>
                         </imsld:item>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-remove-transmitter">
                      <imsld:activity-description>
                         <imsld:title>Activity description title</imsld:title>
                         <imsld:item identifier="I-remove-transmitter" identifierref="RES-remove-transmitter">
                            <imsld:title>Remove transmitter</imsld:title>
                         </imsld:item>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-remove-valve">
                      <imsld:activity-description>
                         <imsld:title>Activity description title</imsld:title>
                         <imsld:item identifier="I-remove-valve" identifierref="RES-remove-valve">
                            <imsld:title>Remove valve</imsld:title>
                         </imsld:item>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-knowledge-test-hazards">
                      <imsld:activity-description>
                         <imsld:title>Activity description title</imsld:title>
                         <imsld:item identifier="I-knowledge-test-hazards" identifierref="RES-knowledge-test-hazards">
                            <imsld:title>Test hazards</imsld:title>
                         </imsld:item>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-knowledge-test-components">
                      <imsld:activity-description>
                         <imsld:title>Activity description title</imsld:title>
                         <imsld:item identifier="I-knowledge-test-components" identifierref="RES-knowledge-test-components">
                            <imsld:title>Test components</imsld:title>
                         </imsld:item>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-performance-test">
                      <imsld:activity-description>
                         <imsld:title>Activity description title</imsld:title>
                         <imsld:item identifier="I-performance-test" identifierref="RES-performance-test">
                            <imsld:title>Performance test</imsld:title>
                         </imsld:item>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:activity-structure identifier="AS-introduction" number-to-select="2" structure-type="sequence">
                      <imsld:title/>
                      <imsld:learning-activity-ref ref="LA-fuel-valve-lesson-intro"/>
                      <imsld:learning-activity-ref ref="LA-fuel-valve-theory"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="AS-fuel-valve-lessons" number-to-select="2" structure-type="selection">
                      <imsld:title/>
                      <imsld:learning-activity-ref ref="LA-lesson-hazards"/>
                      <imsld:learning-activity-ref ref="LA-lesson-components"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="AS-fuel-valve-removal-procedure" number-to-select="4" structure-type="sequence">
                      <imsld:title/>
                      <imsld:learning-activity-ref ref="LA-preparation"/>
                      <imsld:learning-activity-ref ref="LA-remove-door"/>
                      <imsld:learning-activity-ref ref="LA-remove-transmitter"/>
                      <imsld:learning-activity-ref ref="LA-remove-valve"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="AS-lessons-and-procedure" number-to-select="2" structure-type="sequence">
                      <imsld:title/>
                      <imsld:environment-ref ref="E-interactive-electronic-training-manual"/>
                      <imsld:activity-structure-ref ref="AS-fuel-valve-lessons"/>
                      <imsld:activity-structure-ref ref="AS-fuel-valve-removal-procedure"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="AS-tests" number-to-select="2" structure-type="sequence">
                      <imsld:title/>
                      <imsld:environment-ref ref="E-interactive-electronic-training-manual"/>
                      <imsld:learning-activity-ref ref="LA-knowledge-test-hazards"/>
                      <imsld:learning-activity-ref ref="LA-knowledge-test-components"/>
                      <imsld:learning-activity-ref ref="LA-performance-test"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="AS-boeing-simplified" number-to-select="3" structure-type="sequence">
                      <imsld:title/>
                      <imsld:activity-structure-ref ref="AS-introduction"/>
                      <imsld:activity-structure-ref ref="AS-lessons-and-procedure"/>
                      <imsld:activity-structure-ref ref="AS-tests"/>
                   </imsld:activity-structure>
                </imsld:activities>
                <imsld:environments>
                   <imsld:environment identifier="E-interactive-electronic-training-manual">
                      <imsld:title>Interactive Electronic Technical Manual</imsld:title>
                   </imsld:environment>
                </imsld:environments>
             </imsld:components>
             <imsld:method>
                <imsld:play identifier="PLAY-Boeing-simplified" isvisible="true">
                   <imsld:act identifier="ACT-individualized-learning">
                      <imsld:role-part identifier="RP-individualized-learning">
                         <imsld:role-ref ref="R-learner"/>
                         <imsld:activity-structure-ref ref="AS-boeing-simplified"/>
                      </imsld:role-part>
                      <imsld:complete-act>
                         <imsld:when-role-part-completed ref="RP-individualized-learning"/>
                      </imsld:complete-act>
                   </imsld:act>
                   <imsld:complete-play>
                      <imsld:when-last-act-completed/>
                   </imsld:complete-play>
                </imsld:play>
             </imsld:method>
          </imsld:learning-design>
       </imscp:organizations>
       <imscp:resources>
          <imscp:resource identifier="RES-knowledge-test-hazards" type=""/>
          <imscp:resource identifier="RES-knowledge-test-components" type=""/>
          <imscp:resource identifier="RES-performance-test" type="webcontent"/>
          <imscp:resource identifier="RES-CourseFailed" type="webcontent"/>
          <imscp:resource identifier="RES-learning-objectives" type=""/>
          <imscp:resource identifier="RES-prerequisites" type=""/>
          <imscp:resource identifier="RES-fuel-valve-lesson-intro" type="webcontent"/>
          <imscp:resource identifier="RES-fuel-valve-theory" type="webcontent"/>
          <imscp:resource identifier="RES-lesson-hazards" type="webcontent"/>
          <imscp:resource identifier="RES-lesson-components" type="webcontent"/>
          <imscp:resource identifier="RES-preparation" type="webcontent"/>
          <imscp:resource identifier="RES-remove-door" type="webcontent"/>
          <imscp:resource identifier="RES-remove-transmitter" type="webcontent"/>
          <imscp:resource identifier="RES-remove-valve" type="webcontent"/>
       </imscp:resources>
    </imscp:manifest>

#### 3.2.5.2 Progressing the Example to Level B

The example described above represents a simplification of the original Boeing use case, which included the following paragraph relating to testing sections:

- The tests are not enabled until all three lessons have been completed. The first test is a standard question/answer knowledge test consisting of two sections which are ordered in the same sequence that the student selected to take the first two lessons. For example, if the student views the hazards lesson first, then the test questions on the hazards are ordered first. If he fails the test, he is taken back to the lesson related to the section of the test he failed for remediation. After remediation, he is allowed to take the test a second time. If he passes the second time, he is allowed to take the second test. If he fails the first test a second time, he is remediated again and fails the course. After the first test is completed successfully, the student may take the performance-based test. This test consists of a 'simulation' of the environment in which the student must 'perform' the correct steps in the correct order within a certain time limit. During the simulation, the user may launch and use the IETM much like an open book exam.

The revised UML Activity Diagram is shown below. Describing this learning flow requires extensive use of properties and conditions.

Figure 3.3 - Activity Diagram for Boeing at level B

- Some of the key elements of the approach taken to modelling the flow are:
  A property (P-Hazards-Lesson-Was-Last) is used to register whether or not the Hazards Lesson is chosen first or second. In the fuel valve lessons activity structure, both lessons (Lesson Hazards and Lesson Components) set the property in the On-Completion element, with the former setting it true and the latter false. One of the lessons thus overwrites the value set by the other, so that P-Hazards-Lesson-Was-Last will indeed be true if the Hazards Lesson was second but will be false if the Lesson Components was second.
- A second property (P-Go-Into-Test-Mode-Flag) is defined then set on completion of the final step (Remove Valve) in the Fuel Valve Removal Procedure Activity Structure. This property-setting event is used to trigger the evaluation of the conditions so that the appropriate knowledge test is presented to the learner. Conditions check for this 'flag being raised' and examine the property P-Hazards-Lesson-Was-Last to determine whether the hazards or components should be tested. Note that this effect could also have been achieved using a condition based on the completion of the learning activity Remove Valve;
- Other properties are defined to store the result of the knowledge tests. Again, the setting of these property (i.e., the completion of the test) triggers condition evaluation, and conditions are defined for success and failure to direct the flow of events accordingly (failure leading to remediation);
- Counters are maintained to track how many times the hazards and components lessons have been presented to the user. Each increment of the counter triggers the evaluation of conditions, and conditions are defined on the value of the counters so that when different numbers are reached, different activities are presented to the user. For example, if the P-Hazards-Lesson-Counter reaches 2, the test Hazards test has been failed once and the lesson has been shown twice (including the first time in the fuel valve lessons activity structure) then the learner takes the test again. A second failure leads to another remediation which in turn increments the counter to 3, with the resulting condition evaluation matching a condition which leads to the learner failing the course.
- Since each setting of a property leads to evaluation of the full set of conditions, care must be taken to avoid multiple matches on conditions for circumstances which are no longer desired. For example, once the tests have been entered, the P-Go-Into-Test-Mode-Flag is lowered so that the condition used to direct the flow of events at the end of the Fuel Valve Removal Procedure is no matched later in the learning flow.

3.2.5.2.1 XML Instance Document

    <?xml version="1.0" encoding="UTF-8"?>
    <!-- edited with XMLSPY v5 rel. 2 U (http://www.xmlspy.com) by Colin Tattersall (Open University of the Netherlands) -->
    <imscp:manifest xmlns:imscp="http://www.imsglobal.org/xsd/imscp_v1p1" xmlns:imsld="http://www.imsglobal.org/xsd/imsld_v1p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imscp_v1p1 http://www.imsglobal.org/xsd/imscp_v1p1p3.xsd http://www.imsglobal.org/xsd/imsld_v1p0  http://www.imsglobal.org/xsd/imsld_level_b_v1p0.xsd" identifier="Boeing-Manifest">
       <imscp:metadata>
          <imscp:schema>IMS Metadata</imscp:schema>
          <imscp:schemaversion>1.2</imscp:schemaversion>
       </imscp:metadata>
       <imscp:organizations>
          <imsld:learning-design identifier="LD-boeing-extended" uri="URI" level="B">
             <imsld:title>Boeing Fuel Valve Removal extended</imsld:title>
             <imsld:learning-objectives>
                <imsld:item identifier="LOB-Fuel-Valve-Removal-Objectives" identifierref="RES-Fuel-Valve-Removal-Objectives"/>
             </imsld:learning-objectives>
             <imsld:prerequisites>
                <imsld:item identifier="PREQ-Vehicle-And-Systems-Familiarity" identifierref="RES-Vehicle-And-Systems-Familiarity"/>
             </imsld:prerequisites>
             <imsld:components>
                <imsld:roles>
                   <imsld:learner identifier="R-learner"/>
                </imsld:roles>
                <imsld:properties>
                   <imsld:locpers-property identifier="P-Go-Into-Test-Mode-Flag">
                      <imsld:datatype datatype="boolean"/>
                      <imsld:initial-value>false</imsld:initial-value>
                   </imsld:locpers-property>
                   <imsld:locpers-property identifier="P-Hazards-Lesson-Was-Last">
                      <imsld:datatype datatype="boolean"/>
                      <imsld:initial-value/>
                   </imsld:locpers-property>
                   <imsld:locpers-property identifier="P-Hazards-Lesson-Counter">
                      <imsld:datatype datatype="integer"/>
                      <imsld:initial-value>0</imsld:initial-value>
                   </imsld:locpers-property>
                   <imsld:locpers-property identifier="P-Components-Lesson-Counter">
                      <imsld:datatype datatype="integer"/>
                      <imsld:initial-value>0</imsld:initial-value>
                   </imsld:locpers-property>
                   <imsld:locpers-property identifier="P-Hazards-Test-Result">
                      <imsld:datatype datatype="string"/>
                      <imsld:initial-value>""</imsld:initial-value>
                   </imsld:locpers-property>
                   <imsld:locpers-property identifier="P-Components-Test-Result">
                      <imsld:datatype datatype="string"/>
                      <imsld:initial-value>""</imsld:initial-value>
                   </imsld:locpers-property>
                </imsld:properties>
                <imsld:activities>
                   <imsld:learning-activity identifier="LA-fuel-valve-lesson-intro">
                      <imsld:activity-description>
                         <imsld:item identifier="I-fuel-valve-lesson-intro" identifierref="RES-fuel-valve-lesson-intro"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-fuel-valve-theory">
                      <imsld:activity-description>
                         <imsld:item identifier="I-fuel-valve-theory" identifierref="RES-fuel-valve-theory"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-lesson-hazards">
                      <imsld:activity-description>
                         <imsld:item identifier="I-lesson-hazards" identifierref="RES-lesson-hazards"/>
                      </imsld:activity-description>
                      <imsld:on-completion>
                         <!--Set the P-Hazards-Lesson-Was-Last flag to true. If the hazards lesson is last (second) this will remain true otherwise the value will be overwritten (to false) by the on-completion rule of LA-Lesson-Components-->
                         <imsld:change-property-value>
                            <imsld:property-ref ref="P-Hazards-Lesson-Was-Last"/>
                            <imsld:property-value>true</imsld:property-value>
                         </imsld:change-property-value>
                         <!--Increment the counter-->
                         <imsld:change-property-value>
                            <imsld:property-ref ref="P-Hazards-Lesson-Counter"/>
                            <imsld:property-value>
                               <imsld:calculate>
                                  <imsld:sum>
                                     <imsld:property-ref ref="P-Hazards-Lesson-Counter"/>
                                     <imsld:property-value>1</imsld:property-value>
                                  </imsld:sum>
                               </imsld:calculate>
                            </imsld:property-value>
                         </imsld:change-property-value>
                         <!--Increment the counter-->
                         <imsld:change-property-value>
                            <imsld:property-ref ref="P-Hazards-Lesson-Counter"/>
                            <imsld:property-value>
                               <imsld:calculate>
                                  <imsld:sum>
                                     <imsld:property-ref ref="P-Hazards-Lesson-Counter"/>
                                     <imsld:property-value>1</imsld:property-value>
                                  </imsld:sum>
                               </imsld:calculate>
                            </imsld:property-value>
                         </imsld:change-property-value>
                      </imsld:on-completion>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-lesson-components">
                      <imsld:activity-description>
                         <imsld:item identifier="I-lesson-components" identifierref="RES-lesson-components"/>
                      </imsld:activity-description>
                      <imsld:on-completion>
                         <!--Set the P-Hazards-Lesson-Was-Last flag to false. If the components lesson is last (second) this will remain false, otherwise the value will be overwritten (to true) by the on-completion rule of LA-Lesson-Hazards-->
                         <imsld:change-property-value>
                            <imsld:property-ref ref="P-Hazards-Lesson-Was-Last"/>
                            <imsld:property-value>false</imsld:property-value>
                         </imsld:change-property-value>
                         <!--Increment the counter-->
                         <imsld:change-property-value>
                            <imsld:property-ref ref="P-Components-Lesson-Counter"/>
                            <imsld:property-value>
                               <imsld:calculate>
                                  <imsld:sum>
                                     <imsld:property-ref ref="P-Hazards-Lesson-Counter"/>
                                     <imsld:property-value>1</imsld:property-value>
                                  </imsld:sum>
                               </imsld:calculate>
                            </imsld:property-value>
                         </imsld:change-property-value>
                      </imsld:on-completion>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-preparation">
                      <imsld:activity-description>
                         <imsld:item identifier="I-preparation" identifierref="RES-preparation"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-remove-door">
                      <imsld:activity-description>
                         <imsld:item identifier="I-remove-door" identifierref="RES-remove-door"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-remove-transmitter">
                      <imsld:activity-description>
                         <imsld:item identifier="I-remove-transmitter" identifierref="RES-remove-transmitter"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-remove-valve">
                      <imsld:activity-description>
                         <imsld:item identifier="I-remove-valve" identifierref="RES-remove-valve"/>
                      </imsld:activity-description>
                      <imsld:on-completion>
                         <imsld:change-property-value>
                            <imsld:property-ref ref="P-Go-Into-Test-Mode-Flag"/>
                            <imsld:property-value>true</imsld:property-value>
                         </imsld:change-property-value>
                      </imsld:on-completion>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-knowledge-test-hazards" isvisible="false">
                      <imsld:activity-description>
                         <imsld:item identifier="I-knowledge-test-hazards" identifierref="RES-knowledge-test-hazards"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-knowledge-test-components" isvisible="false">
                      <imsld:activity-description>
                         <imsld:item identifier="I-knowledge-test-components" identifierref="RES-knowledge-test-components"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-performance-test" isvisible="false">
                      <imsld:environment-ref ref="E-interactive-electronic-training-manual"/>
                      <imsld:activity-description>
                         <imsld:item identifier="I-performance-test" identifierref="RES-performance-test"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-Course-Failed" isvisible="false">
                      <imsld:activity-description>
                         <imsld:item identifier="I-CourseFailed" identifierref="RES-CourseFailed"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:activity-structure identifier="AS-introduction" number-to-select="2" structure-type="sequence">
                      <imsld:title/>
                      <imsld:environment-ref ref="E-interactive-electronic-training-manual"/>
                      <imsld:learning-activity-ref ref="LA-fuel-valve-lesson-intro"/>
                      <imsld:learning-activity-ref ref="LA-fuel-valve-theory"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="AS-fuel-valve-lessons" number-to-select="2" structure-type="selection">
                      <imsld:title/>
                      <imsld:environment-ref ref="E-interactive-electronic-training-manual"/>
                      <imsld:learning-activity-ref ref="LA-lesson-hazards"/>
                      <imsld:learning-activity-ref ref="LA-lesson-components"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="AS-fuel-valve-removal-procedure" number-to-select="4" structure-type="sequence">
                      <imsld:title/>
                      <imsld:environment-ref ref="E-interactive-electronic-training-manual"/>
                      <imsld:learning-activity-ref ref="LA-preparation"/>
                      <imsld:learning-activity-ref ref="LA-remove-door"/>
                      <imsld:learning-activity-ref ref="LA-remove-transmitter"/>
                      <imsld:learning-activity-ref ref="LA-remove-valve"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="AS-lessons-and-procedure" number-to-select="2" structure-type="sequence">
                      <imsld:title/>
                      <imsld:activity-structure-ref ref="AS-fuel-valve-lessons"/>
                      <imsld:activity-structure-ref ref="AS-fuel-valve-removal-procedure"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="AS-boeing" number-to-select="3" structure-type="sequence">
                      <imsld:title/>
                      <imsld:activity-structure-ref ref="AS-introduction"/>
                      <imsld:activity-structure-ref ref="AS-lessons-and-procedure"/>
                   </imsld:activity-structure>
                </imsld:activities>
                <imsld:environments>
                   <imsld:environment identifier="E-interactive-electronic-training-manual">
                      <imsld:title>Interactive Electronic Technical Manual</imsld:title>
                   </imsld:environment>
                </imsld:environments>
             </imsld:components>
             <imsld:method>
                <imsld:play identifier="PLAY-Boeing" isvisible="true">
                   <imsld:act identifier="ACT-individualized-learning">
                      <imsld:role-part identifier="RP-individualized-learning">
                         <imsld:role-ref ref="R-learner"/>
                         <imsld:activity-structure-ref ref="AS-boeing"/>
                      </imsld:role-part>
                      <imsld:complete-act>
                         <imsld:when-role-part-completed ref="RP-individualized-learning"/>
                      </imsld:complete-act>
                   </imsld:act>
                   <imsld:complete-play>
                      <imsld:when-last-act-completed/>
                   </imsld:complete-play>
                </imsld:play>
                <imsld:conditions>
                   <imsld:if>
                      <!--If the Test Mode Flag has been raised (i.e. we have just completed 'Remove Valve') and if the Hazards Lesson was last (meaning the Components lesson was first) then the Components test should be shown first-->
                      <imsld:and>
                         <imsld:is>
                            <imsld:property-ref ref="P-Go-Into-Test-Mode-Flag"/>
                            <imsld:property-value>true</imsld:property-value>
                         </imsld:is>
                         <imsld:is>
                            <imsld:property-ref ref="P-Hazards-Lesson-Was-Last"/>
                            <imsld:property-value>true</imsld:property-value>
                         </imsld:is>
                      </imsld:and>
                   </imsld:if>
                   <imsld:then>
                      <imsld:change-property-value>
                         <!--Lower the flag so this rule does not fire again (the setting of this variable will also result in a check of all conditions).-->
                         <imsld:property-ref ref="P-Go-Into-Test-Mode-Flag"/>
                         <imsld:property-value>false</imsld:property-value>
                      </imsld:change-property-value>
                      <imsld:show>
                         <imsld:learning-activity-ref ref="LA-knowledge-test-components"/>
                      </imsld:show>
                   </imsld:then>
                   <imsld:else>
                      <imsld:if>
                         <!--Else if the Test Mode Flag has been raised (i.e. we have just completed 'Remove Valve') and if the Hazards Lesson was not last (meaning it was first) then the Hazards test should be shown first-->
                         <imsld:and>
                            <imsld:is>
                               <imsld:property-ref ref="P-Go-Into-Test-Mode-Flag"/>
                               <imsld:property-value>true</imsld:property-value>
                            </imsld:is>
                            <imsld:is>
                               <imsld:property-ref ref="P-Hazards-Lesson-Was-Last"/>
                               <imsld:property-value>false</imsld:property-value>
                            </imsld:is>
                         </imsld:and>
                      </imsld:if>
                      <imsld:then>
                         <imsld:change-property-value>
                            <!--Lower the flag so this rule does not fire again (the setting of this variable will also result in a check of all conditions).-->
                            <imsld:property-ref ref="P-Go-Into-Test-Mode-Flag"/>
                            <imsld:property-value>false</imsld:property-value>
                         </imsld:change-property-value>
                         <imsld:show>
                            <imsld:learning-activity-ref ref="LA-knowledge-test-hazards"/>
                         </imsld:show>
                      </imsld:then>
                   </imsld:else>
                   <imsld:if>
                      <!--If the Hazards Test has been passed, determine whether to give the Components test or to move on to the performance test. If the Hazards Lesson was last, then to be here both tests have been passed and we can move on to the Performance Test-->
                      <imsld:and>
                         <imsld:is>
                            <imsld:property-ref ref="P-Hazards-Test-Result"/>
                            <imsld:property-value>Pass</imsld:property-value>
                         </imsld:is>
                         <imsld:is>
                            <imsld:property-ref ref="P-Hazards-Lesson-Was-Last"/>
                            <imsld:property-value>true</imsld:property-value>
                         </imsld:is>
                      </imsld:and>
                   </imsld:if>
                   <imsld:then>
                      <imsld:change-property-value>
                         <!--Reset the P-Hazards-Test-Result to prevent multiple firings of this condition-->
                         <imsld:property-ref ref="P-Hazards-Test-Result"/>
                         <imsld:property-value>""</imsld:property-value>
                      </imsld:change-property-value>
                      <imsld:show>
                         <imsld:learning-activity-ref ref="LA-performance-test"/>
                      </imsld:show>
                   </imsld:then>
                   <imsld:else>
                      <!--Otherwise, if the Hazards Test has been passed and the Hazards Lesson was first, to be here means the components test must still be done-->
                      <imsld:if>
                         <imsld:and>
                            <imsld:is>
                               <imsld:property-ref ref="P-Hazards-Test-Result"/>
                               <imsld:property-value>Pass</imsld:property-value>
                            </imsld:is>
                            <imsld:is>
                               <imsld:property-ref ref="P-Hazards-Lesson-Was-Last"/>
                               <imsld:property-value>false</imsld:property-value>
                            </imsld:is>
                         </imsld:and>
                      </imsld:if>
                      <imsld:then>
                         <imsld:change-property-value>
                            <!--Reset the P-Hazards-Test-Result to prevent multiple firings of this condition-->
                            <imsld:property-ref ref="P-Hazards-Test-Result"/>
                            <imsld:property-value>""</imsld:property-value>
                         </imsld:change-property-value>
                         <imsld:show>
                            <imsld:learning-activity-ref ref="LA-knowledge-test-components"/>
                         </imsld:show>
                      </imsld:then>
                   </imsld:else>
                   <imsld:if>
                      <!--If the Hazards Test has been failed, go back to the Hazards Lesson for remediation-->
                      <imsld:is>
                         <imsld:property-ref ref="P-Hazards-Test-Result"/>
                         <imsld:property-value>Fail</imsld:property-value>
                      </imsld:is>
                   </imsld:if>
                   <imsld:then>
                      <imsld:change-property-value>
                         <!--Reset the P-Hazards-Test-Result to prevent multiple firings of this condition-->
                         <imsld:property-ref ref="P-Hazards-Test-Result"/>
                         <imsld:property-value>""</imsld:property-value>
                      </imsld:change-property-value>
                      <imsld:show>
                         <imsld:learning-activity-ref ref="LA-lesson-hazards"/>
                      </imsld:show>
                   </imsld:then>
                   <imsld:if>
                      <!--If the Components Test has been passed, determine whether to give the Hazards test or to move on to the performance test. The Components Test Result must be reset to avoid this rule firing again-->
                      <imsld:and>
                         <imsld:is>
                            <imsld:property-ref ref="P-Components-Test-Result"/>
                            <imsld:property-value>Pass</imsld:property-value>
                         </imsld:is>
                         <imsld:is>
                            <imsld:property-ref ref="P-Hazards-Lesson-Was-Last"/>
                            <imsld:property-value>true</imsld:property-value>
                         </imsld:is>
                      </imsld:and>
                   </imsld:if>
                   <imsld:then>
                      <imsld:change-property-value>
                         <!--Reset the P-Components-Test-Result to prevent multiple firings of this condition-->
                         <imsld:property-ref ref="P-Components-Test-Result"/>
                         <imsld:property-value>""</imsld:property-value>
                      </imsld:change-property-value>
                      <imsld:show>
                         <imsld:learning-activity-ref ref="LA-knowledge-test-hazards"/>
                      </imsld:show>
                   </imsld:then>
                   <imsld:else>
                      <!--Otherwise if the Components Test has been passed and the Hazards Lesson was first, to be here means both tests have been passed-->
                      <imsld:if>
                         <imsld:and>
                            <imsld:is>
                               <imsld:property-ref ref="P-Components-Test-Result"/>
                               <imsld:property-value>Pass</imsld:property-value>
                            </imsld:is>
                            <imsld:is>
                               <imsld:property-ref ref="P-Hazards-Lesson-Was-Last"/>
                               <imsld:property-value>false</imsld:property-value>
                            </imsld:is>
                         </imsld:and>
                      </imsld:if>
                      <imsld:then>
                         <imsld:change-property-value>
                            <!--Reset the P-Components-Test-Result to prevent multiple firings of this condition-->
                            <imsld:property-ref ref="P-Components-Test-Result"/>
                            <imsld:property-value>""</imsld:property-value>
                         </imsld:change-property-value>
                         <imsld:show>
                            <imsld:learning-activity-ref ref="LA-performance-test"/>
                         </imsld:show>
                      </imsld:then>
                   </imsld:else>
                   <imsld:if>
                      <!--If the Components Test has been failed, go back to the Components Lesson for remediation-->
                      <imsld:is>
                         <imsld:property-ref ref="P-Components-Test-Result"/>
                         <imsld:property-value>Fail</imsld:property-value>
                      </imsld:is>
                   </imsld:if>
                   <imsld:then>
                      <imsld:change-property-value>
                         <!--Reset the P-Components-Test-Result to prevent multiple firings of this condition-->
                         <imsld:property-ref ref="P-Components-Test-Result"/>
                         <imsld:property-value>""</imsld:property-value>
                      </imsld:change-property-value>
                      <imsld:show>
                         <imsld:learning-activity-ref ref="LA-lesson-components"/>
                      </imsld:show>
                   </imsld:then>
                   <imsld:if>
                      <!--If the counter has reached 2, the lesson has been shown twice and the test has been failed once and must be retaken-->
                      <imsld:is>
                         <imsld:property-ref ref="P-Hazards-Lesson-Counter"/>
                         <imsld:property-value>2</imsld:property-value>
                      </imsld:is>
                   </imsld:if>
                   <imsld:then>
                      <imsld:show>
                         <imsld:learning-activity-ref ref="LA-knowledge-test-hazards"/>
                      </imsld:show>
                   </imsld:then>
                   <imsld:else>
                      <!--If the counter has reached 3, the lesson has been shown three times meaning the test has been failed twice and the course has been failed-->
                      <imsld:if>
                         <imsld:is>
                            <imsld:property-ref ref="P-Hazards-Lesson-Counter"/>
                            <imsld:property-value>3</imsld:property-value>
                         </imsld:is>
                      </imsld:if>
                      <imsld:then>
                         <imsld:show>
                            <imsld:learning-activity-ref ref="LA-Course-Failed"/>
                         </imsld:show>
                      </imsld:then>
                   </imsld:else>
                   <imsld:if>
                      <!--If the counter has reached 2, the lesson has been shown twice the test has been failed once and must be retaken-->
                      <imsld:is>
                         <imsld:property-ref ref="P-Components-Lesson-Counter"/>
                         <imsld:property-value>2</imsld:property-value>
                      </imsld:is>
                   </imsld:if>
                   <imsld:then>
                      <imsld:show>
                         <imsld:learning-activity-ref ref="LA-knowledge-test-components"/>
                      </imsld:show>
                   </imsld:then>
                   <imsld:else>
                      <!--If the counter has reached 3, the lesson has been shown three times meaning the test has been failed twice and the course has been failed-->
                      <imsld:if>
                         <imsld:is>
                            <imsld:property-ref ref="P-Components-Lesson-Counter"/>
                            <imsld:property-value>3</imsld:property-value>
                         </imsld:is>
                      </imsld:if>
                      <imsld:then>
                         <imsld:show>
                            <imsld:learning-activity-ref ref="LA-Course-Failed"/>
                         </imsld:show>
                      </imsld:then>
                   </imsld:else>
                </imsld:conditions>
             </imsld:method>
          </imsld:learning-design>
       </imscp:organizations>
       <imscp:resources>
          <imscp:resource identifier="RES-Vehicle-And-Systems-Familiarity" type="webcontent">
             <!--From Boeing narrative: It is assumed that the student will have completed courses that familiarise the student with the vehicle and its systems prior to taking this course. -->
          </imscp:resource>
          <imscp:resource identifier="RES-Fuel-Valve-Removal-Objectives" type="webcontent">
             <!--From Boeing narrative: The fuel valve removal course teaches how to remove a fuel valve from a fictitious aircraft's wing in order to service the valve-->
          </imscp:resource>
          <imscp:resource identifier="RES-fuel-valve-lesson-intro" type="webcontent"/>
          <imscp:resource identifier="RES-fuel-valve-theory" type="webcontent"/>
          <imscp:resource identifier="RES-lesson-hazards" type="webcontent"/>
          <imscp:resource identifier="RES-lesson-components" type="webcontent"/>
          <imscp:resource identifier="RES-preparation" type="webcontent"/>
          <imscp:resource identifier="RES-remove-door" type="webcontent"/>
          <imscp:resource identifier="RES-remove-transmitter" type="webcontent"/>
          <imscp:resource identifier="RES-remove-valve" type="webcontent"/>
          <imscp:resource identifier="RES-knowledge-test-hazards" type="imsldcontent">
             <!--Here would be some tests, the result of which would be recorded in property P-Hazards-Test-Result as either the string "Pass"or "Fail-->
          </imscp:resource>
          <imscp:resource identifier="RES-knowledge-test-components" type="imsldcontent">
             <!--Here would be some tests, the result of which would be recorded in property P-Components-Test-Result as either the string "Pass"or "Fail-->
          </imscp:resource>
          <imscp:resource identifier="RES-performance-test" type="webcontent"/>
          <imscp:resource identifier="RES-CourseFailed" type="webcontent">
             <!--Text to the effect that the student had failed the fuel valve removal course-->
          </imscp:resource>
       </imscp:resources>
    </imscp:manifest>

# 4. Examples of LD XML Instance Documents

The following worked examples take use cases (of Learning Design Levels A, B, and C) from narrative to XML document instance using the method introduced in the previous chapter. Each example starts with an introduction briefly describing the focus of the example, followed by UML activity diagrams, a number of key learning design points illustrated by the example, and concludes with a full XML instance document.

## 4.1 Programmed Instruction (Level B)

### 4.1.1 Introduction

Programmed learning has been found to be effective in teaching the concepts associated with Skinner's Analysis of Behavior. The computer presents the student with a concept or short explanation, generally not more than 3-4 sentences. A question is then posed to the student. The student responds to the question and if the answer is correct, than the student is permitted to move on to the next section. If the response if incorrect, the program prompts the student for the correct answer, and keeps doing so until a correct response is given.

### 4.1.2 UML Activity Diagram

Not supplied for this example.

### 4.1.3 Key Points of Note

- Local, personal properties are defined for each section (see the LOCPERS-PROPERTY definitions). The properties are defined with a boolean datatype, used to indicate success or failure for the appropriate sections;
- The transition from section to section is governed by the value of these properties; only when the score associated with a given section indicates success (i.e. when the property associated with the test result is true) may the student progress. This is arranged for by using a WHEN-PROPERTY-VALUE-IS-SET on the COMPLETE-ACTIVITY. Note that the setting of the properties is handled in the resources associated with the learning activities using a SET-PROPERTY element.

### 4.1.4 XML Instance Document

    <?xml version="1.0" encoding="UTF-8"?>
    <!-- edited with XMLSPY v5 rel. 2 U (http://www.xmlspy.com) by Colin Tattersall (Open University of the Netherlands) -->
    <manifest xmlns="http://www.imsglobal.org/xsd/imscp_v1p1" xmlns:imsld="http://www.imsglobal.org/xsd/imsld_v1p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imscp_v1p1 http://www.imsglobal.org/xsd/imscp_v1p1p3.xsd http://www.imsglobal.org/xsd/imsld_v1p0  http://www.imsglobal.org/xsd/imsld_level_b_v1p0.xsd" identifier="ProgrammedInstructionManifest">
       <metadata>
          <schema>IMS Metadata</schema>
          <schemaversion>1.2</schemaversion>
       </metadata>
       <organizations>
          <imsld:learning-design identifier="ProgrammedInstruction" uri="URI" level="B">
             <imsld:title>Programmed Instruction</imsld:title>
             <imsld:learning-objectives>
                <imsld:item identifierref="res-lo" identifier="res-lo">
                   <imsld:title>Learning objective title</imsld:title>
                </imsld:item>
             </imsld:learning-objectives>
             <imsld:components>
                <imsld:roles>
                   <imsld:learner identifier="student"/>
                </imsld:roles>
                <imsld:properties>
                   <imsld:locpers-property identifier="scoresection1">
                      <imsld:datatype datatype="boolean"/>
                   </imsld:locpers-property>
                   <imsld:locpers-property identifier="scoresectionn">
                      <imsld:datatype datatype="boolean"/>
                   </imsld:locpers-property>
                </imsld:properties>
                <imsld:activities>
                   <imsld:learning-activity identifier="section1">
                      <imsld:activity-description>
                         <imsld:title>Activity description title</imsld:title>
                         <imsld:item identifierref="res-section1" identifier="I-section1">
                            <imsld:title>Section 1</imsld:title>
                         </imsld:item>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:when-property-value-is-set>
                            <imsld:property-ref ref="scoresection1"/>
                            <imsld:property-value>1</imsld:property-value>
                         </imsld:when-property-value-is-set>
                      </imsld:complete-activity>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="sectionn">
                      <imsld:activity-description>
                         <imsld:title>Activity description title</imsld:title>
                         <imsld:item identifierref="res-sectionn" identifier="I-sectionn">
                            <imsld:title>Section n</imsld:title>
                         </imsld:item>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:when-property-value-is-set>
                            <imsld:property-ref ref="scoresectionn"/>
                            <imsld:property-value>1</imsld:property-value>
                         </imsld:when-property-value-is-set>
                      </imsld:complete-activity>
                   </imsld:learning-activity>
                   <imsld:activity-structure structure-type="sequence" identifier="sectionsequence">
                      <imsld:title>AS-Programmed-Instruction</imsld:title>
                      <imsld:learning-activity-ref ref="section1"/>
                      <imsld:learning-activity-ref ref="sectionn"/>
                   </imsld:activity-structure>
                </imsld:activities>
             </imsld:components>
             <imsld:method>
                <imsld:play>
                   <imsld:act>
                      <imsld:role-part>
                         <imsld:role-ref ref="student"/>
                         <imsld:activity-structure-ref ref="sectionsequence"/>
                      </imsld:role-part>
                   </imsld:act>
                </imsld:play>
             </imsld:method>
          </imsld:learning-design>
       </organizations>
       <resources>
          <resource identifier="res-section1" type=""/>
          <resource identifier="res-sectionn" type=""/>
       </resources>
    </manifest>

## 4.2 The Versailles Role Play (Level A)

### 4.2.1 Introduction

The Versailles Experience is designed (and was first carried out in 1999) as a four to six week collaboration and role-playing learning event, with one day of negotiation at its centre - representing November 11, 1919. It is aimed at 14-16 year-old secondary school students.

Multiple participating schools organize students into six groups, one for each of the countries involved in negotiating the original Treaty of Versailles at the end of World War I: Great Britain, USA, Poland, France, Serbia, and Italy.

The event has three main phases:

1. A three week preparatory phase in which students explore the content in the VLE to find out what their role is, the context of their adopted country and agree priorities and strategies for the forthcoming negotiation.
2. The one-day negotiation itself.
3. A one-week post-talks period in which students have the opportunity to disseminate what they have learned in the form Web-based materials in the form of national perceptions of what the treaty meant to each of the participating nations.

In the pre-negotiation period participants in each school are arranged into the six national negotiating teams, with each participating school being given six passwords - one for each country. These give access to the appropriate materials and a discussion group (dedicated conference) set up for each nation. The discussion groups enable the students in each school, who are representing the same nation, to communicate together. In these nationwide groups, each team is provided with a copy of its own national objectives and those of all the other countries.

Students study the provided content to learn about the historical context, their country and its role in the Versailles Treaty. First offline they discuss their countries objectives and priorities these for negotiation day. They carry out offline, in-school role-play of the negotiation day and to argue from the point of view of their adopted country in 1919. They then bring these to their country's forum and each country group collaborates in a dedicated forum with the same country group in other schools to agree their final negotiating position on how the German Government should compensate them for the damage done in World War I.

Ahead of the actual negotiation, the tasks of the national teams are to:

- Become familiar with their country's objectives.
- Decide on their country's priorities - what they most want and what they can concede.
- Become familiar with the objectives of the other countries.
- Identify possible negotiating strategies and agree the favoured approach.

During this phase, students and teachers are also encouraged to upload their own materials to a shared resource base.

For the Negotiation Day, there is a main Negotiation Forum with a conference Chair, but there are also 'side rooms' for each pair of countries to hold private discussions. These are set up as dedicated conferences with appropriate access provided for each team.

When agreements are reached during negotiations, they are sent to the Recorder who posts them up to a 'Results Board'. Participants have access to the Results at any time. When the negotiations have been completed, or at a given time towards the end of the day, participants review the outcomes of the day.

In the last phase, students reflect on what they have learned, writing it up from the point of view of what the outcomes mean for their adopted countries. This involves both offline activities and use of the country teams forums. These are then translated into Web pages and posted up under preset up page fro each country. Students then review their collective postings.

The resources and facilities needed include:

- Content.
  - Aims and Objectives of the learning activity itself.
  - Materials background information about each of the countries as well as links to materials on the First World War.
  - Maps representing Europe in 1919 and all the major areas referred to in the negotiations.
  - Objectives for each country to achieve.
  - Results for displaying the results on completion of each negotiation.
- Tools
  - Calendar that shows the key events in the four-week project.
  - Web editing and posting facilities.
  - Help provides guidance on website and available tools.
- Communications
  - Mail facility to enable private communications between participants.
  - Conferences a discussion forum with dedicated spaces for each country, the main negotiation forum and bilateral negotiation spaces.

When students log in they only have access to the country they represent; teachers have access to all countries.

On the Negotiation day, there is a Recorder role, which can be played by a teacher or other appointed person. All decisions agreed between negotiating parties are posted to the Recorder.

Only schools signed up for the project should be able access the environment. Within it, only recognized students and teachers should be able make contributions. In particular, only the students assigned to a particular country should be given access to that countries resources, and during the negotiations only be able to participate as representatives of their country. Teachers have access to all spaces.

Forums may need to be moderated. Invited experts may be available in each forum for questioning.

The event is complex to set up on a new system and fairly complex to set up for individual events, limiting both portability and reusability. The requirement therefore is to simplify the design process and capture the design and set up information so that it can be readily reused both on other systems and then at different times on the same system.

The basic sequence of events is:

1. Pre-negotiation day preparation.

a. Introduction to the event and the countries to be played and their objectives.

b. Study of material relevant to the event and the assigned country.

c. Discussion within a school group of country negotiation positions.

d. Face to face, in-school, role play of the negotiation.

e. Developing of negotiation position with same country groups in other schools.

2. The negotiation day.

a. Main negotiation between all countries.

i. Each agreed decision reported to the Recorder.

b. Parallel multiple, one-to-one country team negotiations.

i. Each agreed decision reported to the Recorder.

c. Emerging results reviewable as negotiations proceed.

d. Outcome of day's negotiations reviewed.

3. The post negotiation day reflection on the learning.

a. Reflecting on the experience.

b. Developing reports on this (as Web pages) as countries.

i. Face-to-face in each school.

ii. via the shared country forums.

c. Posting to Web.

d. Reading and comparing experiences of others.

### 4.2.2 UML Activity Diagram

Not supplied for this example.

### 4.2.3 Key Points of Note

- The Versailles example illustrates that a sophisticated learning event can be modelled with Learning Design Level A capabilities. As a result, the structure and composition of the XML document instance is described in some detail here;
- Roles. As well as learners and teachers, there is a role for each of the six countries: Great Britain, USA, Poland, France, Serbia, and Italy. There are also negotiation day Chair and Recorder roles, and lastly invited Experts. Thus starting with the base Learner and Support Staff roles in LD, these sub-roles are then added:
  - Support Staff
    - Teacher
    - Negotiation Chair
    - Recorder
    - Expert
  - Learner
    - Great Britain
    - USA
    - Poland
    - France
    - Serbia
    - Italy

Note: All learners have the Learner role as well, and all staff also have the Support Staff role. This enables them to be given activities as single group when appropriate, rather than the same activity needing to be given multiple times to each sub-role.

- Resources. The following kinds of Web content resources are identified:
  - Aims and objectives for the event.
  - Negotiating objectives for each country.
  - Background information on WW1, on the countries, their relationships and the state of each country at the time of negotiations (Nov. 1919).
  - Supporting maps.
  - Negotiation Results board (page).
  - Root Web page for each Country's post-negotiation reflections.
  - Calendar of events for the period of the event.
- Services. The following kinds of services are identified:
  - Send-mail (for sending results to the Recorder).
  - Multiple conferences supporting:
    - Each country's pre-negotiation preparation (6).
    - The main negotiating day forum.
    - Pairs of countries during the negotiation day (5+4+3+2+1 = 15).
    - Conferences have one or more participants (reader/writers). These conference system roles are each linked to a learning design role. Therefore, these country-pair conferences each has the appropriate pair of country roles set as participants and the teacher role set as an additional third participant (all teachers are specified as having access to all country-based discussions).
    - (Each country's post-negotiation discussions use the same pre-negotiation conference.)
  - Web editing and page uploading facilities (These are treated as potential services as the URI is unlikely to be determined before instantiation time, although they could be treated as a resource).
- Activities and Activity Structures. There are number of activities to be performed separately by each group and some that are shared. There is a mix of face-to-face and online activities. Each country will separately perform this first set of activities. These will be grouped as an Activity-Structure.
  - Activity structure: A - Preparation
    - This activity-structure will consist of the following individual activities
      1. Introduction to the whole Versailles event
      2. Introduction to the Preparation phase
      3. Become familiar with the aims and objectives of the event
      4. Become familiar with own country's objectives
      5. Discovery own country's background history
      6. Become familiar with other countries' objectives
      7. Each country group decides, in separate face-to-face/in-school meetings, on a preliminary negotiating priorities and desired outcomes
      8. Agree in local country teams on own country's strategy
  - There need only be one of these activity structures, as the same background materials are available to all learners, regardless of country role. The introductions will be provided first in sequence, followed by online study and face-to-face activities, which can be carried out in any order. These are then followed by the cross-school country strategy development where a dedicated online discussion space (conference) is provided for each country. The face-to-face activities, individual country strategy and 'dry-run' negotiations can be carried out at any time at the local teachers discretion. Face-to-face activities are simply handled by setting up an activity and using its Activity Description (a link to a Web page) to provide the instructions for what must be done offline. The structure then emerges as:

Sequence

Using online resources:

Introduction to the Versailles event

Introduction to the Preparation phase

Using online resources:

User Choice (i.e., from a menu or other selection mechanism)

Become familiar with the aims and objectives of the event

Become familiar with own country's objectives

Discovery own country's background history

Become familiar with other countries' objectives

Separately in country roles but f2f in each school

f2f, local country teams, each prepares a preliminary strategy

All together in Roles, but f2f in each school

Carry out a 'dry-run' negotiation

Separately in country roles, but online and across all participating schools

each country prepares their negotiation strategy

- For long-term, open-ended work such as this, common time limits are set to determine the end of the activities and to synchronize remote participants. (These times are reflected in the calendar for the event.)

- B - Negotiation Day
  - On the Negotiation day in addition to the main negotiation activity will be 15 different one-on-one negotiations running in parallel (or at least in an indeterminate sequence), each with a different pairing of country roles participating. However the internal structure of each negotiation is the same - or nearly the same. The exception is that the conference/discussion space for each negotiation will be unique to each one and will therefore each will need its own activity or activity-structure to support it.
  - In outline the Negotiation Day activities are:

1. Introduction to the Negotiation Day

2. Main Negotiations: agreements sent to Recorder

3. Multiple bilateral country negotiations: agreements sent to Recorder

4. The Recorder posts the outcome to the Negotiation Results Board (Note: negotiators may read the outcomes of other negotiations as they are posted)

5. Review final outcomes

2. The Opening and Closing Activities

1. The first and the last activities, being both sequentially separate and common to all participants in the Unit of Learning, will be supported as separate Acts within the Play with the Negotiation Act between them. For each of these two, there needs to be a single Activity.

2. The 'Introduction to the Negotiation Day' Activity might have several html pages associated with it.

3. The 'Review Final Outcomes' Activity may consist of no more than the Activity's associated Activity Description (also as an HTML page), with no further Environment elements associated with it.

3. Main Negotiation Activity

1. All participants take part in the Main negotiation which takes the form of a dedicated conference space. A member of staff takes the role of Chair. Learners participate in their roles. All teachers have access.

4. Bilateral Negotiation Activities

1. The 15 bilateral negotiations will each have a unique conference space. It will be referenced as a service item in the environment of a single activity. Thus there is a France-Italy discussion space, and this will be assigned to both the France and the Italy roles. As the outcome of this activity is always sent to the Recorder, another service, send-mail, is also included in the environment for this activity.

2. The Recorder's Activity of receiving outcomes and posting them to the Results Board runs in parallel with the other activities. This Activity is mapped to a separate Recorder Role by a Role-part within the Negotiation Act.

3. Similarly the Activity of Viewing the Results Board is available to all participants throughout the day.

5. We thus see an emerging structure for the Negotiation Day
Sequence

1. Introduction to the Day

2. Negotiations: a user-choice Activity-structure (i.e., in parallel)

a. Main Negotiation Forum

b. 15 separate Bilateral negotiation 'side-rooms'

i. unique bilateral negotiation, with a dedicated conference

ii. send-mail for passing outcomes to the Recorder

c. 'Review Emerging Outcomes' Activity

3. 'Review Final Outcomes' Activity

6. The third and last main activity block, the Post-Negotiation period, is organized as an activity-structure.

- C - Reflection

7. It is assumed here that all learners participate in this as an individual activity and can thus be assigned to the role Learner. (If the environment contains no 'collaboration service', only content or single user tools such as editors, etc., then the role players effectively carry out the assigned work separately, but in the same time period.

8. The Reflection Activity-structure includes the following Post Negotiation Day Activities:

1. Reflect on experience

2. Describe what was learned

3. Create Web pages communicating this

4. Post to website

5. Read and review the reflections of others

- Method, Play, Acts and Role-parts. This will provide overall orchestration, keeping groups apart in the initial stages but allowing teachers access to all groups; on the negotiation day providing multi-way parallel negations between appropriate countries and other facilities; allowing multiple reflections afterwards as individuals.
  - Acts.

1. In the Pre-negotiation act, the following role-parts must be specified, each associating a Role with (in this case) an Activity-structure:

1. GB-Preparation

2. US-Preparation

3. Poland-Preparation

4. France-Preparation

5. Serbia-Preparation

6. Italy-Preparation

2. Negotiation Day

1. The Negotiation day is actually a sequence of three Acts

- Introduction to the day

- Negotiations

- Review Final Outcomes

2. The introduction and the Review of Final Outcomes is for all participants, so as Acts, they need to include two Role-parts, each assigning the same Activity to a different Role.

- Thus the Act 'Introduction to the Day' has two Role-parts - Role-Part 1 associates: Teacher Role with 'Introduction to the Day' Activity. Role-Part 2 associates: Learner Role with 'Introduction to the Day'Activity. These Role-parts are to run in parallel

- Similarly the Act 'Review Final Outcomes' has a Role-part: Role-Part 'Learners Review Outcomes' associates: Learner Role with the 'Review Final Outcomes' Activity. A role part for the teacher is not defined for the Teacher Role, but we will assume that they will play a significant role in supporting and encouraging learners in carrying out their Reflection activity. If teachers are also to reflect on the outcomes than another activity might be: Role-Part 'Teachers Review Outcomes' associates: Teacher Role with the 'Review Final Outcomes' Activity.

3. Negotiations.

- 15 bilateral Negotiation Activity-structures have been defined above, each associated with a dedicated conference, the dedicated conference has two Participant elements, each associating one of the two countries with the participant role in the conference (i.e. effectively conferring read/write permissions on the individual players of each countries role).

- Within the Act two Role-parts need to be defined for each bilateral negotiation Activity-structure (see above), each one associating one of the two country roles with the Activity-structure itself.

- There will thus be a total of 30 Role-parts needed to set up the negotiations.

- These will run asynchronously in parallel. Submissions can be made to a negotiation at any time and responses made at any time. If two parties are participating in the same conference at the same time, then the discussion in effect becomes (near) synchronous.

- To the negotiation Role-parts, there needs to be added: Role-part 'Recorder receives and Posts Outcomes' for the Recorder associating it with the 'Receive Outcomes and Post to Board' Activity.

- As view the outcomes during the day is common to all participants, two further Role-parts are defined: Role-Part 'Learners View Outcomes' associates Learners with the 'View Outcomes' activity, and Role-Part 'Teachers View Outcomes' associates Teachers with the 'View Outcomes' Activity.

3. Post-negotiation.

1. It is not specified whether the reflection, creation and posting of Web pages is done individually or in groups and if in groups whether these are still the country groups. It is assumed here that these tasks are carried out individually. This means they are assigned to the most generic Learner role.

2. Role-Part 'Learner Reflects on Event' associates: Learner Role with the 'Reflection' Activity-structure. A role part for the teacher is not defined for the Teacher Role, but we will assume that they will play a significant role in supporting and encouraging learners in carrying out their Reflection activity.

3. Another Role-Part, 'Teacher Supports Reflection', missing from the first cut activities above, could associate: Teacher Role with 'Support Learners in their Reflection' Activity (in which case this new support Activity, missed out in the first pass, would need to be added to the list of Activities defined for the Unit of Learning.)

4. In the same vein, Support activities could be added to the first two main activity blocks also.

- Plays

1. These Acts are assembled into a single Play and there does not appear to be any need for additional Plays to be defined.

- Method

1. The Method therefore consists of a single Play.

### 4.2.4 XML Document Instance

    <?xml version="1.0"?>
    <!-- edited with XMLSPY v5 rel. 2 U (http://www.xmlspy.com) by Colin Tattersall (Open University of the Netherlands) -->
    <!-- extensively reworked (restructured, reduced in places, expanded in others and commented) by Bill Olivier -->
    <manifest xmlns="http://www.imsglobal.org/xsd/imscp_v1p1" xmlns:imsld="http://www.imsglobal.org/xsd/imsld_v1p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imscp_v1p1 http://www.imsglobal.org/xsd/imscp_v1p1p3.xsd http://www.imsglobal.org/xsd/imsld_v1p0  http://www.imsglobal.org/xsd/imsld_level_a_v1p0.xsd" identifier="Versailles_Experience-Manifest">
       <metadata>
          <schema>IMS Metadata</schema>
          <schemaversion>1.2</schemaversion>
       </metadata>
       <organizations>
          <imsld:learning-design identifier="Versailles_Experience" uri="" level="A">
             <imsld:components>
                <!-- -->
                <!-- ROLES -->
                <imsld:roles>
                   <!-- LEARNER ROLES -->
                   <imsld:learner identifier="Learner">
                      <imsld:title>Learner</imsld:title>
                   </imsld:learner>
                   <imsld:learner identifier="GB">
                      <imsld:title>Great Britain</imsld:title>
                   </imsld:learner>
                   <imsld:learner identifier="USA">
                      <imsld:title>U.S.A.</imsld:title>
                   </imsld:learner>
                   <imsld:learner identifier="POLAND">
                      <imsld:title>Poland</imsld:title>
                   </imsld:learner>
                   <imsld:learner identifier="FRANCE">
                      <imsld:title>France</imsld:title>
                   </imsld:learner>
                   <imsld:learner identifier="SERBIA">
                      <imsld:title>Serbia</imsld:title>
                   </imsld:learner>
                   <imsld:learner identifier="ITALY">
                      <imsld:title>Italy</imsld:title>
                   </imsld:learner>
                   <!-- STAFF ROLES -->
                   <imsld:staff identifier="Support_Staff">
                      <imsld:title>Support Staff</imsld:title>
                   </imsld:staff>
                   <imsld:staff identifier="Teacher">
                      <imsld:title>Teacher</imsld:title>
                   </imsld:staff>
                   <imsld:staff identifier="Recorder">
                      <imsld:title>Recorder</imsld:title>
                   </imsld:staff>
                   <imsld:staff identifier="Chair">
                      <imsld:title>Negotiation Chair</imsld:title>
                   </imsld:staff>
                   <imsld:staff identifier="Expert">
                      <imsld:title>Expert</imsld:title>
                   </imsld:staff>
                </imsld:roles>
                <!-- -->
                <!-- ACTIVITIES -->
                <!-- ACTIVITIES INCLUDE AN ACTIVITY DESCRIPTION AND A LINK TO AN ENVIRONEMNT. -->
                <!-- ENVORONMENTS CONTAIN REFERENCES TO LEARNING OBJECTS AND SERVICES. -->
                <imsld:activities>
                   <!-- INTORDUCTORY OVERVIEW -->
                   <imsld:learning-activity identifier="Versailles_Overview">
                      <imsld:title>Versailles Experience Aims and Objectives</imsld:title>
                      <imsld:environment-ref ref="Versailles_Aims"/>
                      <imsld:activity-description>
                         <imsld:item identifier="Versailles_Overview_AD_res" identifierref="RES-Versailles_Overview_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <!-- INTORDUCTION TO PREPARATION -->
                   <imsld:learning-activity identifier="Preparation_Intro">
                      <imsld:title>Introduction to Preparatory Activities</imsld:title>
                      <imsld:environment-ref ref="Versailles_Prep_Intro"/>
                      <imsld:activity-description>
                         <imsld:item identifier="Preparation_Intro_AD_res" identifierref="RES-Preparation_Intro_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <!-- ONLINE LEARNER PREPRARATORY ACTIVITIES -->
                   <imsld:learning-activity identifier="GB_Objectives">
                      <imsld:title>Great Britain Objectives</imsld:title>
                      <imsld:environment-ref ref="GB_Aims"/>
                      <imsld:activity-description>
                         <imsld:item identifier="GB_Objectives_AD_res" identifierref="RES-GB_Objectives_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="USA_Objectives">
                      <imsld:title>U.S.A. Objectives</imsld:title>
                      <imsld:environment-ref ref="US_Aims"/>
                      <imsld:activity-description>
                         <imsld:item identifier="USA_Objectives_AD_res" identifierref="RES-USA_Objectives_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="POLAND_Objectives">
                      <imsld:title>Poland Objectives</imsld:title>
                      <imsld:environment-ref ref="Poland_Aims"/>
                      <imsld:activity-description>
                         <imsld:item identifier="POLAND_Objectives_AD_res" identifierref="RES-POLAND_Objectives_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="FRANCE_Objectives">
                      <imsld:title>France Objectives</imsld:title>
                      <imsld:environment-ref ref="France_Aims"/>
                      <imsld:activity-description>
                         <imsld:item identifier="FRANCE_Objectives_AD_res" identifierref="RES-FRANCE_Objectives_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="SERBIA_Objectives">
                      <imsld:title>Serbia Objectives</imsld:title>
                      <imsld:environment-ref ref="Serbia_Aims"/>
                      <imsld:activity-description>
                         <imsld:item identifier="SERBIA_Objectives_AD_res" identifierref="RES-SERBIA_Objectives_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="ITALY_Objectives">
                      <imsld:title>Italy Objectives</imsld:title>
                      <imsld:environment-ref ref="Italy_Aims"/>
                      <imsld:activity-description>
                         <imsld:item identifier="ITALY_Objectives_AD_res" identifierref="RES-ITALY_Objectives_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="GB_Background">
                      <imsld:title>Great Britain Background</imsld:title>
                      <imsld:environment-ref ref="GB_Background_Env"/>
                      <imsld:activity-description>
                         <imsld:item identifier="GB_Background_AD_res" identifierref="RES-GB_Background_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="USA_Background">
                      <imsld:title>USA Background</imsld:title>
                      <imsld:environment-ref ref="USA_Background_Env"/>
                      <imsld:activity-description>
                         <imsld:item identifier="USA_Background_Env_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="Poland_Background">
                      <imsld:title>Poland Background</imsld:title>
                      <imsld:environment-ref ref="Poland_Background_Env"/>
                      <imsld:activity-description>
                         <imsld:item identifier="Poland_Background_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="France_Background">
                      <imsld:title>France Background</imsld:title>
                      <imsld:environment-ref ref="France_Background_Env"/>
                      <imsld:activity-description>
                         <imsld:item identifier="France_Background_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="Serbia_Background">
                      <imsld:title>Serbia Background</imsld:title>
                      <imsld:environment-ref ref="Serbia_Background_Env"/>
                      <imsld:activity-description>
                         <imsld:item identifier="Serbia_Background_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="Italy_Background">
                      <imsld:title>Italy Background</imsld:title>
                      <imsld:environment-ref ref="Italy_Background_Env"/>
                      <imsld:activity-description>
                         <imsld:item identifier="Italy_Background_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <!-- OFFLINE ACTIVITIES -->
                   <!-- OFFLINE COUNTRY STRATEGY PREPARATION -->
                   <imsld:learning-activity identifier="Offline_Strategy">
                      <imsld:title>Local Preparation of Preliminary Country Sratagies</imsld:title>
                      <imsld:activity-description>
                         <!-- ALL LEARNER INSTRUCTIONS FOR OFFLINE STRATEGY LINKED FORM HERE -->
                         <imsld:item identifier="Offline_Strategy_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <!-- OFFLINE DRY-RUN NEGOTIATION -->
                   <imsld:learning-activity identifier="Offline_Negotiation">
                      <imsld:title>Local Dry-run of Treaty Negotiation</imsld:title>
                      <imsld:activity-description>
                         <!-- ALL LEARNER INSTRUCTIONS FOR OFFLINE NEGOTIATION LINKED FORM HERE -->
                         <imsld:item identifier="Offline_Negotiation_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <!-- ONLINE COUNTRY STRATEGY PREPARATION -->
                   <imsld:learning-activity identifier="GB_Agree">
                      <imsld:title>Great Britain Agree Priorities and Strategy</imsld:title>
                      <imsld:environment-ref ref="GB_Confer"/>
                      <imsld:activity-description>
                         <imsld:item identifier="GB_Agree_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="USA_Agree">
                      <imsld:title>USA Agree Priorities and Strategy</imsld:title>
                      <imsld:environment-ref ref="US_Confer"/>
                      <imsld:activity-description>
                         <imsld:item identifier="USA_Agree_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="POLAND_Agree">
                      <imsld:title>Poland Agree Priorities and Strategy</imsld:title>
                      <imsld:environment-ref ref="Poland_Confer"/>
                      <imsld:activity-description>
                         <imsld:item identifier="POLAND_Agree_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="FRANCE_Agree">
                      <imsld:title>France Agree Priorities and Strategy</imsld:title>
                      <imsld:environment-ref ref="France_Confer"/>
                      <imsld:activity-description>
                         <imsld:item identifier="FRANCE_Agree_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="SERBIA_Agree">
                      <imsld:title>Serbia Agree Priorities and Strategy</imsld:title>
                      <imsld:environment-ref ref="Serbia_Confer"/>
                      <imsld:activity-description>
                         <imsld:item identifier="SERBIA_Agree_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="ITALY_Agree">
                      <imsld:title>Italy Agree Priorities and Strategy</imsld:title>
                      <imsld:environment-ref ref="Italy_Confer"/>
                      <imsld:activity-description>
                         <imsld:item identifier="ITALY_Agree_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <!-- -->
                   <!-- MAIN NEGOTIATION DAY ACTIVITIES-->
                   <!-- INTRODUCTION TO MAIN NEGOTIATION DAY -->
                   <!-- -->
                   <!-- A DESCRIPTION OF THE DAYS ACTIVITES HELD IN THIS ELEMENT'S -->
                   <!-- ACTIVITY-DESCRPTION  -->
                   <imsld:learning-activity identifier="Intro_Negotiate">
                      <imsld:title>Introduction to Negotiating Day</imsld:title>
                      <imsld:activity-description>
                         <imsld:item identifier="Intro_Negotiate_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <!--  MAIN NEGOTIATION ACTIVITY -->
                   <imsld:learning-activity identifier="Main_Negotiate">
                      <imsld:title>Main Negotiating Chamber</imsld:title>
                      <imsld:environment-ref ref="Main_Negotiation_Confer"/>
                      <imsld:activity-description>
                         <imsld:item identifier="Main_Negotiate_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <!-- BILATERAL NEGOTIATION SIDE-ROOMS  -->
                   <imsld:learning-activity identifier="GB-USA_Negotiate">
                      <imsld:title>GB-USA Side-room</imsld:title>
                      <imsld:environment-ref ref="GB_US_Confer"/>
                      <imsld:activity-description>
                         <imsld:item identifier="GB-USA_Negotiate_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="GB-POLAND_Negotiate">
                      <imsld:title>GB-Poland Side-room</imsld:title>
                      <imsld:environment-ref ref="GB_Poland_Confer"/>
                      <imsld:activity-description>
                         <imsld:item identifier="GB-POLAND_Negotiate_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="GB-France_Negotiate">
                      <imsld:title>GB-France Side-room</imsld:title>
                      <imsld:environment-ref ref="GB_France_Confer"/>
                      <imsld:activity-description>
                         <imsld:item identifier="GB-France_Negotiate_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="GB-Serbia_Negotiate">
                      <imsld:title>GB-Serbia Side-room</imsld:title>
                      <imsld:environment-ref ref="GB_Serbia_Confer"/>
                      <imsld:activity-description>
                         <imsld:item identifier="GB-Serbia_Negotiate_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="GB-Italy_Negotiate">
                      <imsld:title>GB-Italy Side-room</imsld:title>
                      <imsld:environment-ref ref="GB_Italy_Confer"/>
                      <imsld:activity-description>
                         <imsld:item identifier="GB-Italy_Negotiate_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="USA-POLAND_Negotiate">
                      <imsld:title>USA-Poland Side-room</imsld:title>
                      <imsld:environment-ref ref="US_Poland_Confer"/>
                      <imsld:activity-description>
                         <imsld:item identifier="USA-POLAND_Negotiate_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="USA-FRANCE_Negotiate">
                      <imsld:title>USA-France Side-room</imsld:title>
                      <imsld:environment-ref ref="US_France_Confer"/>
                      <imsld:activity-description>
                         <imsld:item identifier="USA-FRANCE_Negotiate_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="USA-SERBIA_Negotiate">
                      <imsld:title>USA-Serbia Side-room</imsld:title>
                      <imsld:environment-ref ref="US_Serbia_Confer"/>
                      <imsld:activity-description>
                         <imsld:item identifier="USA-SERBIA_Negotiate_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="USA-ITALY_Negotiate">
                      <imsld:title>USA-Italy Side-room</imsld:title>
                      <imsld:environment-ref ref="US_Italy_Confer"/>
                      <imsld:activity-description>
                         <imsld:item identifier="USA-ITALY_Negotiate_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="POLAND-FRANCE_Negotiate">
                      <imsld:title>Poland-France Side-room</imsld:title>
                      <imsld:environment-ref ref="Poland_France_Confer"/>
                      <imsld:activity-description>
                         <imsld:item identifier="POLAND-FRANCE_Negotiate_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="POLAND-SERBIA_Negotiate">
                      <imsld:title>Poland-Serbia Side-room</imsld:title>
                      <imsld:environment-ref ref="Poland_Serbia_Confer"/>
                      <imsld:activity-description>
                         <imsld:item identifier="POLAND-SERBIA_Negotiate_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="POLAND-ITALY_Negotiate">
                      <imsld:title>Poland-Italy Side-room</imsld:title>
                      <imsld:environment-ref ref="Poland_Italy_Confer"/>
                      <imsld:activity-description>
                         <imsld:item identifier="POLAND-ITALY_Negotiate_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="FRANCE-SERBIA_Negotiate">
                      <imsld:title>France-Serbia Side-room</imsld:title>
                      <imsld:environment-ref ref="France_Serbia_Confer"/>
                      <imsld:activity-description>
                         <imsld:item identifier="FRANCE-SERBIA_Negotiate_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="FRANCE-ITALY_Negotiate">
                      <imsld:title>France-Italy Side-room</imsld:title>
                      <imsld:environment-ref ref="France_Italy_Confer"/>
                      <imsld:activity-description>
                         <imsld:item identifier="FRANCE-ITALY_Negotiate_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="SERBIA-ITALY_Negotiate">
                      <imsld:title>Serbia-Italy Side-room</imsld:title>
                      <imsld:environment-ref ref="Italy_Serbia_Confer"/>
                      <imsld:activity-description>
                         <imsld:item identifier="SERBIA-ITALY_Negotiate_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <!-- RETURNING AND CHECKING BILATERAL NEGOTIATION RESULTS  -->
                   <imsld:learning-activity identifier="Send_results">
                      <imsld:title>Send Results to Recorder</imsld:title>
                      <imsld:environment-ref ref="Send_Results_Env"/>
                      <imsld:activity-description>
                         <imsld:item identifier="Send_results_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="Read_interim_results">
                      <imsld:title>Read Posted Results</imsld:title>
                      <imsld:environment-ref ref="Returned_results_env"/>
                      <imsld:activity-description>
                         <imsld:item identifier="Read_interim_results_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:support-activity identifier="Receive_and_post">
                      <imsld:title>Receive and Post Record Results</imsld:title>
                      <imsld:environment-ref ref="Web_Edit"/>
                      <imsld:activity-description>
                         <imsld:item identifier="Receive_and_post_AD_res"/>
                      </imsld:activity-description>
                   </imsld:support-activity>
                   <!-- REVIEW OUTCOMES OF MAIN NEGOTIATION DAY -->
                   <imsld:learning-activity identifier="Review_final_results">
                      <imsld:title>Review Final Results of the Negoatioations</imsld:title>
                      <imsld:environment-ref ref="Returned_results_env"/>
                      <imsld:activity-description>
                         <imsld:item identifier="Review_final_results_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <!--   -->
                   <!-- POST NEGOTIATION DAY REFLECTION ACTIVITIES -->
                   <!-- MOST OF THESE ACTIVITIES HAVE NO ENVIRONMENT -->
                   <!-- AS THEY DESCRIBE OFFLINE ACTIVITIES.                                       -->
                   <imsld:learning-activity identifier="Reflect">
                      <imsld:title>Reflect on Experience</imsld:title>
                      <imsld:activity-description>
                         <imsld:item identifier="Reflect_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="Describe">
                      <imsld:title>Describe What was Learned</imsld:title>
                      <imsld:activity-description>
                         <imsld:item identifier="Describe_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="Create_page">
                      <imsld:title>Create Web Pages(s)</imsld:title>
                      <imsld:environment-ref ref="Web_Edit"/>
                      <imsld:activity-description>
                         <imsld:item identifier="Create_page_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="Post_page">
                      <imsld:title>Post Web Page(s) to Web Site</imsld:title>
                      <imsld:environment-ref ref="Web_Edit"/>
                      <imsld:activity-description>
                         <imsld:item identifier="Post_page_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="Review_Outcomes">
                      <imsld:title>Review all Countrys Reflections on the Treaty</imsld:title>
                      <imsld:environment-ref ref="Review_Outcomes_env"/>
                      <imsld:activity-description>
                         <imsld:item identifier="Review_Outcomes_AD_res"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <!--   -->
                   <!-- STAFF SUPPORT ACTIVITIES -->
                   <!-- THE ACTIVITY DESCRIPTIONS PROVIDE STAFF WITH SUPPORT NOTES. -->
                   <imsld:support-activity identifier="Support_participants_preparation">
                      <imsld:title>Support Participants Perparation</imsld:title>
                      <imsld:activity-description>
                         <imsld:item identifier="Support_participants_preparation_AD_res"/>
                      </imsld:activity-description>
                   </imsld:support-activity>
                   <imsld:support-activity identifier="Support_participants_negotiation">
                      <imsld:title>Support participants in Negotiation Day</imsld:title>
                      <imsld:activity-description>
                         <imsld:item identifier="Support_participants_negotiation_AD_res"/>
                      </imsld:activity-description>
                   </imsld:support-activity>
                   <imsld:support-activity identifier="Support_learners_reflection">
                      <imsld:title>Support Learners Reflection Process</imsld:title>
                      <imsld:activity-description>
                         <imsld:item identifier="Support_learners_reflection_AD_res"/>
                      </imsld:activity-description>
                   </imsld:support-activity>
                   <!--   -->
                   <!-- ACTIVITY STRUCTURES -->
                   <!-- PREPARATORY PHASE -->
                   <imsld:activity-structure identifier="Preparation" structure-type="sequence">
                      <imsld:title>Preparation the Versailles Negotations</imsld:title>
                      <imsld:learning-activity-ref ref="Preparation_Intro"/>
                      <!-- The next item references another activity-structure. See next -->
                      <imsld:learning-activity-ref ref="Objectives_Background"/>
                      <imsld:learning-activity-ref ref="Offline_Strategy"/>
                      <imsld:learning-activity-ref ref="Offline_Negotiation"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="Objectives_Background" structure-type="selection">
                      <imsld:title>Background Study for the Versailles Negotations</imsld:title>
                      <imsld:learning-activity-ref ref="GB_Objectives"/>
                      <imsld:learning-activity-ref ref="GB_Background"/>
                      <imsld:learning-activity-ref ref="USA_Objectives"/>
                      <imsld:learning-activity-ref ref="USA_Background"/>
                      <imsld:learning-activity-ref ref="POLAND_Objectives"/>
                      <imsld:learning-activity-ref ref="Poland_Background"/>
                      <imsld:learning-activity-ref ref="FRANCE_Objectives"/>
                      <imsld:learning-activity-ref ref="France_Background"/>
                      <imsld:learning-activity-ref ref="SERBIA_Objectives"/>
                      <imsld:learning-activity-ref ref="Serbia_Background"/>
                      <imsld:learning-activity-ref ref="ITALY_Objectives"/>
                      <imsld:learning-activity-ref ref="Italy_Background"/>
                   </imsld:activity-structure>
                   <!-- MAIN NEGOTIATION DAY -->
                   <imsld:activity-structure identifier="GB_Negotiation_Day" structure-type="selection">
                      <imsld:title>GB Negotation Day</imsld:title>
                      <imsld:learning-activity-ref ref="Main_Negotiate"/>
                      <imsld:learning-activity-ref ref="GB-France_Negotiate"/>
                      <imsld:learning-activity-ref ref="GB-Italy_Negotiate"/>
                      <imsld:learning-activity-ref ref="GB-POLAND_Negotiate"/>
                      <imsld:learning-activity-ref ref="GB-Serbia_Negotiate"/>
                      <imsld:learning-activity-ref ref="GB-USA_Negotiate"/>
                      <imsld:learning-activity-ref ref="Send_results"/>
                      <imsld:learning-activity-ref ref="Read_interim_results"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="USA_Negotiation_Day" structure-type="selection">
                      <imsld:title>USA Negotation Day</imsld:title>
                      <imsld:learning-activity-ref ref="Main_Negotiate"/>
                      <imsld:learning-activity-ref ref="GB-USA_Negotiate"/>
                      <imsld:learning-activity-ref ref="USA-POLAND_Negotiate"/>
                      <imsld:learning-activity-ref ref="USA-FRANCE_Negotiate"/>
                      <imsld:learning-activity-ref ref="USA-ITALY_Negotiate"/>
                      <imsld:learning-activity-ref ref="USA-SERBIA_Negotiate"/>
                      <imsld:learning-activity-ref ref="Send_results"/>
                      <imsld:learning-activity-ref ref="Read_interim_results"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="Poland_Negotiation_Day" structure-type="selection">
                      <imsld:title>Poland Negotation Day</imsld:title>
                      <imsld:learning-activity-ref ref="Main_Negotiate"/>
                      <imsld:learning-activity-ref ref="GB-POLAND_Negotiate"/>
                      <imsld:learning-activity-ref ref="USA-POLAND_Negotiate"/>
                      <imsld:learning-activity-ref ref="POLAND-FRANCE_Negotiate"/>
                      <imsld:learning-activity-ref ref="POLAND-ITALY_Negotiate"/>
                      <imsld:learning-activity-ref ref="POLAND-SERBIA_Negotiate"/>
                      <imsld:learning-activity-ref ref="Send_results"/>
                      <imsld:learning-activity-ref ref="Read_interim_results"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="France_Negotiation_Day" structure-type="selection">
                      <imsld:title>France Negotation Day</imsld:title>
                      <imsld:learning-activity-ref ref="Main_Negotiate"/>
                      <imsld:learning-activity-ref ref="GB-France_Negotiate"/>
                      <imsld:learning-activity-ref ref="USA-FRANCE_Negotiate"/>
                      <imsld:learning-activity-ref ref="POLAND-FRANCE_Negotiate"/>
                      <imsld:learning-activity-ref ref="FRANCE-ITALY_Negotiate"/>
                      <imsld:learning-activity-ref ref="FRANCE-SERBIA_Negotiate"/>
                      <imsld:learning-activity-ref ref="Send_results"/>
                      <imsld:learning-activity-ref ref="Read_interim_results"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="Italy_Negotiation_Day" structure-type="selection">
                      <imsld:title>Italy Negotation Day</imsld:title>
                      <imsld:learning-activity-ref ref="Main_Negotiate"/>
                      <imsld:learning-activity-ref ref="GB-Italy_Negotiate"/>
                      <imsld:learning-activity-ref ref="USA-ITALY_Negotiate"/>
                      <imsld:learning-activity-ref ref="FRANCE-ITALY_Negotiate"/>
                      <imsld:learning-activity-ref ref="POLAND-ITALY_Negotiate"/>
                      <imsld:learning-activity-ref ref="SERBIA-ITALY_Negotiate"/>
                      <imsld:learning-activity-ref ref="Send_results"/>
                      <imsld:learning-activity-ref ref="Read_interim_results"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="Serbia_Negotiation_Day" structure-type="selection">
                      <imsld:title>Serbia Negotation Day</imsld:title>
                      <imsld:learning-activity-ref ref="Main_Negotiate"/>
                      <imsld:learning-activity-ref ref="GB-Serbia_Negotiate"/>
                      <imsld:learning-activity-ref ref="USA-SERBIA_Negotiate"/>
                      <imsld:learning-activity-ref ref="POLAND-SERBIA_Negotiate"/>
                      <imsld:learning-activity-ref ref="FRANCE-SERBIA_Negotiate"/>
                      <imsld:learning-activity-ref ref="SERBIA-ITALY_Negotiate"/>
                      <imsld:learning-activity-ref ref="Send_results"/>
                      <imsld:learning-activity-ref ref="Read_interim_results"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="Staff_Strategy_Support" structure-type="selection">
                      <!-- STAFF HAVE ACCESS TO ALL COUNTRY FORUMS -->
                      <imsld:title>Staff Support for National Strategy Development</imsld:title>
                      <imsld:learning-activity-ref ref="GB_Agree"/>
                      <imsld:learning-activity-ref ref="USA_Agree"/>
                      <imsld:learning-activity-ref ref="POLAND_Agree"/>
                      <imsld:learning-activity-ref ref="ITALY_Agree"/>
                      <imsld:learning-activity-ref ref="FRANCE_Agree"/>
                      <imsld:learning-activity-ref ref="SERBIA_Agree"/>
                      <imsld:learning-activity-ref ref="Read_interim_results"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="Staff_Negotiation_Day" structure-type="selection">
                      <!-- STAFF HAVE ACCESS TO ALL NEGOTIATION FORUMS AND RESULTS -->
                      <imsld:title>Staff Support for Negotiationi Day</imsld:title>
                      <imsld:learning-activity-ref ref="Main_Negotiate"/>
                      <imsld:learning-activity-ref ref="GB-France_Negotiate"/>
                      <imsld:learning-activity-ref ref="GB-Italy_Negotiate"/>
                      <imsld:learning-activity-ref ref="GB-POLAND_Negotiate"/>
                      <imsld:learning-activity-ref ref="GB-Serbia_Negotiate"/>
                      <imsld:learning-activity-ref ref="GB-USA_Negotiate"/>
                      <imsld:learning-activity-ref ref="USA-POLAND_Negotiate"/>
                      <imsld:learning-activity-ref ref="USA-FRANCE_Negotiate"/>
                      <imsld:learning-activity-ref ref="USA-ITALY_Negotiate"/>
                      <imsld:learning-activity-ref ref="USA-SERBIA_Negotiate"/>
                      <imsld:learning-activity-ref ref="POLAND-FRANCE_Negotiate"/>
                      <imsld:learning-activity-ref ref="POLAND-ITALY_Negotiate"/>
                      <imsld:learning-activity-ref ref="POLAND-SERBIA_Negotiate"/>
                      <imsld:learning-activity-ref ref="FRANCE-ITALY_Negotiate"/>
                      <imsld:learning-activity-ref ref="FRANCE-SERBIA_Negotiate"/>
                      <imsld:learning-activity-ref ref="SERBIA-ITALY_Negotiate"/>
                      <imsld:learning-activity-ref ref="Read_interim_results"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="Chair_Negotiations" structure-type="selection">
                      <!-- CHAIR  MODERATES MAIN NEGOTIATION FORUM AND HAS ACCESS TORESULTS -->
                      <imsld:title>Chair Main Negotations</imsld:title>
                      <imsld:learning-activity-ref ref="Chair_Negotiations"/>
                      <imsld:learning-activity-ref ref="Read_interim_results"/>
                   </imsld:activity-structure>
                   <!-- POST-NEGOTIATION PHASE -->
                   <imsld:activity-structure identifier="Reflection">
                      <imsld:title>Reflection</imsld:title>
                      <imsld:learning-activity-ref ref="Reflect"/>
                      <imsld:learning-activity-ref ref="Describe"/>
                      <imsld:learning-activity-ref ref="Create_page"/>
                      <imsld:learning-activity-ref ref="Post_page"/>
                      <imsld:learning-activity-ref ref="Review_Outcomes"/>
                   </imsld:activity-structure>
                </imsld:activities>
                <!--   -->
                <!-- ENVIRONMENTS (LEARNING OBJECTS & SERVICES) -->
                <!-- Note that the item elements in an environment can be an extended tree structure, -->
                <!--   as in Content Packaging. They are kept to a single Item here for brevity.              -->
                <imsld:environments>
                   <!-- VERSAILLES AIMS LEARNING OBJECT -->
                   <imsld:environment identifier="Versailles_Aims">
                      <imsld:title>Aims of the Versailles Experience</imsld:title>
                      <imsld:learning-object identifier="Versailles_Aims_LO">
                         <imsld:item identifier="V_Aims_item" identifierref="V_Aims_res"/>
                      </imsld:learning-object>
                   </imsld:environment>
                   <!-- PREARATORY PHASE INTRODUCTION LEARNING OBJECT -->
                   <imsld:environment identifier="Versailles_Prep_Intro">
                      <imsld:title>Introduction to the Preparatiory Phase</imsld:title>
                      <imsld:learning-object identifier="Versailles_Prep_Intro_LO">
                         <imsld:item identifier="V_Prep_Intro_item" identifierref="V_Prep_Intro_res"/>
                      </imsld:learning-object>
                   </imsld:environment>
                   <!-- COUNRTY AIMS & BACKGROUND LEARNING OBJECTS -->
                   <imsld:environment identifier="GB_Aims">
                      <imsld:title>GB Objectives for the Treaty of Versailles</imsld:title>
                      <imsld:learning-object identifier="GB_Aims_LO">
                         <imsld:item identifier="GB_Aims_item" identifierref="GB_Aims_res"/>
                      </imsld:learning-object>
                   </imsld:environment>
                   <imsld:environment identifier="US_Aims">
                      <imsld:title>USA Objectives for the Treaty of Versailles</imsld:title>
                      <imsld:learning-object identifier="US_Aims_LO">
                         <imsld:item identifier="US_Aims_item" identifierref="US_Aims_res"/>
                      </imsld:learning-object>
                   </imsld:environment>
                   <imsld:environment identifier="Poland_Aims">
                      <imsld:title>Polish Objectives for the Treaty of Versailles</imsld:title>
                      <imsld:learning-object identifier="Poland_Aims_LO">
                         <imsld:item identifier="Poland_Aims_item" identifierref="Poland_Aims_res"/>
                      </imsld:learning-object>
                   </imsld:environment>
                   <imsld:environment identifier="France_Aims">
                      <imsld:title>French Objectives for the Treaty of Versailles</imsld:title>
                      <imsld:learning-object identifier="France_Aims_LO">
                         <imsld:item identifier="France_Aims_item" identifierref="France_Aims_res"/>
                      </imsld:learning-object>
                   </imsld:environment>
                   <imsld:environment identifier="Italy_Aims">
                      <imsld:title>Italian Objectives for the Treaty of Versailles</imsld:title>
                      <imsld:learning-object identifier="Italy_Aims_LO">
                         <imsld:item identifier="Italy_Aims_item" identifierref="Italy_Aims_res"/>
                      </imsld:learning-object>
                   </imsld:environment>
                   <imsld:environment identifier="Serbia_Aims">
                      <imsld:title>Serbian Objectives for the Treaty of Versailles</imsld:title>
                      <imsld:learning-object identifier="Serbia_Aim_LOs">
                         <imsld:item identifier="Serbia_Aims_item" identifierref="Serbia_Aims_res"/>
                      </imsld:learning-object>
                   </imsld:environment>
                   <imsld:environment identifier="GB_Background_Env">
                      <imsld:title>GB Background for the Treaty of Versailles</imsld:title>
                      <imsld:learning-object identifier="GB_Background_LO">
                         <imsld:item identifier="GB_BG_item" identifierref="GB_BG_Res"/>
                      </imsld:learning-object>
                   </imsld:environment>
                   <imsld:environment identifier="USA_Background_Env">
                      <imsld:title>USA Objectives for the Treaty of Versailles</imsld:title>
                      <imsld:learning-object identifier="US_Background_LO">
                         <imsld:item identifier="US_BG_item" identifierref="US_BG_res"/>
                      </imsld:learning-object>
                   </imsld:environment>
                   <imsld:environment identifier="Poland_Background_Env">
                      <imsld:title>Polish Background for the Treaty of Versailles</imsld:title>
                      <imsld:learning-object identifier="Poland_Background_LO">
                         <imsld:item identifier="Poland_BG_item" identifierref="Poland_BG_res"/>
                      </imsld:learning-object>
                   </imsld:environment>
                   <imsld:environment identifier="France_Background_Env">
                      <imsld:title>French Background for the Treaty of Versailles</imsld:title>
                      <imsld:learning-object identifier="France_Background_LO">
                         <imsld:item identifier="France_BG_item" identifierref="France_BG_res"/>
                      </imsld:learning-object>
                   </imsld:environment>
                   <imsld:environment identifier="Italy_Background_Env">
                      <imsld:title>Italian Background for the Treaty of Versailles</imsld:title>
                      <imsld:learning-object identifier="Italy_Background_LO">
                         <imsld:item identifier="Italy_BG_item" identifierref="Italy_BG_res"/>
                      </imsld:learning-object>
                   </imsld:environment>
                   <imsld:environment identifier="Serbia_Background_Env">
                      <imsld:title>Serbian Background for the Treaty of Versailles</imsld:title>
                      <imsld:learning-object identifier="Serbia_Background_LO">
                         <imsld:item identifier="Serbia_BG_item" identifierref="Serbia_BG_res"/>
                      </imsld:learning-object>
                   </imsld:environment>
                   <!-- A WEB FORM FOR ENTERING RESULTS FOR RETURNING TO THE RECORDER. -->
                   <imsld:environment identifier="Send_Results_Env">
                      <imsld:title>Serbian Background for the Treaty of Versailles</imsld:title>
                      <imsld:learning-object identifier="Send_Results_LO">
                         <imsld:item identifier="Send_Results_item" identifierref="Send_Results_res"/>
                      </imsld:learning-object>
                   </imsld:environment>
                   <!-- A WEB PAGE THAT DISPLAYS RESULTS THAT HAVE BEEN RETURNED TO THE RECORDER. -->
                   <imsld:environment identifier="Returned_results_env">
                      <imsld:title>Serbian Background for the Treaty of Versailles</imsld:title>
                      <imsld:learning-object identifier="Returned_results_LO">
                         <imsld:item identifier="Returned_results_item" identifierref="Returned_results_res"/>
                      </imsld:learning-object>
                   </imsld:environment>
                   <!-- WEB EDITING TOOLS - MODELLED HERE AS A LEARNING OBJECT -->
                   <imsld:environment identifier="Web_Edit">
                      <imsld:title>Web Editing Suite</imsld:title>
                      <imsld:learning-object identifier="Web_Edit_LO">
                         <imsld:item identifier="Web_Edit_item" identifierref="Web_Edit_res"/>
                      </imsld:learning-object>
                   </imsld:environment>
                   <!-- WEB PAGE THAT LINKS TO COUNTRIES ROOT PAGES -->
                   <!-- A COUNTRY'S ROOT PAGE LINKS TO THEIR FINAL REFLECTIONS ON THE TREATY. -->
                   <imsld:environment identifier="Review_Outcomes_env">
                      <imsld:title>National Reflections on the Treaty of Versailles</imsld:title>
                      <imsld:learning-object identifier="Review_Outcomes_LO">
                         <imsld:item identifier="Review_Outcomes_item" identifierref="Review_Outcomes_res"/>
                      </imsld:learning-object>
                   </imsld:environment>
                   <!-- -->
                   <!-- SERVICES (SEND-MAIL & CONFERENCES) -->
                   <!-- 6 SINGLE COUNTRY DISCUSSION SPACES (CONFERENCES) -->
                   <imsld:environment identifier="GB_Confer">
                      <imsld:title>GB Team Forum</imsld:title>
                      <imsld:service identifier="GB_Confer_SO">
                         <imsld:conference conference-type="asynchronous">
                            <imsld:participant role-ref="GB"/>
                            <imsld:participant role-ref="Teacher"/>
                            <imsld:participant role-ref="Expert"/>
                            <imsld:item identifier="I-GB_Confer_SO"/>
                         </imsld:conference>
                      </imsld:service>
                   </imsld:environment>
                   <imsld:environment identifier="US_Confer">
                      <imsld:title>US Team Forum</imsld:title>
                      <imsld:service identifier="US_Confer_SO">
                         <imsld:conference conference-type="asynchronous">
                            <imsld:participant role-ref="USA"/>
                            <imsld:participant role-ref="Teacher"/>
                            <imsld:participant role-ref="Expert"/>
                            <imsld:item identifier="I-US_Confer_SO"/>
                         </imsld:conference>
                      </imsld:service>
                   </imsld:environment>
                   <imsld:environment identifier="Poland_Confer">
                      <imsld:title>Polish Team Forum</imsld:title>
                      <imsld:service identifier="Poland_Confer_SO">
                         <imsld:conference conference-type="asynchronous">
                            <imsld:participant role-ref="POLAND"/>
                            <imsld:participant role-ref="Teacher"/>
                            <imsld:participant role-ref="Expert"/>
                            <imsld:item identifier="I-Poland_Confer_SO"/>
                         </imsld:conference>
                      </imsld:service>
                   </imsld:environment>
                   <imsld:environment identifier="France_Confer">
                      <imsld:title>French Team Forum</imsld:title>
                      <imsld:service identifier="France_Confer_SO">
                         <imsld:conference conference-type="asynchronous">
                            <imsld:participant role-ref="FRANCE"/>
                            <imsld:participant role-ref="Teacher"/>
                            <imsld:participant role-ref="Expert"/>
                            <imsld:item identifier="I-France_Confer_SO"/>
                         </imsld:conference>
                      </imsld:service>
                   </imsld:environment>
                   <imsld:environment identifier="Italy_Confer">
                      <imsld:title>Italian Team Forum</imsld:title>
                      <imsld:service identifier="Italy_Confer_SO">
                         <imsld:conference conference-type="asynchronous">
                            <imsld:participant role-ref="ITALY"/>
                            <imsld:participant role-ref="Teacher"/>
                            <imsld:participant role-ref="Expert"/>
                            <imsld:item identifier="I-Italy_Confer_SO"/>
                         </imsld:conference>
                      </imsld:service>
                   </imsld:environment>
                   <imsld:environment identifier="Serbia_Confer">
                      <imsld:title>Serbian Team Forum</imsld:title>
                      <imsld:service identifier="Serbia_Confer_SO">
                         <imsld:conference conference-type="asynchronous">
                            <imsld:participant role-ref="SERBIA"/>
                            <imsld:participant role-ref="Teacher"/>
                            <imsld:participant role-ref="Expert"/>
                            <imsld:item identifier="I-Serbia_Confer_SO"/>
                         </imsld:conference>
                      </imsld:service>
                   </imsld:environment>
                   <!-- NEGOTIATION DAY SERVICES -->
                   <!-- NEGOTATION OUTCOME POSTING (SEND-MAIL) -->
                   <imsld:environment identifier="Results_to_Recorder">
                      <imsld:title>Send Results to Recorder</imsld:title>
                      <imsld:service identifier="mail_recorder">
                         <imsld:send-mail select="all-persons-in-role">
                            <imsld:email-data>
                               <imsld:role-ref ref="Recorder"/>
                            </imsld:email-data>
                         </imsld:send-mail>
                      </imsld:service>
                   </imsld:environment>
                   <!-- MAIN NEGOTIATIING CHAMBER (CONFERENCE) -->
                   <imsld:environment identifier="Main_Negotiation_Confer">
                      <imsld:title>Main Negotiation Forum</imsld:title>
                      <imsld:service identifier="Main_Negotiate_SO">
                         <imsld:conference conference-type="asynchronous">
                            <imsld:participant role-ref="Learner"/>
                            <imsld:participant role-ref="Teacher"/>
                            <imsld:participant role-ref="Expert"/>
                            <!-- NB MODERATOR -->
                            <imsld:moderator role-ref="Chair"/>
                            <imsld:item identifier="I-Main_Negotiate_SO"/>
                         </imsld:conference>
                      </imsld:service>
                   </imsld:environment>
                   <!-- 15 BILATERAL NEGOTIATION SIDE-ROOMS (CONFERENCES) -->
                   <imsld:environment identifier="GB_US_Confer">
                      <imsld:title>GB-US Forum</imsld:title>
                      <imsld:service identifier="GB_US_Confer_SO">
                         <imsld:conference conference-type="asynchronous">
                            <imsld:participant role-ref="GB"/>
                            <imsld:participant role-ref="USA"/>
                            <imsld:participant role-ref="Teacher"/>
                            <imsld:participant role-ref="Expert"/>
                            <imsld:item identifier="I-GB_US_Confer_SO"/>
                         </imsld:conference>
                      </imsld:service>
                   </imsld:environment>
                   <imsld:environment identifier="GB_Poland_Confer">
                      <imsld:title>GB-Poland Forum</imsld:title>
                      <imsld:service identifier="GB_Poland_Confer_SO">
                         <imsld:conference conference-type="asynchronous">
                            <imsld:participant role-ref="GB"/>
                            <imsld:participant role-ref="POLAND"/>
                            <imsld:participant role-ref="Teacher"/>
                            <imsld:participant role-ref="Expert"/>
                            <imsld:item identifier="I-GB_Poland_Confer_SO"/>
                         </imsld:conference>
                      </imsld:service>
                   </imsld:environment>
                   <imsld:environment identifier="GB_France_Confer">
                      <imsld:title>GB-France Forum</imsld:title>
                      <imsld:service identifier="GB_France_Confer_SO">
                         <imsld:conference conference-type="asynchronous">
                            <imsld:participant role-ref="GB"/>
                            <imsld:participant role-ref="FRANCE"/>
                            <imsld:participant role-ref="Teacher"/>
                            <imsld:participant role-ref="Expert"/>
                            <imsld:item identifier="I-GB_France_Confer_SO"/>
                         </imsld:conference>
                      </imsld:service>
                   </imsld:environment>
                   <imsld:environment identifier="GB_Italy_Confer">
                      <imsld:title>GB-Italy Forum</imsld:title>
                      <imsld:service identifier="GB_Italy_Confer_SO">
                         <imsld:conference conference-type="asynchronous">
                            <imsld:participant role-ref="GB"/>
                            <imsld:participant role-ref="ITALY"/>
                            <imsld:participant role-ref="Teacher"/>
                            <imsld:participant role-ref="Expert"/>
                            <imsld:item identifier="I-GB_Italy_Confer_SO"/>
                         </imsld:conference>
                      </imsld:service>
                   </imsld:environment>
                   <imsld:environment identifier="GB_Serbia_Confer">
                      <imsld:title>GB-Serbia Forum</imsld:title>
                      <imsld:service identifier="GB_Serbia_Confer_SO">
                         <imsld:conference conference-type="asynchronous">
                            <imsld:participant role-ref="GB"/>
                            <imsld:participant role-ref="SERBIA"/>
                            <imsld:participant role-ref="Teacher"/>
                            <imsld:participant role-ref="Expert"/>
                            <imsld:item identifier="I-GB_Serbia_Confer_SO"/>
                         </imsld:conference>
                      </imsld:service>
                   </imsld:environment>
                   <imsld:environment identifier="US_Poland_Confer">
                      <imsld:title>US-Poland Forum</imsld:title>
                      <imsld:service identifier="US_Poland_Confer_SO">
                         <imsld:conference conference-type="asynchronous">
                            <imsld:participant role-ref="USA"/>
                            <imsld:participant role-ref="POLAND"/>
                            <imsld:participant role-ref="Teacher"/>
                            <imsld:participant role-ref="Expert"/>
                            <imsld:item identifier="I-US_Poland_Confer_SO"/>
                         </imsld:conference>
                      </imsld:service>
                   </imsld:environment>
                   <imsld:environment identifier="US_France_Confer">
                      <imsld:title>US-France Forum</imsld:title>
                      <imsld:service identifier="US_France_Confer_SO">
                         <imsld:conference conference-type="asynchronous">
                            <imsld:participant role-ref="USA"/>
                            <imsld:participant role-ref="FRANCE"/>
                            <imsld:participant role-ref="Teacher"/>
                            <imsld:participant role-ref="Expert"/>
                            <imsld:item identifier="I-US_France_Confer_SO"/>
                         </imsld:conference>
                      </imsld:service>
                   </imsld:environment>
                   <imsld:environment identifier="US_Italy_Confer">
                      <imsld:title>US-Italy Forum</imsld:title>
                      <imsld:service identifier="US_Italy_Confer_SO">
                         <imsld:conference conference-type="asynchronous">
                            <imsld:participant role-ref="USA"/>
                            <imsld:participant role-ref="ITALY"/>
                            <imsld:participant role-ref="Teacher"/>
                            <imsld:participant role-ref="Expert"/>
                            <imsld:item identifier="I-US_Italy_Confer_SO"/>
                         </imsld:conference>
                      </imsld:service>
                   </imsld:environment>
                   <imsld:environment identifier="US_Serbia_Confer">
                      <imsld:title>US-Serbia Forum</imsld:title>
                      <imsld:service identifier="US_Serbia_Confer_SO">
                         <imsld:conference conference-type="asynchronous">
                            <imsld:participant role-ref="USA"/>
                            <imsld:participant role-ref="SERBIA"/>
                            <imsld:participant role-ref="Teacher"/>
                            <imsld:participant role-ref="Expert"/>
                            <imsld:item identifier="I-US_Serbia_Confer_SO"/>
                         </imsld:conference>
                      </imsld:service>
                   </imsld:environment>
                   <imsld:environment identifier="Poland_France_Confer">
                      <imsld:title>Poland-France Forum</imsld:title>
                      <imsld:service identifier="Poland_France_Confer_SO">
                         <imsld:conference conference-type="asynchronous">
                            <imsld:participant role-ref="POLAND"/>
                            <imsld:participant role-ref="FRANCE"/>
                            <imsld:participant role-ref="Teacher"/>
                            <imsld:participant role-ref="Expert"/>
                            <imsld:item identifier="I-Poland_France_Confer_SO"/>
                         </imsld:conference>
                      </imsld:service>
                   </imsld:environment>
                   <imsld:environment identifier="Poland_Italy_Confer">
                      <imsld:title>Poland-Italy Forum</imsld:title>
                      <imsld:service identifier="Poland_Italy_Confer_SO">
                         <imsld:conference conference-type="asynchronous">
                            <imsld:participant role-ref="POLAND"/>
                            <imsld:participant role-ref="ITALY"/>
                            <imsld:participant role-ref="Teacher"/>
                            <imsld:participant role-ref="Expert"/>
                            <imsld:item identifier="I-Poland_Italy_Confer_SO"/>
                         </imsld:conference>
                      </imsld:service>
                   </imsld:environment>
                   <imsld:environment identifier="Poland_Serbia_Confer">
                      <imsld:title>Poland-Serbia Forum</imsld:title>
                      <imsld:service identifier="Poland_Serbia_Confer_SO">
                         <imsld:conference conference-type="asynchronous">
                            <imsld:participant role-ref="POLAND"/>
                            <imsld:participant role-ref="SERBIA"/>
                            <imsld:participant role-ref="Teacher"/>
                            <imsld:participant role-ref="Expert"/>
                            <imsld:item identifier="I-Poland_Serbia_Confer_SO"/>
                         </imsld:conference>
                      </imsld:service>
                   </imsld:environment>
                   <imsld:environment identifier="France_Italy_Confer">
                      <imsld:title>France-Italy Forum</imsld:title>
                      <imsld:service identifier="France_Italy_Confer_SO">
                         <imsld:conference conference-type="asynchronous">
                            <imsld:participant role-ref="FRANCE"/>
                            <imsld:participant role-ref="ITALY"/>
                            <imsld:participant role-ref="Teacher"/>
                            <imsld:participant role-ref="Expert"/>
                            <imsld:item identifier="I-France_Italy_Confer_SO"/>
                         </imsld:conference>
                      </imsld:service>
                   </imsld:environment>
                   <imsld:environment identifier="France_Serbia_Confer">
                      <imsld:title>France-Serbia Forum</imsld:title>
                      <imsld:service identifier="France_Serbia_Confer_SO">
                         <imsld:conference conference-type="asynchronous">
                            <imsld:participant role-ref="FRANCE"/>
                            <imsld:participant role-ref="SERBIA"/>
                            <imsld:participant role-ref="Teacher"/>
                            <imsld:participant role-ref="Expert"/>
                            <imsld:item identifier="I-France_Serbia_Confer_SO"/>
                         </imsld:conference>
                      </imsld:service>
                   </imsld:environment>
                   <imsld:environment identifier="Italy_Serbia_Confer">
                      <imsld:title>Italy-Serbia Forum</imsld:title>
                      <imsld:service identifier="Italy_Serbia_Confer_SO">
                         <imsld:conference conference-type="asynchronous">
                            <imsld:participant role-ref="ITALY"/>
                            <imsld:participant role-ref="SERBIA"/>
                            <imsld:participant role-ref="Teacher"/>
                            <imsld:participant role-ref="Expert"/>
                            <imsld:item identifier="I-Italy_Serbia_Confer_SO"/>
                         </imsld:conference>
                      </imsld:service>
                   </imsld:environment>
                </imsld:environments>
             </imsld:components>
             <!-- -->
             <!-- METHOD FOR LEARNING ACTIVITY COORDINATION ('LEARNING-FLOW') -->
             <imsld:method>
                <imsld:play>
                   <!-- ACTS RUN IN SEQUENCE, PROVIDING SYCHNRONISATION POINTS. -->
                   <!-- ROLE-PARTS ASSIGN ACTIVITIES TO ROLES. -->
                   <!-- ROLE-PARTS WITHIN AN ACT RUN IN PARALLEL. -->
                   <!-- -->
                   <!-- ACT1: VERSAILLES OVERVIEW -->
                   <imsld:act>
                      <imsld:role-part>
                         <imsld:role-ref ref="Learner"/>
                         <imsld:learning-activity-ref ref="Versailles_Overview"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <imsld:role-ref ref="Support_Staff"/>
                         <imsld:learning-activity-ref ref="Versailles_Overview"/>
                      </imsld:role-part>
                   </imsld:act>
                   <!-- ACT2: INTRODUCTION TO PREPARATORY PHASE -->
                   <imsld:act>
                      <imsld:role-part>
                         <imsld:role-ref ref="Learner"/>
                         <imsld:learning-activity-ref ref="Preparation_Intro"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <imsld:role-ref ref="Support_Staff"/>
                         <imsld:learning-activity-ref ref="Preparation_Intro"/>
                      </imsld:role-part>
                   </imsld:act>
                   <!-- ACT3: BACKGROUND STUDY & OFFLINE ACTIVITIES -->
                   <imsld:act>
                      <imsld:role-part>
                         <imsld:role-ref ref="Learner"/>
                         <imsld:learning-activity-ref ref="Preparation"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <!-- DETAILED TEACHER NOTES -->
                         <imsld:role-ref ref="Teacher"/>
                         <imsld:learning-activity-ref ref="Support_participants_preparation"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <!-- TEACHERS ACCESS SAME RESOURCES AS LEARNERS -->
                         <imsld:role-ref ref="Teacher"/>
                         <imsld:learning-activity-ref ref="Preparation"/>
                      </imsld:role-part>
                   </imsld:act>
                   <!-- ACT4: SIX NATION ONLINE STRATEGY PREPARATION -->
                   <!-- LEARNERS IN ROLE ONLY HAVE ACCESS TO THEIR OWN COUNTRY FORUM -->
                   <!-- TEACHERS AND EXPERTS HAVE ACCESS TO ALL COUNTRY FORUMS -->
                   <imsld:act>
                      <imsld:role-part>
                         <imsld:role-ref ref="Teacher"/>
                         <imsld:learning-activity-ref ref="Staff_Strategy_Support"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <imsld:role-ref ref="Expert"/>
                         <imsld:learning-activity-ref ref="Staff_Strategy_Support"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <imsld:role-ref ref="GB"/>
                         <imsld:learning-activity-ref ref="GB_Agree"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <imsld:role-ref ref="USA"/>
                         <imsld:learning-activity-ref ref="USA_Agree"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <imsld:role-ref ref="POLAND"/>
                         <imsld:learning-activity-ref ref="POLAND_Agree"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <imsld:role-ref ref="FRANCE"/>
                         <imsld:learning-activity-ref ref="FRANCE_Agree"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <imsld:role-ref ref="ITALY"/>
                         <imsld:learning-activity-ref ref="ITALY_Agree"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <imsld:role-ref ref="SERBIA"/>
                         <imsld:learning-activity-ref ref="SERBIA_Agree"/>
                      </imsld:role-part>
                   </imsld:act>
                   <!-- ACT5: INTRODUCTION TO MAIN NEGOTIATION DAY -->
                   <imsld:act>
                      <imsld:role-part>
                         <imsld:role-ref ref="Learner"/>
                         <imsld:learning-activity-ref ref="Intro_Negotiate"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <imsld:role-ref ref="Support_Staff"/>
                         <imsld:learning-activity-ref ref="Support_participants_preparation"/>
                      </imsld:role-part>
                   </imsld:act>
                   <!-- ACT6: THE MAIN NEGOTIATIONS -->
                   <imsld:act>
                      <imsld:role-part>
                         <imsld:role-ref ref="Chair"/>
                         <imsld:learning-activity-ref ref="Chair_Negotiations"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <imsld:role-ref ref="Teacher"/>
                         <imsld:learning-activity-ref ref="Staff_Negotiation_Day"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <imsld:role-ref ref="Recorder"/>
                         <imsld:learning-activity-ref ref="Receive_and_post"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <imsld:role-ref ref="Expert"/>
                         <imsld:learning-activity-ref ref="Staff_Negotiation_Day"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <imsld:role-ref ref="GB"/>
                         <imsld:learning-activity-ref ref="GB_Negotiation_Day"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <imsld:role-ref ref="USA"/>
                         <imsld:learning-activity-ref ref="USA_Negotiation_Day"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <imsld:role-ref ref="POLAND"/>
                         <imsld:learning-activity-ref ref="Poland_Negotiation_Day"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <imsld:role-ref ref="FRANCE"/>
                         <imsld:learning-activity-ref ref="France_Negotiation_Day"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <imsld:role-ref ref="ITALY"/>
                         <imsld:learning-activity-ref ref="Italy_Negotiation_Day"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <imsld:role-ref ref="SERBIA"/>
                         <imsld:learning-activity-ref ref="Serbia_Negotiation_Day"/>
                      </imsld:role-part>
                   </imsld:act>
                   <!-- ACT7: REVIEW MAIN NEGOTIATION DAY -->
                   <imsld:act>
                      <imsld:title>Review Final Outcomes</imsld:title>
                      <imsld:role-part>
                         <imsld:role-ref ref="Learner"/>
                         <imsld:learning-activity-ref ref="Review_final_results"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <imsld:role-ref ref="Support_Staff"/>
                         <imsld:learning-activity-ref ref="Review_final_results"/>
                      </imsld:role-part>
                   </imsld:act>
                   <!-- ACT8: REFLECT ON TREATY OUTCOMES -->
                   <imsld:act>
                      <imsld:title>Reefelect on Treaty Outcomes</imsld:title>
                      <imsld:role-part>
                         <imsld:role-ref ref="Learner"/>
                         <imsld:learning-activity-ref ref="Reflection"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <imsld:role-ref ref="Support_Staff"/>
                         <imsld:learning-activity-ref ref="Support_learners_reflection"/>
                      </imsld:role-part>
                   </imsld:act>
                </imsld:play>
             </imsld:method>
          </imsld:learning-design>
       </organizations>
       <resources>
          <resource identifier="RES-Versailles_Overview_AD_res" type=""/>
          <resource identifier="RES-Preparation_Intro_AD_res" type=""/>
          <resource identifier="RES-GB_Objectives_AD_res" type=""/>
          <resource identifier="RES-USA_Objectives_AD_res" type=""/>
          <resource identifier="RES-POLAND_Objectives_AD_res" type=""/>
          <resource identifier="RES-FRANCE_Objectives_AD_res" type=""/>
          <resource identifier="RES-SERBIA_Objectives_AD_res" type=""/>
          <resource identifier="RES-ITALY_Objectives_AD_res" type=""/>
          <resource identifier="RES-GB_Background_AD_res" type=""/>
          <resource identifier="V_Aims_res" type=""/>
          <resource identifier="V_Prep_Intro_res" type=""/>
          <resource identifier="GB_Aims_res" type=""/>
          <resource identifier="US_Aims_res" type=""/>
          <resource identifier="Poland_Aims_res" type=""/>
          <resource identifier="France_Aims_res" type=""/>
          <resource identifier="Italy_Aims_res" type=""/>
          <resource identifier="Serbia_Aims_res" type=""/>
          <resource identifier="GB_BG_Res" type=""/>
          <resource identifier="US_BG_res" type=""/>
          <resource identifier="Poland_BG_res" type=""/>
          <resource identifier="France_BG_res" type=""/>
          <resource identifier="Italy_BG_res" type=""/>
          <resource identifier="Serbia_BG_res" type=""/>
          <resource identifier="Send_Results_res" type=""/>
          <resource identifier="Returned_results_res" type=""/>
          <resource identifier="Web_Edit_res" type=""/>
          <resource identifier="Review_Outcomes_res" type=""/>
       </resources>
    </manifest>

## 4.3 Competency Based Learning (Level C)

### 4.3.1 Introduction

In competency-based education, students increase their competency level with respect to particular competencies by carrying out study tasks of increasing complexity, starting from a baseline level. Students work through a collection of study tasks until they have acquired the desired level (e.g., with respect to a degree program).

The course being used for this example is a course on Public Administration in which students need to acquire two competencies at advanced (third year) level:

- advising
- anticipating

The traditional version of the course asked students to read a book and take a mc exam. Now the course is delivered through internet (students also receive a CD-ROM with additional information), and students need to show they have acquired the competencies.

Three actors involved in the example-the student, the tutor and the examiner. The student has to carry out a sequence of three activities (or activity structures), each being conditional for the next.

1. Preparation. Student receives all kinds of (optional) background information, like cases and hints information about the course, and chooses whether he/she wants to study the course with/without examples (personalization).
2. Practice and tests. All four activities (a practice and test activity for each competency) should be reported to the tutor, but may be carried out in the order the student prefers. After sending in a practice activity report, the student receives feedback. After sending in a test activity report, the student receives an assessment.
3. Grading. After the student has been assessed on the two test activities, he/she may request the examiner for a grade.

The student is allowed repeated practice, but may take the tests only once. The tutor assesses the test reports according to certain criteria, and sends the two test grades to the examiner, who then gives a final grade to the student.

### 4.3.2 UML Activity Diagram

Figure 4.1 - A first Activity Diagram for Competency-based learning.

In the UML Activity diagram in Figure 4.1 the three actors in the course are illustrated. The student is in the middle, next to him are the tutor and examiner. Arrows going from one to another mean that an actor receives notifications from another actor. Reports, feedback, assessments, and grade are available in learner and tutor portfolios (in environments), which can be monitored continuously by persons in appointed roles. The diagram presents the general flow of activities for all actors.

The four practice and test activities can be carried out by students in any order; they are modeled as a selection. It would be too complex to model all possible flows of activities in the same diagram. Therefore, the sequential choices for these activities are depicted in a second UML Activity diagram below. So the 'block' 'Practice and testing' really is a composite activity.

Figure 4.2 - A second Activity Diagram for Competency-based learning.

### 4.3.3 Key Points of Note

- A series of properties, both local personal (locpers-property), global personal (globpers-property) and local properties (loc-property) are first defined then used to arrange activity completion using complete-activity and when-property-value-is-set, together with set-properrty-value and on-completion;
- Email notifications are used in on-completion to alert roles to the completion of activities (e.g., the tutor is alerted using an email message with the subject Practice advising report submitted);
- Calculations are also used in the combination of complete-activity and when-property-value-is-set (using SUMs, and also ORs)
- A monitor service is used to support both tutors and learners in examining the portfolio of test results;
- Conditions are defined to SHOW activities previously hidden from the user;
- A final point of note is that the setting of many of the properties is handled in the resources section (reflected in the comments associated with the resources);

### 4.3.4 XML Instance Document

    <?xml version="1.0" encoding="UTF-8"?>
    <!-- edited with XMLSPY v5 rel. 2 U (http://www.xmlspy.com) by Colin Tattersall (Open University of the Netherlands) -->
    <!-- edited with XML Spy v4.0 U (http://www.xmlspy.com) by Peter Sloep, Hans Hummel, Marc Verhooren, Bill Olivier, Jocelyn Manderveld -->
    <manifest xmlns="http://www.imsglobal.org/xsd/imscp_v1p1" xmlns:imsld="http://www.imsglobal.org/xsd/imsld_v1p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imscp_v1p1 http://www.imsglobal.org/xsd/imscp_v1p1p3.xsd http://www.imsglobal.org/xsd/imsld_v1p0  http://www.imsglobal.org/xsd/imsld_level_c_v1p0.xsd" identifier="Competency-Based-Learning-Manifest">
       <metadata>
          <schema>IMS Metadata</schema>
          <schemaversion>1.2</schemaversion>
       </metadata>
       <organizations>
          <imsld:learning-design identifier="LD-competency-based-learning" level="C" uri="">
             <imsld:components>
                <!--ROLES-->
                <imsld:roles>
                   <imsld:learner identifier="R-learner">
                      <imsld:title>Learner role</imsld:title>
                   </imsld:learner>
                   <imsld:staff identifier="R-tutor">
                      <imsld:title>Tutor role</imsld:title>
                   </imsld:staff>
                   <imsld:staff identifier="R-examiner">
                      <imsld:title>Examiner role</imsld:title>
                   </imsld:staff>
                </imsld:roles>
                <!--PROPERTIES-->
                <imsld:properties>
                   <imsld:locpers-property identifier="P-availability-examples">
                      <imsld:datatype datatype="boolean"/>
                   </imsld:locpers-property>
                   <imsld:globpers-property identifier="P-advising-report">
                      <imsld:existing href=""/>
                   </imsld:globpers-property>
                   <imsld:globpers-property identifier="P-advising-test">
                      <imsld:existing href=""/>
                   </imsld:globpers-property>
                   <imsld:globpers-property identifier="P-anticipating-report">
                      <imsld:existing href=""/>
                   </imsld:globpers-property>
                   <imsld:globpers-property identifier="P-anticipating-test">
                      <imsld:existing href=""/>
                   </imsld:globpers-property>
                   <imsld:globpers-property identifier="P-advising-feedback">
                      <imsld:existing href=""/>
                   </imsld:globpers-property>
                   <imsld:globpers-property identifier="P-advising-assessment">
                      <imsld:existing href=""/>
                   </imsld:globpers-property>
                   <imsld:globpers-property identifier="P-anticipating-feedback">
                      <imsld:existing href=""/>
                   </imsld:globpers-property>
                   <imsld:globpers-property identifier="P-anticipating-assessment">
                      <imsld:existing href=""/>
                   </imsld:globpers-property>
                   <imsld:globpers-property identifier="P-advising-testgrade">
                      <imsld:existing href=""/>
                   </imsld:globpers-property>
                   <imsld:globpers-property identifier="P-anticipating-testgrade">
                      <imsld:existing href=""/>
                   </imsld:globpers-property>
                   <imsld:locpers-property identifier="P-calculate-advising">
                      <imsld:datatype datatype="boolean"/>
                   </imsld:locpers-property>
                   <imsld:locpers-property identifier="P-calculate-anticipating">
                      <imsld:datatype datatype="boolean"/>
                   </imsld:locpers-property>
                   <imsld:globpers-property identifier="P-final-grade">
                      <imsld:existing href=""/>
                   </imsld:globpers-property>
                   <imsld:globpers-property identifier="P-email">
                      <imsld:existing href=""/>
                   </imsld:globpers-property>
                   <imsld:loc-property identifier="P-availability-practice-test">
                      <imsld:datatype datatype="boolean"/>
                   </imsld:loc-property>
                   <imsld:loc-property identifier="P-completion-test-advising">
                      <imsld:datatype datatype="boolean"/>
                   </imsld:loc-property>
                   <imsld:loc-property identifier="P-completion-test-anticipating">
                      <imsld:datatype datatype="boolean"/>
                   </imsld:loc-property>
                   <imsld:loc-property identifier="P-availability-request-grade">
                      <imsld:datatype datatype="boolean"/>
                   </imsld:loc-property>
                </imsld:properties>
                <!--ACTIVITIES-->
                <imsld:activities>
                   <!--LEARNER ACTIVITIES-->
                   <imsld:learning-activity identifier="LA-preparation">
                      <imsld:title>Preparation</imsld:title>
                      <imsld:activity-description>
                         <imsld:item identifierref="R-preparation" identifier="I-preparation"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:when-property-value-is-set>
                            <imsld:property-ref ref="P-availability-examples"/>
                         </imsld:when-property-value-is-set>
                      </imsld:complete-activity>
                      <imsld:on-completion>
                         <imsld:change-property-value>
                            <imsld:property-ref ref="P-availability-practice-test"/>
                            <imsld:property-value>true</imsld:property-value>
                         </imsld:change-property-value>
                      </imsld:on-completion>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-practice-advising" isvisible="false">
                      <imsld:title>Practice advising</imsld:title>
                      <imsld:activity-description>
                         <imsld:item identifierref="R-practice-advising" identifier="I-practice-advising"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:when-property-value-is-set>
                            <imsld:property-ref ref="P-advising-report"/>
                         </imsld:when-property-value-is-set>
                      </imsld:complete-activity>
                      <imsld:on-completion>
                         <imsld:notification>
                            <imsld:email-data email-property-ref="P-email">
                               <imsld:role-ref ref="R-tutor"/>
                            </imsld:email-data>
                            <imsld:subject>Practice advising report submitted</imsld:subject>
                         </imsld:notification>
                      </imsld:on-completion>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-test-advising" isvisible="false">
                      <imsld:title>Test advising</imsld:title>
                      <imsld:activity-description>
                         <imsld:item identifierref="R-test-advising" identifier="I-test-advising"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:when-property-value-is-set>
                            <imsld:property-ref ref="P-advising-test"/>
                         </imsld:when-property-value-is-set>
                      </imsld:complete-activity>
                      <imsld:on-completion>
                         <imsld:change-property-value>
                            <imsld:property-ref ref="P-completion-test-advising"/>
                            <imsld:property-value>true</imsld:property-value>
                         </imsld:change-property-value>
                         <imsld:notification>
                            <imsld:email-data email-property-ref="P-email">
                               <imsld:role-ref ref="R-tutor"/>
                            </imsld:email-data>
                            <imsld:subject>Test advising report submitted</imsld:subject>
                         </imsld:notification>
                      </imsld:on-completion>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-practice-anticipating" isvisible="false">
                      <imsld:title>Practice Anticipating</imsld:title>
                      <imsld:activity-description>
                         <imsld:item identifierref="R-practice-anticipating" identifier="I-practice-anticipating"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:when-property-value-is-set>
                            <imsld:property-ref ref="P-anticipating-report"/>
                         </imsld:when-property-value-is-set>
                      </imsld:complete-activity>
                      <imsld:on-completion>
                         <imsld:notification>
                            <imsld:email-data email-property-ref="P-email">
                               <imsld:role-ref ref="R-tutor"/>
                            </imsld:email-data>
                            <imsld:subject>Practice anticipating report submitted</imsld:subject>
                         </imsld:notification>
                      </imsld:on-completion>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-test-anticipating" isvisible="false">
                      <imsld:title>Test Anticipating</imsld:title>
                      <imsld:activity-description>
                         <imsld:item identifierref="R-test-anticipating" identifier="I-test-anticipating"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:when-property-value-is-set>
                            <imsld:property-ref ref="P-anticipating-test"/>
                         </imsld:when-property-value-is-set>
                      </imsld:complete-activity>
                      <imsld:on-completion>
                         <imsld:change-property-value>
                            <imsld:property-ref ref="P-completion-test-anticipating"/>
                            <imsld:property-value>true</imsld:property-value>
                         </imsld:change-property-value>
                         <imsld:notification>
                            <imsld:email-data email-property-ref="P-email">
                               <imsld:role-ref ref="R-tutor"/>
                            </imsld:email-data>
                            <imsld:subject>Test anticipating report submitted</imsld:subject>
                         </imsld:notification>
                      </imsld:on-completion>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-request-grade" isvisible="false">
                      <imsld:title>Request Grade</imsld:title>
                      <imsld:activity-description>
                         <imsld:item identifierref="R-request-grade" identifier="I-request-grade"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:user-choice/>
                      </imsld:complete-activity>
                      <imsld:on-completion>
                         <imsld:notification>
                            <imsld:email-data email-property-ref="P-email">
                               <imsld:role-ref ref="R-examiner"/>
                            </imsld:email-data>
                            <imsld:subject>Request for grade</imsld:subject>
                         </imsld:notification>
                      </imsld:on-completion>
                   </imsld:learning-activity>
                   <!-- SUPPORT ACTIVITIES-->
                   <imsld:support-activity identifier="SA-provide-feedback-advising">
                      <imsld:title>Read Practice Report and Provide Feedback on advising</imsld:title>
                      <imsld:activity-description>
                         <imsld:item identifierref="R-provide-feedback-advising" identifier="I-provide-feedback-advising"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:when-property-value-is-set>
                            <imsld:property-ref ref="P-advising-feedback"/>
                         </imsld:when-property-value-is-set>
                      </imsld:complete-activity>
                      <imsld:on-completion>
                         <imsld:notification>
                            <imsld:email-data email-property-ref="P-email">
                               <imsld:role-ref ref="R-learner"/>
                            </imsld:email-data>
                            <imsld:subject>Feedback advising provided</imsld:subject>
                         </imsld:notification>
                      </imsld:on-completion>
                   </imsld:support-activity>
                   <imsld:support-activity identifier="SA-provide-assessment-and-grade-advising">
                      <imsld:title>Provide assessment and grade on advising</imsld:title>
                      <imsld:activity-description>
                         <imsld:item identifierref="R-provide-assessment-and-grade-advising" identifier="I-provide-assessment-and-grade-advising"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:when-property-value-is-set>
                            <imsld:property-ref ref="P-calculate-advising"/>
                            <imsld:property-value>
                               <imsld:calculate>
                                  <imsld:not>
                                     <imsld:or>
                                        <imsld:no-value>
                                           <imsld:property-ref ref="P-advising-assessment"/>
                                        </imsld:no-value>
                                        <imsld:no-value>
                                           <imsld:property-ref ref="P-advising-testgrade"/>
                                        </imsld:no-value>
                                     </imsld:or>
                                  </imsld:not>
                               </imsld:calculate>
                            </imsld:property-value>
                         </imsld:when-property-value-is-set>
                      </imsld:complete-activity>
                      <imsld:on-completion>
                         <imsld:notification>
                            <imsld:email-data email-property-ref="P-email">
                               <imsld:role-ref ref="R-learner"/>
                            </imsld:email-data>
                            <imsld:subject>Assessment advising provided</imsld:subject>
                         </imsld:notification>
                         <imsld:notification>
                            <imsld:email-data email-property-ref="P-email">
                               <imsld:role-ref ref="R-examiner"/>
                            </imsld:email-data>
                            <imsld:subject>Testgrade advising provided</imsld:subject>
                         </imsld:notification>
                      </imsld:on-completion>
                   </imsld:support-activity>
                   <imsld:support-activity identifier="SA-provide-feedback-anticipating">
                      <imsld:title>Read Practice Report and Provide Feedback on Anticipating</imsld:title>
                      <imsld:activity-description>
                         <imsld:item identifierref="R-provide-feedback-anticipating" identifier="I-provide-feedback-anticipating"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:when-property-value-is-set>
                            <imsld:property-ref ref="P-anticipating-feedback"/>
                         </imsld:when-property-value-is-set>
                      </imsld:complete-activity>
                      <imsld:on-completion>
                         <imsld:notification>
                            <imsld:email-data email-property-ref="P-email">
                               <imsld:role-ref ref="R-learner"/>
                            </imsld:email-data>
                            <imsld:subject>Feedback anticipating provided</imsld:subject>
                         </imsld:notification>
                      </imsld:on-completion>
                   </imsld:support-activity>
                   <imsld:support-activity identifier="SA-provide-assessment-and-grade-anticipating">
                      <imsld:title>Provide assessment and grade on anticipating</imsld:title>
                      <imsld:activity-description>
                         <imsld:item identifierref="R-provide-assessment-and-grade-anticipating" identifier="I-provide-assessment-and-grade-anticipating"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:when-property-value-is-set>
                            <imsld:property-ref ref="P-calculate-anticipating"/>
                            <imsld:property-value>
                               <imsld:calculate>
                                  <imsld:not>
                                     <imsld:or>
                                        <imsld:no-value>
                                           <imsld:property-ref ref="P-anticipating-assessment"/>
                                        </imsld:no-value>
                                        <imsld:no-value>
                                           <imsld:property-ref ref="P-anticipating-testgrade"/>
                                        </imsld:no-value>
                                     </imsld:or>
                                  </imsld:not>
                               </imsld:calculate>
                            </imsld:property-value>
                         </imsld:when-property-value-is-set>
                      </imsld:complete-activity>
                      <imsld:on-completion>
                         <imsld:notification>
                            <imsld:email-data email-property-ref="P-email">
                               <imsld:role-ref ref="R-learner"/>
                            </imsld:email-data>
                            <imsld:subject>Assessment anticipating provided</imsld:subject>
                         </imsld:notification>
                         <imsld:notification>
                            <imsld:email-data email-property-ref="P-email">
                               <imsld:role-ref ref="R-examiner"/>
                            </imsld:email-data>
                            <imsld:subject>Testgrade anticipating provided</imsld:subject>
                         </imsld:notification>
                      </imsld:on-completion>
                   </imsld:support-activity>
                   <imsld:support-activity identifier="SA-provide-final-grade">
                      <imsld:title>Provide final grade</imsld:title>
                      <imsld:environment-ref ref="E-portfolio-examiner"/>
                      <imsld:activity-description>
                         <imsld:item identifierref="R-provide-final-grade" identifier="I-provide-final-grade"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:when-property-value-is-set>
                            <imsld:property-ref ref="P-final-grade"/>
                            <imsld:property-value>
                               <imsld:calculate>
                                  <imsld:not>
                                     <imsld:no-value>
                                        <imsld:property-ref ref="P-final-grade"/>
                                     </imsld:no-value>
                                  </imsld:not>
                               </imsld:calculate>
                            </imsld:property-value>
                         </imsld:when-property-value-is-set>
                      </imsld:complete-activity>
                      <imsld:on-completion>
                         <imsld:notification>
                            <imsld:email-data email-property-ref="P-email">
                               <imsld:role-ref ref="R-learner"/>
                            </imsld:email-data>
                            <imsld:subject>You have failed, or have you? Go check!</imsld:subject>
                         </imsld:notification>
                      </imsld:on-completion>
                   </imsld:support-activity>
                   <!--ACTIVITY STRUCTURES-->
                   <imsld:activity-structure identifier="AS-advising-practice-and-test" structure-type="sequence">
                      <imsld:title>advising: Practice and test</imsld:title>
                      <imsld:learning-activity-ref ref="LA-practice-advising"/>
                      <imsld:learning-activity-ref ref="LA-test-advising"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="AS-advising" structure-type="selection" number-to-select="1">
                      <imsld:title>advising</imsld:title>
                      <imsld:activity-structure-ref ref="AS-advising-practice-and-test"/>
                      <imsld:learning-activity-ref ref="LA-test-advising"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="AS-anticipating-practice-and-test" structure-type="sequence">
                      <imsld:title>Anticipating: Practice and test</imsld:title>
                      <imsld:learning-activity-ref ref="LA-practice-anticipating"/>
                      <imsld:learning-activity-ref ref="LA-test-anticipating"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="AS-anticipating" structure-type="selection" number-to-select="1">
                      <imsld:title>Anticipating</imsld:title>
                      <imsld:activity-structure-ref ref="AS-anticipating-practice-and-test"/>
                      <imsld:learning-activity-ref ref="LA-test-anticipating"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="AS-advising-then-anticipating" structure-type="sequence" number-to-select="2">
                      <imsld:title>advising and then anticipating</imsld:title>
                      <imsld:activity-structure-ref ref="AS-advising"/>
                      <imsld:activity-structure-ref ref="AS-anticipating"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="AS-anticipating-then-advising" structure-type="sequence" number-to-select="2">
                      <imsld:title>Anticipating and then advising</imsld:title>
                      <imsld:activity-structure-ref ref="AS-anticipating"/>
                      <imsld:activity-structure-ref ref="AS-advising"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="AS-practice-and-testing" structure-type="selection" number-to-select="1">
                      <imsld:title>Practice and Testing Activities</imsld:title>
                      <imsld:activity-structure-ref ref="AS-advising-then-anticipating"/>
                      <imsld:activity-structure-ref ref="AS-anticipating-then-advising"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="AS-learner-activities">
                      <imsld:title>Learner activities</imsld:title>
                      <imsld:environment-ref ref="E-learner-environment"/>
                      <imsld:learning-activity-ref ref="LA-preparation"/>
                      <imsld:activity-structure-ref ref="AS-practice-and-testing"/>
                      <imsld:learning-activity-ref ref="LA-request-grade"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="AS-tutor-activities">
                      <imsld:title>Learner activities</imsld:title>
                      <imsld:environment-ref ref="E-portfolio-tutor"/>
                      <imsld:support-activity-ref ref="SA-provide-assessment-and-grade-advising"/>
                      <imsld:support-activity-ref ref="SA-provide-assessment-and-grade-anticipating"/>
                      <imsld:support-activity-ref ref="SA-provide-feedback-advising"/>
                      <imsld:support-activity-ref ref="SA-provide-feedback-anticipating"/>
                   </imsld:activity-structure>
                </imsld:activities>
                <!--ENVIRONMENTS-->
                <imsld:environments>
                   <imsld:environment identifier="E-background">
                      <imsld:title>Background information</imsld:title>
                      <imsld:learning-object identifier="LO-background" isvisible="false">
                         <imsld:item identifierref="R-background" identifier="I-background"/>
                      </imsld:learning-object>
                   </imsld:environment>
                   <imsld:environment identifier="E-portfolio-learner">
                      <imsld:title>Learner portfolio (learner view)</imsld:title>
                      <imsld:learning-object identifier="LO-portfolio-learner"/>
                      <imsld:service identifier="S-portfolio-learner">
                         <imsld:monitor>
                            <imsld:self/>
                            <imsld:item identifierref="R-portfolio-learner" identifier="I-portfolio-learner"/>
                         </imsld:monitor>
                      </imsld:service>
                   </imsld:environment>
                   <imsld:environment identifier="E-learner-environment">
                      <imsld:title>learner environment</imsld:title>
                      <imsld:environment-ref ref="E-background"/>
                      <imsld:environment-ref ref="E-portfolio-learner"/>
                   </imsld:environment>
                   <imsld:environment identifier="E-portfolio-tutor">
                      <imsld:title>Learner portfolio (tutor view)</imsld:title>
                      <imsld:learning-object identifier="LO-portfolio-tutor"/>
                      <imsld:service identifier="S-portfolio-tutor">
                         <imsld:monitor>
                            <imsld:role-ref ref="R-tutor"/>
                            <imsld:item identifierref="R-portfolio-tutor" identifier="I-portfolio-tutor"/>
                         </imsld:monitor>
                      </imsld:service>
                   </imsld:environment>
                   <imsld:environment identifier="E-portfolio-examiner">
                      <imsld:title>Learner grade</imsld:title>
                      <imsld:learning-object identifier="LO-portfolio-examiner">
                         <imsld:item identifierref="R-portfolio-examiner" identifier="I-portfolio-examiner"/>
                      </imsld:learning-object>
                   </imsld:environment>
                </imsld:environments>
             </imsld:components>
             <!--METHOD AND PLAY-->
             <imsld:method>
                <imsld:play>
                   <imsld:title>Public Administration Course Play</imsld:title>
                   <imsld:act>
                      <imsld:title>Public Administration Course Act</imsld:title>
                      <imsld:role-part>
                         <imsld:title>Role part learner</imsld:title>
                         <imsld:role-ref ref="R-learner"/>
                         <imsld:activity-structure-ref ref="AS-learner-activities"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <imsld:title>Role part tutor</imsld:title>
                         <imsld:role-ref ref="R-tutor"/>
                         <imsld:activity-structure-ref ref="AS-tutor-activities"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <imsld:title>Role part examiner</imsld:title>
                         <imsld:role-ref ref="R-examiner"/>
                         <imsld:support-activity-ref ref="SA-provide-final-grade"/>
                      </imsld:role-part>
                      <imsld:complete-act>
                         <imsld:when-role-part-completed ref="R-examiner"/>
                      </imsld:complete-act>
                   </imsld:act>
                </imsld:play>
                <!--CONDITIONS-->
                <imsld:conditions>
                   <!--the condition below hides or shows examples in the background document that the students             may use-->
                   <imsld:if>
                      <imsld:is>
                         <imsld:property-ref ref="P-availability-examples"/>
                         <imsld:property-value>with examples</imsld:property-value>
                      </imsld:is>
                   </imsld:if>
                   <imsld:then>
                      <imsld:show>
                         <imsld:class class="C-examples"/>
                      </imsld:show>
                   </imsld:then>
                   <!--the condition below shows the practice and testing activity structure and the background                environment to the student once the preparations have been completed-->
                   <imsld:if>
                      <imsld:not>
                         <imsld:or>
                            <imsld:no-value>
                               <imsld:property-ref ref="P-completion-test-advising"/>
                            </imsld:no-value>
                            <imsld:no-value>
                               <imsld:property-ref ref="P-completion-test-anticipating"/>
                            </imsld:no-value>
                         </imsld:or>
                      </imsld:not>
                   </imsld:if>
                   <imsld:then>
                      <imsld:show>
                         <imsld:learning-activity-ref ref="LA-request-grade"/>
                         <imsld:environment-ref ref="E-background"/>
                      </imsld:show>
                   </imsld:then>
                   <!--the condition below shows the request test activity to the student once the practice and       testing          activity structure has been completed-->
                   <imsld:if>
                      <imsld:is>
                         <imsld:property-ref ref="P-availability-practice-test"/>
                         <imsld:property-value>true</imsld:property-value>
                      </imsld:is>
                   </imsld:if>
                   <imsld:then>
                      <imsld:show>
                         <imsld:activity-structure-ref ref="AS-practice-and-testing"/>
                      </imsld:show>
                   </imsld:then>
                </imsld:conditions>
             </imsld:method>
             <imsld:metadata/>
          </imsld:learning-design>
       </organizations>
       <!--RESOURCES-->
       <resources>
          <resource identifier="R-background" type="imsldcontent"/>
          <!--The resource "R-background" contains a description of the background knowledge thath the learners may use. The may optionally  include examples. This they decide in the prepare activity, to which they parenthetically may return as often as they like to alter their settings. The examples are bracketed                                                                         by a       DIV-element in XHTML and the DIV-element has the class attribute "C-examples". In the play's                                                                   conditions the class attribute is set to either hide or show the examples.-->
          <resource identifier="R-portfolio-learner" type="imsldcontent"/>
          <!--In, for instance XHTML, the resource "R-portfolio-learner" contains:
    a set-property for each of the globpers-properties:"P-advising-report", "P-advising-test", "P-anticipating-report", "P-anticipating-test";
    a view-property for each of the globpers-properties "P-advising-feedback", "P-advising-assessment", "P-anticipating-feedback", and "P-anticipating-assessment", which are set by the tutor;
    and a view-globpers-property for "P-final-grade", set by the examiner.
          -->
          <resource identifier="R-portfolio-tutor" type="imsldcontent"/>
          <!--In the X~Html, the resource "R-portfolio-tutor" contains:
    a view-property for each of the globpers-properties:"P-advising-report", "P-advising-test", "P-anticipating-report", "P-anticipating-test", which are set by the individual learners;
    a set-property for each of the globpers-properties"P-advising-feedback", "P-advising-assessment", "P-anticipating-feedback", and "P-anticipating-assessment";
    a view-globpers-property for the properties "P-advising-testgrade" and  "P-anticipating-testgrade", set by the tutor him/herself;
    and a view-globpers-property  for the "P-final-grade", set by the examiner.-->
          <resource identifier="R-portfolio-examiner" type="imsldcontent"/>
          <!-- The resource "R-portfolio-examiner" contains:
    two view-globpers-properties for the globpers-properties "P-advising-testgrade" and "P-anticipating testgrade" in order that the examiner may view the grades set by the tutor for each student;
    one set-globpers-property "P-final-grade" so that the examiner may set the final grade for each student on the basis of the tutor grading for the advising and anticipating test reports submitted by the students to the tutor-->
          <resource identifier="R-preparation" type="imsldcontent"/>
          <!-- explains to the learner how to do the preparation activity-->
          <resource identifier="R-practice-advising" type="imsldcontent"/>
          <resource identifier="R-test-advising" type="imsldcontent"/>
          <resource identifier="R-practice-anticipating" type="imsldcontent"/>
          <resource identifier="R-test-anticipating" type="imsldcontent"/>
          <!--Each of the above four resources contains a set-property for the globpers-properties: "P-                                                                     advising-report", "P-advising-test", "P-anticipating-report", and "P-anticipating-test". Each explains to the          student how to carry out the relevant activity.-->
          <resource identifier="R-provide-feedback-advising" type="imsldcontent"/>
          <resource identifier="R-provide-assessment-and-grade-advising" type="imsldcontent"/>
          <resource identifier="R-provide-feedback-anticipating" type="imsldcontent"/>
          <resource identifier="R-provide-assessment-and-grade-anticipating" type="imsldcontent"/>
          <!--Each of the above four resources contains one set-property for the respective globpers-                                                                     properties:"P-advising-feedback", "P-advising-assessment", "P-anticipating-feedback" and "P-anticipating-assessment". In addition to this, the resources "R-provide-assessment-and-grade-advising"  and "R-provide-assessment-and-grade-anticipating" contain a set-property for the globpers-properties "P-advising-testgrade" and  "P-anticipating-testgrade" respectively. Each one of the resources explains to the tutor how to go about providing feedback, or  doing an assessment and grading.-->
          <resource identifier="R-request-grade" type="imsldcontent"/>
          <!-- Item explains to the student how to request a grade, contains no  set-property  as the logic is handled by a user choice / on completion / notification combination-->
          <resource identifier="R-provide-final-grade" type="imsldcontent"/>
          <!-- In addition to a description of what the examiner is expected to do, the resource "R-                                                               provide-final-grade" contains a view-property for the globpers-property "P-advising-testgrade", "P-                                                                        anticipating-            testgrade" and a set-property and view-property for the globpers-property "P-final-grade"-->
       </resources>
    </manifest>

## 4.4 Learning By Doing (Level A)

### 4.4.1 Introduction

This example draws from training products produced in the TELESTIA project (see http://www.sitam-ab.com/pages/telestia.htm, part of the European Commission's community vocational training action programme) by Group SITAM-AB.

One of the products is SIMPLIFIED METHOD PATTERN CONSTRUCTION AB, an interactive, self-training environment to help students acquire pattern construction skills through learning by doing. The product is broad in its coverage of pattern construction skills and techniques, and only a subset is used here to illustrate parts of the Learning Design Specification.

The subset focuses on the following activities, constructed following experience with a demonstration version of the product:

- Practice constructing men's garments

- Practice constructing women's garments

- Construct skirts

- Construct fitted bodice block

- Construct pyjamas

- Construct seamless fitted vest with vertical seams

- Mastering the fitted bodice block procedure

- Carry out front procedure

1 Make a fitted bodice block

2 Lower the waistline

3 Draw the wrap;

- Carry out back procedure

- Understanding pattern construction tools

- Mastering block procedures

- Mastering block procedures for the female form

- Mastering the fitted bodice block procedure

- Mastering the fitted bodice block procedure: Front

- Mastering the fitted bodice block procedure: Back

1 Hold the template back side

2 Mark half the total bodice length

- Mastering the sleeve procedure

- Mastering block procedures for the male form

Bullets are use to indicate alternative selections (e.g., choose either to practice constructing men's garments, or to practice constructing women's garments, or to understand pattern construction tools, etc.), and numbers are used to indicate sequential steps (first make a fitted bodice block, then lower the waistline, etc.). The use of italics is explained below.

In the product, a clear distinction is made in the user interface between acquiring core skills and techniques and their application in garment construction, though both options are offered to the learner at the same time.

### 4.4.2 UML Activity Diagram

- The following UML Activity Diagram shows only the following part of the subset outlined above, and uses numbers instead of phrases for compactness:

- Practice constructing men's garments (1.1)

- Practice constructing women's garments (1.2)

- Construct skirts (1.2.1)

- Construct fitted bodice block (1.2.2)

- Construct pyjamas (1.2.2.1)

- Construct seamless fitted vest with vertical seams (1.2.2.2)

- Mastering the fitted bodice block procedure (1.2.2.2.1)

- Carry out front procedure (1.2.2.2.2)

1 Make a fitted bodice block (1.2.2.2.2.1)

2 Lower the waistline (1.2.2.2.2.2)

3 Draw the wrap; (1.2.2.2.2.3)

- Carry out back procedure (1.2.2.2.3)

Note: A thick-outlined box is used for 1.2.2.2 to denote activities all of which must be carried but in any order (arrowed between the activities are also omitted):

Figure 4.3 - Activity Diagram for Learning by Doing.

### 4.4.3 Key Points of Note

- Two PLAY elements are used to model the separation between skills mastery and skill application. Quoting from the Learning Design Information Model:
  If there is more than one play, they represent logically independent parts of the learning design. The plays are always run concurrently
  The two PLAYs are contained in the METHOD section to the end of the learning design.
- The learning design illustrates re-use of activity structures, since Mastering the fitted bodice block procedure, shown above in italics, is used in two places.
  In the XML document instance, the activity structure AS-Mastering-the-fitted-bodice-block-procedure (defined as a structure since it is decomposed into two activities which can be carried out in any order) is used both as a component of the activity structure AS-Mastering-block-procedures-for-the-female-form and as a component of the activity structure AS-Construct-seamless-fitted-vest-with-vertical-seams.

### 4.4.4 XML Instance Document

    <?xml version="1.0" encoding="UTF-8"?>
    <!-- edited with XMLSPY v5 rel. 2 U (http://www.xmlspy.com) by Colin Tattersall (Open University of the Netherlands) -->
    <imscp:manifest xmlns:imscp="http://www.imsglobal.org/xsd/imscp_v1p1" xmlns:imsld="http://www.imsglobal.org/xsd/imsld_v1p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imscp_v1p1 http://www.imsglobal.org/xsd/imscp_v1p1p3.xsd http://www.imsglobal.org/xsd/imsld_v1p0  http://www.imsglobal.org/xsd/imsld_level_a_v1p0.xsd" identifier="Learning-By-Doing-Manifest">
       <imscp:metadata>
          <imscp:schema>IMS Metadata</imscp:schema>
          <imscp:schemaversion>1.2</imscp:schemaversion>
       </imscp:metadata>
       <imscp:organizations>
          <imsld:learning-design identifier="Pattern-Construction-Learning-By-Doing" uri="URI" level="A" sequence-used="false">
             <imsld:title>Pattern-Construction-Learning-By-Doing</imsld:title>
             <!--In this document we included the official use of titles to describe learning objectives (LOB), prerequisites (PREQ) and learning activities (LA). These titles will be displayed during runtime. Every LOB, PREQ and LA is labeled by a title, e.g. 'Hold the template back side'. The item contains the actual description, and all have a (possibly different) title as well.  -->
             <imsld:learning-objectives>
                <imsld:title>
                         Learning objectives
                      </imsld:title>
                <imsld:item identifier="LOB-Acquire-Pattern-Construction-Skills" identifierref="RES-Acquire-Pattern-Construction-Skills">
                   <imsld:title>Acquire pattern construction skills</imsld:title>
                </imsld:item>
             </imsld:learning-objectives>
             <imsld:prerequisites>
                <imsld:title>
                         Learning prerequisites
                      </imsld:title>
                <imsld:item identifier="PREQ-Basic-IT-Skills" identifierref="RES-Basic-IT-Skills">
                   <imsld:title>Basic IT skills</imsld:title>
                </imsld:item>
             </imsld:prerequisites>
             <imsld:components>
                <imsld:roles>
                   <imsld:learner identifier="R-Learner"/>
                </imsld:roles>
                <imsld:activities>
                   <imsld:learning-activity identifier="LA-Hold-the-template-back-side">
                      <imsld:activity-description>
                         <imsld:title>
                         Hold the template back-side
                      </imsld:title>
                         <imsld:item identifier="I-Hold-the-template-back-side" identifierref="RES-Hold-the-template-back-side">
                            <imsld:title>Hold the template back side</imsld:title>
                         </imsld:item>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-Mark-half-the-total-bodice-length">
                      <imsld:activity-description>
                         <imsld:title>
                         Mark half the bodice-length
                      </imsld:title>
                         <imsld:item identifier="I-Mark-half-the-total-bodice-length" identifierref="RES-Mark-half-the-total-bodice-length">
                            <imsld:title>Mark half the total bodice length</imsld:title>
                         </imsld:item>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-Make-a-fitted-bodice-block">
                      <imsld:activity-description>
                         <imsld:title>
                         Make a fitted bodice-block
                      </imsld:title>
                         <imsld:item identifier="I-Make-a-fitted-bodice-block" identifierref="RES-Make-a-fitted-bodice-block">
                            <imsld:title>Make a fitted bodice block</imsld:title>
                         </imsld:item>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-Lower-the-wasitline">
                      <imsld:activity-description>
                         <imsld:title>
                         Lower the waistline
                      </imsld:title>
                         <imsld:item identifier="I-Lower-the-wasitline" identifierref="RES-Lower-the-wasitline">
                            <imsld:title>Lower the waistline</imsld:title>
                         </imsld:item>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-Draw-the-wrap">
                      <imsld:activity-description>
                         <imsld:title>
                         Draw the wrap
                      </imsld:title>
                         <imsld:item identifier="I-Draw-the-wrap" identifierref="RES-Draw-the-wrap">
                            <imsld:title>Draw the wrap</imsld:title>
                         </imsld:item>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-Mastering-the-fitted-Bodice-block-procedure-FRONT">
                      <imsld:activity-description>
                         <imsld:title>
                         Mastering the fitted bodice block procedure FRONT
                      </imsld:title>
                         <imsld:item identifier="I-Mastering-the-fitted-Bodice-block-procedure-FRONT" identifierref="RES-Mastering-the-fitted-Bodice-block-procedure-FRONT">
                            <imsld:title>Mastering the fittedbodice block procedure FRONT</imsld:title>
                         </imsld:item>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-Mastering-the-sleeve-procedure">
                      <imsld:activity-description>
                         <imsld:title>
                         Mastering the sleeve procedure
                      </imsld:title>
                         <imsld:item identifier="I-Mastering-the-sleeve-procedure" identifierref="RES-Mastering-the-sleeve-procedure">
                            <imsld:title>Mastering the sleeve procedure</imsld:title>
                         </imsld:item>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-Mastering-block-procedures-for-the-male-form">
                      <imsld:activity-description>
                         <imsld:title>
                         Mastering block procedures for the male form
                      </imsld:title>
                         <imsld:item identifier="I-Mastering-block-procedures-for-the-male-form" identifierref="REF-Mastering-block-procedures-for-the-male-form">
                            <imsld:title>Mastering block proceduresfor the male form</imsld:title>
                         </imsld:item>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-Carry-out-back-procedure">
                      <imsld:activity-description>
                         <imsld:title>
                         Carry out back procedures
                      </imsld:title>
                         <imsld:item identifier="I-Carry-out-back-procedure" identifierref="RES-Carry-out-back-procedure">
                            <imsld:title>Carry out back procedure</imsld:title>
                         </imsld:item>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-Construct-pyjamas">
                      <imsld:activity-description>
                         <imsld:title>
                         Construct pyjamas
                      </imsld:title>
                         <imsld:item identifier="I-Construct-pyjamas" identifierref="RES-Construct-pyjamas">
                            <imsld:title>Construct pyjamas</imsld:title>
                         </imsld:item>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-Construct-skirts">
                      <imsld:activity-description>
                         <imsld:title>
                         Construct skirts
                      </imsld:title>
                         <imsld:item identifier="I-Construct-skirts" identifierref="RES-Construct-skirts">
                            <imsld:title>Construct skirts</imsld:title>
                         </imsld:item>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-Understanding-Pattern-Construction-Tools">
                      <imsld:activity-description>
                         <imsld:title>
                         Understanding pattern construction tools
                      </imsld:title>
                         <imsld:item identifier="I-Understanding-Pattern-Construction-Tools" identifierref="RES-Understanding-Pattern-Construction-Tools">
                            <imsld:title>Understanding pattern construction tools</imsld:title>
                         </imsld:item>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-Practice-constructing-mens-garments">
                      <imsld:activity-description>
                         <imsld:title>
                         Practice constructing means garments
                      </imsld:title>
                         <imsld:item identifier="I-Practice-constructing-mens-garments" identifierref="RES-Practice-constructing-mens-garments">
                            <imsld:title>Practice constructing mens garments</imsld:title>
                         </imsld:item>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:activity-structure identifier="AS-Mastering-the-fitted-Bodice-block-procedure-BACK" structure-type="sequence">
                      <imsld:title>Mastering the fitted Bodice block procedure BACK</imsld:title>
                      <imsld:learning-activity-ref ref="LA-Hold-the-template-back-side"/>
                      <imsld:learning-activity-ref ref="LA-Mark-half-the-total-bodice-length"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="AS-Carry-out-front-procedure" structure-type="sequence">
                      <imsld:title>Carry out front procedure</imsld:title>
                      <imsld:learning-activity-ref ref="LA-Make-a-fitted-bodice-block"/>
                      <imsld:learning-activity-ref ref="LA-Lower-the-wasitline"/>
                      <imsld:learning-activity-ref ref="LA-Draw-the-wrap"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="AS-Mastering-the-fitted-bodice-block-procedure" structure-type="selection" number-to-select="2">
                      <imsld:title>Mastering the fitted bodice block procedure</imsld:title>
                      <imsld:learning-activity-ref ref="LA-Mastering-the-fitted-Bodice-block-procedure-FRONT"/>
                      <imsld:learning-activity-ref ref="AS-Mastering-the-fitted-Bodice-block-procedure-BACK"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="AS-Mastering-block-procedures-for-the-female-form" structure-type="selection" number-to-select="1">
                      <imsld:title>Mastering block procedures for the female form</imsld:title>
                      <imsld:learning-activity-ref ref="AS-Mastering-the-fitted-bodice-block-procedure"/>
                      <imsld:learning-activity-ref ref="LA-Mastering-the-sleeve-procedure"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="AS-Mastering-block-procedures" structure-type="selection" number-to-select="1">
                      <imsld:title>Mastering block procedures</imsld:title>
                      <imsld:learning-activity-ref ref="AS-Mastering-block-procedures-for-the-female-form"/>
                      <imsld:learning-activity-ref ref="LA-Mastering-block-procedures-for-the-male-form"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="AS-Acquire-Basic-Skills" structure-type="selection" number-to-select="1">
                      <imsld:title>Acquire Basic Skills</imsld:title>
                      <imsld:learning-activity-ref ref="AS-Mastering-block-procedures"/>
                      <imsld:learning-activity-ref ref="LA-Understanding-Pattern-Construction-Tools"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="AS-Construct-seamless-fitted-vest-with-vertical-seams" structure-type="selection" number-to-select="3">
                      <imsld:title>Construct seamless fitted vest with vertical seams</imsld:title>
                      <imsld:learning-activity-ref ref="AS-Mastering-the-fitted-bodice-block-procedure"/>
                      <imsld:learning-activity-ref ref="AS-Carry-out-front-procedure"/>
                      <imsld:learning-activity-ref ref="LA-Carry-out-back-procedure"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="AS-Construct-fitted-bodice-block" structure-type="selection" number-to-select="1">
                      <imsld:title>Construct fitted-bodice basic bodice block</imsld:title>
                      <imsld:learning-activity-ref ref="LA-Construct-pyjamas"/>
                      <imsld:learning-activity-ref ref="AS-Construct-seamless-fitted-vest-with-vertical-seams"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="AS-Practice-constructing-womens-garments" structure-type="selection" number-to-select="1">
                      <imsld:title>Practice constructing women's garments</imsld:title>
                      <imsld:learning-activity-ref ref="LA-Construct-skirts"/>
                      <imsld:learning-activity-ref ref="AS-Construct-fitted-bodice-block"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="AS-Practice-constructing-garments" structure-type="selection" number-to-select="1">
                      <imsld:title>Practice constructing garments</imsld:title>
                      <imsld:learning-activity-ref ref="LA-Practice-constructing-mens-garments"/>
                      <imsld:learning-activity-ref ref="AS-Practice-constructing-womens-garments"/>
                   </imsld:activity-structure>
                </imsld:activities>
             </imsld:components>
             <imsld:method>
                <imsld:play identifier="PLAY-Master-Skills">
                   <imsld:act>
                      <imsld:role-part>
                         <imsld:role-ref ref="R-Learner"/>
                         <imsld:learning-activity-ref ref="AS-Acquire-Basic-Skills"/>
                      </imsld:role-part>
                   </imsld:act>
                </imsld:play>
                <imsld:play identifier="PLAY-Practice-Constructing-Garments">
                   <imsld:act>
                      <imsld:role-part>
                         <imsld:role-ref ref="R-Learner"/>
                         <imsld:learning-activity-ref ref="AS-Practice-constructing-garments"/>
                      </imsld:role-part>
                   </imsld:act>
                </imsld:play>
             </imsld:method>
          </imsld:learning-design>
       </imscp:organizations>
       <imscp:resources>
          <imscp:resource identifier="RES-Acquire-Pattern-Construction-Skills" type="webcontent"/>
          <imscp:resource identifier="RES-Basic-IT-Skills" type="webcontent"/>
          <imscp:resource identifier="RES-Hold-the-template-back-side" type="webcontent"/>
          <imscp:resource identifier="RES-Mark-half-the-total-bodice-length" type="webcontent"/>
          <imscp:resource identifier="RES-Make-a-fitted-bodice-block" type="webcontent"/>
          <imscp:resource identifier="RES-Lower-the-wasitline" type="webcontent"/>
          <imscp:resource identifier="RES-Draw-the-wrap" type="webcontent"/>
          <imscp:resource identifier="RES-Mastering-the-fitted-Bodice-block-procedure-FRONT" type="webcontent"/>
          <imscp:resource identifier="RES-Mastering-the-sleeve-procedure" type="webcontent"/>
          <imscp:resource identifier="RES-Carry-out-back-procedure" type="webcontent"/>
          <imscp:resource identifier="RES-Construct-pyjamas" type="webcontent"/>
          <imscp:resource identifier="RES-Construct-skirts" type="webcontent"/>
          <imscp:resource identifier="RES-Understanding-Pattern-Construction-Tools" type="webcontent"/>
          <imscp:resource identifier="RES-Practice-constructing-mens-garments" type="webcontent"/>
          <imscp:resource identifier="REF-Mastering-block-procedures-for-the-male-form" type=""/>
       </imscp:resources>
    </imscp:manifest>

## 4.5 Problem Based Learning (Level C)

### 4.5.1 4.5.1 Introduction

This example draws on three different Problem Based Learning use cases to illustrate several aspects of the Learning Design Specification. The following narrative is used as the starting point for the example, with italics showing annotations describing a possible realization of the narrative in the context of online deliver:

- The coordinator for the course makes a problem description available to the group (by uploading a file to a website).
- Each of the students in the group reads the problem (on the website), as does the facilitator.
- (In a synchronous conferencing system which includes the facilitator) The students decide who is going to be the chairperson - the spokesperson for the group, responsible for recording key group decisions, and the chosen representative is appointed as such by the facilitator.
- The group then communicate amongst themselves to clarify the problem, using each other and the facilitator to discuss and clarify terminology and any open issues, eventually arriving at their own succinct statement of the problem at hand.
- The chairperson states this problem description in a file uploaded to the website and the group continues by identifying possible solutions or explanations for the problem.
- These possible explanations are clustered into a small number to be explored further by the students.
- The explanations to be pursued are listed in a file uploaded to the website.
- The group then identifies the learning goals of the problem and individuals embark on the required research.
- Eventually, the group meet up (using a synchronous conferencing system) to discuss their findings, again assisted by the facilitator.
- The chairperson summarizes the findings in a file uploaded to the website.
- Subsequently, an Evaluator and the Facilitator discuss the performance of the group and the Evaluator provides an Evaluation of the group (in a file uploaded to the website).

### 4.5.2 UML Activity Diagram

Figure 4.4 - Activity Diagram for Problem Based Learning.

### 4.5.3 Key Points of Note

- The example makes use of several ACTs in the learning flow. Acts are use not only to support parallel activities (e.g., the students and facilitator reading the problem description), but also as synchronization points when the flow crosses roles (e.g., between the students discussing findings and the chairperson summarizing the findings).
- Two environments are defined to support group discussions, both between the students (including the chairperson) and between the facilitator and evaluator.
- The various texts produced during the sessions are 'published' using a mechanism which exploits a property with a file datatype being set in the resource associated with 'publishing' activity. In this way P-Problem-Description is defined as a property (with datatype file) associated with the coordinator role, and is set in the resource (RES-Accompanying-Text-For-Coordinator) associated with the coordinator's support activity of SA-Make-problem-Description-Available.
- The example is at level C due to the use of notifications (for example, the email notification to the facilitator and students following the coordinator's 'publication' of the problem description, handled with an on-completion element on SA-Make-problem-Description-Available.

### 4.5.4 XML Instance Document

    <?xml version="1.0" encoding="UTF-8"?>
    <!-- edited with XMLSPY v5 rel. 2 U (http://www.xmlspy.com) by Colin Tattersall (Open University of the Netherlands) -->
    <manifest xmlns="http://www.imsglobal.org/xsd/imscp_v1p1" xmlns:imsld="http://www.imsglobal.org/xsd/imsld_v1p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imscp_v1p1 http://www.imsglobal.org/xsd/imscp_v1p1p3.xsd  http://www.imsglobal.org/xsd/imsld_v1p0  http://www.imsglobal.org/xsd/imsld_level_c_v1p0.xsd" identifier="PBL-Manifest">
       <metadata>
          <schema>IMS Metadata</schema>
          <schemaversion>1.2</schemaversion>
       </metadata>
       <organizations>
          <imsld:learning-design identifier="Problem-Based-Learning" version="" level="C" sequence-used="false" uri="">
             <imsld:components>
                <imsld:roles>
                   <imsld:learner identifier="R-student"/>
                   <imsld:learner identifier="R-chairperson"/>
                   <imsld:staff identifier="R-facilitator"/>
                   <imsld:staff identifier="R-coordinator"/>
                   <imsld:staff identifier="R-evaluator"/>
                </imsld:roles>
                <imsld:properties>
                   <imsld:globpers-property identifier="P-email">
                      <imsld:existing href=""/>
                   </imsld:globpers-property>
                   <imsld:locrole-property identifier="P-Problem-Description">
                      <imsld:role-ref ref="R-coordinator"/>
                      <imsld:datatype datatype="file"/>
                   </imsld:locrole-property>
                   <imsld:locrole-property identifier="P-Problem-Statement">
                      <imsld:role-ref ref="R-chairperson"/>
                      <imsld:datatype datatype="file"/>
                   </imsld:locrole-property>
                   <imsld:locrole-property identifier="P-List-Of-Explanations">
                      <imsld:role-ref ref="R-chairperson"/>
                      <imsld:datatype datatype="file"/>
                   </imsld:locrole-property>
                   <imsld:locrole-property identifier="P-Summary-Of-Findings">
                      <imsld:role-ref ref="R-chairperson"/>
                      <imsld:datatype datatype="file"/>
                   </imsld:locrole-property>
                   <imsld:locrole-property identifier="P-Group-Evaluation">
                      <imsld:role-ref ref="R-evaluator"/>
                      <imsld:datatype datatype="file"/>
                   </imsld:locrole-property>
                </imsld:properties>
                <imsld:activities>
                   <imsld:support-activity identifier="SA-Make-problem-Description-Available">
                      <imsld:activity-description>
                         <imsld:item identifier="I-Make-problem-Description-Available" identifierref="RES-Accompanying-Text-For-Coordinator"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:user-choice/>
                      </imsld:complete-activity>
                      <imsld:on-completion>
                         <imsld:notification>
                            <imsld:email-data email-property-ref="P-email">
                               <imsld:role-ref ref="R-student"/>
                            </imsld:email-data>
                            <imsld:subject>You are now able to start the problem</imsld:subject>
                         </imsld:notification>
                         <imsld:notification>
                            <imsld:email-data email-property-ref="P-email">
                               <imsld:role-ref ref="R-facilitator"/>
                            </imsld:email-data>
                            <imsld:subject>You are now able to start the problem</imsld:subject>
                         </imsld:notification>
                      </imsld:on-completion>
                   </imsld:support-activity>
                   <imsld:support-activity identifier="SA-Provide-Assistance">
                      <imsld:environment-ref ref="E-PBL-Group-Facilities-Synchronous"/>
                      <imsld:activity-description>
                         <imsld:item identifier="I-Provide-Assistance" identifierref="RES-Facilitator-Provide-Assistance-Text"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:user-choice/>
                      </imsld:complete-activity>
                   </imsld:support-activity>
                   <imsld:support-activity identifier="SA-Appoint-Chairperson">
                      <imsld:activity-description>
                         <imsld:item identifier="I-Appoint-Chairperson" identifierref="RES-Appoint-Chairperson"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:user-choice/>
                      </imsld:complete-activity>
                      <imsld:on-completion>
                         <imsld:notification>
                            <imsld:email-data email-property-ref="P-email">
                               <imsld:role-ref ref="R-student"/>
                            </imsld:email-data>
                            <imsld:subject>The chairperson has been appointed</imsld:subject>
                         </imsld:notification>
                      </imsld:on-completion>
                   </imsld:support-activity>
                   <imsld:support-activity identifier="SA-Discuss-Group">
                      <imsld:environment-ref ref="E-Evaluation-Facilities-Synchronous"/>
                      <imsld:activity-description>
                         <imsld:item identifier="I-Discuss-Group" identifierref="RES-Accompanying-Text-For-Facilitator-Evaluator-Discussion"/>
                      </imsld:activity-description>
                   </imsld:support-activity>
                   <imsld:support-activity identifier="SA-Evaluate-Group">
                      <imsld:activity-description>
                         <imsld:item identifier="I-Evaluate-Group" identifierref="RES-Accompanying-Text-For-Evaluation"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:user-choice/>
                      </imsld:complete-activity>
                   </imsld:support-activity>
                   <imsld:learning-activity identifier="LA-Read-problem-Description">
                      <imsld:activity-description>
                         <imsld:item identifier="I-Read-problem-Description" identifierref="RES-Accompanying-Text-For-Students-And-Facilitator"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:user-choice/>
                      </imsld:complete-activity>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-Choose-Chairperson">
                      <imsld:environment-ref ref="E-PBL-Group-Facilities-Synchronous"/>
                      <imsld:activity-description>
                         <imsld:item identifier="I-Choose-Chairperson" identifierref="RES-Accompanying-Text-For-Chairperson-Choice"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-Clarify-Problem">
                      <imsld:environment-ref ref="E-PBL-Group-Facilities-Synchronous"/>
                      <imsld:activity-description>
                         <imsld:item identifier="I-Clarify-Problem" identifierref="RES-Accompanying-Text-For-Student-Problem-Clarification"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:user-choice/>
                      </imsld:complete-activity>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-State-Problem">
                      <imsld:environment-ref ref="E-PBL-Group-Facilities-Synchronous"/>
                      <imsld:activity-description>
                         <imsld:item identifier="I-State-Problem" identifierref="RES-Help-For-Chair-With-Problem-Statement"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:user-choice/>
                      </imsld:complete-activity>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-Brainstorm-Explanations">
                      <imsld:environment-ref ref="E-PBL-Group-Facilities-Synchronous"/>
                      <imsld:activity-description>
                         <imsld:item identifier="I-Brainstorm-Explanations" identifierref="RES-Brainstorm-Guidance"/>
                      </imsld:activity-description>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-Cluster-Explanations">
                      <imsld:environment-ref ref="E-PBL-Group-Facilities-Synchronous"/>
                      <imsld:activity-description>
                         <imsld:item identifier="I-Cluster-Explanations" identifierref="RES-Brainstorm-Guidance"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:user-choice/>
                      </imsld:complete-activity>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-List-Explanations">
                      <imsld:environment-ref ref="E-PBL-Group-Facilities-Synchronous"/>
                      <imsld:activity-description>
                         <imsld:item identifier="I-List-Explanations" identifierref="RES-Help-For-Chair-With-Explanations"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:user-choice/>
                      </imsld:complete-activity>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-Formulate-Goals">
                      <imsld:environment-ref ref="E-PBL-Group-Facilities-Synchronous"/>
                      <imsld:activity-description>
                         <imsld:item identifier="I-Formulate-Goals" identifierref="RES-Help-With-Goal-Formulation"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:user-choice/>
                      </imsld:complete-activity>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-Carry-out-research">
                      <imsld:activity-description>
                         <imsld:item identifier="I-Carry-out-research" identifierref="RES-Carry-out-research"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:user-choice/>
                      </imsld:complete-activity>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-Discuss-Findings">
                      <imsld:environment-ref ref="E-PBL-Group-Facilities-Synchronous"/>
                      <imsld:activity-description>
                         <imsld:item identifier="I-Discuss-Findings" identifierref="RES-Discuss-Findings"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:user-choice/>
                      </imsld:complete-activity>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-Summarise-Findings">
                      <imsld:environment-ref ref="E-PBL-Group-Facilities-Synchronous"/>
                      <imsld:activity-description>
                         <imsld:item identifier="I-Summarise-Findings" identifierref="RES-Summarise-Findings"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:user-choice/>
                      </imsld:complete-activity>
                      <imsld:on-completion>
                         <imsld:notification>
                            <imsld:email-data email-property-ref="P-email">
                               <imsld:role-ref ref="R-evaluator"/>
                            </imsld:email-data>
                            <imsld:subject>You are now able to start the group evaluation process, please arrange a discussion</imsld:subject>
                         </imsld:notification>
                         <imsld:notification>
                            <imsld:email-data email-property-ref="P-email">
                               <imsld:role-ref ref="R-facilitator"/>
                            </imsld:email-data>
                            <imsld:subject>You are now able to start the group evaluation process, please  arrange a discussion</imsld:subject>
                         </imsld:notification>
                      </imsld:on-completion>
                   </imsld:learning-activity>
                   <imsld:activity-structure identifier="AS-Prepare" structure-type="sequence">
                      <imsld:title>Prepare</imsld:title>
                      <imsld:learning-activity-ref ref="LA-Read-problem-Description"/>
                      <imsld:learning-activity-ref ref="LA-Choose-Chairperson"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="AS-Arrive-At-Explanations">
                      <imsld:title>Arrive At Explanations</imsld:title>
                      <imsld:learning-activity-ref ref="LA-Brainstorm-Explanations"/>
                      <imsld:learning-activity-ref ref="LA-Cluster-Explanations"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="AS-Help-Group" structure-type="sequence">
                      <imsld:title>Help The Group</imsld:title>
                      <imsld:learning-activity-ref ref="LA-Read-problem-Description"/>
                      <imsld:learning-activity-ref ref="SA-Provide-Assistance"/>
                   </imsld:activity-structure>
                </imsld:activities>
                <imsld:environments>
                   <imsld:environment identifier="E-PBL-Group-Facilities-Synchronous">
                      <imsld:title>PBL Synchronous Group Facilities</imsld:title>
                      <imsld:service identifier="S-ConferencingSoftware">
                         <imsld:conference conference-type="synchronous">
                            <imsld:participant role-ref="R-student"/>
                            <imsld:participant role-ref="R-facilitator"/>
                            <imsld:item identifier="I-Conferencing-Text" identifierref="RES-Conferencing-Text"/>
                         </imsld:conference>
                      </imsld:service>
                   </imsld:environment>
                   <imsld:environment identifier="E-Evaluation-Facilities-Synchronous">
                      <imsld:title>PBL Synchronous Facilities For Evaluator and Facilitator</imsld:title>
                      <imsld:service identifier="S-EvaluatorsConferencingSoftware">
                         <imsld:conference conference-type="synchronous">
                            <imsld:participant role-ref="R-evaluator"/>
                            <imsld:participant role-ref="R-facilitator"/>
                            <imsld:item identifier="I-Evaluator-Conferencing-Text" identifierref="RES-Conferencing-Text"/>
                         </imsld:conference>
                      </imsld:service>
                   </imsld:environment>
                </imsld:environments>
             </imsld:components>
             <imsld:method>
                <imsld:play identifier="PLAY-PBL">
                   <imsld:act>
                      <imsld:role-part>
                         <imsld:role-ref ref="R-coordinator"/>
                         <imsld:support-activity-ref ref="SA-Make-problem-Description-Available"/>
                      </imsld:role-part>
                      <imsld:complete-act>
                         <imsld:when-role-part-completed ref="R-coordinator"/>
                      </imsld:complete-act>
                   </imsld:act>
                   <imsld:act>
                      <imsld:role-part>
                         <imsld:role-ref ref="R-student"/>
                         <imsld:activity-structure-ref ref="AS-Prepare"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <imsld:role-ref ref="R-facilitator"/>
                         <imsld:activity-structure-ref ref="AS-Help-Group"/>
                      </imsld:role-part>
                      <imsld:complete-act>
                         <imsld:when-role-part-completed ref="R-facilitator"/>
                      </imsld:complete-act>
                   </imsld:act>
                   <imsld:act>
                      <imsld:role-part>
                         <imsld:role-ref ref="R-facilitator"/>
                         <imsld:learning-activity-ref ref="SA-Appoint-Chairperson"/>
                      </imsld:role-part>
                      <imsld:complete-act>
                         <imsld:when-role-part-completed ref="R-facilitator"/>
                      </imsld:complete-act>
                   </imsld:act>
                   <imsld:act>
                      <imsld:role-part>
                         <imsld:role-ref ref="R-student"/>
                         <imsld:learning-activity-ref ref="LA-Clarify-Problem"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <imsld:role-ref ref="R-facilitator"/>
                         <imsld:learning-activity-ref ref="SA-Provide-Assistance"/>
                      </imsld:role-part>
                      <imsld:complete-act>
                         <imsld:when-role-part-completed ref="R-student"/>
                      </imsld:complete-act>
                   </imsld:act>
                   <imsld:act>
                      <imsld:role-part>
                         <imsld:role-ref ref="R-chairperson"/>
                         <imsld:learning-activity-ref ref="LA-State-Problem"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <imsld:role-ref ref="R-facilitator"/>
                         <imsld:learning-activity-ref ref="SA-Provide-Assistance"/>
                      </imsld:role-part>
                      <imsld:complete-act>
                         <imsld:when-role-part-completed ref="R-chairperson"/>
                      </imsld:complete-act>
                   </imsld:act>
                   <imsld:act>
                      <imsld:role-part>
                         <imsld:role-ref ref="R-student"/>
                         <imsld:activity-structure-ref ref="AS-Arrive-At-Explanations"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <imsld:role-ref ref="R-facilitator"/>
                         <imsld:learning-activity-ref ref="SA-Provide-Assistance"/>
                      </imsld:role-part>
                      <imsld:complete-act>
                         <imsld:when-role-part-completed ref="R-student"/>
                      </imsld:complete-act>
                   </imsld:act>
                   <imsld:act>
                      <imsld:role-part>
                         <imsld:role-ref ref="R-chairperson"/>
                         <imsld:learning-activity-ref ref="LA-List-Explanations"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <imsld:role-ref ref="R-facilitator"/>
                         <imsld:learning-activity-ref ref="SA-Provide-Assistance"/>
                      </imsld:role-part>
                      <imsld:complete-act>
                         <imsld:when-role-part-completed ref="R-chairperson"/>
                      </imsld:complete-act>
                   </imsld:act>
                   <imsld:act>
                      <imsld:role-part>
                         <imsld:role-ref ref="R-student"/>
                         <imsld:activity-structure-ref ref="LA-Formulate-Goals"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <imsld:role-ref ref="R-facilitator"/>
                         <imsld:learning-activity-ref ref="SA-Provide-Assistance"/>
                      </imsld:role-part>
                      <imsld:complete-act>
                         <imsld:when-role-part-completed ref="R-student"/>
                      </imsld:complete-act>
                   </imsld:act>
                   <imsld:act>
                      <imsld:role-part>
                         <imsld:role-ref ref="R-student"/>
                         <imsld:activity-structure-ref ref="LA-Carry-out-research"/>
                      </imsld:role-part>
                      <imsld:complete-act>
                         <imsld:when-role-part-completed ref="R-student"/>
                      </imsld:complete-act>
                   </imsld:act>
                   <imsld:act>
                      <imsld:role-part>
                         <imsld:role-ref ref="R-student"/>
                         <imsld:activity-structure-ref ref="LA-Discuss-Findings"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <imsld:role-ref ref="R-facilitator"/>
                         <imsld:learning-activity-ref ref="SA-Provide-Assistance"/>
                      </imsld:role-part>
                      <imsld:complete-act>
                         <imsld:when-role-part-completed ref="R-student"/>
                      </imsld:complete-act>
                   </imsld:act>
                   <imsld:act>
                      <imsld:role-part>
                         <imsld:role-ref ref="R-chairperson"/>
                         <imsld:learning-activity-ref ref="LA-Summarise-Findings"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <imsld:role-ref ref="R-facilitator"/>
                         <imsld:learning-activity-ref ref="SA-Provide-Assistance"/>
                      </imsld:role-part>
                      <imsld:complete-act>
                         <imsld:when-role-part-completed ref="R-chairperson"/>
                      </imsld:complete-act>
                   </imsld:act>
                   <imsld:act>
                      <imsld:role-part>
                         <imsld:role-ref ref="R-evaluator"/>
                         <imsld:support-activity-ref ref="SA-Discuss-Group"/>
                      </imsld:role-part>
                      <imsld:role-part>
                         <imsld:role-ref ref="R-facilitator"/>
                         <imsld:support-activity-ref ref="SA-Discuss-Group"/>
                      </imsld:role-part>
                      <imsld:complete-act>
                         <imsld:when-role-part-completed ref="R-evaluator"/>
                      </imsld:complete-act>
                   </imsld:act>
                   <imsld:act>
                      <imsld:role-part>
                         <imsld:role-ref ref="R-evaluator"/>
                         <imsld:support-activity-ref ref="SA-Evaluate-Group"/>
                      </imsld:role-part>
                      <imsld:complete-act>
                         <imsld:when-role-part-completed ref="R-evaluator"/>
                      </imsld:complete-act>
                   </imsld:act>
                   <imsld:complete-play>
                      <imsld:when-last-act-completed/>
                   </imsld:complete-play>
                </imsld:play>
                <imsld:complete-unit-of-learning>
                   <imsld:when-play-completed ref="PLAY-PBL"/>
                </imsld:complete-unit-of-learning>
             </imsld:method>
          </imsld:learning-design>
       </organizations>
       <resources>
          <resource identifier="RES-Accompanying-Text-For-Coordinator" type="imsldcontent">
             <!--Textual content which states that the coordinator should create/find a problem (named, for example description.txt) and have it stored through <global-elements><set-property identifier-ref="P-Problem-Description"/></global-elements>-->
          </resource>
          <resource identifier="RES-Accompanying-Text-For-Students-And-Facilitator" type="imsldcontent">
             <!--Textual content welcoming the students and facilitator and including a statement to allow the problem description to be viewed: <global-elements><view-property identifier-ref="P-Problem-Description"/></global-elements>-->
          </resource>
          <resource identifier="RES-Accompanying-Text-For-Chairperson-Choice" type="webcontent">
             <!--Textual content: select from your group an individual who will responsible for publishing the group output and inform the facilitator of your choice. Use the facilities available in the environment to communicate with both your fellow students and the facilitator.-->
          </resource>
          <resource identifier="RES-Facilitator-Provide-Assistance-Text" type="webcontent">
             <!--Text: use the communication facilities provided in the environment to help the students-->
          </resource>
          <resource identifier="RES-Appoint-Chairperson" type="webcontent">
             <!--Text: guidance on appointing the chairperson-->
          </resource>
          <resource identifier="RES-Accompanying-Text-For-Student-Problem-Clarification" type="webcontent">
             <!--Text stating that the students should reach as full and unambiguous a decription of the problem as possible, discussing any uncertainties and issue among themselves and using the facilitator for assistance;-->
          </resource>
          <resource identifier="RES-Help-For-Chair-With-Problem-Statement" type="imsldcontent">
             <!--Textual content which states that the chairperson should state the problem as the group understands it in a file (eg problemstatement.txt) and have it stored through <global-elements><set-property identifier-ref="P-Problem-Statement"/></global-elements> -->
          </resource>
          <resource identifier="RES-Brainstorm-Guidance" type="webcontent">
             <!--Text to indicate to students that they should try to gather explanations/solutions for the problem and then cluster this information into a smaller set to be more fully researched.-->
          </resource>
          <resource identifier="RES-Help-For-Chair-With-Explanations" type="imsldcontent">
             <!--Textual content which states that the chairperson should list the explanations in a file (eg explanations.txt)  and have it stored through <global-elements><set-property identifier-ref="P-List-Of-Explanations"/></global-elements> -->
          </resource>
          <resource identifier="RES-Help-With-Goal-Formulation" type="webcontent">
             <!--Text to the tune of: think about the learning goals associated with this problem prior to carrying out your (desk) research;-->
          </resource>
          <resource identifier="RES-Carry-out-research" type="webcontent">
             <!--Accompanying text to guide the students in carrying out their research. Could include links to useful sites, a list of standard reference works etc.-->
          </resource>
          <resource identifier="RES-Discuss-Findings" type="webcontent">
             <!--Direction for the students following the desk research. Might include core questions associated with the problem.-->
          </resource>
          <resource identifier="RES-Summarise-Findings" type="imsldcontent">
             <!--Textual content which states that the chairperson should summarise the findings in a file (eg findings.txt)  and have it stored through <global-elements><set-property identifier-ref="P-Summary-Of-Findings"/></global-elements> -->
          </resource>
          <resource identifier="RES-Accompanying-Text-For-Facilitator-Evaluator-Discussion" type="webcontent">
             <!--Textual content along the lines of: Discuss the group and form an evaluation-->
          </resource>
          <resource identifier="RES-Accompanying-Text-For-Evaluation" type="imsldcontent">
             <!--Textual content which states that the evaluator should write up the evaluation in a file (evaluation.txt)  and have it stored through <global-elements><set-property identifier-ref="P-Group-Evaluation"/></global-elements> -->
          </resource>
          <resource identifier="RES-Conferencing-Text" type="webcontent">
             <!---->
          </resource>
       </resources>
    </manifest>

## 4.6 Literature Circles (Level B)

### 4.6.1 Introduction

This example draws from a training method used in K-12 education to promote discussion skills. The example was provided by Texas Instruments (GT Springer) who are currently investigating the use of handheld devices in literature circles. Literature Circles is actually a technique rather than a specific activity. It is used as a transition vehicle to train students to discuss literary works. The technique involves personifying critical discussion skills as interlocking roles, assigning one of the roles to each member of the circle, and rotating those roles from session to session to give each member practice with each skill. Eventually, the members will reach the point at which they naturally take on all roles, exhibiting their mastery of the critical discussion skills. From that point on, the technique is no longer needed.

Literature Circles begin with the teacher introducing several works, from which individual students in the class are free to choose. Their choice determines the Literature Circle to which they now belong. Meeting in their group, the students decide how to break up the work into discrete sections to be read, based on the amount of time and number of sessions they have to complete the reading. They then choose roles for the first session, knowing that, eventually, they will take on each role at least once. In any particular session, the Discussion Director is charged with asking the opening question and ensuring that all members of the circle have equal opportunity to participate. The goal of any Literature Circle is natural, free-flowing conversation about a reading. The roles are not meant to be restrictive; rather, they give each student a specific skill to practice and allow the student to practice all skills (i.e., any student in the circle can ask questions, draw pictures, etc.). In beginning circles, each student may have a role sheet which helps them focus on the role and the skills the role exercises; as the circles become more mature, these role sheets are dropped as students internalize the roles. Finally, as mentioned before, the roles themselves are dropped as students internalize all the skills required.

The steps of the scenario are:

1. The teacher introduces each of several books (book talk).
2. The teacher gives the students access to 4-5 copies of each of the books, depending on class size. There is a 1:1 correspondence between the number of books and the number of students in the class. This correspondence, and the approximate equality of the number of copies of each book, ensures that each circle will be appropriately complete.
3. Students each choose one of the books.
4. All students who choose Book X meet in Literature Circle X.
5. Students in Literature Circle X decide how to break the book into readings.
6. Students in Literature Circle X choose roles for the first reading session.
7. Either in class or outside of class (as homework), students complete the first reading and prepare for their first circle session by producing the artifact(s) characteristic of their role. For instance, the Discussion Director will produce a list of questions, reactions, etc., while the Artful Artist will produce a set of drawings.
8. Students in Literature Circle X meet for their first session, with the goal of sharing their thoughts and insights concerning the first reading.

a. The Discussion Director asks an opening question.

b. The group attempts to address the opening question, with the Literary Luminary pointing out relevant passages, the Artful Artist sharing any drawings which address the question, and the Word Wizard supplying definitions for any unfamiliar words.

c. The conversation goes where it will from the opening question, with the Discussion Director soliciting input from all circle members.

d. As the time for the first session ends, the students rotate roles, choosing a new role for the next session and agreeing on the length of the next reading.

1. Students in Literature Circle X repeat Step 8 with each of the subsequent readings, until they have finished their chosen book.
2. Student in Literature Circle X create a class presentation, based on their chosen book.
3. Students in Literature Circle X share their presentation with the rest of the class.

### 4.6.2 UML Activity Diagram

This diagram illustrates the flow within a typical session:

Figure 4.5 - Activity Diagram for Literature Circles.

### 4.6.3 Key Points of Note

- The example illustrates the nesting of roles (dividing a role into sub-roles), with the R-Group role nesting the roles R-AA, R-DD, R-LL and so on. Using this mechanism, it is possible not only to target specific roles for particular activities (for example the LA-Share-Illustrations activity for the R-AA role), but also to associate activities and activity structures with 'container' roles (and hence with all roles grouped within the container role), such as with the activity LA-Appoint-Roles and the R-Group role;
- Flexibility in role allocation is also part of the example, designed to support the learners in adopting each of the roles (Artful Artist, Discussion Director etc.) across the sequence of sessions. Note that each session is viewed as a separate runtime execution (or 'run') of the modelled learning design, with the role selection activity (LA-Choose-New-Role) being repeated in each run;
- In order to support the rotation of roles, an environment is introduced (E-Portfolio-Learner). By providing a monitor service in the environment, each student is able to view the list of roles already adopted so that a new role can be selected and the related skills practised in the following session.

### 4.6.4 XML Instance Document

    <?xml version="1.0" encoding="UTF-8"?>
    <!-- edited with XMLSPY v5 rel. 2 U (http://www.xmlspy.com) by Jocelyn Manderveld and Hans Hummel (Open University of the Netherlands) -->
    <imscp:manifest xmlns:imscp="http://www.imsglobal.org/xsd/imscp_v1p1" xmlns:imsld="http://www.imsglobal.org/xsd/imsld_v1p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.imsglobal.org/xsd/imscp_v1p1 http://www.imsglobal.org/xsd/imscp_v1p1p3.xsd  http://www.imsglobal.org/xsd/imsld_v1p0 http://www.imsglobal.org/xsd/imsld_level_b_v1p0.xsd" identifier="CP-Literature-Circles">
       <imscp:organizations>
          <imsld:learning-design identifier="Literature-Circles" version="" level="B" uri="" sequence-used="false">
             <!-- This document contains the modelling of Literature Circles as provided by Texas Instruments (GT Springer) training students to discuss literary works. Students study in groups with the number of groups being limited by the number of selected books. We modelled just one of these  group and the different roles in it. For every group a new run has to be instantiated in runtime. The course has been modelled according to IMS-LD at level B, using properties, conditions and services (like a monitor).  -->
             <imsld:components>
                <imsld:roles>
                   <imsld:learner identifier="R-All-Learners"/>
                   <imsld:learner identifier="R-Group">
                      <imsld:learner identifier="R-AA"/>
                      <imsld:learner identifier="R-DD"/>
                      <imsld:learner identifier="R-LL"/>
                      <imsld:learner identifier="R-WW"/>
                      <imsld:learner identifier="R-CC"/>
                      <imsld:learner identifier="R-S"/>
                   </imsld:learner>
                   <imsld:staff identifier="R-teacher"/>
                </imsld:roles>
                <imsld:properties>
                   <imsld:locrole-property identifier="P-Clarify-And-Question">
                      <imsld:role-ref ref="R-DD"/>
                      <imsld:datatype datatype="boolean"/>
                   </imsld:locrole-property>
                   <imsld:locrole-property identifier="P-Read-Passage">
                      <imsld:role-ref ref="R-LL"/>
                      <imsld:datatype datatype="boolean"/>
                   </imsld:locrole-property>
                   <imsld:locrole-property identifier="P-Make-Connection">
                      <imsld:role-ref ref="R-CC"/>
                      <imsld:datatype datatype="boolean"/>
                   </imsld:locrole-property>
                   <imsld:locrole-property identifier="P-Share-Illustrations">
                      <imsld:role-ref ref="R-AA"/>
                      <imsld:datatype datatype="boolean"/>
                   </imsld:locrole-property>
                   <imsld:globpers-property identifier="P-Choose-Role">
                      <imsld:global-definition uri="">
                         <imsld:datatype datatype="string"/>
                      </imsld:global-definition>
                   </imsld:globpers-property>
                </imsld:properties>
                <imsld:activities>
                   <imsld:learning-activity identifier="LA-Choose-Book">
                      <imsld:environment-ref ref="E-Portfolio-Learner"/>
                      <imsld:environment-ref ref="E-Handhelds"/>
                      <imsld:activity-description>
                         <imsld:title>Activity description: Choose Book</imsld:title>
                         <imsld:item identifier="I-Choose-Book" identifierref="I-Choose-Book">
                            <imsld:title/>
                         </imsld:item>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:user-choice/>
                      </imsld:complete-activity>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-Ask-Question">
                      <imsld:activity-description>
                         <imsld:title>Activity description: Ask Question</imsld:title>
                         <imsld:item identifier="I-Ask-Question" identifierref="I-Ask-Question"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:user-choice/>
                      </imsld:complete-activity>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-Solicit-Contributions">
                      <imsld:activity-description>
                         <imsld:title>Activity description: Solicit Contributions</imsld:title>
                         <imsld:item identifier="I-Solicit-Contributions" identifierref="I-Solicit-Contributions"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:user-choice/>
                      </imsld:complete-activity>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-Clarify-And-Question">
                      <imsld:activity-description>
                         <imsld:title>Activity description: Clarify and Question</imsld:title>
                         <imsld:item identifier="I-Clarify-And-Question" identifierref="I-Clarify-And-Question"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:when-property-value-is-set>
                            <imsld:property-ref ref="P-Clarify-And-Question"/>
                            <imsld:property-value>YES</imsld:property-value>
                         </imsld:when-property-value-is-set>
                      </imsld:complete-activity>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-Share-Illustrations">
                      <imsld:environment-ref ref="E-Portfolio-Learner"/>
                      <imsld:environment-ref ref="E-Handhelds"/>
                      <imsld:environment-ref ref="E-Question-List"/>
                      <imsld:activity-description>
                         <imsld:title>Activity description: Share Illustrations</imsld:title>
                         <imsld:item identifier="I-Share-Illustrations" identifierref="I-Share-Illustrations"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:when-property-value-is-set>
                            <imsld:property-ref ref="P-Share-Illustrations"/>
                            <imsld:property-value>YES</imsld:property-value>
                         </imsld:when-property-value-is-set>
                      </imsld:complete-activity>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-Read-Passage">
                      <imsld:environment-ref ref="E-Portfolio-Learner"/>
                      <imsld:environment-ref ref="E-Handhelds"/>
                      <imsld:activity-description>
                         <imsld:title>Activity description: Read Passage</imsld:title>
                         <imsld:item identifier="I-Read-Passage" identifierref="I-Read-Passage"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:when-property-value-is-set>
                            <imsld:property-ref ref="P-Read-Passage"/>
                            <imsld:property-value>YES</imsld:property-value>
                         </imsld:when-property-value-is-set>
                      </imsld:complete-activity>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-Make-Connection">
                      <imsld:environment-ref ref="E-Portfolio-Learner"/>
                      <imsld:environment-ref ref="E-Handhelds"/>
                      <imsld:activity-description>
                         <imsld:title>Activity description: Make connection</imsld:title>
                         <imsld:item identifier="I-Make-Connection" identifierref="I-Make-Connection"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:when-property-value-is-set>
                            <imsld:property-ref ref="P-Make-Connection"/>
                            <imsld:property-value>YES</imsld:property-value>
                         </imsld:when-property-value-is-set>
                      </imsld:complete-activity>
                   </imsld:learning-activity>
                   <!-- For the next run of a literature circle students have to choose a different role. This activity allows student to look at their personal student portfolio in the environment to see which roles were performed previously. Again the property P-Choose-Role is set. See Resource section for the concrete items in the students' portfolios -->
                   <imsld:learning-activity identifier="LA-Choose-New-Role">
                      <imsld:activity-description>
                         <imsld:title>Activity description: Choose New Role</imsld:title>
                         <imsld:item identifier="I-Choose-New-Role" identifierref="I-Choose-New-Role"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:user-choice/>
                      </imsld:complete-activity>
                   </imsld:learning-activity>
                   <imsld:learning-activity identifier="LA-Agree-On-Next-Reading">
                      <imsld:activity-description>
                         <imsld:title>Activity description: Agree On Next Reading</imsld:title>
                         <imsld:item identifier="I-Agree-On-Next-Reading" identifierref="I-Agree-On-Next-Reading"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:user-choice/>
                      </imsld:complete-activity>
                   </imsld:learning-activity>
                   <!-- This is where students choose a role out of six possible roles, of which three are obligatory. This choice is being stored in a personal student portfolio. In the runtinme environment the student logs in under the chosen role and gets the appropriate activities attached to this role. Here is where we set the property P-Choose-Role. In the Resource section is where you find the actual items belonging to the students' portfolios. -->
                   <imsld:learning-activity identifier="LA-Appoint-Roles">
                      <imsld:environment-ref ref="E-Portfolio-Learner"/>
                      <imsld:environment-ref ref="E-Handhelds"/>
                      <imsld:activity-description>
                         <imsld:title>Activity description: Appoint Roles</imsld:title>
                         <imsld:item identifier="I-Appoint-Roles" identifierref="I-Appoint-Roles"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:user-choice/>
                      </imsld:complete-activity>
                   </imsld:learning-activity>
                   <imsld:support-activity identifier="SA-Introduce-Bookselections">
                      <imsld:environment-ref ref="E-Portfolio-Learner"/>
                      <imsld:environment-ref ref="E-Handhelds"/>
                      <imsld:activity-description>
                         <imsld:title>Activity description: Introduce Bookselections</imsld:title>
                         <imsld:item identifier="I-Introduce-Bookselections" identifierref="I-Introduce-Bookselections"/>
                      </imsld:activity-description>
                      <imsld:complete-activity>
                         <imsld:user-choice/>
                      </imsld:complete-activity>
                   </imsld:support-activity>
                   <imsld:activity-structure identifier="AS-DD">
                      <imsld:title>Activities for the Discussion Director</imsld:title>
                      <imsld:environment-ref ref="E-Portfolio-Learner"/>
                      <imsld:environment-ref ref="E-Handhelds"/>
                      <imsld:learning-activity-ref ref="LA-Ask-Question"/>
                      <imsld:learning-activity-ref ref="LA-Solicit-Contributions"/>
                      <imsld:learning-activity-ref ref="LA-Clarify-And-Question"/>
                   </imsld:activity-structure>
                   <imsld:activity-structure identifier="AS-All-Students">
                      <imsld:title>Activities for All Students</imsld:title>
                      <imsld:environment-ref ref="E-Portfolio-Learner"/>
                      <imsld:environment-ref ref="E-Handhelds"/>
                      <imsld:learning-activity-ref ref="LA-Choose-New-Role"/>
                      <imsld:learning-activity-ref ref="LA-Agree-On-Next-Reading"/>
                   </imsld:activity-structure>
                </imsld:activities>
                <imsld:environments>
                   <!-- Portfolio of the student, containing roles fullfilled so far and student's progress. This portfolio can be accessed by the individual student and the teacher. Item refers to the actual content that is contained in the resource section. -->
                   <imsld:environment identifier="E-Portfolio-Learner">
                      <imsld:title>Learner portfolio (learner view)</imsld:title>
                      <imsld:service identifier="S-Portfolio-Learner">
                         <imsld:monitor>
                            <imsld:role-ref ref="R-All-Learners"/>
                            <imsld:title>Monitor</imsld:title>
                            <imsld:item identifier="I-Portfolio-Learners" identifierref="I-Portfolio-Learners"/>
                         </imsld:monitor>
                      </imsld:service>
                   </imsld:environment>
                   <imsld:environment identifier="E-Question-List">
                      <imsld:title>Question list for Artful Artist</imsld:title>
                      <imsld:learning-object identifier="LO-Question-List">
                         <imsld:title>LO title</imsld:title>
                         <imsld:item>
                            <imsld:title>List of questions</imsld:title>
                         </imsld:item>
                      </imsld:learning-object>
                   </imsld:environment>
                   <imsld:environment identifier="E-Handhelds">
                      <imsld:title>Handhelds for all learners</imsld:title>
                      <imsld:learning-object identifier="LO-Handhelds">
                         <imsld:item>
                            <imsld:title>Handhelds</imsld:title>
                         </imsld:item>
                      </imsld:learning-object>
                   </imsld:environment>
                </imsld:environments>
             </imsld:components>
             <imsld:method>
                <imsld:play identifier="PLAY-Literature-Circles">
                   <imsld:act>
                      <imsld:role-part>
                         <imsld:role-ref ref="R-teacher"/>
                         <imsld:support-activity-ref ref="SA-Introduce-Bookselections"/>
                      </imsld:role-part>
                   </imsld:act>
                   <imsld:act>
                      <imsld:role-part>
                         <imsld:role-ref ref="R-All-Learners"/>
                         <imsld:learning-activity-ref ref="LA-Choose-Book"/>
                      </imsld:role-part>
                   </imsld:act>
                   <imsld:act>
                      <imsld:role-part>
                         <imsld:role-ref ref="R-Group"/>
                         <imsld:learning-activity-ref ref="LA-Appoint-Roles"/>
                      </imsld:role-part>
                   </imsld:act>
                   <imsld:act>
                      <imsld:role-part>
                         <imsld:role-ref ref="R-DD"/>
                         <imsld:activity-structure-ref ref="AS-DD"/>
                      </imsld:role-part>
                   </imsld:act>
                   <imsld:act>
                      <imsld:role-part>
                         <imsld:role-ref ref="R-AA"/>
                         <imsld:learning-activity-ref ref="LA-Share-Illustrations"/>
                      </imsld:role-part>
                   </imsld:act>
                   <imsld:act>
                      <imsld:role-part>
                         <imsld:role-ref ref="R-LL"/>
                         <imsld:learning-activity-ref ref="LA-Read-Passage"/>
                      </imsld:role-part>
                   </imsld:act>
                   <imsld:act>
                      <imsld:role-part>
                         <imsld:role-ref ref="R-CC"/>
                         <imsld:learning-activity-ref ref="LA-Make-Connection"/>
                      </imsld:role-part>
                   </imsld:act>
                   <imsld:act>
                      <imsld:role-part>
                         <imsld:role-ref ref="R-All-Learners"/>
                         <imsld:activity-structure-ref ref="AS-All-Students"/>
                      </imsld:role-part>
                   </imsld:act>
                </imsld:play>
                <imsld:conditions>
                   <imsld:if>
                      <imsld:complete>
                         <imsld:learning-activity-ref ref="LA-Solicit-Contributions"/>
                      </imsld:complete>
                   </imsld:if>
                   <imsld:then>
                      <imsld:show>
                         <imsld:learning-activity-ref ref="LA-Read-Passage"/>
                      </imsld:show>
                   </imsld:then>
                   <imsld:if>
                      <imsld:complete>
                         <imsld:learning-activity-ref ref="LA-Read-Passage"/>
                      </imsld:complete>
                   </imsld:if>
                   <imsld:then>
                      <imsld:show>
                         <imsld:learning-activity-ref ref="LA-Share-Illustrations"/>
                      </imsld:show>
                   </imsld:then>
                   <imsld:if>
                      <imsld:complete>
                         <imsld:learning-activity-ref ref="LA-Share-Illustrations"/>
                      </imsld:complete>
                   </imsld:if>
                   <imsld:then>
                      <imsld:show>
                         <imsld:learning-activity-ref ref="LA-Make-Connection"/>
                      </imsld:show>
                   </imsld:then>
                   <imsld:if>
                      <imsld:complete>
                         <imsld:learning-activity-ref ref="LA-Make-Connection"/>
                      </imsld:complete>
                   </imsld:if>
                   <imsld:then>
                      <imsld:show>
                         <imsld:learning-activity-ref ref="LA-Clarify-And-Question"/>
                      </imsld:show>
                   </imsld:then>
                   <imsld:if>
                      <imsld:complete>
                         <imsld:learning-activity-ref ref="LA-Clarify-And-Question"/>
                      </imsld:complete>
                   </imsld:if>
                   <imsld:then>
                      <imsld:show>
                         <imsld:activity-structure-ref ref="AS-All-Students"/>
                      </imsld:show>
                   </imsld:then>
                </imsld:conditions>
             </imsld:method>
          </imsld:learning-design>
       </imscp:organizations>
       <imscp:resources>
          <!-- Only a few resources are specified here -->
          <imscp:resource identifier="R-Appoint-Roles" type="imsldcontent" href=""/>
          <imscp:resource identifier="R-Choose-New-Role" type="imsldcontent" href=""/>
          <imscp:resource identifier="R-Portfolio-Learners" type="imsldcontent" href=""/>
       </imscp:resources>
    </imscp:manifest>

# 5. Implementer's Guide

## 5.1 Introduction

This implementater's guide addresses the development of a runtime environment for IMS Learning Design. Guidelines given in this chapter should be regarded as suggestions only, not requirements. Various other approaches towards implementation are possible, and likely just as feasible. The guide aims to help implementers with the system design process, and identifies a number of issues requiring special consideration.

The implementation guide describes a logical architecture that consists of three main components: authoring, production, and delivery. External interfacing completes the architecture by providing gateways to other systems. Implementation issues are described for each of these components.

Finally, a domain model is presented. This model was actually implemented in a production version of a runtime system built for EML, the specification after which LD was modeled (see Section 1.3.4). Although the EML-based model was subject to additional requirements, not resulting from demands made by Learning Design, it still gives a fairly comprehensive overview of the components discussed in this chapter and their relationship.

### 5.1.1 Logical Architecture

Implementations of IMS Learning Design must be based on an appropriate understanding of what one may achieve with the specification. IMS Learning Design specifies a learning design at a conceptual level, very much analogous to the definition of a class in Object Oriented Programming (OOP). The specification does not deal with the process of instantiating the conceptual learning design, or using the analogy with OOP, creating objects on the basis of the class. This process is the responsibility of the runtime environment. So, on the basis of one learning design, multiple instances may be created (Figure 5.1).

Figure 5.1 - The design and its instances.

In addition to instantiating the IMS Learning Design, the runtime system is responsible for the actual execution or processing of the instantiated learning design. Using the analogy of OOP, the runtime can interpret or execute the methods described in the class, using the data of the object itself.

The specification does not deal with the process and tools that create IMS Learning Design instances. Although creating the learning design instances is not the main focus of this section and the remaining ones, the position of this creation process relative to the other components of the system will influence the implementer's design decisions considerably. Furthermore, any system implementing IMS Learning Design will probably interface with components providing functionality described by IMS Learning Design in the services section. These considerations suggest the following conceptual division of the total system into functional sub parts.

Figure 5.2 - Different components of the logical architecture for the runtime system.

The logical architecture shows four distinct areas of functionality (Figure 5.2):

- Authoring: this module deals with the creation of IMS Learning Design documents and content. Although in the figure clear-cut lines were drawn between the various components, the borders are blurred to some extent. When delineating authoring from production one should at least consider the following questions: Who are the authors (e.g., could students also be authors)? How tightly is the authoring process integrated in the system? Who is going to create learning designs? Will the authoring process work upon learning designs directly or will intermediate templates be used, allowing reuse of a particular learning design? The way these questions are answered will influence the overall design considerably. We will not go into this any further as implementation rather than authoring is the main focus of this section.
- Production: this module deals with the instantiation of the IMS Learning Design documents. The term 'production' is chosen here as one could consider all the steps necessary in order to proceed from a finished learning design document towards actual delivery of the design as a production process. This is analogous to the steps a publisher has to take to turn a manuscript into a complete, printed book. Issues that have to be dealt with at this stage include (each of the issues is described in further detail in subsequent sections):
  - Validation of the learning design document. How intensive the validation should be and indeed if it is needed at all depends very much on the authoring environment used; however, if learning design documents are going to be re-used outside of the context of the institute in which they were produced - as they probably will - validation is needed to the extent that it prevents a runtime system from potentially crashing.
  - Publication of the learning design document, which is basically a one-off pre-processing of the learning design in order to ease processing during delivery Although this step could also be done during delivery itself, it can be very useful to turn it into a separate stage, depending on the technical architecture chosen. A publication can deal with all the aspects of learning design that are common during runtime. One may think of processing the property definitions, roles, conditions, etc. at this point of time. Furthermore, the actual content could be transformed in a format most suitable for the applied delivery engine.
  - Population of a learning design instance. It is clear that at some point in time actual users need to be assigned to an instance of a learning design. There are many ways of doing this. The approach described in this chapter uses the concept of a run. A run is a community of users (staff and learners) that will participate in an instantiation of a learning design. So whenever the IMS Learning Design refers to concepts as all-users-in-role, the scope of this statement is determined by the scope of the users assigned to the run. The concept of a run will be elaborated later on.
- Delivery: this module deals with the actual live interpretation of the learning design. Depending on the technical architecture, this layer could be relatively thin, the publication having dealt with most of the issues already. The following areas should be covered by the delivery module:
  - Personalization: at a bare minimum the publication of the production step is personalized during this stage. Personalization is the process of adapting the view on the learning design to the individual users on the basis of the dossier information, selected role and personal preferences. The personalization could be divided into two major parts being the personalization of the learning design and the personalization of the content.
  - Role population: It should be possible to allot users to roles in a quite detailed fashion. The term 'role planner' refers both to the person performing the required actions and to the functionality itself. This functionality should be made available to some of the users, preferably staff users. The role planner allows the creation of multiple instances of a particular role, if allowed by the learning design (see create-new attribute on learner and staff). Furthermore, the role planner allows the population of those roles, very similar to the population of the entire run. The reason for not positioning the role planner in the production module is that the task of assigning users to a particular role in the learning design is not an administrative one. In most cases only users that are aware of the substance of the learning design, and the profiles of the users participating in a run, will be able to carry out this task properly. Often this task will therefore be assigned to a tutor.
  - Role switch: user should be able to switch roles whenever needed if multiple roles are assigned to them.
  - Linking: another issue arises when linking to other units-of-learning. Although there are several ways of dealing with this issue, a major decision has to be made whether links should be resolved during the production stage, or more dynamically during delivery stage.
- Legacy: this module represents all components and systems that are not part of the learning design delivery system, but are required for successful learning design instantiation and execution. It is obvious that the level of functionality provided by the implementation determines the boundary of this component. However, in general one could think of the following functionality found in legacy/external systems:
  - portals dealing with user authentication and providing entry points for users to access their units of learning;
  - user administration dealing with the admission of users to the institute;
  - user enrollment dealing with the enrollment of learners in courses etc.;
  - services like e-mail, groupware (a-synchronous or synchronous).

Many of these components will be proprietary and implementers should make sure to define clear interfaces allowing exchange of components without having to redesign or rebuild the complete system.

### 5.1.2 Production

The production module contains all functionality that is needed to transform an IMS Learning Design document into a runtime instance ready to be delivered to users. During this phase the following major functionality needs to be considered: validation, publication, and population.

#### 5.1.2.1 Validation

The need for a validation step in the production module is very much dependent on the type of authoring environment used. One could argue that validation needs to be positioned at the authoring level. However, validating the learning design at this level makes sense if learning design documents may originate from outside sources, not directly under control of the system.

Validation may consist of a number of steps:

1. Validating the learning design document against the appropriate schema, depending on which Learning Design Level (A, B, or C) is implemented. If the implementation provides support for Level C Learning Design, validation of all levels of documents can be done against the Level C schema. Following this validation, the provided document is guaranteed to be well-formed and syntactically correct.
2. Checking references. Are all references pointing to the right type of resource?
3. Semantic validation. Are there any conflicts in the learning design at the semantic level? An example could be that the required minimum number of role members is greater than the allowed maximum number. This type of validation could go as far as detecting potential deadlocks in the learning flow.
4. Checking completeness. Are all required resources available in the Content Package? This check is part of the validation of a standard Content Package.

It becomes obvious that validation could be very limited or could consist of a complete simulation of the learning design. Whatever option is most suitable depends on a number of factors and is beyond the scope of this document.

#### 5.1.2.2 Publication

There are a number of ways in which a publication of a learning design document could be achieved. At the one extreme, one could run this process as on the fly, just in time before the delivery of the learning design. At the other extreme, one could regard the publication as a one-off, preprocessing step, in order to make the delivery easier and more efficient. The result of such a preprocessing step is a set of files, database records etc., optimized for efficient delivery in the targeted medium (probably the internet). Note that the resulting format has not yet been personalized - this will happen during delivery.

The main reasons for preprocessing are:

- The learning design will not change for any of the instances derived from it. Therefore it is inefficient to (redundantly) process the learning design as is, for each instance of the learning design document.
- Many of the constructions used in learning will likely lead to definitions in a database system. A typical example of this is the definition of properties. It would be very inefficient to create these definitions in the delivery phase only.

Publication of the learning design has to deal with the following concepts: declaration of properties, declaration of roles, conditions, notifications, and content. Each of these concepts will be described greater detail below.

5.1.2.2.1 Declaration of Properties

When users are assigned to a unit of learning, their dossier is extended with a number of properties as defined in the learning design. The dossier will probably be stored in a database. It makes sense to store the declaration of these properties in the same database. This processing of the properties' definition from a learning design only has to be done once, as the definitions are the same for all users (reminder: not for all roles). The following aspects are important when dealing with properties:

- The owner of the property. A person, a role, a run or a system can all act as the owner of a property. Ownership means that when a new instance of the owner is added, that instance will be added as an instance of the property as well. This also means that persons, roles, runs and the system have their own dossiers.
- The scope of a property: when dealing with personal properties (owner is a person), the property will have a particular scope. The scope can be local, meaning that the scope of the property is limited to the run and the property is not accessible outside the run (does not exists). If the scope is global the property is accessible outside the run, minimally throughout the whole system.
- The property type: properties can have different data types, corresponding to data types found in XML schema.

5.1.2.2.2 Declaration of Roles

Similar to the declaration of properties, Learning Designs contain definitions for roles. Again it can be useful to preprocess these definitions and store them in a database for easy and efficient retrieval, as the assignment of individuals to particular roles has to be stored anyway. Implementations have to allow multiple instances of a role if the learning design allows this. Other aspects to consider are:

- Ownership of properties. Properties may be owned by a role. This implies that new instances of roles will lead to new instances of properties as well. See the section above on declaration of properties.
- Constraints: roles have a number of constraints that need to be applied. The create-new attribute determines if multiple instances of a role may be created at runtime. The min- and max-persons attributes give the lower and upper limits on the numbers of persons that may be assigned to a role. Finally, the match-persons attribute determines if the same person may be assigned to sibling roles or not.
- Hierarchy of roles: roles are positioned in a hierarchical format. At the top level there is a distinction between learner and staff roles. It is probably a good idea to enforce this distinction throughout the whole system, as staff roles often have privileges assigned to them in the learning design that should not be made available to learners. Furthermore, both roles (staff and learner) can have sub-roles. Users will access the system in the delivery module from the perspective of a particular role. This perspective includes all ancestor roles as well and therefore all personalization processing that comes with it.

5.1.2.2.3 Expressions

The IMS Learning Design has a number of constructs, which use expressions (property-value, when-condition-true, and if). These expressions are evaluated during the delivery of the learning design. One can imagine that it is worthwhile to optimize this evaluation process in order to allow efficient processing of the learning design.

Instead of building a proprietary expression interpreter, it may be worthwhile to use another language for this purpose that is available at runtime. An example of such a language is Jscript, assuming that the delivery is done via a browser capable of interpreting Jscript. The translation of the expressions is straightforward as IMS Learning Design uses polish notations for conditions and expressions (this kind of notation is more or less enforced by XML conventions). A recursive algorithm using an operand stack allows a simple and effective translation procedure. Of course the target language needs to be extended with those functions that are not natively available but are required by learning design. This translation process can be executed during delivery, but it is more efficient to do it in the production stage, as the expressions are static.

During expression evaluation, extra care should be taken with implicit type casting as expressions allow operands of different types to be mixed.

When an expression is used in a condition it is most efficient to analyze the targets and triggers for these conditions and expressions. It can be determined when these conditions and expressions should be evaluated. For example, some of the expressions only need to be evaluated when the value of a certain property has changed. This can easily be implemented by using database triggers. Alternatively, certain conditions on activities that are not accessible at some point in time do not need to be evaluated at all. This type of optimization can increase overall performance considerably.

5.1.2.2.4 Notifications

Notifications are the primary mechanism for warning users about changes. A notification may be triggered by a number of events, such as the change of a property value, the completion of an act, play, unit-of-learning, learning activity, etc. A notification may also be issued when a condition becomes true. The implementation should keep track of all these events, and similar constructs can be used as described above for conditions. A notification is sent to all the users that have been assigned to the roles mentioned as the target of the notification. The implementation should ensure that a user receives one notification only, even if the user is a member of several roles targeted by the notification.

How notifications are sent is an implementation matter. One of the two strategies presented below could be chosen, or a combination of both:

1. A notification could be sent using regular email facilities. The subject field of the notification should be used for the subject of the email. The email-data tag contains two attributes that refer to two properties, containing the user-name and email property ids to be used. It is up to the implementation to make sure that these properties are available.
2. A notification could be processed by the runtime system internally. The notification could then be shown in a separate dialog. An advantage of this approach is the possibility of a tight integration of this notification mechanism with the rest of the application. This can deliver a significant advantage if the notification is used as a challenge/response interaction mechanism.

The implementation should keep track of the originator of the notification and reveal the originator to the receiver of the notification in some way. This context could be used when launching the associated (support) activity, making a choice which user to support superfluous, and enabling a kind of challenge/response interaction. To complete the challenge/response interaction, all notifications in the support activity targeted at the supported role, should only notify the originating actor (i.e., the supported person), and not all members of that role, as is the case with all other notifications. The following diagram shows this principle, where a notification originates from a user in a learner role, which is sent to all staff (challenge). In response a notification is triggered by a user in the staff role, not sending the notification to all learners, but to the originator only.

Figure 5.3 - The flow of notifications.

At runtime, depending on the implementation, it may be possible to select a particular actor as the recipient of a notification, but this would be a runtime, not a design-time decision, as individual actors are not known at design time. Support activities can select actors playing a given role, from which it is acceptable to receive notifications (e.g., only the learners in the tutor's tutor group).

A runtime notification can set the visibility of an activity, which is then activated for a role. If a notification to a particular role is triggered, the corresponding 'isvisible' property of that activity is set to true, resulting in the availability of that activity for that role, regardless of any other settings in act, sequence or condition. A notification is of the highest priority, meaning that an otherwise invisible item will be made visible and accessible to the user (see also section the Information Model for a description of this behavior).

#### 5.1.2.3 Population

Before a learning design can be delivered, the abstract learning design needs to be populated with actual users. These users form a community the members of which work together in the delivery stage. Of course the same learning design can be re-used over and over again, each time with a different membership of the user community. The population of a learning design takes place during the production stage. For this purpose the term 'run' is introduced.

Definition: a run is an abstraction, it combines a particular learning design with a community of users assigned to that learning design. Each run is assigned to exactly one learning design, but a particular learning design may have zero or more runs assigned to it.

Although this is not a requirement of IMS Learning Design, it is advisable to divide the user community in staff members and students for a number of reasons. First of all, staff roles will likely be assigned privileges, usually access to particular properties, which should not be available to students. Second, the method of enrollment is different for staff than for students. Staff members do not enroll in a learning design, but rather are assigned to it by an administrator. Students, however, enroll in a learning design, often through some external administrative system. The following diagram shows the relationship between learning-design, publication, run, staff and learner roles, and users. In the diagram the assumption has been made that there are several publications available for each learning design, varying in style and language. Again the latter is very much implementation dependent as style and language selection could very well also be made during the delivery stage.

Figure 5.4 - The relationship between a design, its publication and run and staff and students.

A run thus is an abstraction representing an organizational construct. When to use a run depends on the organization using the learning design, but should always be considered an administrative task. The motives for assigning a certain number of runs to a learning design are often based on organizational and administrative considerations. Typical reasons for creating runs are:

- To decrease workload for users in particular roles (especially staff roles), such as tutors. To understand this, one has to bear in mind that users assigned to particular roles in the learning design will be chosen from the user community assigned to the run;
- The educational organization is based on a classroom system. It is evident that it makes sense to create a run for each classroom;
- Enrollment of users is open all year, but the learning design requires that users work in groups, which are synchronized in time. A run is then created as soon as a sufficient numbers of users have enrolled for the learning design.

The implementation should ensure that constraints formulated in the learning design could be met. For example, if some of the roles require a minimum number of users, at least that number should be assigned to the run before the delivery phase may start. The implementation could be very restrictive, disabling the possibility to continue until the required conditions are met, or could be quite nonrestrictive and simply inform the user that not all requirements have been met, but leave the final decision to continue up to that user.

When a user is assigned to a run, the dossier of that user is adapted according to the learning design and the corresponding top-level role (staff or learner). All new properties will be initialized to the NULL value or to the default value defined in the learning design. When a property has already been defined for that user (for example through another learning design), the value of the property is left unchanged.

Implementations could consider implementing several useful additional features regarding runs:

- Runs could have a status like waiting, active, stopped, and achieved, representing the lifetime of a run. When a run is first created it has the status 'waiting' meaning that users have still to be assigned to the run before the delivery stage may start. The delivery stage starts when the run becomes active. As soon as all users have finished, the run gets the status of stopped, meaning that users can still access the learning design and the corresponding content but no more interactions will be allowed. All means of interacting with the dossier and other users are disabled. Finally, a decision can be made to archive the run, meaning that the learning design is no longer available to the members of the run, but all information is stored in a kind of archive for incidental reference. How the status of a run changes is up to the implementation but it seems obvious to allow a user either to directly manipulate the status and/or to setup timed events.
- Runs could have an attribute indicating that it is the default run. This could allow automatic enrollment of students without human intervention. Only one run for a learning design may be a default run. This feature is especially interesting when only one run is created for a learning design.
- A run could have one or more role planners assigned. The term role planner is used here to indicate persons who are responsible for refining role assignments during the delivery stage.

### 5.1.3 Delivery

Delivery deals with the actual execution of the learning design after all preparatory activities have taken place. The delivery engine does not have much functionality besides interpreting the learning design and presenting the personalized view for the active user in his/her current role. The base for personalization is the dossier of the user and the active role of that user. Note that the same user may access the learning design from different roles, which in turn may result in a totally different perspective in the delivery.

#### 5.1.3.1 Personalization

Personalization is the final adaptation of the learning design during delivery. Regardless of whether the implementation builds on a publication produced in the production stage, or interprets the learning design directly during the delivery stage, the basic concept of personalization remains the same.

Figure 5.5 - Personalization.

Personalization can be divided into the following areas:

- Personalization of the activity tree. The activity tree is constructed from plays, activity-structures, acts, role-parts. The term 'tree' refers to the tree-like structure of these components at design time. This does not imply that the runtime representation of these structures is necessarily a tree as well, although it is an obvious representation form.
- Personalization of the environment tree is similar to the personalization of the activity tree.
- Personalization of the learning content. The main mechanism for personalizing the content uses the global elements Levels B and C, which provide property manipulation (viewing and setting of properties). Furthermore standard HTML and XHTML can be manipulated (made visible or hidden) via their class attribute.
- Personalization according to general user preferences. This is totally implementation dependent. Options could be color scheme selections, fonts and font sizes, etc. The majority of accessibility issues need to be dealt with at this stage. This type of personalization is independent of the learning design.

Personalization of the learning design may be very explicit, such as the learning design conditions, or the completions of act, play, role-part. However, also more implicit personalization may occur. Such implicit personalization is done on the basis of the learning flow, where a learning flow is the learning design analogue of a workflow. An example is an activity sequence, where the following activity may only be accessed after the previous one has been completed, assuming, that is, that the activity was not the first one in the sequence. For each individual user the state within this sequence has to be maintained, and hereby personalized.

Regardless of whether the personalization is explicit or implicit, the base for this personalization is always the user dossier, and sometimes also the dossier of other actors. So personalization involves:

- Primarily the user dossier manipulated directly by the user or his actions (such as completing an activity) or manipulated by another actor (e.g., in a support activity).
- Alternatively, it involves dossiers of other actors, roles and runs. For the implementation this has major consequences as this basically implies that all dossiers of all actors (users, roles and runs) have to be accessible at all time. Of course there are learning design documents conceivable that do not have this constraint as they do not have references to other dossiers. Several architectural solutions are possible for dealing with this problem. Some examples are:
  - A central database containing all dossiers (centralistic approach) accessible via a network like the Internet. This is probably the most straightforward and easiest solution.
  - A distributed peer-to-peer approach, exchanging and synchronizing parts of dossiers throughout a network.
  - Autonomous agents exchanging not only the data but carrying part of the processing as well.

Besides the values in the dossiers there is another essential factor in personalization: triggers. Triggers are events that help the implementation to determine when it has to start personalizing the delivery of the publication. Without these triggers a system would have to continuously evaluate all expressions, conditions in order to personalize the delivery. Of course this is impossible, as this would require infinite processing power. Triggers can be very explicit, like the notifications in the learning design, or they can be more implicit, like certain timed events.

After an action has triggered an event, the runtime should determine if other events should be triggered as a consequence of this action. This could be issuing a notification, but also evaluating an expression resulting in change of dossier values. In the latter case the runtime should determine what the consequences of the changes are. As a next step, the system should determine what the consequences are for the user in terms of personalization of the delivery. This can be done by brute force, by re-evaluating all personalization expressions for all persons currently active on the system. A more clever approach would be to analyze the learning design in, for example, the production stage, and build a list of expressions and conditions that need re-evaluation when a particular dossier value has changed. This way only those expressions and condition get evaluated that need re-evaluation. An implementation might make the distinction between the following events:

- A user interaction with the system, such as completing a learning activity or setting a property.
- A timed event. Timed events should be issued by the runtime system in order to have a trigger for re-evaluating expressions and conditions that contain references to temporal functions. The same timed event can be used to evaluate learning design conditions that have no direct show or hide effects. The length of the interval between timed events is left up to the implementation and is a trade-off between reaction delays and overall performance of runtime.
- The user switches roles which will result in a new set of relevant conditions and expressions that need to be evaluated for the user during personalization.
- Change of publication. Depending on the implementation, this could be done be selecting another publication produced at the production stage, or this could be done during the delivery stage by selecting another style, language etc. Furthermore, the user could change other preferences already mentioned, such as font and font size. This will result in a different representation of the same learning design. These types of events are not reflected in the learning design itself.

Dealing with actors, especially users who are not online all the time, needs special attention. A tracking mechanism for example could inform the user who is working off-line, that synchronization with other dossiers is recommended when learning design requires this in order to proceed to the next step.

#### 5.1.3.2 Role Population

Role population during delivery is very similar to the initial role population in the production stage. The main difference is the actor using this functionality. During the production stage role population was considered to be an administrative task, dividing all assigned users of a run to either the staff role or the learner role. This user does not have to have any knowledge of the learning design itself.

During the delivery stage the assignment to roles is further refined depending on the role definitions in the learning design. The users who performs this task needs knowledge of the learning design and, equally important, of the users. For example, if the learning design defines a role of chairperson, knowledge is required about how this role is used in the learning design. The role could be defined to facilitate some kind of learning process of a group of learners. In this example, it is conceivable that a user most capable of fulfilling the facilitator role, is assigned to it in order to optimize the total process. However, if that particular role has been added to the learning design with the objective to improve the skills needed for this type of role, it is more in line with the design's intentions to assign a user to this role who lacks these skills.

The principle of assigning a user to a role is very similar to the one already described during the production stage. The issues involved are:

- Extending the list of potential roles that a user can choose.
- Checking whether constraints regarding roles have been violated.

The major difference of the role population during the delivery stage is the dynamic creation of new instances of a role when the learning design allows it. The attribute 'create-new' determines if multiple instances of a particular role are allowed. When allowed the implementation should provide a mechanism for creating new instances.

When a new instance of a role is created, the new instance is the parent of any sub-roles that are defined in the learning design. This is a very important issue. The following figure shows the learning design definition of three roles: learner, A, B.

Figure 5.6 - The definition of the roles of learner and person A and B.

The following shows the result of creating new instances of the roles where allowed.

Figure 5.7 - The result of creating new instances for the roles learner and person A and B of Figure 5.6.

A new instance of the learner role results in a new fork in the role three. For each new branch the same rules apply as defined in the learning design for that particular role. Hence, in our example, a new instance of A and B are created automatically allowing additional instances of B. So the first instance of learner role could have only one child role B and another instance of the learner could have multiple instances of role B.

Constraints should be evaluated for each of the instances of a role. Care should be taken that the min-persons and max-persons constraints apply to the role itself (and indirectly apply to sub-roles). The 'match-persons' constraint applies to the sub-roles of the role where it is defined.

### 5.1.4 Role Switch

The runtime should provide a mechanism to the user that allows switching of roles. Switching roles implies that the learning design is viewed upon from a different perspective. The user should only be exposed to the role choices that he or she has been assigned to (see role population). IMS Learning Design has a provision for adding information about the role. This information should be presented to the user when the roles are presented. This information informs the user what is expected when assuming this role.

By assuming a role, the user automatically also assumes all the ancestor roles of that particular role. This will affect the personalization process.

#### 5.1.4.1 View Switch

The application probably will provide several views on the same learning design. Views could differ in user interface language, layout, personal preferences, etc. Although an implementation decision, it is evident that a user should have the opportunity to change the view. Basically there are two ways of creating a view on the learning design:

- During production by creating several publications (learning design instances) for the same learning design, but with different parameter settings for language, style, etc.
- During delivery, when user preferences regarding language, style, etc. are mixed with other personalization behavior.

It is even conceivable that both strategies are combined. In any case the selected preferences (view) of the user is persistent throughout the lifetime of the run.

#### 5.1.4.2 Linking

How links are resolved is entirely implementation dependent. When linking to another unit of learning some additional issues arise. First of all, besides translating the URI (=global id) into and appropriate system id or URL, another aspect comes into play. The implementation has to resolve the run for which the active user has been assigned, if the user has been assigned at all. The following situations can occur:

- The user has been assigned to exactly one run for the referenced unit of learning. In this case no other actions are needed than jumping to that run.
- If the user has been assigned to multiple runs of the same unit of learning, the implementation should present the user with a list of all runs, giving the choice to select a particular run.
- If the user has not been assigned to a run but is enrolled in a learning design and a default run is available (see population), the user will automatically be assigned to the run.
- If the user is not enrolled in the learning design (and therefore is not assigned to a run), an enrollment form could be presented to the user, requesting enrollment.

A major decision concerns early or late linking. Early linking refers to resolving the link already in the production stage. The advantage is that the overhead in delivery stage is less and that the implementation may be simpler. Of course all references must be solvable during production stage. Alternatively, the implementation could implement late linking, meaning that all links all resolved during delivery stage. A drawback of this solution is that some links may prove not to be solvable. This is detected at a very late stage. Major advantage of course is that some unit of learning can go into delivery while referenced subcomponents are still under development. A combination of the two linking approaches is also possible and may very well prove to be the best solution.

## 5.2 External Interfacing

Most likely an implementation for learning design will be limited in scope and therefore be dependent on the integration with other systems. How these interfaces are defined and even what other systems there are, very much depends on the implementation and the deployment of the runtime. The next sections describe external components that most likely need some form of interface with the learning design runtime environment.

### 5.2.1 Portals

It is most likely that an organization will already have implemented some form of portal. The definition of a portal may vary, but at minimum it is the entry point for users into the overall system. The portal will authenticate the user. In a more elaborate definition of a portal, it could offer some additional services like chat, mail, and conferencing. When providing interfacing between such a portal and the learning design runtime one could think of the following areas:

- Integrated user management. When a user is authenticated and authorized the user's data and possibly authorization level need to be synchronized with the learning design runtime.
- The portal could be the access point for the run of the learning design. The portal and the runtime need to exchange data about the available runs in order to make this possible.
- The learning design could make references to services. If the portal already provides these services it is evident that these services will be used for this purpose. This requires exchange of data about the services required on the one end and services offered on the other.

### 5.2.2 Student Administration

It is likely that an organization already has systems in place that administrate student records and track student progress. If so, some of the dossier data from the learning design runtime environment could be exchanged with that system.

IMS Learning Design allows references to global properties, which may be defined outside the learning design itself. These global properties are best suited for this kind of exchange. When deploying the runtime environment agreements need to be made about the identification (i.e., global URIs) of these properties. The runtime system then needs to provide some form of interfacing for the creation of new global properties next to their definition in the learning design. How to implement this interfacing is entirely up to the implementers, although use of IMS LIP is recommended.

### 5.2.3 User Enrollment

Usually an organization has a system that handles the enrollment of users to courses. This could be the student administration system mentioned in the previous section. In such a case an interface needs to be provided between this system and the learning design runtime. A unit of learning is identified by a global URI. A user enrollment system needs to be aware of the URIs of these units of learning. In other words a mapping needs to be made between the proprietary course identifiers and the unit of learning identifiers.

### 5.2.4 Services

A service is a declaration of a service facility that has to be bound during instantiation of a run of a unit of learning. To automate the setup process of a service facility from a service declaration, the runtime data from the instantiated learning design would be translated into a configuration format used by the system providing the service if the service is to be automatically set up. This is an implementation issue. Often portals provide such services. For more information, see the section about portals.

It is also possible that a system manager could read this information and set up the required service manually, but the intent is to alleviate the manager of this task by enabling it to be automated.

When instantiating a service, the runtime systems needs to maintain a handle on the 'context' to which the service is to be bound and determine the users to whom the service is being made available.

## 5.3 Relationship to Other Specifications

The IMS Learning Design Specification can be considered as an integrative layer in that it makes use of, includes, or is extendable with a number of existing specifications. The standard way to include specifications is through the mechanisms XML Namespaces. All IMS specifications have their own namespace. IMS Simple Sequencing will be dealt with separately, as it demands a slightly more elaborate discussion than the others.

- IMS Content Packaging. The IMS Learning Design is preferably integrated into an IMS Content Package to create a, so called, 'Unit of Learning'. Examples in section 3 show how this can be achieved.
- IMS/LOM Metadata. Placeholders for meta-data are on various structures within the IMS Learning Design. IMS/LOM Meta-Data can be included at these places.
- IMS Question and Test Interoperability. The IMS QTI can be integrated in two ways. The first way is to integrate QTI elements into the element context environment/learning-object as a separate schema. Semantically, this is the correct place for tests. Tests can then be connected to learning-activities, which provide the instruction to complete the test that is present in the environment. Also, the currently used methods, integrating them into IMS Content Packaging as specific Resource types or as separate files are still supported.
- IMS Reusable Definition of Competency of Learning Objective. Learning Objectives and Prerequisites can refer to resources that are defined according to this specification. This is seen as a further refinement when needed. Also supported are simple resources (e.g., textual descriptions) of the learning objectives through the standard 'resource-ref' mechanism.
- IMS Learner Information Package. The structure of IMS Learning Design properties can be mapped fully to the IMS LIP.
- IMS Enterprise can be used for mapping learners and support staff to roles when instantiating some learning designs. Use of this specification is also recommended for the transfer of user enrollments in cases where they are created in a system other than the LD set up system. This may be a hybrid, where they are transferred at the class level; the more detailed assigning of users to LD roles may then be accomplished in the LD set up system.
- With the IMS Learning Design Specification it is possible to include SCORM content within a learning design. It would be necessary to have its type set and the runtime system would have to be able to deliver and manage SCORM content.
- IMS Simple Sequencing. The main difference between the Simple Sequencing and Learning Design Specifications is that SS is based on a single learner model while LD is a multi-learner model. For LD, single-learner delivery is an extreme case. Where learners are all working independently of each other, the multi-user co-ordination layers of the LD superstructure are redundant and SS is probably sufficient.

Within LD there are three sequencing mechanisms. The first mechanism lies in LD's use of one or more concurrent plays, each consisting of a fixed sequence of acts. Each act embraces a number of concurrent role-parts. The second mechanism involves the role-part elements. Role-parts are used to couple roles to (structures of) activities. These activity structures may be of two kinds: a fixed sequence of activities or a selection of (all or some) of the activities. The third mechanism, positioned at Level B, uses properties and conditions, to modify the flow of events for both single users and for all users in any role.

The properties and conditions elements were originally an integral part of EML, but it was decided to separate them from the core part of LD, which then became LD Level A. There were two main reasons for doing this. The first was that, by making the LD 'native' sequencing mechanism at Level B optional, it allows anyone who has invested in implementing SS to leverage this investment when coming to implement LD. SS can thus be used as an alternative to the generic LD conditions, be only for single-learner delivery.

The second reason was to provide the option, where needed, to go beyond the self-imposed limitations of SS. SS derives its simplicity from the fact that it specifies a set of pre-defined conditions and actions. These have been chosen with care in the light of a body of experience, to support the most common conditions and actions found in practice. However, there will always be certain types of learning which fall outside its range, or where the learning designer wants to set and act on a greater range of variables than is supported in SS. The generic properties, conditions, and calculations supported in LD Level B accommodate these kinds of situations. This generality and greater flexibility may come at an implementation price. LD is likely to require more specialized interpreter or compiler writing skills, although within this space it remains at the simple end.

Thus, LD is designed to allow the SS sequencing element to be used as an option for a limited range of designs in place of the LD conditions element, which is also made optional.

It has been pointed out that LD includes a number of features that are similar to SS, such as timeouts and end conditions, but they are defined differently. We see this as an advantage rather than a problem: the multi-learner and single-learner models must both use common timeout and other mechanisms in order to work together (if there are timeouts at one level, it is useful to have timeouts at the other also). Certainly, if there are timeouts at the multi-learner level, it is useful to be able to set synchronized timeouts at the single-learner sub-level. There must be cognate facilities for the two to work together, but equally there will be differences between single- and multi-learner implementations.

There are two ways in which LD makes room for the integration of SS. First, there is the generally available mechanism of sub-manifests in a content package that Simple Sequencing could latch on to. So, one may have a content package with LD for its organization element which contains a sub-manifest that has SS for its organization element, etc. SS thus is positioned next to LD. Clearly, this requires a runtime engine that is capable of running both LD and SS instance documents. Provided an appropriate engine is available in the runtime environment, it should also be possible to include SCORM content.

Alternatively, SS may be included in an LD instance document. There are two positions at which SS may be slotted in: inside the environments elements, at the level of the environment element, and within the learning object element at the level of the item element. In the latter case, SS is used to sequence items (and items within it, etc.) that are contained within a learning object. This is very much in the spirit of the SS Specification (although we feel the term 'activity' for what really is a piece of static content is a misnomer). In the former case, SS is used to sequence learning objects and items contained in the learning objects. In both cases, the runtime engine has to be able to process both LD and SS instance documents. Note that even though the SS engine may keep track of whether a user has accessed or somehow completed particular learning objects or items, this information need not influence his or her status with respect to the completion of activities, activity structures, etc. in LD. Typically, activities, etc. can be completed in LD, whereas environments and learning objects are merely accessed, or not, as the case may be.

Figure 5.8 - Learning Design in Layers.

## 5.4 An Elaborated Domain Model of the Production Stage

This section describes an elaborated design of the production stage. As already mentioned, this production stage has been implemented for EML. Although the XML schema for EML is significantly different from the LD XML schema, there are many similarities in the way in which instance documents based on either schema are processed in runtime. This design may therefore give implementers yet another handle on a number of implementation issues. A lot of these design decision did not result from requirements enforced by the learning design, but rather from other requirements. These additional requirements were:

- The design should be generic for multiple types of organizations. This implies that no assumptions could be made about the roles (note: roles is used here differently than in IMS Learning Design) and actors in an organization. This system should allow for easy configuration. In order to make this possible an elaborate system of policies was introduced, making it possible to configure, which actor should be allowed to do what. Besides the system of policies, an actor should also be authorized to perform a function.
- There is always one administrator user who has a kind of 'god' mode, capable of authorizing other users. This user will bootstrap the system of policies and authorizations mentioned above.
- A publication is based on a style package. Style packages may be imported and re-used for multiple publications. Style packages are structured according to the IMS Content Package Specification.

Figure 5.9 - Domain model of production stage.

- All actions performed by users should be logged in order to allow efficient troubleshooting when needed.
- Staff members and learners should be separated throughout the system. If the same user acts as a member of staff and learner, two different user-ids will be created.
- Only members of staff may be assigned the policies and authorizations to perform any of the tasks in the production stage.
- It should be possible to update a publication with a newer version of the same learning design.
- Besides having assigned learners and staff to a run, also a run planner should be assigned to a run.

Figure 5.4 shows the UML class diagram of the domain model of the production stage, bearing the requirements mentioned above in mind. Next follows a brief overview of the diagram. A more detailed description per class and term can be found in data dictionary in the next section.

The root class in this diagram is the organization. All other classes are in some form related to this class (directly or indirectly). For an organization a publication may be created by publishing IMS Learning Design (encapsulated in an IMS CP) with all its content using a particular Style package.

For each publication several runs may be created. A run forms the community of users that work together and perform the tasks defined in the learning design. To each run two groups of users are assigned: staff and learners. Staff members work for the organization and learners are subscribed to the organization. Only staff members having the PlayLD policy granted can be assigned to a run. Only learners being enrolled in a publication can be assigned to a run. When a learner has been assigned to a run, his enrollment has been satisfied. Furthermore, it is possible to assign one or more Role planners to a run. A role planner has to be a staff member and needs the ManageRoles policy granted.

A number of staff members have to be assigned to perform certain tasks for each publication. For each publication:

- One or more content updater(s) can be assigned. A staff member must have the UpdateContent policy granted. All staff members with this policy may be selected.
- One or more staff members may be assigned that may enroll learners for this publication. This staff member must have the EnrollLearner policy granted. All staff members with this policy may be selected.
- One or more run planners may be assigned. This staff member must have the ManageRun policy granted. All staff members with this policy may be selected.

The run planner may assign one or more role planners for a run from the staff members who have been granted the ManageRoles policy.

A learning design document uses several roles. For each run, users (staff and learner) can be assigned to the roles defined in learning design.

Staff members can have one or more policies granted. The following polices are identified:

- ManagePublication
- ManageRun
- ManagePolicies
- ExposeProperties
- PlayLD
- ViewLog
- UpdateContent
- ManageStyle package
- ManageRoles
- ManageUsers
- EnrollLearner

For each transaction performed by the system a log entry is generated and stored. Staff members having the ViewLog privilege can view these log entries.

Style packages that have been imported are available for the creation of each publication.

There is always one special staff member available to the system called Admin. This special user is the administrator of the system and has been granted the ManagePolicies policy. This policy cannot be revoked so as to avoid any deadlocks in user management.

## 5.5 Data Dictionary

The data dictionary describes all terms used in the class diagram. Class name have been rendered in bold.

Term | Description
--- | ---
Organization | An organization may be an educational institute, a (training) company, a department, or any collaborative unit of institutes, companies or departments.
Publication | A publication is the translation of the learning design structure and the content blocks into a format suitable for the delivery stage. For each publication there is one and only one learning design. Any user who has been granted the ManagePublication policy may create a publication. In order to create a publication, a style package has to be selected. This package will be applied in the delivery stage. It is possible to update the content of a publication at all times, by the person assigned to the publication with the UpdateContent policy. Learners are enrolled in a publication.
Run | A run is a logically meaningful grouping of staff users, learners and role planners. All persons assigned to a run form a community. Where learning design refers to structures like "ForAllPersonsInRole", this community is addressed.
Learner | A learner is a person that is subscribed to an organization in the capacity of a learner. A learner can be enrolled in a publication. A learner who is also a staff member will receive two separate identities.
Staff | Staff is a person who works for the organization in the function of delivering support for learners. Staff members may actually be employed at different institutes or companies, but work for the organization. A staff member can receive a set of policies that determine what functionality is available to them. A staff member can, depending on his policies, act as Run planner, Role planner, Publisher, UserManager, PolicyManager, ContentUpdater, Enroller, PropertyExposer and LogViewer. For further explanation refer to each term in this list. Furthermore a staff member may be assigned to a run, meaning that (s)he will be actively involved in delivering the content.
Role | A role is a learning design construct. All users have to be assigned to roles. All roles can be divided up into two major groups: staff roles and learner roles. A role may contain a sub-role, allowing the creation of a tree of roles. Staff members may only be assigned to staff roles and learners may only be assigned to learner roles. When users are assigned to a sub-role, the users may be selected from the range of users assigned to the parent role. For both root roles (staff role and learner role), the staff and learners form the users assigned to their respective role. The role planner of the corresponding run performs the role assignment. In order to become role planner a staff member must have the PlanRoles policy granted. Learning design defines how many instances there can be for each role via the attribute 'create-new'. If this attribute has the value 'not-allowed', then only one instance of this role exists. If this attribute has the value 'allowed', the role planner may create as many instances as (s)he needs. The properties 'min-persons' and 'max-persons' contain the minimal and maximal numbers of users that may be assigned to a role. The 'match-persons' attribute indicates if a user may be assigned to multiple roles at the same level of the hierarchy or not.
Person | A person is an abstract class representing a user. Besides the dossier information defined by learning design, a userid will be stored to enable references from legacy systems. Persons are added to the organization by using either the client tool or connections to the legacy systems.
Policy | A policy defines a privilege a user has. If a user is granted a policy it means that this user has the right to perform a task related to the policy. Besides having been granted this policy, in some cases a user needs to be assigned by an authorized person to perform the task. The following global tasks only require the user to have been granted the corresponding policy: - Manage publications - Manage policies - Manage style packages - View log - Manage users - Expose properties The following tasks require additional assignment besides having the corresponding policy: - Manage run (assigned by publisher to a person regarding a certain publication) - Update content (assigned by publisher to a person regarding a certain publication) - Enroll learner (assigned by publisher to a person regarding a certain publication) - Manage roles (assigned by run planner to a person regarding a certain run)
ManagePublication | This policy represents the privilege to create, modify and delete publications. Modification of a publication only affects the meta-data of a publication and not the actual content. The content updater does the latter.
ManageRun | This policy represents the privilege to create, manage and delete a run.
ManagePolicies | This policy represents the privilege to assign and revoke policies for other staff members.
ExposeProperties | This policy represents the privilege to mark global personal properties to be editable from within the production stage, thereby providing a secondary mechanism of manipulation dossier values.
PlayLD | This policy represents the privilege to be assigned to a run. If a staff member does not have this policy, the staff member is probably not a member of the teaching staff.
ManageRoles | The ManageRoles policy represents the privilege to act as role planner.
ManageUsers | This policy represents the privilege to act as user manager allowing adding, modifying and deleting users. The scope of these actions is always the organization.
EnrollLearner | This policy represents the privilege to enroll learners in publications.
ManageStyle package | This policy represents the privilege to add and remove style packages.
ViewLog | This policy represents the privilege to view the log data containing all transactions performed in the production stage.
UpdateContent | This policy represents the privilege to update the content of a publication.
Style package | A file that contains particular layout and language settings used with the player. A style package may be imported and deleted by users granted the ManageStyle package policy. An imported style package is global for all publications. Even when a style package is deleted, it should be possible to update existing publications with new content based on the deleted style package.
Content | Actual updateable content of the learning design. Content can be updated continuously during the lifetime of a publication allowing corrections of the content of the publication. A user assigned to be content updater for a particular publication can perform this task.
IMS Learning Design | Contains the actual learning design content that needs to be published.
Log | The log contains information about all the transactions that have been performed in production stage. The following information should be stored per transaction: - userid of the person who performed transaction - date and time of transaction - client machine id where transaction originated from - performed task - result code of the task (successful, error etc.) - processing time of the task - additional information
Admin:Staff | This is a special instance of Staff. This user will be created at initialization of the system and contains the administrator account. By definition this user has the ManagePolicies policy granted which can not be revoked (even by the Admin itself).
Content Updater | A content updater is responsible for updating a publication with new content. A content updater is assigned by a publisher and needs to be granted the UpdateContent policy. A publication may be updated at any time during the lifetime of a publication.
Publisher | A publisher is responsible for adding new publications and/or edit/delete existing publications. Only users granted the ManagePublication policy may perform this task. The publication manager creates a new publication by selecting a unit of learning containing the learning design using a selected style package. Furthermore, the publication manager will assign users to perform the following tasks: - Update content - Enroll learners - Manage runs All the users assigned need to have to corresponding policies granted.
PolicyManager | The policy manager may assign policies to staff members. The following policies are available: - ManagePublication - ManageRun - ManagePolicies - PlayLD - ViewLog - UpdateContent - ManageStyle package - ManageRoles - ManageUsers - EnrollLearner - ExposeProperties A special administrator, with userid Admin:Staff has the policy ManagePolicies granted which cannot be revoked. This means that the administrator is also a policy manager.
PropertyExposer | A PropertyExposer is responsible for defining which global personal properties are available in the production stage. Only those properties are accessible in the production stage and can be changed by the UserManager.
Run planner | A run planner is responsible for the creation and maintenance of runs. The run planner will assign staff and learners to a run, in effect forming the user community. The run planner may assign one or more role planners to the run. A staff member needs to have the Role planner policy when being assigned as role planner.
Enroller | The enroller will be responsible for enrolling learners for a publication. A staff member can act as enroller when the publisher assigns him and he has the EnrollLearner policy assigned.
LogViewer | The LogViewer may view the log files. The log viewer needs to have the ViewLog policy assigned.
UserManager | The user manager will add, modify and delete users. The user manager needs to have the ManageUsers policy assigned.
Role planner | A role planner is responsible for assigning persons to the roles that are defined in learning design. A role planner is assigned by the run planner and needs to have the Role planner policy granted.

# About This Document

Title | IMS Learning Design Best Practice and Implementation Guide
Editors | Rob Koper (Open University of the Netherlands), Bill Olivier (JISC CETIS), Thor Anderson (IMS)
Team Co-Leads | Chuck Barritt (Cisco), Katy Campbell (University of Alberta/Industry Canada)
Version | 1.0
Version Date | 20 January 2003
Status | Final Specification
Summary | This document describes the best practice and implementation guidelines for the IMS Learning Design Specification.
Purpose | Defines the IMS Learning Design Best Practice and Implementation Guide.
Document Location | http://www.imsglobal.org/learningdesign/ldv1p0/imsld_bestv1p0.html

## List of Contributors

The following individuals contributed to the development of this document:

Name | Organization
--- | ---
Steve Grocott | Can Studios, Ltd.
Mike Halm | Penn State University
Hans Hummel | Open University of the Netherlands
Paul Lefrere | JISC
Jocelyn Manderveld | Open University of the Netherlands
Jon Mason | IMS Australia - DEST
Mark Norton | IMS
Claude Ostyn | Click2Learn, Inc
Dan Rehak | Carnegie Mellon University
Peter Sloep | Open University of the Netherlands
GT Springer | Texas Instruments
Brian Taliesin | Microsoft
Colin Tattersall | Open University of the Netherlands
Robert Todd | Digital Think
Brendon Towle | NETg
Hubert Vogten | Open University of the Netherlands
Carol Washburn | University of Pittsburgh
Bria White | Texas Instruments

# Revision History

Version No. | Release Date | Comments
--- | --- | ---
Base 1.0 | 01 April 2002 |
Public Draft 1.0 | 18 October 2002 | The first formally released version of the IMS Learning Design Specification.
Final 1.0 | 20 January 2003 | Minor edits and typographical changes were made to address comments raised during public draft review.

# Index

C
Content Package 1, 2, 3, 4, 5

E
Elements
activities 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60
activity-structure 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32
components 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38
environments 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
learning-activity 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50
learning-design 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21
notification 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
roles 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47
support-activity 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17
EML 1, 2, 3, 4, 5

I
IMS Specifications
Content Packaging 1, 2, 3, 4, 5, 6, 7
Learner Information Package 1, 2, 3, 4
Meta-Data 1, 2
Question and Test Interoperability 1, 2, 3

L
level A 1, 2, 3, 4, 5, 6, 7, 8, 9
level B 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
level C 1, 2, 3, 4, 5, 6, 7
LOM 1, 2

M
meta-data 1

S
SCORM 1, 2
Sequencing 1, 2, 3, 4, 5

U
UML 1
unit of learning 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
URI 1, 2, 3, 4, 5, 6, 7, 8, 9, 10

X
XML 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24

IMS Global Learning Consortium, Inc. ("IMS") is publishing the information contained in this IMS Learning Design Best Practice and Implementation Guide ("Specification") for purposes of scientific, experimental, and scholarly collaboration only.
IMS makes no warranty or representation regarding the accuracy or completeness of the Specification.
This material is provided on an "As Is" and "As Available" basis.
The Specification is at all times subject to change and revision without notice.
It is your sole responsibility to evaluate the usefulness, accuracy, and completeness of the Specification as it relates to you.
IMS would appreciate receiving your comments and suggestions.
Please contact IMS through our website at http://www.imsglobal.org
Please refer to Document Name: IMS Learning Design Best Practice and Implementation Guide Revision: 20 January 2003