Lecture M1: Overview and Introduction

Overview of the module

4 parallel streams of activity:

Case studies:

Vehicle Cruise Controller Simulation (VCCS)

Railway Station Animation

Digital Watch Simulation

Tutorial Introduction to Software Tools

Practical exercises, based on a cricket and railway simulation

Seminars

Administrative issues

 

Timetable

Introductions to Personnel

Assignments

Sources:

• papers

[B92] and references therein

Booch, Deutsch, Backus, Harel, Cantwell-Smith, Baldwin

• books

William James, Lamb, Davis

• software

public files in the ~wmb/public/demos directory

sources for the translators and interpreters

• documentation

eden and scout, theses

online documentation is accessible on www via the

Empirical Modelling

link in the Software Research section for the Dept entry

 

Definitive Principles for Modelling and Programming?

 

top-down

Seminars

WHY? motivation & philosophy

issues

 

VCCS as a case study WHAT?

techniques

HOW? software prototypes

Tutorials

bottom-up

Themes of the Module

problems of general-purpose parallel programming

bound up with fundamental issues and concepts

in concurrent systems modelling

can't be properly addressed

in the traditional mathematical manner by

"abstracting away from the application"

concerned with relationship between form and content

and content involves real-world illustrations:

the electronic cat- flap, the railway station animation

the room layout, the cricket simulation etc.

get new perspective on programming in general

and parallel programming in particular

BUT – warning!

• won't always directly address

concurrency / conventional programming

 

M1.1.

Introducing the Vehicle Cruise Control Simulation (VCCS)

Software case-study considered by Booch and Deutsch

Our version due to Ian Bridge and Simon Yung

 

Source available in ~wmb/public/demos/cruise

Dynamic model of vehicle <--> family of Eden files (ref main.e)

Visualisation and interface file is cruise.s.

Two ways to view:

Animation of requirements for reactive system.

Exercise in engineering design and simulation.

Construct and animate agent-oriented model by:

• identifying state-changing agents in the VCCS

• describing their roles

• creating an interface for designer to play the role of the driver:

simulating operation of brake, accelerator and cruise controller

 

 

Components of the animation display ....

• vehicle, with forces acting on it

• speedometer

• cruise control interface

• brake and accelerator

• position of vehicle on road

• clock, displaying time elapsed in simulation

• internal throttle position, indicating effects of use of accelerator and action of the automatic throttle

Functions performed in the simulation ....

• dynamic model of the vehicle, based on environmental forces and power output of the engine

• controller with simple feedback mechanism

• switches and buttons for the driver to operate

 

More significant than what simulation does is how it is evolving:

• simulation was developed incrementally

• dynamic model and visualisation were independently developed

• designer can make further changes easily

• model has explanatory power

designer can explore the roles of the component agents and the way in which they interact.

 

Key idea: modelling based upon observation and experiment.

 

M1.2. Nature and structure of the VCCS specification

 

Prototyping based on 3 software tools developed at Warwick:

eden an evaluator / engine for definitive notations [YWY]

donald a definitive notation for line-drawing

scout a definitive notation for text and window layout [YPY]

eden = interpreter for a general-purpose programming language.

donald and scout = translators that act as preprocessors for eden.

 

A definitive notation

is a simple formal language

used for expressing scripts of definitions of the form:

variable = function of other variables and constants.

Warning! definition ia a technical term in this module

and we (ab?)use the term definitive to mean "definition-based"

Definitive notations characterised by

• the types of the variables on the LHS

• the operators that can occur on the RHS

 

Values of the variables <--> observable quantities

E.g. in donald – a definitive notation for line drawing

• variables define points and lines in the plane

• donald script defines a 2d line-drawing

 

 

Basic principle

A definitive script is viewed as defining a state:

to change the state, typically

redefine a variable in the script, or else

introduce a new definition

 

The prototyping tools

 

Most of our software prototyping uses a UNIX pipeline:

scout <inputfile> | donald | eden

In the cruise.s file, scout, donald and eden definitions are

differentiated via the %scout, %donald and %eden annotations.

 

Have X-application tkeden combining scout, donald and eden.

For practical work, use

tkeden <inputfile>

Pipeline approach still useful for

• interfacing our tools with other system utilities

• accessing other definitive notations (e.g. ARCA and CADNO)

• developing new definitive notations.

 

Examples of scout and donald extracts from the script:

< the SPEEDO window >

<the speedometer specification>

 

M1.3. Concepts behind the development of the VCCS

 

Ingredients in the development of an animation:

• analyse application to identify the agents

• identify observables needed to specify the interactions amongst the family of agents

• represent the role of agents using definitive scripts to describe the way in which observables are indivisibly linked in change

• animate observables and agent interactions within a computer model by visualisation and interface creation.

 

cf conventional engineering prototyping:

• perform experiments on components in isolation,

• observe how they respond

then predict how system will behave when compts are combined.

Nature of the VCCS computer model ....

computer model in VCCS

analogous to

experimental apparatus and measuring instruments

that make observables accessible to the experimentor

Techniques for construction

Techniques used

agent-oriented modelling + definitive representation of state.

 

agent-oriented modelling .....

uses a special-purpose notation LSD

to represent the interfaces between agents

definitive representation of state .....

uses scout, donald and eden definitive scripts

 

..... VCCS model = eden program, but conceptually

design is specified at a higher-level of abstraction

 

About the VCCS

 

LSD specification animated in main.e and associated files

This describes the dynamic model of the vehicle.

 

The screen display is described by the scout and donald scripts in cruise.s.

 

These enable the designer to inspect

• the state of the driver interface

• the behaviour of the cruise controller

• the state of the dynamic model.

 

What is the VCCS specification?

VCCS specification

≠ logical model of the circumscribed system behaviour

 

VCCS specification

= an approximate representation of a particular state –

resembling a set of experimental observations –

incorporating information about the expected effect

of changing a parameter in the experiment.

 

Concerned with

incomplete and uncertain knowledge

that is being acquired through experiment

and not

comprehensive and reliable knowledge

that has been acquired from experiment.

 

M1.4. Use and Development of the VCCS Script

 

"observable"

= value in a physical system being modelled

in principle measurable by some appropriate experiment.

 

Designer

• knows state of the system in terms of all such observables

• considers effect of changing parameters <--> observables

 

[Important distinction between

what agent can observe, and what agent can change]

 

Designer experiments:

change sampling rate of speed transducer

modify the layout of the speedometer

change mode of speed visualisation etc.

 

An important parallel

 

In principle – even in real engineering:

designer can treat every observable as a parameter

 

In practice doesn't make much sense to do so!

 

For example, don't usually change the force of gravity, or make the length of the vehicle inversely proportional to its speed.

 

Definitive script for VCCS

= a record of all observables of the system,

represented by variables in the script.

Redefinition of a variable = "changing a parameter".

In principle, any redefinition is interpretable

but only certain redefinitions are meaningful.

 

Views and States

VCCS script is a means to expressing knowledge

developing the script is not a completed process

Can be used and viewed in many ways, not nec preconceived

e.g. many different views of the vehicle cruise control system.

Default: state of the system (the "global state")

= comprehensive set of observables conceived by the designer

But

state to be understood relative to

a particular agent and to context for observation

e.g. IS state of the screen display

= layout of the windows and form of the graphical objects?

IF SO, relevant observables are scout / donald definitions

OR is state of the display conceived via behaviour over time

IF SO, consider speed and position of the vehicle etc.

 

Agent-oriented modelling for views

Characteristic set of observables associated with each agent

determines the state of the system relative to that agent.

Modelled by set of variables in a definitive script

Actions of an agent <--> privileges to change certain parameters

Modelled by redefinitions

 

Illustrations:

 

How the speedometer script is interpreted: the designer agent.

How forces act in the model:

time = time' + 1

Driver operates buttons, applies brake

 

Plan of the Module

 

VCCS

=> agent-oriented modelling + definitive representations of state

 

agent-oriented modelling definitive representations

of state

 

M EDEN DoNaLD

EDEN

T LSD SCOUT

SCOUT-DoNaLD-EDEN

W LSD

Th ADM SCOUT-DoNaLD-EDEN

LSD-ADM-EDEN

Closed World vs Open Development

... a conflict between two engineering cultures [Brödner]

One position, ... the "closed world" paradigm, suggests that all real-world phenomena, the properties and relations of its objects, can ultimately, and at least in principle, be transformed by human cognition into objectified, explicitly stated, propositional knowledge.

 

The counterposition, ... the "open development" paradigm ... contests the completeness of this knowledge. In contrast, it assumes the primary existence of practical experience, a body of tacit knowledge grown with a person's acting in the world. This can be transformed into explicit theoretical knowledge under specific circumstances and to a principally limited extent only .... Human interaction with the environment, thus, unfolds a dialectic of form and process through which practical experience is partly formalized and objectified as language, tools or machines (i.e. form) the use of which, in turn, produces new experience (i.e. process) as basis for further objectification.

 

empirical -> theoretical

observed -> believed

... developing skills, theories and instruments

 

References

(BBY) Agent-oriented Modelling for a Vehicle Cruise Control System

Booch

Deutsch

Harel

YWY EDEN

YPY Scout

____________________________________

Follow up: T1 for more technical details

Programming as Modelling for more discussion of principles

Useful material for elsewhere:

State cf mode (p32 Lamb)

mode = set of states

1. Externally visible behaviour of the system differs from one mode to another

2. The system moves from one mode to another when certain externally visible events happen.

Some of the ideas so new they haven't been thought up yet

In my experience the fact that Simon and Ian can do it doesn't prove that it's possible

Simon's idea of documentation is giving you the BNF grammar

1996 changes

www page title change (slide 1)

tkeden for xeden (slide 7)

closed world + open development slide added

need some illlustrative material re the VCCS to complement!!

idea of how we investigate programming as modelling: two worlds

 

 

 

 

Provisional Lecture Sequence March 1997

Overview and Introduction

General Principles of Empirical Modelling

A Perspective on Concurrent Systems

Introduction to Eden

Introduction to Definitive Notations

Empirical Modelling for the Single Agent

Concurrent Systems Modelling: Agentification, Artefacts, Animation

Agent-oriented Specification using LSD

Visualisation and Concurrent Systems Modelling

Introduction to Scout

Empirical Modelling as Explanatory Modelling

Concurrent Engineering for Concurrent Systems

The Abstract Definitive Machine

The ADM in Computer-Based Empirical Modelling

From Principles vs. Pragmatism to Principled Pragmatism

Extensions and Issues for Empirical Modelling

Provisional Lecture Sequence November 1998

Overview and Introduction

Introduction to Definitive Notations

Introduction to Eden

A Empirical Modelling Perspective on Concurrent Systems

Concurrent Systems Modelling: Agentification, Artefacts, Animation

The LSD Notation for Agent Specification

Artefacts in Visualisation and Concurrent Systems Modelling

Empirical Modelling as Explanatory Modelling

The Abstract Definitive Machine

The ADM in Computer-Based Empirical Modelling

Issues for Empirical Modelling, Future Directions and Projects