- Brian Cantwell Smith
- Definitive notation
- Definitive script
- Empirical Modelling
- Key concepts
- Observation-oriented modelling
- Other research
- Radical Empiricism
Empirical Modelling - The term 'Empirical Modelling' supplanted the term 'Agent-oriented modelling' in 1992. The epithet 'empirical' was adopted in part because our modelling principles are based on observation and experiment, and in part to avoid confusion with the concept of 'agent-orientation' that became mainstream over the period 1987-92. The term 'modelling' is more appropriate than 'programming', since EM involves the construction of artefacts, and an accompanying identification of primitive patterns of interaction with artefacts, that may or may not lead to the type of functionally determined behaviour that is characteristic of a classical computer program. Such artefacts are not models of a theory, but have the characteristics of a model in that they serve as a source of experiences for the modeller that are significant only in relation to other independent experiences to which they refer. An EM artefact differs from a program in much the same way that the private artefacts developed by an experimental scientist to record a first tentative interpretation of a phenomenon differs from a engineering product based on a subsequent more comprehensive understanding of an underlying scientific theory. By way of example, contrast the simple artefacts that Faraday first constructed when investigating what could be deemed to be the primitive notions of electromagnetism with the electric motor he later developed.
An informal characterisation of EM - It is plausible, if not self-evident, that no characterisation of EM can be formal in the strict sense of being expressible using a formal system. For instance, an EM artefact is described as 'personal' and 'open to many interpretations'. It is likewise clear that the integrity of the notion of Empirical Modelling depends upon some more categorical characterisation, and that there are serious ontological issues to be addressed in arriving at such a characterisation. For instance, there is ambiguity in our informal characterisation of EM about whether 'our construals' are 'in our brains' or are artefacts 'in the world', and about the status of the situations to which they refer. It is with a view to resolving such issues that we are obliged to consider philosophical issues in our research programme. This makes it difficult to provide a simple answer to the question "What is Empirical Modelling?" - a longstanding source of frustration to ourselves and our critics. Equally frustrating to others, but necessary for similar reasons, is our introduction of new vocabulary and unconventional use of existing terminology.
Construal - The term construal is used in EM to describe artefacts that embody the modeller's understanding of a situation. The intended significance of such artefact can be entirely personal to the modeller, and cannot be considered in isolation from the context in which the artefact is developed and the knowledge and skills that the modeller develops through interaction with it. In referring to artefacts of this nature as construals, we are following the philosopher of science David Gooding [Experiment and the Making of Meaning, Kluwer, 1990], who introduced the term to characterise the artefacts developed by experimental scientists in their preliminary studies of phenomena.
Points of contact with other research - The concept of dependency is prominently used in spreadsheets, and has been an inspiration for much work relating to end-user programming paradigms by Bonnie Nardi, Clayton Lewis, Alex Repenning etc.. Definitive notations were used in graphics by Brian and Geoff Wyvill in the 1970s, and a definitive notation for handling relational data is implicit in Stephen Todd's Information Systems Base Language (ISBL). Agent-orientation is a major theme in connection with concurrency, AI and interactive systems. Much work on systems development has been directed at integrating and interleaving requirements capture, specification, implementation and testing, and involves empirical techniques based on prototyping (cf. Truex's discussions of amethodical systems development, Harel's work on scenario-based programming, eXtreme Programming, soft systems methodology etc.). The philosophical orientation of EM has significant connections with the thinking of Brian Cantwell Smith, Peter Naur, David Gooding, Fred Brooks, Rodney Brooks, Mark Turner. Computer-based activities that use dependency, agency and empirical methods generally differ from EM in that they place the emphasis on how these techniques serve for software development that is conventional in the most inclusive sense of "being concerned with optimising the interaction between user and system, and the execution of the system, with specific intended purposes and contexts in mind". In contrast, EM construals do not require an intended functional specification or a specific context for observation and interpretation. This is a matter of ontology, and is significant despite the fact that an EM construal can exhibit system-like and program-like behaviour subject to restricted forms of interaction. Indeed, imposing a strict functional specification and specific modes of observation and interpretation upon an EM artefact subverts its character as a construal.
Key concepts - An observable is a feature of the situation or domain that we are modelling to which we can attach an identity. The main requirement of an observable is that it has a current value or status. A dependency is a relationship amongst observables that expresses how they are indivisibly linked in change. Unlike constraints, which express persistent relationships between values in a closed world, dependencies express the modeller's current expectation about how a change in one variable will affect the value of another in an open-ended exploratory environment. Observables and dependencies together determine the current state of an EM model. An agent is an entity in the domain being modelled that is perceived as capable of initiating state-change. In developing an EM model, our perspective on agency within the domain evolves with our construal.
Spreadsheets - There are strong connections between EM models and spreadsheets. Spreadsheet cells typically represent observables, and their defining formulae capture dependencies amongst observables. EM principles have been described as a 'radical generalisation of the principles underlying the spreadsheet', but this can be misleading. EM certainly subsumes activities that are associated with spreadsheet creation and use, and operates with sets of definitions similar to those that lie behind a spreadsheet grid. Spreadsheets do however have sophisticated forms of dependency based on the geometric organisation of cells that are not easy to express in definitive scripts. They also have qualities as software applications that are not shared by simple EM construals. [spreadsheetRoe...?]
Definitive scripts - The term definition is used in a particular sense in EM; it refers to a simple dependency that expresses how the value of one observable depends functionally upon the value of others. The adjective definitive is then used as a synonym for 'definition-based'. Definitions are formulating using definitive notations, and a set of definitions is called a definitive script. Modelling with definitive scripts plays a crucial role in EM. The state-as-experienced of the modeller's construal is represented by a definitive script and the addition of new definitions to a script, or the redefinition of existing observables within the script, can be construed in many different semantically significant ways. For instance, a redefinition may be associated with a change of construal, the correction of an error in elaborating a particular construal, or an interaction or state-transition whether of an exploratory or a familiar nature. Modelling with definitive scripts is first and foremost concerned with the development of private artefacts to aid the modeller's understanding, but it can also serve to express the viewpoint of other agents on interaction within a situation, subject to a process of projection on the part of the modeller. Used in this way, scripts can represent the views of agents and the interfaces between them. In the context of concurrent system development, where reliable and objective patterns of interaction are essential, scripts can provide a powerful means to represent the state of a complex system, and the perceptions of the agents within it.
Definitive notations - A definitive notation is a simple language for formulating the definitions in a definitive script. Within the EM project, definitive notations have been developed to address scalar, textual and list data, line drawings, window layout, 3d geometric modelling, relational database queries, systolic arrays etc. The characteristics of a definitive notation are determined in part by its underlying algebra of data types and operations, and in part by the syntactic forms of the definitions themselves, which generally have to take account of the 'mode of definition' of complex observables. For instance, a complex geometric entity may be defined as a collection of components that can be interrelated by dependencies (cf. modelling the component parts of a mechanical clock), or defined in its entirety as a geometric transformation of another geometric entity (cf. modelling the reflection of the clock in a mirror).
State-as-experienced - The term 'state-as-experienced' is used to emphasise the fact that the state of a construal cannot in general be viewed and described in the way that the state of a computer program is described. Classical computer science specialises in characterising the states of a program with reference to its behaviour, as formally modelled by an abstract machine, such as a Turing machine. In the preliminary experimental investigation of a scientific phenomenon, the experimenter in general has inadequate knowledge of how to interact in such a way as to generate reliable stable patterns of observation, and cannot possibly characterise state solely with reference to a program-like automatic behaviour. The association between a construal and its referent is in contrast far more subjective and personal - it takes the form of a directly perceived relationship between experience of the construal and experience of the referent. The perceived indivisibility of change to different observables that is characteristic of dependencies has a crucial significance in this context. In considering state-as-experienced there is no role for semantic connections that are not immediately apparent through some interaction.
Observation-oriented modelling - The application of modelling with definitive scripts to represent state encompasses modelling the perspective of a putative external observer on the concurrent interaction of agents within a system. Such an observer is in general 'putative' on the basis that every experience of concurrent interaction is that of an individual agent who must construe the actions of other agents by indirect observation informed by projection from personal experience. In a concurrent design scenario, the concept and status of an extenal observer is particularly problematic, since the visions of different designers may be incoherent and inconsistent. In the context of programming a concurrent system, there is a presumption that there is an objective external perspective within which the interactions of the constituent agents can be rendered coherent and consistent. Observation-oriented modelling applies to EM of concurrent systems whatever their nature. Both human participants and inanimate components are represented as agents. A systematic empirical analysis of the observables through which stimulus and response are deemed to be mediated is accompanied by their metaphorical representation using modelling with definitive scripts.
The LSD notation - LSD is a special-purpose notation that can be used to classify the observables deemed to inform agent interaction in a concurrent system. Giving an LSD account of such agent interaction involves identifying the state-changing agents of the system - the perceived and relevant 'sources of change' - and the observables that mediate their interaction. The observables are then classified according to the way in which they are related to the agents as follows. Those
- that are owned by the agent (i.e. that would not exist without the agent) are its state observables.
- to which the agent may be able to respond are its oracles.
- that the agent may be able to change are its handles.
The Abstract Definitive Machine (ADM) - The Abstract Definitive Machine (ADM) is an abstract machine model that exploits definitive representation of state. Agents are modelled as entities, and each entity comprises a set of definitions and actions, where each action is a guarded sequence of redefinitions or entity invocations / dismissals. If an LSD analysis leads to an account of a system in which the interactions of agents within their environment are sufficiently reliable and predictable, it may become possible to interpret the LSD account as a ADM program. Typical execution of the ADM allows the modeller to intervene in a super-agent role, as is required in order to resolve any singularities that typically arise from free interpretation of an LSD account. The ADM can also be viewed as an abstract computational framework for describing the execution of the Eden interpreter. More generally, the ADM provides a conceptual framework within which the modeller can explore modes of observation and interaction that potentially underpin system-like behaviour.
Brian Cantwell Smith - Cantwell Smith's foundational thinking on cognitive and computer sciences addresses many themes of direct relevance to EM. In his paper Two Lessons of Logic, he draws attention to the disproportionate emphasis that formal computer science gives to the operational semantics of programs, whilst it fails to give an adequate account of the contextual semantic relation between the program and its execution environment. His observations that 'content cannot be computed'; his concern for principles of representation that take account of context-dependence both in use and throughout development; his insistence that 'whole new theories ... will be required' to explain 'representations in current computational systems that range continuously from linguistic to virtually iconic' - all resonate with the orientation and relate to the aspirations of EM. The fact that EM principles are not exclusively relevant to computer-based modelling is also of interest in relation to Cantwell Smith's contention in his essay The Foundations of Computing that 'computing is not an autonomous subject matter', but that its practice concerns 'the full-fledged social construction and development of intentional artifacts'.
Radical Empiricism - This is the name which William James gave to the 'philosophic attitude' that he developed towards the end of his life [Essays in Radical Empiricism, William James, Bison Books 1996]. The key idea in Radical Empiricism is that what is given in experience includes not only the disjunctive relations by which we separate different elements (e.g. perceiving distinct objects in a situation) but also the conjunctive relations by which we associate one element with another (e.g. identifying that one object is similar to another). Since such conjunctions involve experiencing the correspondence between one experience and another, they can only be perceived by the same mind in the stream of thought. A basic tenet of Radical Empiricism is that all knowledge is ultimately grounded in personal experiences of conjunction of this nature.