Designing a Learning Design Engine as a Collection of Finite State Machines
Hubert Vogten, Colin Tattersall, Rob Koper, Peter van Rosmalen, Francis Brouns, Peter Sloep, Jan van Bruggen, Harrie Martens, Open University of the Netherlands, Netherlands
International Journal on E-Learning Volume 5, Number 4, ISSN 1537-2456 Publisher: Association for the Advancement of Computing in Education (AACE), Waynesville, NC USA
Specifications and standards for e-learning are becoming increasingly sophisticated and complex as they deal with the core of the learning process. Simple transformations are no longer adequate to successfully implement these latest specifications and standards for e-learning. IMS Learning Design (LD) (IMS, 2003b) is a representative of such a new specification in the field of e-learning. Its declarative nature, expressiveness, and scope increase the complexity for any implementation. This probably is the largest hurdle that stands in the way of successful general deployment of this type of specification. This article describes how an engine for interpreting LD can be designed as a collection of finite state machines (FSMs). A FSM is a computational model where a system is described through a finite number of states and their transition functions that map the change from one state to another. In the case of LD, each state can be seen as constructed from a set of properties, which can either be declared explicitly in LD or implicitly by the engine. State transitions are implemented through a mechanism of events and event handlers, completing the finite state machine. By reusing certain types of properties across FSMs it is possible to create an automatic propagation mechanism taking care of group dynamics without the need for any additional efforts. With the FSMs in place, personalization, one of the key features of LD, becomes a simple task. By combining the principles presented in the article, it becomes clear that an elegant design becomes feasible. This is demonstrated in the first actual implementation called CopperCore (Martens, Vogten, Rosmalen, & Koper, 2004).
Vogten, H., Tattersall, C., Koper, R., van Rosmalen, P., Brouns, F., Sloep, P., van Bruggen, J. & Martens, H. (2006). Designing a Learning Design Engine as a Collection of Finite State Machines. International Journal on E-Learning, 5(4), 641-661. Waynesville, NC USA: Association for the Advancement of Computing in Education (AACE).
© 2006 Association for the Advancement of Computing in Education (AACE)