We provide here a collection of examples of interaction models taken from our test cases, based on areas such as bioinformatics, business and emergency response.

Visualisers are small user interface modules that are used to allow the user to satisfy constraints in an interaction model. They are entirely distinct from the user interface, but the user interface is responsible for providing a means for displaying them on the screen. Visualisers are implemented in the same way as OKCs.

Visualisations can be suggested through the use of annotations in the LCC. For example, the getMyName constraint might be annotated in the LCC as follows:

@annotation( @constraint( getMyName(N) ), visual( qask("Please enter your name", N) ) )

As with other annotations, the first parameter defines the constraint to which the annotation is associated. The second part of the annotation utilises the "visual" annotation label. The definition of the visual annotation refers to a specific visualisation, in this case "qask" which asks the user a question.

How qask is implemented is independent of both the OKC and (potentially) the user interface. It is, however, specific to the platform on which the visualisation is running. For example, an image viewer provided on a mobile phone will be different to that provided on a desktop PC. It could be that specific peers and user interfaces that implement specific applications on top of the OpenKnowledge system will have specific visualisers that provider greater user interface integration, however, these interfaces must be robust to changes in the network that might mean different interaction models are used and therefore different visualisations are requested.

Egglue Powered