Lecture M2. A Perspective on Concurrent Systems

M2.1. Varieties of Concurrent System

Computer Science view of concurrent system

Communicating Sequential Processes

abstract math models

Commonsense Concurrency
= everyday concurrent systems

doors, clocks, cricket bats, timetables

computers, electronic, electro-mechanical devices

fly-by-wire, the intelligent car or house

VR, customised environments for the disabled

computer-aided education, CACW

Problem of scaling up mathematical techniques?
 
Harel: Biting the Siver Bullet

Lotos, SDL, Petri Nets

expressive power + intelligibility vs. precise operational semantics

Motivation

practical techniques + theoretical principles

informal & human-centred perspective on concurrency

"everyday life" as concurrent system

CCS model

public commonly agreed semantics

logically sound predictions

behaviour of generic systems

cf. everyday life
subjective

located in the here and now

uncircumscribed and typically unpredictable


Key issues:

agent rather than event / process as primary concept
 

M2.2. Commonsense Concurrency

Dictionary definitions:

concurrent

running, coming, acting, or existing together


concurrence joint action, coincidence, assent

"Existing together" => an external observer


external observer

= mind in which system is concurrent

= the creator of a concurrent system


 

Interpret fundamental notions in concurrent systems:

concurrency, agency, dependency, action, state

wrt interaction between a person-like agent & the world.
 

Empirical Modelling

... used to represent the external observer's conception of a concurrent system, as it evolves, typically incrementally, through experience of the system

representation via environment where observer uses perceptualisation to imitate the interactions in a concurrent system as currently understood

perceptualisation is typically visualisation:

visual metaphors, textual annotations, analogue representations


Use formal models where subjectivity, discretion over viewpoint, discrimination of essential entities resolved

external observer = objective observer

when observables + agents are known to conform to the operational semantics of the model

Uses for Empirical Modelling?

in selection of observables and agents for closed-world

.... also has potential beyond formal models

e.g. specifying reactive, social, Virtual Reality systems


M2.3. Agency in Commonsense Concurrency

Agency = attributing state-change to its primary source

Commonplace in commonsense concurrency:

who's been eating my porridge?

is there a doctor on board? etc

Single simple characterisation of agency??

cf. interaction between agents ...

.... as represented by 4 concurrent system scenarios:

1. waterfall + birds singing
2. listening to string quartet
3. observing a meeting
4. using word-processor
What is agency? (1)

1: waterfall + birds singing
 

no communication? nor causal connection?

gravity an agent in waterfall?

waterfall and birds as commonsense agents:

"that's the bird that makes a whooping sound"

"you can't hear it because of the waterfall"

2: listening to string quartet
 
beating of time = primary cause?

variations from strict time etc

attribute to performers? or composer?
effect of breaking of a string?


What is agency? (2)

3: observing a meeting

autonomous members, explicit communication

Private responses visible to external observer?

Status of the meeting as an agent?

current agenda item attribute of meeting

state-changes are prerogative of the meeting

4: using word-processor
word-processor as agent?

its state changes only through my actions
BUT I may interact with it in an experimental mode

can function erratically

sunlight falls on dust on the screen

keys may cease to respond


can serve a function beyond scope of design

present a poem prettily

give me a headache

What is an agent?

Several meanings in dictionary definition:

 
agent

a person or thing that acts or exerts power

any natural force acting on matter

one authorised or delegated to transact business for another

Many interpretations of "agent-oriented" in CS

Mathematical / logical formalisation? cf Luck & d'Inverno
 
 

Empirical Modelling alternative principled (?) approach:

Agency is in the mind of the external observer

essentially empirical and subjective, shaped
by the explanatory prejudices & requirements
by past experience of the system
M2.4. Analysing Commonsense Concurrency

Empirical Modelling

construct an artefact that reflects the external observer's conception of the concurrent system
typically computer-based
artefact metaphorically imitates states of the system
open to exploration in the same manner
NB not necessarily a VR representation
conceptual similarity not verisimilitude
cf. library database vs. a VR library.
External observer insight via
Observation alone cf. cosmology
direct and directed intervention
"off-line" experiments


Also uses

legacy of off-line experiments
previous experience of similar systems
e.g. gravitational phenomena for cosmology.
 
Key concepts in insight:
observables, current state, dependency, agency


2.4.1. Observables and State

Observables environmental features with an identity

"The pigeon on the TV aerial on the house next door"
Observables can be abstract
"That's the 9.15 London train arriving"
"What's the current flowing through this circuit?"
"This is tied with a reef knot"


Need experimental procedures to determine

whether they are currently accessible
and if so, to determine their current status
Choice of observables in a system reflects "what I'm concentrating on"
must have some degree of persistence, BUT

typically come and go out of presence / existence

commonsense object / entity = cluster of observables coincident wrt presence / existence


States of mind

presence of observables = "current state of mind"

State of mind like real-world location

can dwell at ("I'm concentrating on this at the moment")

can leave ("let's have a cup of coffee")

can return ("back to work now")

Continuity and change for a particular state of mind
("I've corrected the spelling in the first paragraph")
State change = a change to observable in state of mind
 
  Status of observables

Further classification of observables via

can be directly ("instantly") apprehended?
by the external observer?

by agents within the system?

Other agents as directly apprehending as in

forces on wheels of a car

voltage across a light bulb

? agent as capable of or responsible for changing:
status of the handbrake

illumination in the room

Identity, status and integrity of observables and agents
all empirically determined, no absolute criteria

cf. Kent's Data and Reality

2.4.2. Agency

Commonsense agency is attributing state change

often objects / entities
"the centre-forward scored the goal"

"the wind blew the window open"

BUT which commonsense objects are agents?
Goal is scored
by the referee, not the player?

cf. Maradona - or the Hand of God?

? also need a ball, goal posts and a goal line

Also changes in mind of external observer
"I didn't use to like that, but I do now"

"I should be looking at that this way"

Primitive observable can have agency
"I was so pleased when I saw a tick against my answer"


Empirical Modelling position (cf commonsense view):

Our view of an agent is a function of

past system experience
knowledge
present context


3 views:

View 1: every observable or object is an agent, as is the external observer

any observable / object = potential cause, cue, trigger for action
View 2: agents are objects responsible for particular state changes
Potential state changes <=> particular agent present

flag moves only if wind
train departs only if a stationmaster

Also stronger association ("I saw you do that")

View 3: virtual agency in the closed-world
Context for observation circumscribed
Agent existence and presence secure
Stimulus-response operation of agents reliable
behaviour of agents "=" behaviour of the system
Development of Agent Views

In Empirical Modelling activity

tendency for View 1 --> View 3
View 1: agent concept is vacuously broad
View 3: agent-orientation redundant / impotent?


Empirical Modelling focuses on View 2

i.e. status of entities as agents uncertain

View 1 --> View 2 :

does an entity influence state changes?
View 3 --> View 2 :
all eventualities considered / encountered?
Exploration may lead to reclassification
"I've never seen it do that before"
"I didn't know I could do that"


2.4.3. Interaction and Dependency

External observer = archetypal agent

directly experiences

novelty of action or shift in perspective

what it is to be surprised by an interaction

Surprise?
 
cf. The Elizabethan Chain of Being

attributed each state change to the appropriate agency

... kings, princes, peasants ... so "Acts of God"
lower expectations of reliable interaction

unpredictability and unreliability pervasive

... so not much View 3 agency?
 

So: capacity to be surprised <--> explanatory framework


 

Agency and Surprise

potentially many surprises for scientific reductionist

!! a Rolls Royce gives birth to a Mini?
 

agency = antidote to surprise

cf. "With God, all things are possible"
Rationalist view:
agency is recourse when expectations confounded
i.e. an acknowledgment of ignorance
Agent becomes View 3
when its interactions incapable of surprise


cf. Paradox of Experiment

experiment

= activity where outcome uncertain
= activity where expectations clear
BUT ... two views of very same activity
 
 
Agency and Interaction
 

Typical interactions of two kinds:

confirming expectation + exploration
apprehending agency =
first recognising extent of our influence
then observing state change beyond our control
This is an empirical classification of experience
e.g. when first recognise control over mirror image?
 
Agency first manifests in View 1 --> View 2

determining our influence over our environment

<--> identifying dependencies between observables
cf. Dennet: "the basic method of obtaining self-knowledge ... about our own internal states, tendencies, decisions, strengths and weaknesses" : Do something and "look" to see what "moves"
 

Interaction for Identification of Self

A chimpanzee can readily learn to reach through a hole in the wall of its cage for bananas, guiding its arm movements by watching its own arm on a closed circuit TV camera mounted quite some distance from his arm ... a decidedly non-trivial bit of self-recognition, depending as it does on noticing the consonance of the seen arm movements on the screen with the unseen but intended arm movements.
Empirical Modelling requires human-like agency:
being able to "Do something"
perception of state-change
perception of identity ("look to see what moves")
memory and hence expectation
power to correlate action with what moves
cf. human-computer interaction in spreadsheet
 

Empirical Modelling and Agency

Development proceeds from

1-agent --> multi-agent systems
1-agent system as spreadsheet set up and use
M2.5. Summary

In commonsense concurrency and Empirical Modelling:

interaction is central to concurrent system concept
concurrency, agency, dependency, action, state
are defined empirically via interaction between a person-like intelligent agent and the world


M2.6. Concluding Remarks

Representation of commonsense concurrency cannot be satisfactorily addressed by traditional formal methods?

formal methods => closed worlds
even if extensible, closed world => View 3 agents
cf. environments of Empirical Modelling
View 1 + View 2 + View 3 co-exist
 Solaris sometimes crashes
can still make discoveries in Unix
Empirical Modelling has a means for representation