Child pages
  • Virtual Worlds Profile
Skip to end of metadata
Go to start of metadata

MVP - Virtual Worlds Profile


The virtual worlds profile will be based upon the experiences and the MVP usage of two systems: ARIADNE from Northern Ontario School of Medicine (NOSM) and PIVOTE (PREVIEW Immersive Virtual Training Environment, from Daden Ltd.

The two systems were both designed initially to work with the virtual world Second Life ( developed by Linden Lab. However, the systems are designed and structured in such a way that interfaces with other virtual worlds could potentially be created in future.

Description of PIVOTE

The PIVOTE system was designed by Daden Ltd. to allow virtual patients to be played in Second Life by multiple avatars. The system consists of a web application, written in Perl, which processes the bulk of the case logic. Scripts written in Second Life respond to actions from in-world users, trigger in-world responses and send HTTP requests to the PIVOTE application. The response to this request is then displayed in-world to users.

PIVOTE uses the MVP xml files as its native data storage format, as opposed to having a separate database. As a consequence there is no need for any import and export procedures to construct the MVP xml files. The MVP files are stored on the web server running the PIVOTE application. There is not currently an automated process for constructing an MVP and SCORM-compliant package from the system, but this can easily be achieved by manually constructing the package using the existing case MVP files.

Description of ARIADNE

The ARIADNE system was designed by Northern Ontario School of Medicine and is closely integrated with the OpenLabyrinth virtual patient system, also developed by Northern Ontario School of Medicine. The OpenLabyrinth system is also being considered in the development of the branched profile.

ARIADNE allows virtual patient cases to be constructed using the standard OpenLabyrinth tools, and shares a database with an installation of OpenLabyrinth. Setting a number of additional parameters on an OpenLabyrinth case allows it to be played in Second Life using ARIADNE. The ARIADNE system is able to trigger events such as animations in Second Life, providing additional impact in the virtual world to support the case content.

More specifically, ARIADNE works in two ways:

1) it augments an existing OL case at the authoring stage by configuring SL content and actions for each node
2) it handles the messaging between OL and SL ensuring that when a node is rendered in OL that all appropriate SL content is also activated, in the appropriate sequence

Since the ARIADNE system shares a database with OpenLabyrinth, the same tools and processes are used to export MVP and SCORM-compliant packages from the system. OpenLabyrinth fully automates this process, allowing compliant packages to be easily created.

Usage of MVP Elements

A spreadsheet listing the current usage of MVP elements and allowing comparison between the two systems has been populated and can be found at At first glance, with the exception of the Virtual Patient Data, the two systems appear to support a comparatively similar subset of elements, albeit with a number of key differences.

The PIVOTE system only supports one child element of VirtualPatientData; VPDText is used to contain all text based content that is made available to users. In addition, although it supports the use of links in the activity model, the bulk of PIVOTE cases use a global navigation model which allows you to navigate to any other node (whose NavigateGlobal property is True) from any point in the case.

In contrast, the ARIADNE system supports all child elements of VirtualPatientData, and renders these as an unformatted text stream. Like its compatriot system OpenLabyrinth, Ariadne makes extensive use of links in the Activity model.

Given the wide range of elements used by both systems (indeed, across the four XML files, only 9 elements are not supported by either system), it is clear that the virtual worlds profile will in all likelihood include all elements currently defined in the MVP specification.

Discussions revealed that both systems either currently use or propose to use a number of extensions to the MVP standard in order to store additional content. This content is required to implement and control the in-world events and actions, and would otherwise have to be stored in non-standard data formats or in-world, having a negative impact upon the portability of cases between the system. As a result, the key consideration for the Virtual Worlds profile will be whether common extensions for the two systems can be defined in order to increase the potential for transfer of cases between systems and to minimise the effort required to do so.

It may be that data cannot be sufficiently abstracted at this time (not least because there is still a substantial amount of R&D involved with both platforms) to be commonly executable between systems but some kind of semantic marker can be included to guide 'replumbing' SL connectors in a different system context.

Profiling Activity

Progress Update - 12/11/2009

As discussed during working group call on 23 October 2009, a Google docs spreadsheet has been created listing the available MVP elements at

The spreadsheet is open for all to view without requiring a Google login.

This spreadsheet has been populated for the PIVOTE and Ariadne systems, providing details of the MVP elements currently used by the systems and the nature of the usage (i.e. multiplicity and any other notes). A request has been posted to the PIVOTE discussion board for any other implementers of the PIVOTE system who may have modified the elements used in their implementation or who may have added extensions to also populate the spreadsheet so that their usage and requirements can be taken into account. To date there have been no respondees to this request.

An unpopulated copy of this spreadsheet has been created for the use of any other profiling groups that may require it. A new copy can be created by visiting the link below.

Rachel Ellaway (NOSM), David Burden (Daden), Emily Conradi (SGUL) and Luke Woodham (SGUL) are meeting at St George's University of London (SGUL) on 12 November 2009 to discuss the virtual worlds profile and potential extensions that may be required. Roger Sanche (NOSM) is to join the meeting using Second Life. Progress from this meeting will be reported back at the next working group call on Friday December 11th.

Progress Update - 11/12/2009

On 12 November 2009, a meeting took place at SGUL to discuss the profile. The meeting was attended by Rachel Ellaway (NOSM), Roger Sanche (NOSM, via Second Life), David Burden (Daden) and Luke Woodham (SGUL). A general discussion took place regarding the nature of the two systems and their use of the two systems, offering the opportunity for those present to familiarise themselves with each of the systems as much as possible.

It was determined that the nature of proposed or existing extensions would be critical for the Virtual Worlds profile if it was to offer any promise for the useful transfer of some or all case data between systems. With this in mind it was agreed that representatives of both systems would produce a white paper style document detailing their proposed use and requirements for extensions. When both documents are complete these proposals can be studied for commonalities, and if potential for such common features exists then these can form the basis of the Virtual World profile proposals.

The document produced for PIVOTE by Daden can be found here.

  • No labels

1 Comment

  1. You've written a passage about "devices" and added a new attribute to DAMNNodeItem. Does this still validates with the original MVP schema files? If not - why didn't you use the XtensibleInfo for that?

    Secondly you write that "For any MVP VW Profile XHTML should be forbidden within VPDText." Can you support basic formatting styles (bold, italic, font-size) or nothing at all?

    Thirdly, can you please upload an example (real life) MVP object and/or an example Meta-MVP file?

    Thanks for your great contribution!