The educational technology and digital learning wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
OpenGLM main window

Open Graphical Learning Modeller (OpenGLM) is an open-source learning design authoring tool which supports IMS Learning Design (LD) at levels A and B. The tool was conceived to facilitate non-IMS LD experts in creating, sharing and reusing units of learning. To achieve this, OpenGLM focuses on two features that differentiate it from most other IMS LD authoring tools. First, it adopts a visual modelling metaphor that conceals the complex and unintuitive elements and structures of IMS LD from the graphical user interface. Second, it provides built-in search, import and export access to an open repository which hosts more than 80,000 educational resources ranging from single learning objects to full online courses.


The Open Graphical Learning Modeller (OpenGLM) is a learning design authoring toolkit that supports the authoring of IMS Learning Design (LD) units of learning at levels A and B. OpenGLM was developed in the context of the ICOPER project; it is open source software, available for download from SourceForge [3]. There are platform specific binaries available for Windows, Mac OS X, and Linux. It is a cross-platform Java application based on Graphical Learning Modeller (GLM), which was developed on top of the Reload Learning Design Editor’s Java code base in the EU project Prolix. Reload LD Editor was developed at the University of Bolton as part of a project that focused on the development of tools incorporating emerging learning technology interoperability specifications. OpenGLM thus builds on a stack of existing code developed in previous R&D projects. OpenGLM’s main add-ons to the original GLM include enhancements for supporting communities of practice in sharing IMS LD units of learning along with standardised learning outcome definitions by providing built-in features for search, import from and export to a large online repository––the Open ICOPER Content Space (OICS). The OICS is a repository for different types of educational resources containing about 80,000 openly accessible objects contributed by content providers from all over the world, including OU’s OpenLearn, OER Commons, MIT OpenCourseWare, to name a few.

The main goal of developing OpenGLM was to provide comprehensive and intuitive IMS LD modelling software, which reduces the complexity of the IMS LD specification to a degree where teaching practitioners are enabled to build IMS LD conformant units of learning. A subsidiary goal thus was to create translation mechanisms that interpret a graphical representation of a learning design and convert it to the required XML format as specified in the IMS LD information model. These goals were achieved by viewing the activities of learners and instructors as the modelling core around which to build other aspects covered by the IMS LD specification. The activities are graphically displayed and may be freely defined and arranged by the learning designer.

Using OpenGLM, teaching practitioners are enabled to intuitively create units of learning to be played in IMS LD enabled learning management systems. A new educational opportunity is created as the barrier for access is lowered, and thus the number of learning designers that produce IMS LD conformant units of learning may be increased; more units of learning may then be produced, exchanged, and evaluated as was one of the original goals of the IMS LD specification [1].


OpenGLM supports IMS LD levels A and B. The goal was to provide a visual modelling metaphor that hides the complex aspects of IMS LD. For instance, OpenGLM does not confront the user with IMS LD concepts like plays, acts, and properties. The OpenGLM main window is presented in the following figure.

OpenGLM main window

The main window is organised into three panes: The left navigation pane contains shortcuts to all OpenGLM features; the centre pane contains the actual content in the context of the selection in the left pane; and the right pane contains the modelling palette and a set of ready-to-reuse teaching methods. The right pane is only visible in the modelling mode (i.e. the orange-coloured part of the navigation pane).

OpenGLM’s visual modelling metaphor for IMS LD was conceived as described in the remainder of this section, whereby initial appearances of terms referring to IMS LD elements are printed in italics.

Learning and Support Activities

Activities are represented as rectangular symbols carrying the title of the activity and small icons referring to the activity’s contents such as linked activity descriptions, learning objects, etc. The activity’s fill colour reflects the colour of the role that is associated with it. A learning activity has a solid bounding box, while a support activity has a dashed bounding box.

Details of the activity can be edited by double clicking the activity symbol. In the edit dialogue (see figure below), it is possible to provide activity descriptions and other settings, as well as adding learning objects and services that are used by the activity. The terminology from the IMS LD specification was adapted for some of the concepts with more intuitive terms like add-ons, tools, and materials. The fact that IMS LD requires learning objects and services to be contained in environments is hidden from the user; the environment is created automatically (without any visual representation) when learning objects or services are added. Frequently used interactive activities like uploading files, writing a piece of text, etc., are offered without mentioning the property concept, which is used in IMS LD to capture role or person related data at runtime.

Learning activity editing dialogue

Learning objects can be added as resources either from the web via their hyperlink or as local, physical files. OpenGLM additionally allows the user to search for learning objects and other resources on the OICS and to add those resources to the unit of learning:

Adding a learning object from the Open ICOPER Content Space

Roles are represented as stick figures (see Figure 1); each role has a title and a colour, which can be defined by the modeller. Roles can be assigned to activities simply by dragging the stick figure and dropping it onto the activity symbol.

Activity Orchestration

The orchestration of learning and support activities can be achieved by connecting the activities with one of the routing symbols in the palette pane on the right-hand side (see screenshot above). This can be a connection (displayed as an arrow connecting the source activity with the target activity) as well as selection (fork), synchronisation (join), and end points. From the sequenced elements used in the unit of learning OpenGLM automatically creates the play, the required acts, and the activity structures for the forks and joins. However, these IMS LD elements are not presented to the learning designer in the user interface.

To facilitate the learning designer in building the unit of learning based on good-practice teaching methods, OpenGLM enables dragging one of the pre-defined teaching methods from the right pane (see screenshot above) and dropping it onto the modelling pane. These good-practice teaching methods are stored in the OICS in the form of IMS LD packages. Upon being dragged and dropped to the modelling pane, OpenGLM downloads the teaching method and places the contained activity sequence into the current unit of learning. The user can then adapt the pre-defined sequence and/or integrate it with the current set of activities.

Metadata and Learning Outcomes

Of course it is possible to edit the general descriptive metadata for the unit of learning, including the title, version, description, rights, prerequisites, learning outcomes, and other elements defined in IMS LD. However, OpenGLM goes one step further when it comes to defining the intended learning outcomes (see figure below; in IMS LD learning outcomes are called learning objectives.

Overview of intended learning outcomes

It provides the following learning-outcome related features:

  • Searching the OICS learning outcome repositories for existing learning outcome definitions, which can then be added as intended learning outcomes for the current unit of learning.
Searching for an existing learning outcome definition in the learning outcome repository
  • When the user creates a new learning outcome (see figure below), the newly created learning outcome definition is not only added to the current unit of learning as an intended outcome, it is also sent to a learning outcomes repository on the OICS, allowing it to be reused by other learning designers in other units of learning.
Defining a new intended learning outcome
  • While in IMS LD a learning objective can be provided as any kind of resource (e.g. plain text, binary document, etc.), OpenGLM adopted the IEEE Reusable Competency Definition (RCD) [2] specification by describing each learning outcome with title, description, and type. Moreover, OpenGLM allows the learning designer to define for each learning outcome the proficiency level of the outcome according to the numeric scheme introduced by the European Qualification Framework for lifelong learning (EQF) [3].


At any time, the learning designer may save the unit of learning and export it into an IMS LD compliant ZIP package. If there are any errors in the unit of learning (e.g. activities that are not connected to any other activity), OpenGLM will issue a user-friendly error message with explanations.

If there are no errors, the unit of learning can be exported as an IMS LD package either on the local computer’s hard drive, or to a remote unit of learning repository (see figure below). In the latter case, the unit of learning can be uploaded to any collection on the remote repository where the current user has write privileges. All other users with read privileges will subsequently be able to find and import this unit of learning into their own OpenGLM environment. By supporting this kind of online repository-based sharing, learning design communities of practice at individual and organisational level are provided with a powerful toolkit to manage their shared units of learning.

Exporting the unit of learning to the Open ICOPER Content Space

Search and Import

As mentioned earlier, OpenGLM offers features for searching in and importing from the remote unit-of-learning repository. The search dialogue window (see figure below) not only offers keyword based search; it also allows to specify filters so the keywords are matched in specific parts of the units of learning, e.g. the intended learning outcomes, implemented teaching methods, or simply in the title and description. The units of learning that match the query are displayed in the result box. By clicking on the information icon, OpenGLM displays all information on the selected unit of learning, like full description, learning outcomes, end user language, and so forth. By clicking on the import button, the selected unit of learning is downloaded from the repository and visualised in the modelling pane. This feature enables learning design communities to build on each other’s units of learning instead of starting from scratch every time.

Searching and importing an existing unit of learning from the Open ICOPER Content Space


We first tested OpenGLM on June 17 2011 under Ubuntu (Versions for other systems exist) and it was working. As of April 2014, the project seems to be alive and it works under windows 7.


Installation under Windows

  • Download latest version from Source forge
  • Unzip archive in a directory
  • Click on oglm.exe
  • use it.

Installation under linux

  • Download latest version from Source forge
  • Unzip archive in a directory
  • Type
  • use it.


  • As of April 2014, there is a problem with Eclipse under Linux (Ubunut 12.04), i.e. the system will not work.
Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library ... OpenGLM/plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.0.200.v20090520/ which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.

The execstack trick above won't work. Maybe the packaged Eclipse version won't work with current Java (1.7) and 64 bits. When I first met Java (sometimes in 1995) I didn't believe their "run everywhere propaganda". I am glad I was right ;)

Additional Resources


  1. Koper, R., Olivier, B.: Representing the Learning Design of Units of Learning. Educational Technology & Society 7(3), 97-111 (2004)
  2. IEEE: IEEE Standard for Learning Technology - Data Model for Reusable Competency Definitions (1484.20.1-2007) (2008)
  3. European Commission (ed.): The European Qualifications Framework for Lifelong Learning. [1] (2008)
  4. Derntl, M., Neumann, S., Griffiths, D., Oberhuemer, P.: Report on usage of and recommendations for instructional modeling specifications. ICOPER Deliverable D3.2, [2] (2011)
  5. Derntl, M., Neumann, S., Oberhuemer, P.: Community Support for Authoring, Sharing, and Reusing Instructional Models: The Open Graphical Learning Modeler (OpenGLM). Proceedings of IEEE ICALT 2011, Athens, Georgia, USA. IEEE (2011)
  6. Derntl, M., Neumann, S., Oberhuemer, P.: Opportunities and Challenges of Formal Instructional Modeling for Web-based Learning. Proceedings of ICWL 2011, Hong Kong. Springer-Verlag (2011)