about
  download
  documentation

documentation

The purpose of this application is to help informaticians determine the data requirements from end users, before new databases are created, by involving them in the schema-design process.

Introduction

As science progresses, it is becoming ever more collaborative and multidisciplinary. This poses new challenges for the scientists involved, who fi nd themselves having to communicate their requirements, fi ndings and conclusions to colleagues whose areas of specialization often lie outside their own.

This often poses a challenge in agreeing common data requirements at the start of a project. The collaborators may well not know each other very well, and yet they need to quickly understand what kinds of information their partners will be producing and what is important to share. Each group may typically rely on its own informaticians, who may not themselves have any laboratory experience, to organise the data collection and sharing with other groups. Partly because of the diverse skill sets, and partly because of the number of people involved, what ought to be a simple task can easily get out of hand, resulting in much time spent producing overly complex models.

The Schematographer is an application, written as part of the omixed project, to aid the creation of schema files, which can then be used to instantiate new data resources. Like a UML modeller, it provides a visual drag and drop interface to schema design. A palette containing basic types can be used to create new object types and assign properties to them graphically. Relationships between object types can be modelled by dragging links onto them, and likewise validation constraints can be imposed. Unlike a UML modeller, the basic types and the kinds of relationships available are restricted to only those supported by the omixed server, whose backend is a relational database. Nevertheless it is quite possible to create fairly complex models if required.

Requirements

The application is built for the Adobe Flash platform, using the freely available Flex framework SDK. There are two versions:

The browser based version is intended as a demo really. It can't access the user's file system to load and save schema files, whereas the desktop version is intended for real use. That said, many colleagues have started off designing their schema using the browser-based version, saving the XML by copying and pasting from its XML editor window.

The user interface

The window is separated into 3 principle elements:


Figure 1 - the user interface
Shown here are the principle GUI design elements. On the top right a menu and a dock able to store dockable panels, which is currently storing a palette of schema entities. This palette can be used to drag new schema elements onto data model panel.

Initially, the only panel visible inside the docking area is the Palette. It's purpose is to act much like a palette in any design program, which is to allow you to select the kinds of things you wish to draw. However, in this case you are meant to drag the palette elements onto the data model canvas, which will then be populated a with newly created element of the same type as the one you dragged. Also, unlike most design programs, the elements here represent data types with a specific meaning in an omixed resource. In this respect, this is more like a traditional UML modeling tool.


Figure 2 - the palette
A legend describing the palette icons and their associated omixed schema elements.

Once familiar with the omixed schema XML structure, many informaticians prefer to edit schema files directly in a text editor. However, doing so leaves the domain experts in the dark until the database is built and interfaces run off of it. The Schematographer is useful in this respect because it provides the domain experts with an instant visual feedback of how the informatitician has interpreted their latest request.

To help the informatician with this task, we provide an XML editor window that allows the schema's XML to be pasted directly into the application, causing the model to be repainted. This Schematographer's editor isn't very advanced, because we assume the editing will take place in the informatician's editor of choice, before being pasted in.


Figure 3 -the schema XML editor
The application is designed to produce graphical models for domain experts, but includes advanced features like direct schema editing to help informaticians get the most out of it.

The application is designed to produce graphical models for domain experts, In our experience, the schematographer tends to be driven by informaticians in meetings with domain- expert scientists. The ease of which concepts can be constructed and deconstructed in front of the user facilitates the communication between the scientists from different disciplines so that they more easily come to a consensus view. Though it is crucial to involve the domain experts, we fi nd it is important that informaticians be the ones who drive it because a little understanding of data modelling techniques helps them suggest simpler solutions, helping to keep models in check.

Once a schema is created and agreed on, a new omixed data resource can be easily deployed, and with it the omixed ecosystem of software tools able to call its back end web services becomes available.

Summary

The Schematographer has been designed to facilitate the design of omixed databases. In doing so, a tool was produced that we have found to be be very useful in consultation with domain experts. It is still very much under development, however, and we are planning to extend its capabilities as the project develops.