Automatic Trap Detection: A Debugging Mechanism for Abnormal Specification in the IMS Sequencing Controls
• Learning attempt is stuck in an activity. Even though a learning activity is completed, the learner is blocked in the activity and cannot continue to pursue other learning activities. This situation can only be resolved by shutting down the LMS if the user uses the standard LMS provided by the ADL.
• Learning attempt is fallen into a vicious circle. A learning path results in a loop of a subactivity tree. Similarly, the ADL LMS needs to be terminated.
• Deserved activities are not identified for delivery. Sequencing rules cannot be fired. The situation forbids some Learning Objects to be presented.
1. Based on the Petri net model and the user-defined sequencing rules, our authoring tool generates an international representation of Petri net graph automatically. The representation is used in our detection algorithm. In addition, to illustrate the algorithm proposed, the visualized Petri net graph is used.
2. Two sequencing trap detecting methods are proposed based on tracing the Petri net graph. It is the first time that automatic testing of sequencing rules is implemented in a SCORM authoring tool.
• Foundation Constructs. The Foundation Construct is the atomic structure able to control the sequencing behavior of a cluster. This category includes four elements of Sequencing Control Modes according to the Sequencing Definition Model: Sequencing Control Flow, Sequencing Control Forward Only, Sequencing Control Choice, and Sequencing Control Choice Exit, from the SCORM specification [ 1]. The Sequencing Control Choice Exit can be applied to any activity in the Activity Tree. However, the Sequencing Control Choice, Sequencing Control Flow, and Sequencing Control Forward Only modes will have no effect if applied to leaf activities. Besides, Sequencing Control Modes can be enabled simultaneously to show the various behaviors by creating combinations of control modes.
• Operation Constructs. The Operation Constructs cover all sequencing behaviors described by the 12 compositions in the Sequencing Definition Model [ 1]. We can subdivide Operation Constructs into Condition Sets and Action Sets. Condition Sets illustrate Rule Condition, Limit Condition, and Rollup Condition. Action Sets illustrate all intended behaviors when a corresponding condition is set to true. For examples, Skip, Suspend, Rollup, etc., are examples.
1. It is hard to find all traps. There are 16 combinations of using Sequencing Control Modes in a cluster. Quite a lot of testing steps need to be tried before the LMS can detect all traps. The LMS (e.g., ADL LMS) has the activity stuck in a trap. The user needs to re-start the LMS and load the course again. This is very time consuming. In the case of using two or more levels of clusters, the combinations will be too complicated for testing using LMS.
2. A sequencing trap can be confused with the ordinary ending of navigation. In an ordinary LMS, in some stuck situations, it is not possible to tell if the activity is in a normal ending of navigation or in a trap. Thus, the user will be confused.
• Graphic characteristic for visualization. The graphic characteristic of Petri net supports a visible sequencing flow for the convenience of understanding.
• Formal analysis. Petri net is a formal process modeling technique with a precise definition to support workflow management. The technique was also proven useful in concurrent processing, distributed simulation, and multimedia presentation. Petri net is suitable to model the sequencing behavior of SCORM.
• Expansibility and hierarchy. The Petri net model can be extended to satisfy all possible combinations of sequencing rules. Moreover, subnet-oriented decomposition allows subcourses to be combined easily to decrease the complexity of computation.
1. is a finite set of places that consist of two subsets, the Ordinary Place subset (circle) and the Control Place subset (double circle), respectively. In the Ordinary Place subset, , each with the form of , is the parent place and the set represents the subnet (children) of .
where is the number of places, and we add one row for
Control Place by setting its value with available counts.
2. Set the parent place as the starting place
3. Randomly select a connected place in , where
3.1 If place is a place with Limit Condition, check the
i. If the value is greater than one, decrease by
ii. Else sequence is trapped.
4. If place selected in step 3 is the root, we have found a
If we cannot find any place for making process, sequence
is trapped, signal an error message.
Otherwise, repeat step 2 to 3, until all connected places
from place i are selected.
//Input: Whole course structure and Petri nets for each
//Output: Sequencing Traps occurs with error messages
1. Starting from a subtree , with the form of
and the height of is 2, where
is the root of this subtree and are all leaves
2. If we can find a workable path in Detection Algorithm of
, repeat step 1 until we examine all subtrees or in
step 1 is the root of the whole tree.
we concluded that we cannot find a workable path of
the whole tree.
• F.H. Lin is with the Department of Information Management, Chihlee Institute of Technology, No. 313, Sec. 1, Wunhua Rd., Banciao City, Taipei County 220, Taiwan. E-mail: FreyaH.Lin@gmail.com.
• T.K. Shih is with the Department of Computer Science, National Taipei University of Education, No. 134, Sec. 2, Heping E. Rd., Da-an District, Taipei City 106, Taiwan. E-mail: TimothyKShih@gmail.com.
Manuscript received 7 Sept. 2008; revised 22 Dec. 2008; accepted 29 Dec. 2008; published online 7 Jan. 2009.
For information on obtaining reprints of this article, please send e-mail to: firstname.lastname@example.org, and reference IEEECS Log Number TLT-2008-09-0072.
Digital Object Identifier no. 10.1109/TLT.2009.1.
Freya H. Lin received the MS degree from the Department of Informatics at Fo Guang University, Taiwan, in 2003 and the PhD degree from the Department of Computer Science and Information Engineering of Tamkang University, Taiwan, in 2007. She is currently an assistant professor in the Department of Information Management at the Chihlee Institute of Technology, Taiwan. Her research interests include adaptive learning, e-learning, Petri net, and data mining.
Timothy K. Shih is a professor in the Department of Computer Science at the National Taipei University of Education, Taiwan. As a senior member of the IEEE, he sits on the Educational Activities Board of the IEEE Computer Society. His current research interests include multimedia computing and distance learning. He was the founder and co-editor-in-chief of the International Journal of Distance Education Technologies (Idea Group Publishing). He is the associate editor of the ACM Transactions on Internet Technology and the associate editor of the IEEE Transactions on Learning Technologies. He was also the associate editor of the IEEE Transactions on Multimedia. He is a fellow of the Institution of Engineering and Technology (IET) and a member of ACM.