IMS Logo

IMS Simple Sequencing Information and Behavior Model

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 Simple Sequencing Information and Behavior Model
Revision: 03 March 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 © IMS Global Learning Consortium 2006. All Rights Reserved.

If you wish to distribute this document or use this document to implement a product or service, you must complete a valid license registration with IMS and receive an email from IMS granting the license. 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 Licensee organizations 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 work 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/simplesequencing/ssv1p0/ssv1p0seclicense.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


I.   Introduction
     I.1   Overview
     I.2   IMS Simple Sequencing Components
     I.3   Simple Sequencing Specification Sections
     I.4   Assumptions
           I.4.1   Activity Tree
           I.4.2   Sequencing Loop
           I.4.3   Rule-Based Model
           I.4.4   Default and Authored Behavior
           I.4.5   Objectives
           I.4.6   Auxiliary Resources
           I.4.7   Presentation and Environment
           I.4.8   Suspending and Resuming Activities
           I.4.9   Starting and Stopping the Sequencing Process
           I.4.10   Data Persistence
           I.4.11   Content Types
           I.4.12   Active/Passive Content
           I.4.13   Relationship to IMS Content Packaging Specification
     I.5   Nomenclature
     I.6   References

SM.   Sequencing Definition Model
     SM.1   Sequencing Control Modes
     SM.2   Sequencing Rule Description
     SM.3   Limit Conditions Description
     SM.4   Auxiliary Resource Description
     SM.5   Rollup Rule Description
     SM.6   Objective Description
     SM.7   Objective Map
     SM.8   Rollup Controls
     SM.9   Selection Controls
     SM.10   Randomization Controls
     SM.11   Delivery Controls
     SM.12   Sequencing Description

TM.   Tracking Model
     TM.1   Tracking Information Model
           TM.1.1   Objective Progress Information
           TM.1.2   Activity/Attempt Progress Information
     TM.2   Tracking Model Behaviors

AM.   Activity State Model
     AM.1   Activity State Information Model
           AM.1.1   Activity State Information
           AM.1.2   Global State Information
     AM.2   Activity State Model Behaviors

OP.  Overall Sequencing Process
     OP.1  Overall Behavior

NB.   Navigation Behavior Model
     NB.1   Navigation Requests
     NB.2   Navigation Behavior
           NB.2.1   Navigation Request Process

TB.   Termination Behavior Model
     TB.1   Termination Requests
     TB.2   Termination Behavior
           TB.2.1 Sequencing Exit Action Rules Subprocess
           TB.2.2   Sequencing Post Condition Rules Subprocess
           TB.2.3   Termination Request Process

RB.   Rollup Behavior Model
     RB.1   Rollup Behavior
           RB.1.1 Measure Rollup Process
           RB.1.2   Objective Rollup Process
           RB.1.3   Activity Progress Rollup Process
           RB.1.4   Rollup Rule Check Subprocess
           RB.1.5   Overall Rollup Process

SR.   Selection and Randomization Behavior Model
     SR.1   Select Children Process
     SR.2   Randomize Children Process

SB.   Sequencing Behavior Model
     SB.1   Sequencing Requests
     SB.2   Sequencing Behavior
           SB.2.1   Flow Tree Traversal Subprocess
           SB.2.2   Flow Activity Traversal Subprocess
           SB.2.3   Flow Subprocess
           SB.2.4   Choice Activity Traversal Subprocess
           SB.2.5   Start Sequencing Request Process
           SB.2.6   Resume All Sequencing Request Process
           SB.2.7   Continue Sequencing Request Process
           SB.2.8   Previous Sequencing Request Process
           SB.2.9   Choice Sequencing Request Process
           SB.2.10   Retry Sequencing Request Process
           SB.2.11   Exit Sequencing Request Process
           SB.2.12   Sequencing Request Process

DB.   Delivery Behavior Model
     DB.1   Delivery Behavior
           DB.1.1   Delivery Request Process
     DB.2   Content Delivery Environment Process
           DB.2.1   Clear Suspended Activity Subprocess

UP.   Utility Processes
     UP.1   Limit Conditions Check Process
     UP.2   Sequencing Rules Check Process
           UP.2.1   Sequencing Rule Check Subprocess
     UP.3   Terminate Descendent Attempts Process
     UP.4   End Attempt Process
     UP.5   Check Activity Process

E.   Extensibility
     E.1   Extensibility of Information Model and Behaviors
     E.2   Extensibility of Bindings

C.   Conformance
     C.1   Behavior Conformance
     C.2   Binding and Interchange Conformance

G.   Glossary

UC.   Core Use Case Descriptions
     UC.1   Boeing Fuel Valve Removal Use Case
           UC.1.1   Terminology
           UC.1.2   Content Structure
           UC.1.3   Narrative Description
     UC.2   NETg Precision Learning Use Case
           UC.2.1   Terminology
           UC.2.2   Content Structure
           UC.2.3   Narrative Description
     UC.3   Click2Learn Blended Content Use Case
           UC.3.1   Terminology
           UC.3.2   Content Structure
           UC.3.3   Narrative Description
     UC.4   GIUNTI Conservation of Paintings Use Case
           UC.4.1   Terminology
           UC.4.2   Content Structure
           UC.4.3   Narrative Description

About this Document
     List of Contributors

Revision History

Index

I.   Introduction

I.1   Overview

This document, the "IMS Simple Sequencing Specification," defines a method for representing the intended behavior of an authored learning experience such that any learning technology system (LTS) can sequence discrete learning activities in a consistent way. A learning designer or content developer declares the relative order in which elements of content are to be presented to the learner and the conditions under which a piece of content is selected, delivered, or skipped during presentation.

This specification defines the required behaviors and functionality that conforming systems must implement. It incorporates rules that describe the branching or flow of learning activities through content according to the outcomes of a learner's interactions with content. This representation of intended instructional flow may be created manually or with authoring systems that produce output that conforms to this specification. While learning content developers need to know how to create and describe content sequences, authoring systems may hide the details of the models presented in this specification. The representation of sequencing may be interchanged between systems designed to deliver instructional activities to learners. The components of an LTS used to execute the specified rules and behaviors, when content is delivered to a learner, are referred to in this specification as a 'sequencing engine'.

Simple Sequencing is labeled as simple because it includes a limited number of widely used sequencing behaviors, not because the specification itself is simple. Simple Sequencing is not all-inclusive. In particular, Simple Sequencing does not address, but does not necessarily preclude, artificial intelligence-based sequencing, schedule-based sequencing, sequencing requiring data from closed external systems and services (e.g., sequencing of embedded simulations), collaborative learning, customized learning, or synchronization between multiple parallel learning activities.

Simple Sequencing recognizes only the role of the learner and does not define sequencing capabilities that utilize or are dependent on other actors, such as instructors, mentors, or peers. This specification does not prohibit usage in contexts involving other actors; however, it does not define the roles of other actors or sequencing behaviors that result from participation of other actors.

Simple Sequencing enables digital content to be rendered and presented to a learner in a Web-based environment; however, it is not restricted to a Web-based environment. The nature of the control and communication interfaces, and the mechanisms for mediating interactions between a learner and a LTS, are not part of this specification. In addition, issues such as look and feel, presentation style, and placement of navigation controls are not defined by this specification.

Simple Sequencing provides an external representation, via extensions to the "IMS Content Packaging XML Binding" [3]1, to exchange sequencing descriptions between different runtime components or LTSs. Although the Simple Sequencing Specification is based on the same content organization and tree structure as the Content Packaging Specification, Simple Sequencing does not require Content Packaging. However, Content Packaging is currently the only defined mechanism for exchanging definition model instances.

I.2   IMS Simple Sequencing Components

Simple Sequencing is described in the following set of interrelated documents:

I.3   Simple Sequencing Specification Sections

This specification defines a small subset of all possible sequencing operations and the informational elements required to describe the desired operations and their parameters. To enable interoperability, systems that deliver learning content must be able to interpret the sequencing information and exhibit the behaviors defined in this specification. This presentation is divided into several sections, each section being standalone and describing one part of the Simple Sequencing Specification.

Section Mnemonic
Introduction
I
Sequencing Definition Model
SM
Tracking Model
TM
Activity State Model
AM
Overall Sequencing Process
OP
Navigation Behavior Model
NB
Termination Behavior Model
TB
Rollup Behavior Model
RB
Selection and Randomization Behavior Model
SR
Sequencing Behavior Model
SB
Delivery Behavior Model
DB
Utility Processes
UP
Extensibility
E
Conformance
C
Glossary
G
Use Cases
UC

The sections are intentionally independent so that an implementer or reader has all the information related to the topic and other key information needed to interpret and implement the corresponding part of a Simple Sequencing system. Each section may include:

I.4   Assumptions

I.4.1   Activity Tree

The Simple Sequencing Specification relies on the concept of learning activities. A learning activity may be loosely described as an instructional event or events embedded in a content resource, or as an aggregation of activities that eventually resolve to discrete content resources with their contained instructional events.

Content in Simple Sequencing is organized into a hierarchical structure. Each activity may include one or more child activities. Each activity has an associated set of sequencing behaviors, defined by the sequencing definition model (see Sequencing Definition Model SM). The sequencing behaviors describe how the activity or how the children of the activity are used to create the desired learning experience.

The sequencing behavior process (see Sequencing Behavior Model SB) traverses the activity tree, applying the sequencing rules, to determine the activities to deliver to the learner. Content resources from the identified activities are delivered to the learner to create the desired learning experience.

Simple Sequencing makes no requirements on the structure, organization, or instantiation of the activity tree. The tree and the associated sequencing definitions may be static or they may be dynamically created. How to create, represent, and maintain the activity tree and associated sequencing definition is not specified.

I.4.2   Sequencing Loop

The following sequencing loop describes how the various behavior processes interact during sequencing and delivery. The description assumes the activity tree exists and has been initialized.

Begin Sequencing Session

  1. The learner initiates access to the content delivery environment or LTS (e.g., accesses the system, logs in) and establishes a context within a particular unit of instruction (e.g., selects a course or content aggregation).
  2. The LTS initiates a sequencing session by issuing a "Start", "Resume All", or "Choice" navigation request.
  3. The navigation behavior translates the "Start", "Resume All", or "Choice" navigation request into the corresponding sequencing request and processes it. The sequencing session 'officially' begins when an activity is identified for delivery (successful completion of steps 4 and 5).

Start of Sequencing Loop

  1. Using the information in the tracking model and the sequencing request, the sequencing behavior traverses the activity tree attempting to identify the appropriate activity (node in the tree) to deliver to the learner.
  2. The delivery behavior determines if the identified activity can be delivered, and if so, prepares to deliver the activity's content resource(s) to the learner. If the selected activity cannot be delivered, then the overall sequencing process stops and waits for another navigation request (step 8).
  3. The learner interacts with the content resource. The sequencing processes are idle and waiting for requests while the learner interacts with the content resource.
  4. The activity may report values that update the various tracking model elements during the learner's interactions with the content resource.
  5. The learner, delivery system, or activity invokes a navigation event, such as "Continue", "Previous", "Choose activity X", "Abandon", "Exit", etc...
  6. The LTS informs the sequencing process of the navigation event by issuing a navigation request.
  7. The navigation behavior translates the navigation request into a termination request and a sequencing request. If the navigation request indicates that the learner wants to end the sequencing session, the sequencing session ends (the behavior of ending the sequencing session and the persistence of the activity state model is unspecified and left to the implementation).
  8. If the activity triggered the navigation request by terminating or exiting, it may report additional values that update the tracking model. The activity then exits. The rollup process is invoked to determine the effects of any state changes that occurred as a result of delivering the content resource for the activity. The process updates the tracking model for the activity and for any of its parent activities within the activity tree.
  9. The process repeats beginning at step 4, until the sequencing session ends.

Several variations exist on the order described above, including:

The sequencing process may not be able to identify an activity to deliver, or the activity may not be delivered due to failure to meet the defined delivery conditions.

The various steps in the sequencing process

Figure I.1 - The various steps in the sequencing process.

Figure I.1 above shows the various steps in the sequencing process. The control process is shown on the left. In normal operation, the overall sequencing process flows from navigation behavior to termination behavior to sequencing behavior to delivery behavior, followed by a wait while the learner interacts with the content resource, as described in steps 4-12 above.

The right side of Figure I.1 shows the learner's view of the learning experience. A content resource is delivered to the learner. The learner interacts with the content resource and results may be returned to the tracking model. The learner triggers an event that maps to a navigation request. The navigation request triggers the various steps in the sequencing process.

Throughout all sequencing processes, a collection of state and tracking model data is maintained. Content resources may directly set values in the tracking model through a runtime communications interface to tracking model; this interface is not part of the specification and is not required. All of the other sequencing processes access and update elements of the tracking models.

Changes to the state of an activity occur because of learner interaction with a content resource delivered for the activity or one of its descendents. If an external event affects the tracking, such as an instructor changing a grade, the model assumes processes are invoked as required to update the activity state model.

Changes to the activity state model and tracking model that occur outside of the scope of delivering the learning experience via the sequencing process are outside of the scope of the specification. Systems that implement such side effects and additional capabilities must deal with these conditions accordingly.

I.4.3   Rule-Based Model

The behaviors described in the Simple Sequencing Specification are defined in terms of sequencing information (see Sequencing Definition Model SM) associated with activities in the activity tree. Sequencing information includes 'rules' that provide a means to describe conditional sequencing behavior at content development time. These 'rules' and tracking status information affect the various sequencing processes during content delivery.

I.4.4   Default and Authored Behavior

In the absence of explicitly defined sequencing information, activity trees exhibit default sequencing behaviors when content resources are delivered. These default behaviors and associated values are specified in the sequencing information (see Sequencing Definition Model SM). Content developers may change default behaviors by explicitly defining sequencing information and associating it with activities.

I.4.5   Objectives

Learning objectives are separate from activities in Simple Sequencing. Learning objectives represent a set of locally and globally scoped data items, each with a satisfaction status and a satisfaction measure. Simple Sequencing makes no assumption as to how to interpret the objective (e.g., is it a competency, is it a mastery, or is it simply a shared value?). Activities may have more than one associated local objective and may reference multiple globally shared objectives. Multiple activities may reference the same global objective, thus sharing the data values.

The resolution of local and global objective IDs is not specified. An objective may be shared within a single activity tree or may be shared globally across multiple instantiations of tracking models. The lifetime of shared global objectives and the scope of sharing is not specified; it is determined by implementations. Activities may reference multiple objectives, thus providing a mechanism for activities to have sub-objectives. However, this specification makes no assumptions about the semantics or meanings of multiple objectives associated with an activity.

I.4.6   Auxiliary Resources

An activity may have auxiliary resources associated with it that provide additional services or resources for the learner. This specification does not define any semantics or meanings for these auxiliary resources. This specification does not define which resources may be made available, or how the resources are to be used; it only provides a means for the auxiliary resources to be associated with an activity.

I.4.7   Presentation and Environment

Simple Sequencing makes no assumption as to how content and controls are rendered or presented to the learner (e.g., style, placement, GUI widgets). How events are triggered in the interface environment, how they are communicated to the LTS, and how the LTS delivers content to the learner and the learner's environment are not specified.

While an external event may trigger a navigation event and a resulting navigation request, the external event also may trigger other actions. These behaviors are not specified.

I.4.8   Suspending and Resuming Activities

An activity may be suspended and later resumed. Certain navigation requests result in an activity or collection of activities being suspended. Other activities may be delivered while the activity is suspended. A suspended activity may be resumed later without counting as a new activity attempt. Additionally, the suspended activity may be abandoned or exited.

The current sequencing session may be suspended and later resumed at the last activity experienced by the learner.

I.4.9   Starting and Stopping the Sequencing Process

Simple Sequencing does not specify how to start the overall sequencing process or how to stop the process. Generally, the LTS will recognize some event, e.g., a course login, to start sequencing. Some other event, e.g., a logout, is mapped to the appropriate navigation, exit and sequencing requests, after which the LTS may terminate the overall sequencing process.

I.4.10   Data Persistence

Simple Sequencing does not specify how data (e.g., tracking data) is to be persisted across multiple instantiations of the overall sequencing process for a particular learner and activity tree or learning experience, e.g., across multiple login sessions. Implementations shall persist control, tracking, and state data at least until the current attempt on the activity tree is terminated. Such an attempt may include one or more login sessions. LTS policies govern whether to persist data beyond that time; such policies are beyond the scope of this specification.

I.4.11   Content Types

The Simple Sequencing Specification is independent of the types of learning content and learning objects and can be used to sequence all types of content. For example, content may include simple static Seb pages, MIME resources of any type (e.g., DOC, PDF files), services and proxies for services, and dynamically created objects. In particular, content need not use a communications adapter, such as the AICC/IEEE/ADL SCORM API communications adapter used by sharable content objects [2]. Nor does Simple Sequencing require a runtime service or assume the existence of other data models, such as the CMI data model [1].

I.4.12   Active/Passive Content

Simple Sequencing relies on values within the tracking model to control sequencing. Simple Sequencing does not specify how the tracking model values for an activity or an objective are set or updated. Simple Sequencing differentiates between active and passive content and supports both active and passive content on an activity-by-activity basis. Active content is responsible for setting elements of the tracking model directly. For passive content, Simple Sequencing will automatically set certain values in the tracking model. Simple Sequencing makes no assumptions about how content actually behaves, e.g., passive content may set values in the tracking model, active content may fail to set values Simple Sequencing relies only on the declaration of how the content should behave.

I.4.13   Relationship to IMS Content Packaging Specification

The Simple Sequencing Specification relies on the concept of learning activities. A learning activity may be loosely described as an instructional event or events embedded in a content resource, or as an aggregation of activities that eventually resolve to discrete content resources with their contained instructional events.

The IMS Content Packaging Specification provides a ready structure for relating a learning activity to a content resource - the item element and its relationship to a resource element. Furthermore, item elements can be clustered into collections, with such collections contained in a parent organization element, just like learning activities may clustered together in a parent activity or activities. Therefore, Simple Sequencing maps the concept of a learning activity to an item element or a collection of item elements within an organization element, and to an organization element itself, as defined by the Content Packaging Specification. The Content Packaging XML Binding is extended by this specification to define how sequencing information is associated with packaged content.

The process of defining a specific sequence of learning activities begins with the creation of an aggregation of content. The Content Packaging Specification enables aggregations to be interchanged among systems. As shown in the figure below, the content packaging organization element and each item element within it can have defined sequencing behaviors through the association of sequencing information defined in the sequencing definition Model (see Sequencing Definition Model SM). Sets of sequencing definition elements can be created and defined for or referenced by items within the organization, as well as for the organization itself. A single set of sequencing definition elements and values can be referenced by more than one item and therefore are reusable.

All information defining sequencing behavior for an organization is present within that organization. Where multiple organizations are present within a manifest, each organization may have its own set of sequencing behaviors.

IMS Simple Sequencing only describes how sequencing information relates to IMS Content Packaging, but does not prohibit sequencing information and behavior from being used in other contexts.

This version of Simple Sequencing does not use or prohibit the use of sub manifests, defined in IMS Content Packaging.

How sequencing information can be associated with an IMS Content Package

Figure I.2 - How sequencing information can be associated with an IMS Content Package.

I.5   Nomenclature

The following abbreviations and acronyms are used in this document:

ADL
Advanced Distributed Learning
AICC
Aviation Industry CBT Committee
ANSI
American National Standards Institute
API
Application Programming Interface
CBT
Computer Based Training
CMI
Computer Managed Instruction
CPI
Content Packaging Interchange
DTD
Document Type Definition
IEEE
Institute of Electronic and Electrical Engineering
ISO
International Standards Organization
JTC
Joint Technical Committee
LTS
Learning Technology System
LTSC
Learning Technology Standards Committee
SCORM
Shareable Content Object Reference Model
SS
Simple Sequencing
W3C
World Wide Web Consortium
XML
Extensible Mark-up Language

I.6   References

[1]
IEEE P1484.11.1 Draft Standard for Data Model to Content Object Communication
[2]
IEEE P1484.11.2 Draft Standard for ECMAScript API for Content to Runtime Services Communication
[3]
IMS Content Packaging XML Binding v1.1.2 Final Specification, IMS Global Learning Consortium, Inc., August 2001
[4]
IMS Persistent, Location-Independent Resource Identifier Handbook v1.0, Final Specification, IMS Global Learning Consortium, Inc., April 2001
[5]
IMS Simple Sequencing XML Binding v1.0 Final Specification, IMS Global Learning Consortium, Inc., March 2003
[6]
IMS Simple Sequencing Best Practice and Implementation Guide v1.0 Specification, IMS Global Learning Consortium, Inc., March 2003

SM.   Sequencing Definition Model

The Simple Sequencing process uses information about the desired sequencing behavior to control the sequencing, selection and delivery of activities to the learner. The intended sequence is described by a specific set of data attributes. These attributes are associated with learning activities in the activity tree to describe the sequencing behavior. The set of attributes used by Simple Sequencing is called the "sequencing definition model".

The sequencing definition model consists of:

There are no overall behavior requirements on the use and instantiation of the sequencing definition model. Individual parts of the model describe how the sequencing definitions are associated with the activity tree to define intended learning experiences. The use of the sequencing definition model is detailed as part of the behavior descriptions of the navigation, sequencing, delivery, exit, selection, randomization, and rollup processes.

Sequencing definitions describe the intended learning experience for a learner. How the learning experience and definition for a learner relate to the definition for a cohort of learners (e.g., individualized experiences versus a common experience for all members of the cohort) is not specified. A sequencing definition model instance defines a learning experience independently of how it is instantiated for one or more learners.

SM.1   Sequencing Control Modes

Sequencing control mode information (the set of attributes shown below) includes descriptions of the types of sequencing behaviors specified for an activity. Sequencing control mode information for an activity includes the associated data listed below.

Simple Sequencing processes may reference the sequencing control modes for any activity in the activity tree. Sequencing control modes are optional. Default data is used if the data is not defined for a given activity.

The control modes are not exclusive; multiple control modes may be specified.

No. Name Description Value Space Default Value
1
Sequencing Control Choice
Indicates that a Choice sequencing request is permitted (True or False) to target the children of the activity.
Boolean
True
2
Sequencing Control Choice Exit
Indicates that an active child of this activity is permitted to terminate (True or False) if a Choice sequencing request is processed.
Boolean
True
3
Sequencing Control Flow
Indicates the Flow Subprocess (SB.2.3) may be applied (True or False) to the children of this activity.
Boolean
False
4
Sequencing Control Forward Only
Indicates that backward targets (in terms of activity tree traversal) are not permitted (True or False) for the children of this activity.
Boolean
False
5
Use Current Attempt Objective Information
Indicates that the objective progress information (TM.1.1) for the children of the activity will only be used (True or False) in rule evaluations and rollup if that information was recorded during the current attempt on the activity.
Boolean
True
6
Use Current Attempt Progress Information
Indicates that the attempt progress information (TM.1.2.2) for the children of the activity will only be used (True or False) in rule evaluations and rollup if that information was recorded during the current attempt on the activity.
Boolean
True

SM.2   Sequencing Rule Description

Sequencing rule description (the set of attributes shown below) specifies the details of individual rule-based sequencing behaviors for an activity. Sequencing rule description information for an activity includes the associated data listed below.

Simple Sequencing processes may reference the sequencing rules for any activity in the activity tree. Sequencing rules are optional. The data attributes below specify one rule. Each activity may have an unlimited number of sequencing rules. Sequencing rules are defined only where needed. Default data is used if the data is not instantiated for a given rule, if needed.

Actions are divided into three groups:

The Rule Conditions, Condition Combination, and Rule Actions are tokens in a vocabulary. The tokens have no semantics or meanings themselves. The description of the condition or action is the complete definition of the required behavior.

No. Name Description Value Space Default Value
1
Condition Combination
How rule conditions are combined in evaluating the rule.
  • All - The rule condition evaluates to True if and only if all of the individual rule conditions evaluate to True (logical and).
  • Any - The rule condition evaluations to True if and only if any of the individual rule conditions evaluates to True (logical or).
Vocabulary
All
2
Rule Conditions
An unordered collection of conditions for a sequencing rule. A rule may include multiple rule conditions.
Collection
0:N


2.1
Rule Condition
A condition element for the rule.
  • Satisfied - evaluates to True if the Objective Progress Status (TM.1.1) for the objective associated with the activity (indicated by Rule Condition Referenced Objective) is True and the Objective Satisfied Status (TM.1.1) for the objective associated with the activity (indicated by Rule Condition Referenced Objective) is True.
  • Objective Status Known - evaluates to True if the Objective Progress Status (TM.1.1) for the objective associated with the activity (indicated by Rule Condition Referenced Objective) is True.
  • Objective Measure Known - evaluates to True if the Objective Progress Status for the objective (TM.1.1) associated with the activity (indicated by Rule Condition Referenced Objective) is True and the Objective Measure Status (TM.1.1) for the objective associated with the activity (indicated by Rule Condition Referenced Objective) is True.
  • Objective Measure Greater Than - evaluates to True if the Objective Measure Status (TM.1.1) for the objective associated with the activity (indicated by Rule Condition Referenced Objective) is True and the Objective Normalized Measure (TM.1.1) for the objective associated with the activity (indicated by Rule Condition Referenced Objective) is greater than the Rule Condition Measure Threshold.
  • Objective Measure Less Than - evaluates to True if the Objective Measure Status (TM.1.1) for the objective associated with the activity (indicated by Rule Condition Referenced Objective) is True and the Objective Normalized Measure (TM.1.1) for the objective associated with the activity (indicated by Rule Condition Referenced Objective) is less than the Rule Condition Measure Threshold.
  • Completed - evaluates to True if the Attempt Progress Status (TM.1.2.2) for the activity is True and the Attempt Completion Status (TM.1.2.2) for the activity is True.
  • Activity Progress Known - evaluates to True if the Activity Progress Status (TM.1.2.1) for the activity is True and the Attempt Progress Status (TM.1.2.2) for the activity is True.
  • Attempted - evaluates to True if the Activity Progress Status (TM.1.2.1) for the activity is True and the Activity Attempt Count (TM.1.2.1) for the activity is positive (i.e., the activity has been attempted).
  • Attempt Limit Exceeded - evaluates to True if the Activity Progress Status (TM.1.2.1) for the activity is True and the Limit Condition Attempt Limit Control (SM.3) for the activity is True and the Activity Attempt Count (TM.1.2.1) for the activity is equal to or greater than the Limit Condition Attempt Limit (SM.3) for the activity.
  • Time Limit Exceeded - evaluates to True if the Activity Progress Status (TM.1.2.1) for the activity is True and any of the durations for the activity (Activity Absolute Duration, Activity Experienced Duration, Attempt Absolute Duration, Attempt Experienced Duration) exceed the corresponding duration Limit Condition values for the activity (SM.3 - Limit Condition Activity Absolute Duration, Limit Condition Activity Experienced Duration, Limit Condition Attempt Absolute Duration, Limit Condition Attempt Experienced Duration) and the associated Limit Condition control value (SM.3 - Limit Condition Activity Absolute Duration Control, Limit Condition Activity Experienced Duration Control, Limit Condition Attempt Absolute Duration Control, Limit Condition Attempt Experienced Duration Control) for the activity is True.
  • Outside Available Time Range - evaluates to True if the current time is before or after the corresponding time Limit Condition values for the activity (SM.3 - Limit Condition Begin Time, Limit Condition End Time) and the associated Limit Condition control value (SM.3 - Limit Condition Begin Time Control, Limit Condition End Time Control) for the activity is True.
  • Always - always evaluates to True.
Vocabulary
Always
2.2
Rule Condition Referenced Objective
The identifier of an objective associated with the activity used during the evaluation of the condition.
If a rule for an activity does not explicitly reference an objective by an identifier, the rule references the objective that contributes to rollup for an activity by default.
Unique Identifier1
None
2.3
Rule Condition Measure Threshold
The value used as a threshold during measure-based condition evaluations.
Real [-1..1]
Precision of at least 4 significant decimal digits
0.0
2.4
Rule Condition Operator
The unary logical operator to be applied to the condition.
  • Not - The corresponding condition is negated in rule evaluation.
  • NO-OP - The corresponding condition is used as is in rule evaluation.
Vocabulary
NO-OP
3
Rule Action
The desired sequencing behavior if the rule evaluates to True.
Actions are divided into groups based on when the action is applied.


Precondition actions apply when traversing the activity tree to identify an activity for delivery:
  • Skip - The activity is not considered a candidate for delivery during a Flow sequencing process (SB.2.3).
  • Disabled - The activity may not be the target of any sequencing or delivery request.
  • Hidden from Choice - The activity may not be the target of a Choice sequencing request.
  • Stop Forward Traversal - Stop walking the activity tree, in a forward direction, at the activity while processing a sequencing request.
  • Ignore - No action.


Post Condition actions apply when an attempt on the activity terminates:
  • Exit Parent - Process an Exit Parent exit request.
  • Exit All - Process an Exit All termination request and return an Exit sequencing request.
  • Retry - Return a Retry sequencing request.
  • Retry All - Process an Exit All termination request and return a Start sequencing request.
  • Continue - Return a Continue sequencing request.
  • Previous - Return a Previous sequencing request.
  • Ignore - No action.


Exit actions apply after an attempt on a descendent activity terminates:
  • Exit - Unconditionally terminate the activity.
  • Ignore - No action.
Vocabulary
Ignore
1
This identifier should be globally unique, or at least unique in any scope in which sequenced activities might be used. The IMS Persistent, Location-Independent Resource Identifier Handbook [4] describes the recommended way to construct such an identifier.

SM.3   Limit Conditions Description

Limit conditions description (the set of attributes shown below) define constraints on the access to an activity based on time of day, time spent on the activity and number of attempts. Limit conditions description for an activity includes the associated data listed below.

Simple Sequencing processes may reference the limit conditions description for any activity in the activity tree. Limit Conditions are optional. Limit condition data need not be defined for each activity in the activity tree. Default data is used if the data is not instantiated for the activity, if needed.

No. Name Description Value Space Default Value
1
Limit Condition Attempt Control
Indicates that a limit condition on the number of attempts for the activity has been established (True or False) for the activity.


If the value is False, there is no constraint on how many times the activity may be attempted.
Boolean
False
2
Limit Condition Attempt Limit
The maximum number of attempts for the activity. A zero value indicates the activity may not be accessed.


The value is unreliable unless Limit Condition Attempt Control is True.
Non Negative Integer
0
3
Limit Condition Attempt Absolute Duration Control
Indicates that a limit condition on the maximum time duration that a learner is permitted to spend on any single attempt on the activity has been established (True or False) for the activity.


If the value is False, there is no constraint on how long the learner may spend on the activity.
Boolean
False
4
Limit Condition Attempt Absolute Duration Limit
The maximum time duration that a learner is permitted to spend on any single attempt on the activity. This limit applies to the time the activity is active - from the time the activity begins until the time the activity ends, including any time the activity was suspended. A zero value indicates the activity may not be accessed.


The value is unreliable unless Limit Condition Attempt Absolute Duration Control is True.
Duration Accuracy 0.1 second
0.0
5
Limit Condition Attempt Experienced Duration Control
Indicates that a limit condition on the maximum time duration that a learner is permitted to spend on any single attempt on the activity has been established (True or False) for the activity.


If the value is False, there is no constraint on how long the learner may spend on the activity.
Boolean
False
6
Limit Condition Attempt Experienced Duration Limit
The maximum time duration that a learner is permitted to spend experiencing a single attempt on the activity. The limit applies to only the time the learner is actually interacting with the activity and does not apply when the activity is suspended (i.e., when the activity is not being experienced or is inactive). A zero value indicates the activity may not be accessed.


The value is unreliable unless Limit Condition Attempt Experienced Duration Control is True.
Duration
Accuracy 0.1 second
0.0
7
Limit Condition Activity Absolute Duration Control
Indicates that a limit condition on the maximum duration that a learner is permitted to spend on the activity (which includes all attempts) has been established (True or False) for the activity.


If the value is False, there is no constraint on how long the learner may spend on the activity.
Boolean
False
8
Limit Condition Activity Absolute Duration Limit
The maximum time duration that a learner is permitted to spend on all attempts at the activity. A zero value indicates the activity may not be accessed.


The value is unreliable unless Limit Condition Activity Absolute Duration Control is True.
Duration Accuracy 0.1 second
0.0
9
Limit Condition Activity Experienced Duration Control
Indicates that a limit condition on the maximum duration that a learner is permitted to spend on the activity (which includes all attempts) has been established (True or False) for the activity.


If the value is False, there is no constraint on how long the learner may spend on the activity.
Boolean
False
10
Limit Condition Activity Experienced Duration Limit
The maximum time duration that a learner is permitted to spend on all attempts of the activity. The limit applies to only the time the learner is actually experiencing the activity and does not apply when the activity is suspended (i.e., when the activity is not being experienced or is inactive). A zero value indicates the activity may not be accessed.


The value is unreliable unless Limit Condition Activity Experienced Duration Control is True.
Duration Accuracy 0.1 second
0.0
11
Limit Condition Begin Time Limit Control
Indicates that a limit condition on the availability of the activity has been established (True or False) for the activity.


If the value is False, there is no constraint on when the learner may access the activity.
Boolean
False
12
Limit Condition Begin Time Limit
The date and time before which the activity is not available.


The value is unreliable unless Limit Condition Begin Time Limit Control is True.
Time Point
Accuracy 0.1 second
October, 15 1582
00:00:00.0
13
Limit Condition End Time Limit Control
Indicates that a limit condition on the availability of the activity has been established (True or False) for the activity.


If the value is False, there is no constraint on when the learner may access the activity.
Boolean
False
14
Limit Condition End Time Limit
The date and time after which the activity is not available.


The value is unreliable unless Limit Condition End Time Limit Control is True.
Timepoint
Accuracy 0.1 second
October, 15 1582
00:00:00.0

SM.4   Auxiliary Resource Description

Auxiliary resource description (the set of attributes shown below) defines an auxiliary resource associated with an activity. When an activity is delivered to the learner, the auxiliary resources are also made available to the learner. An auxiliary resource description for an activity includes the associated data listed below.

Simple Sequencing processes may reference the auxiliary resource description for any activity in the activity tree. Auxiliary resources are optional. Auxiliary resource data need not be defined for each activity in the activity tree. If an auxiliary resource is instantiated for an activity, it must provide the required data.

The data attributes below describe one auxiliary resource. Each activity may have an unlimited number of unordered auxiliary resources.

Purpose is an open, unspecified vocabulary. The vocabulary tokens have no semantics or meanings themselves. No behaviors are specified for any token value.

No. Name Description Value Space Default Value
1
Resource ID
The identifier of the auxiliary resource.
Unique Identifier1
None
Value is Required
2
Purpose
Indicates the purpose of the auxiliary resource.
Open Vocabulary
None
Value is Required
1
This identifier should be globally unique, or at least unique in any scope in which sequenced activities might be used. The IMS Persistent, Location-Independent Resource Identifier Handbook [4] describes the recommended way to construct such an identifier.

SM.5   Rollup Rule Description

Rollup rule description (the set of attributes shown below) specifies the details of individual rule-based rollup behaviors for an activity. Rollup rules describe how values of the child activities influence the Objective Progress Information (TM.1.1) and Activity/Attempt Progress Progress Information (TM.1.2) for an activity. Rollup rule description information for an activity includes the associated data listed below.

Simple Sequencing processes may reference the rollup rules for any activity in the activity tree. Rollup rules are optional. Rollup rules are defined only where needed. Default data is used if the data is not instantiated for a given rule, if needed.

The data attributes describe one rule. Each activity may have an unlimited number of unordered rollup rules.

The general format of a rule can be expressed informally as: If child-activity set, condition set Then action.

The Rollup Child Activity Set, Rollup Conditions, Condition Combination, and Rollup Actions are tokens in a vocabulary. The tokens have no semantics or meanings themselves. The description of the condition or action is the complete definition of the required behavior.

No. Name Description Value Space Default Value
1
Rollup Child Activity Set
The set of children of the activity whose data values are used to evaluate the rollup condition.
  • All - The rollup rule evaluates to True if and only if all of the children have a rollup condition (the result of the Condition Combination) value of True.
  • Any - The rollup rule condition evaluates to True if any of the children have a rollup condition (the result of the Condition Combination) value of True.
  • None - The rollup rule condition evaluates to True if none of the children have a rollup condition (the result of the Condition Combination) value of True.
  • At Least Count - The rollup rule condition evaluates to True if at least the number of children specified by the Rollup Minimum Count attribute have a rollup condition (the result of the Condition Combination) value of True.
  • At Least Percent - The rollup rule condition evaluates to True if at least the percentage of children specified in the Rollup Minimum Percent attribute have a rollup condition (the result of the Condition Combination) value of True.
Vocabulary
All
1.1
Rollup Minimum Count
The number of children activities associated with a Rollup Child Activity Set attribute value of At Least Count.
This value is meaningless if the Rollup Child Activity Set value is not At Least Count.
Non Negative Integer
0
1.2
Rollup Minimum Percent
The percentage of children activities associated with a Rollup Child Activity Set attribute value of At Least Percent.
This value is meaningless if the Rollup Child Activity Set value is not At Least Percent.
Real1 [0..1]
Precision of at least 4 digits
0.0
2
Condition Combination
How rollup conditions are combined in evaluating the rule.
  • All - The rule condition evaluates to True if and only if all of the individual rollup conditions evaluate to True (logical and).
  • Any - The rule condition evaluations to True if any of the individual rollup conditions evaluates to True (logical or).
Vocabulary
Any
3
Rollup Conditions
An unordered collection of conditions for a rollup rule.
A rollup rule may include multiple conditions.
Collection
0:N


3.1
Rollup Condition
A condition element for the rule.
  • Satisfied - evaluates to True if the Objective Progress Status (TM.1.1) for the rolled up objective associated with the child activity is True and Objective Satisfied Status (TM.1.1) for the rolled up objective associated with the child activity is True.
  • Objective Status Known - evaluates to True if Objective Progress Status (TM.1.1) for the rolled up objective associated with the child activity is True.
  • Objective Measure Known - evaluates to True if the Objective Measure Status (TM.1.1) for the rolled up objective associated with the child activity is True.
  • Completed - evaluates to True if the Attempt Progress Status (TM.1.2.2) for the child activity is True and the Attempt Completion Status (TM.1.2.2) for the child activity is True.
  • Activity Progress Known - evaluates to True if the Activity Progress Status (TM.1.2.1) for the child activity is True and the Attempt Progress Status (TM.1.2.2) for the child activity is True.
  • Attempted - evaluates to True if the Activity Progress Status (TM.1.2.1) for the child activity is True and the Activity Attempt Count (TM.1.2.1) for the child activity is positive (i.e., the child activity has been attempted).
  • Attempt Limit Exceeded - evaluates to True if the Activity Progress Status (TM.1.2.1) for the child activity is True and the Limit Condition Attempt Limit Control (SM.3) for the child activity is True and the Activity Attempt Count (TM.1.2.1) for the child activity is equal to or greater than the Limit Condition Attempt Limit (SM.3) for the child activity.
  • Time Limit Exceeded - evaluates to True if the Activity Progress Status (TM.1.2.1) for the child activity is True and any of the tracked durations for the child activity (Activity Absolute Duration, Activity Experienced Duration, Attempt Absolute Duration, Attempt Experienced Duration) exceed the corresponding duration Limit Condition values for the child activity (SM.3 - Limit Condition Activity Absolute Duration, Limit Condition Activity Experienced Duration, Limit Condition Attempt Absolute Duration, Limit Condition Attempt Experienced Duration) and the associated Limit Condition control value (SM.3 - Limit Condition Activity Absolute Duration Control, Limit Condition Activity Experienced Duration Control, Limit Condition Attempt Absolute Duration Control, Limit Condition Attempt Experienced Duration Control) for the child activity is True.
  • Outside Available Time Range - evaluates to True if the current time is before or after the corresponding time Limit Condition values for the child activity (SM.3 - Limit Condition Begin Time, Limit ConditionEnd Time) and the associated Limit Condition control value (SM.3 - Limit Condition Begin Time Control, Limit Condition End Time Control) for the child activity is True.
  • Never - always evaluates to False.
Vocabulary
Never
3.2
Rollup Condition Operator
The unary logical operator to be applied to the condition.
  • Not - The corresponding condition is negated in rule evaluation.
  • NO-OP - The corresponding condition is used as is in rule evaluation.
Vocabulary
NO-OP
4
Rollup Action
The desired rollup behavior if the rule evaluates to True.
  • Satisfied - The Objective Progress Status (TM.1.1) for the rolled up objective associated with the activity is set to True. The Objective Satisfied Status(TM.1.1) for the rolled up objective associated with the activity is set to True.
  • Not Satisfied - The Objective Progress Status (TM.1.1) for the rolled up objective associated with the activity is set to True. The Objective Satisfied Status (TM.1.1) for the rolled up objective associated with the activity is set to False.
  • Completed - The Attempt Progress Status (TM.1.2.2) for the activity is set to True. The Attempt Completion Status (TM.1.2.2) for the activity is set to True.
  • Incomplete - The Attempt Progress Status (TM.1.2.2) for the activity is set to True. The Attempt Completion Status (TM.1.2.2) for the activity is set to False.
Vocabulary
Satisfied
1
The value is normalized between 0 and 1.

SM.6   Objective Description

The objective description (the set of attributes shown below) defines the learning objective(s) associated with an activity.

Each activity may have an unlimited number of learning objectives. The tracking model (see Tracking Model TM) defines a set of data that records the satisfaction status (e.g., passed/failed) and measure (e.g., score) for each objective, for each attempt on the activity. The meaning of a learning objective is not defined in this model; it is defined only in terms of its ID and its association with an activity.

Simple Sequencing processes may reference the local objective information for any activity. The use of Objective Maps (described in SM.7) allows Simple Sequencing processes to also reference objective information for globally shared objectives. An activity will have local objective information for each objective associated with the activity. An activity must have at least one objective; if one is not defined in the sequencing description associated with the activity, one will be instantiated for the purposes of sequencing. Each activity must have one and only one objective that contributes to rollup; if one is not defined in the sequencing description associated with the activity, one will be instantiated for the purposes of sequencing.

The Objective ID is required if the activity has more than one objective or if the objective information for the activity is to be shared with another activity.

No. Name Description Value Space Default Value
1
Objective ID
The identifier of an objective associated with the activity. The ID is a link to the corresponding objective information.
Unique Identifier1
NoneRequired Value
2
Objective Satisfied by Measure
Indicates that the Objective Minimum Satisfied Normalized Measure is to be used (True or False) in place of any other method to determine if the objective associated with the activity has been satisfied.
Boolean
False
3
Objective Minimum Satisfied Normalized Measure
The minimum satisfaction measure for the objective, normalized between -1..1 (inclusive).
If the Objective Measure Status (TM.1.1) for the objective is True and the Objective Normalized Measure (TM.1.1) for the objective exceeds this value, the Objective Progress Status (TM.1.1) is set to True and the Objective Satisfied Status (TM.1.1) is set to True.
If the Objective Measure Status (TM.1.1) for the objective is True and the Objective Normalized Measure (TM.1.1) for the objective is less than this value, the Objective Progress Status (TM.1.1) is set to True and the Objective Satisfied Status (TM.1.1) is set to False.
The value is unreliable unless Objective Satisfied by Measure is True.
Real [-1..1]
Precision of at least 4 significant decimal digits
1.0
4
Objective Contributes to Rollup
Indicates that the Objective Satisfied Status (TM.1.1) and Objective Normalized Measure (TM.1.1) for the objective are used (True or False) during rollup.
Boolean
False
1
This identifier should be globally unique, or at least unique in any scope in which sequenced activities might be used. The IMS Persistent, Location-Independent Resource Identifier Handbook [4] describes the recommended way to construct such an identifier.

SM.7   Objective Map

The objective map description (the set of attributes shown below) defines a mapping of an activity's local objective information to and from a shared global objective.

Each activity may have an unlimited number of objective maps.

By default, no objective information is shared between activities. If objective mapping is desired, each activity must define a set of Objective Maps to describe how local objective information is mapped to shared global objectives. The Objective Map data is evaluated whenever local objective information is processed, as described in the tracking model (see Tracking Model TM) behaviors. For any given local objective, a 'read' map with at most one global objective may be defined. Also, for any global objective, for any activity, a 'write' map with at most one local objective can be defined.

Simple Sequencing processes may reference the objective map data for any activity. Objective mapping does not occur if objective map data is not defined. Default data is used if the data is not instantiated for the activity, if needed.

No. Name Description Value Space Default Value
1
Activity Objective ID
The identifier of the local objective associated with the activity.
Unique Identifier1
None
Value is Required
2
Target Objective ID
The identifier of global shared objective targeted for the mapping.
Unique Identifier2
None
Value is Required
3
Read Objective Satisfied Status
Indicates that the Objective Satisfied Status (TM.1.1) for the identified local objective (Activity Objective ID), should be retrieved (True or False) from the identified shared global objective (Target Objective ID), when the progress for the local objective is undefined - Objective Progress Status (TM.1.1) for the identified local objective (Activity Objective ID) is False.


This operation does not change the Objective Information associated with the local objective.
Boolean
True
4
Write Objective Satisfied Status
Indicates that the Objective Progress Status (TM.1.1) and Objective Satisfied Status (TM.1.1) values, for the identified local objective (Activity Objective ID), should be transferred (True or False) to the identified global shared objective (Target Objective ID), upon termination of an attempt on the activity.
Boolean
False
5