The ADM in Computer-based Empirical Modelling
1. Observations, Continuity and Events
How should we understand the computational framework of the ADM? Seems to be appropriate only for discrete event simulation. Yet we have a need, as in the VCCS, to represent continuous variables and to consider the implications of modelling real-time processes. We also need to interpret events, such as the "station master has whistled" event in the railway station simulation that are properly conceived in terms of instantaneous changes of state.
It is misleading to regard the cycles of the ADM as clocked in the manner of conventional machine cycles. In modelling with definitive scripts, time is not a primitive concept. When we use a script to model the physical relationships in a Hookes' Law experiment, for example, we aren't concerned at all about when observations are made. In the ADM model, the transitions between machine states are associated with points of transition between states of the experiment. In reality, these are not instantaneous, but the experimentor is not concerned about what happens between observations, when perhaps the load is oscillating on the wire.
Much the same considerations apply to the railway station animation: certain activities are modelled as atomic, though in fact they take time, and might involve activities with hidden potential for interference (e.g. communication synchronisations), or indicate how interference is resolved (e.g. physical restrictions on how many people can access a door handle beyond the scope of the specification). This points to a more appropriate interpretation of the computational states of the ADM: each state represents a particular family of conceptually instantaneous observations. In other words, what the ADM models is subject to a convention for observation. (Compare a key theme of A Perspective on Concurrent Systems: "concurrency is in the mind of the external observer".)
Replacing the notion of 'machine state' by 'family of conceptually instantaneous observations' equips the ADM to handle discrete event simulation, When we come to consider modelling phenomena in which time is implicitly involved, such as those that concern analogue variables, it becomes pertinent to ask: in what sense is the discrete nature of the ADM computational model a fundamental limitation? Reflection suggests that there is a fundamental sense in which the discreteness of the observation-based ADM model cannot be circumvented. Processes may be continuous, but observations are discrete. As classical mathematicians discovered in formally describing continuity, quantification over sets of discrete observations is necessary. For instance:
"f(x) is continuous at the point t if given e, there exists a d such that ..."
In other words, continuity is a statement about properties that f is shown to have when we are free to choose the convention for observation. To paraphrase:
"Tell me what you want to see and I will show you how to observe it".
This points to a mode of interpretation of the ADM that is entirely different from the conventional fixed duration machine cycle. Instead, we think of the ADM as modelling discrete observations made at instants of time that can be arbitrarily close at the discretion of the designer. Notice that to exercise this discretionary power, the designer exploits the privilege to intervene in computation in a exceptionally strong sense; viz. as if to change the mode of machine execution in response to the results of computation. (Compare the way in which in linesBeynon1991
the idealisation that lies behind a configuration of lines is accessible subject to being able on-the-fly to increase the length of the arithmetic in the calculations of intersection points.)
A danger of circularity lurks in this informal account of how processor speed of the ADM can be adjusted "at run-time". We began by disassociating the ADM from time ("the ADM machine cycle is not to be viewed as clocked"), proposing that observation rather than time is the more appropriate primitive concept. It would be quite inappropriate to invoke time in modelling Hookes' Law. Yet we have expressed our prescription for more frequent observation in terms of "instants of time that can be arbitrarily close".
To explain why there is no inconsistency, we have to distinguish two different uses of the term 'time'. In discrete event simulation within the ADM framework, states are represented by families of conceptually instantaneous observations that are subject to be temporally ordered according to the communication links amongst agents, but this need not invoke a concept of real time. However, whenever we think of analogue variables representing continuously changing time-dependent observables, there is a central place for a notion of "time" itself as an observable. This means that in dealing with continuously changing quantities, we must introduce time as a particular kind of experimental observation - just as an experimenter necessarily does when making observations that essentially involve time (such as measuring the period of oscillation and speed of damping to equilibrium for a load on a wire). To this end, the observations modelled in the ADM include the observations of a clock, and all observations are relative to the current observed value of the clock.
Analogue variables are then defined via:
By x', we conceptually mean the value of x "just before now" where x' can be arbitrarily near to x. We then determine ' values relative to the clock. This necessarily involves approximation, but also eliminates suspicion of circular definition of x. Value now is defined with reference to value then. The presumption that in all observations the clock is consulted, and can be consulted arbitrarily frequently. The faithfulness of a simulation will be subject to caveat that appropriate pattern of behaviour will be observed "if the clock step for observation is small enough". Events fit into this model as conditions expressed in terms of "x is this and y was that" variety, as in
Similar considerations apply to modelling of analogue quantities in geometry, as the lines demo illustrates. In that context, the analogue of the clock step size is the arithmetic precision. The interpretation of the lines demo presumes that the arithmetic precision is a parameter that can be adjusted on-line, in response to perceived conditions governing the proximity of singular configurations.
What has been described here in the abstract accords well with the way in which analogue variables are interpreted and implemented in the VCCS. Notice in particular that there is a distinction between the sampling rate for the integrator that represents the digitisation in the speed transducer and the step-size for the integration used to model Newton's Second Law. The first of these parameters reflects a choice on the part of the designer, based on engineering considerations. The second is the parameter that can be chosen arbitrarily small in response to observational demands.
2 Empirical Modelling
The dual interpretations for the ADM as "abstract machine" and as "framework for expressing patterns of human observation" that we have introduced are associated with two different kinds of application. The abstract machine is oriented towards the construction of a computer model (possibly a computer program) and the framework for observation is oriented towards analysing external phenomena. Both perspectives are inextricably associated in typical use of the ADM. The characteristic activity involved is what we have termed Empirical Modelling: the simultaneous construction of a computer model and analysis of an external phenomena through a process that entails experiment and observation with the computer model and in the external world. Setting up a spreadsheet is a simple illustration of this process at work; it can be viewed as developing a relatively simple single agent system through a series of "what if?" experiments.
The modelling principles and tools we are developing are aimed at generalising the spreadsheet principle to multi-agent systems. Though the consideration of many agents naturally increases the complexity of the modelling problem greatly, the most significant generalisation has already been made in moving from 0-agent systems (classical formal systems) in which there is no possibilibity of uncircumscribed change, to 1-agent systems. In some sense, all that is strictly necessary for Empirical Modelling is the interaction between a single super-agent and an ADM model. In the execution of the ADM, the super-agent can exercise absolute discretion over the way in which enabled actions are selected so as to emulate any particular pattern of interaction between a family of agents and to determine the environment for this interaction dynamically in ways that are neither circumscribed nor preconceived (cf "playing God").
Characterising the kind of super-agent interaction envisaged here is challenging (cf. the sense in which an integer input to a conventional program is uncircumscribed, and the pictures to be drawn using MacDraw cannot be preconceived). It seems reasonable that the essence of agency cannot lie within the sphere of interaction with the computer model alone; it must be associated with the introduction of some hitherto discounted aspect of the external phenomena, as in the consideration of a new observable. This distinction between formal and empirical modes of modelling is well-represented by Brödner, in his characterisation of two conflicting world-views for engineering: the closed world and the open development paradigms [Brödner]:
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.
The ADM, in its two incarnations as machine and framework for observation, is the arena for the dialectic of form and process to which Brödner alludes.
The execution of the ADM under the control of a super-agent is the nearest that we get to giving an operational account of an LSD specification, and guarantees nothing whatever about system behaviour until some constraints are placed upon possible interventions of the super-agent. To express this in a more reassuring way, we might say that what the super-agent can do in the ADM model is restricted only by what is conceivable of the external phenomena that is being observed ("what makes sense"). Assigning a negative length to the vehicle in the VCCS is sufficiently absurd to be seemingly inconceivable, but making its length dependent upon speed might somehow have unexpected significance. A natural way to use Empirical Modelling is to invoke progressive commitment to presumptions about what is conceivable on the basis of previous experience, and to curb the privileges of the super-agent accordingly. This is the essence of an empirical approach.. Note that however far the empirical development process progresses, there is always the possibility that some situations require the intervention of the super-agent to re-establish a meaningful correspondence with the external world (cf. the existence of singular points in otherwise real-valued functions that are otherwise continuous).
In practice, there are many ways in which we hope to apply Empirical Modelling, of which developing a precise specification of circumscribed system behaviour is but one. The concept of an objective observer is not always appropriate, and Empirical Modelling in principle lends itself well to interaction between many designers each viewing a phenomena or design object from a different perspective. In this context, knowledge about the system is distributed, and there may be conflicts between the views of the different participants. The model construction then proceeds by a systematic process of negotiation and partial commitment, and the superagent (or perhaps a hierarchy of agents) is responsible for resolving conflict and singularity.
The potential for applying Empirical Modelling principles based on just such a concurrent engineering model in requirements analysis is considered by Beynon and Russ [1]. In this context, the interacting design agents play the roles of designer, analyst and implementor (cf Figure 1). The incremental design steps in building a computer model can be interpreted as applying empirical principles to gain conviction that a consistent relationship between observables has been identified: changing the status of a relationship between observables from "what is observed" to "what is believed" . In this context, the role of the designer is to recognise when particular patterns of observables suit the requirement, that of the implementor is to supply model fragments that can be constructed from available components, and that of the analyst is to identify the assumptions that justify conviction about their corporate behaviour.
The applications of Empirical Modelling include developing skills and instruments. Examples of projects relating to the above discussion of the ADM that have been explored to some degree to date include:
- specifying and prototyping interfaces from LSD
- developing instruments for exploratory geometric modelling
- designing higher-order definitive notations
- developing hierarchies of agents
- parallel implementation of definitive notations
- prototyping from definitive state transition models
- constructing a definitive assembler machine.
References
W M Beynon and S B Russ, Empirical Modelling for Requirements, CS RR#277, 1995
Brödner The Two Cultures in Engineering in Skill, Technology and Enlightenment, Springer-Verlag 1995, 249-260