Thinking behind the environment for Making Construals (MCE) Construction • The subjective multi-agent world - picture of multi-agent - vocabulary – LSD oracles, handles, derivates - observable, dependency, agency • The objective zero-agent world – picture of the single agent – the solitary maker – definitions, functions, procedures private experience / empirical / concrete interaction with artefacts: identification of persistent features and contexts practical knowledge: correlations between artefacts, acquisition of skills identification of dependencies and postulation of independent agency identification of generic patterns of interaction and stimulus-response mechanisms non-verbal communication through interaction in a common environment directly situated uses of language identification of common experience and objective knowledge symbolic representations and formal languages: public conventions for interpretation public knowledge / theoretical / formal An Experiential Framework for Learning (EFL) TEDC 2006 Supporting a multi-agent perspective: LSD and the ODA framework 4 LSD An LSD account for an agent classifies observables: oracle - an observable to which it responds state - an observable that it owns handle - an observable conditionally under its control derivate - an observable determined by a dependency + protocol = list of privileges of the form enabling condition -> sequence of actions where an action is a redefinition, an agent invocation or a deletion 5 Observables • an observable some feature of a situation to which a value or status can be attributed. Empirical procedures and conventions are involved in identifying a particular observable and assigning its value. Not all the observables associated with a situation need be present in a particular state. 6 Agents • an agent a family of observables whose presence and absence in a situation is correlated in time, that is typically deemed to be responsible for particular changes to observables. All changes to the values of observables in a situation are typically construed as due to actions on the part of agents. 7 Dependencies • a dependency a relationship between observables that pertains in the view of a particular agent: “when the value of a particular observable x is changed, other observables (the dependants of x) are of necessity changed in a predictable manner as if in one and the same action. The changes to the values of x and its dependants are indivisible in the view of the agent. That is: no action or observation on the part of the agent can take place in a context in which x has changed, but the dependants of x have yet to be changed.” 8 Central heating LSD account agent boiler state boilerOn, currentBoilerTemperature oracle desiredBoilerTemperature handle currentBoilerTemperature, flameNeeded derivate needsToHeat = currentBoilerTemperature < (desiredBoilerTemperature - tolerance) protocol needsToHeat -> flameNeeded = true Can optionally give types to observables: bool / real etc 9 The single agent perspective The multi-agent perspective Fundamental stance on semantics • The identification of observables, dependencies and agents and all matters concerning their integrity and status is an informal empirical activity (“What EM is”) • It is arguably an activity that is implicit in all system construction, whatever development method or programming paradigm is used 13 Contrasting perspectives • Giving change / jugs Two perspectives on making construals: – using procs and funcs – using when’s cf. the objective single-agent and the subjective multi-agent perspectives Multiplicity of viewpoints • The Input Window / Script View / Agent? • The content of tabs in the input can be – expressing the ODA pattern in an environment for action (“script view”) – listing a narrative sequence of redefinitions – animating a set of actions for automation, as when composed of ‘when’s – recording a set of possible options for experiment Traditional programming Framing goals for the design protocols for interaction and interpretation e.g. devise UML Program design implementation maintenance constructing and programming the machine-like components designing program by identifying objects and functions user interface Identifying agency in the machine-like components and in the human context for use specification Requirements capture and specification Use affordances interface culture human factors study interface design empirical studies of use prototyping technical interface development e.g. writing Java code e.g. goals, operators, methods (GOMS) evaluation Empirical Modelling Requirements capture and specification Program design implementation maintenance develop scripts in isolation as “furry blobs” that represent the observables and dependencies associated with putative machine-like components and human interactions and interpretations identify and document reliably reproducible sequences of redefinition / chains of “furry blobs” that correspond to programmable automatable machine behaviours and ritualisable human behaviours and interfaces Use affordances interface culture exercise, explore, customise, revise and adapt sequences of redefinition and interpretation to reflect emerging and evolving patterns of interaction and interpretation; extend and augment observables to support additional functionalities combining scripts