T4: Visualisation and Concurrent Systems Modelling

T4.1. Role of Visualisation Tools

What connection has visualisation with concurrent systems modelling?

ARGUE

To understand a complex system, must:


 

Visualisation is the means to make activity at the agent interfaces "visible" to the designer

cf approach an engineer takes when building a complex device.
 
 

Analogy with conventional engineering

Engineer deals with components whose interaction is invisible

e.g. via electrical currents or hydraulic pressures
 

In constructing or diagnosing the faults in a complex system

engineer attaches equipment to the system

to make the interactions between components visible


measurements should reflect the activities they record

as accurately as possible



Accuracy

= precise correlation between stimulus and response

Ideally, a reliable and well-understood functional relationship

definitive scripts <--> interface mechanism to express correlation


visualisation aspect of the computer model of a complex system

<--> engineer's measuring instruments


"interface mechanism" because resembles mechanical linkage


that reliably and instantaneously transmits state change



Probing the system ....

The engineer's design tools:


The engineer probes the system by experiments - initiating changes and studying the response
 
 

Many such experiments <--> activities ultimately carried out by other agents in the system
 
 

Visualisation tools = "measuring instruments" to aid concurrent systems design
 
 

Desirable to

Definitive scripts can achieve this objective;only need appropriate references for use in the RHS of formulae.

Visualisation unbounded:

why so many definitive notations?

Compare

what an engineer conceives as component interaction

e.g. in propagation of signals, or application of forces

with

what can observe directly, through visual or audible output

Typically

conceptual view of interactions within the system uses notions without visual significance

=> developing visualisations for such concept is a process that has no clearly prescribed limits
 

also other forms of output we experience directly, e.g. sonification
 

Each definitive notation for graphics is in its own way

"converting abstract concepts into something visual".
 
 

Each notation specifies a different relationship between

what the designer in mind <--> what is observed on the screen



Single-agent definitive programming
 
 

use of definitive notations for visualisation
= single agent definitive programming where sole state changing agent is the system designer


Visualisation helps designer

For instance, in the VCCS:
the speedometer

the cruise controller interface

the brake and pedal

represent the interface to the driver of the vehicle
the animation of the forces acting on the vehicle

the diagrammatic position of the vehicle

the clock

the throttle

assist the designer in understanding how the controller performs.
 
 
 
 

Definitive scripts for visualisation

- the representation of agent views

single agent = designer

designer has perspective on the views of many different agents
Constructing definitive script for visualisation is

an exercise in knowledge representation, recording

[ cf fundamental notions of LSD specification ... ]
 

In the VCCS:

the definitive programmer can make free with the script

the designer can modify it in any way that is plausibly consistent with the real-world semantics

the mouse user can interact via the driver's interface


Analysis and representation of agent perceptions and privileges

is a first step towards

modelling and animation a concurrent system



T4.2. Some Illustrative Examples
 
 

T.4.2.1. The SCOUT Notation: Basic Principles
 

Assume designer-computer interaction via the screen, the keyboard and the mouse

Consider visualisation in terns of "state-changes to the screen"
 

different symbolic representations model conceptually different kinds of observation
 

Three simple ways to describe patterns on the screen:

window layout Scout

textual display

2d-line-drawing DoNaLD

Scout allows the designer to describe the whole screen layout

by devising windows in which to display

[Design and implementation of Scout is work of Simon Yung]
 

T4.2. Some Illustrative Examples (cont)

T4.2.2. The lines.sdae script

lines.sdae script is an exercise in visualisation for mathematics

animates combinatorial structures associated with planar configurations of 4 lines

 
lines.sdae illustrates:
 
  • combining conceptually different types of visualisation

  •  
    two DoNaLD + two ARCA windows

    combined and annotated within the SCOUT environment.
     

    Lines in ARCA and DoNaLD have a very different significance

    ARCA diagrams are abstract combinatorial graphs:

    can trace path of coloured directed edges in an ARCA diagram

    cf studying transitions in a finite state machine

  • dependency relationships that cross conceptual boundaries
  • configuration of lines Donald

    ~> ranked poset as functionally dependent diagram

    ~> ranked poset as combinatorial diagram ARCA

    ~> path through a Cayley diagram

    e.g. map oriented line into coloured combinatorial edge

    map sequence of ranks into combinatorial path

    handled by "bridging definitions" + an action!

    T4.2.2. The lines.sdae script

    Idealisation ....

    mathematical idealisation associated with the definitive script

    variables in the definitive script <---> Platonic points & lines

    visualisation is only as accurate as the computer arithmetic and screen hardware allows

    "can observe what we cannot simulate exactly on a computer"

    cf numerical solution of differential equations

    T4.2.3. Putting rooms into windows: roomviewer.s script

    roomviewer.s illustrates use of Scout


    DoNaLD room appears in 2 windows, differently displayed

    In Scout independently specify

    Can exploit


    The roomviewer.s script (cont)
     
     


    From Visualisation to Animation

    definitive script can be used to model agent privileges

    to generalise single-agent definitive programming:

    shift emphasis from

    identifying agent privileges

    - what can agent do in principle,

    to enabling conditions for exercising them

    - when and how it acts


    In animating, complement Scout with actions in Eden:


     
    NB in generalising single-agent programming traditional sequential programming not a natural special case

    No reason why not parallel redefinition as in "designing VCCS interface whilst simulation is running"

    conventions to restrict agents to exercise privileges in set pattern

    The JUGS program as an illustrative example .....