Concurrent Engineering is concerned with agency of many different kinds and at many different levels of abstraction. As the railway animation illustrates, the ADM framework can be used both in modelling and simulating the interaction between internal agents within the system to be developed (such as the trains, the stationmaster, passengers and guard and the model railway operator), and in managing the interaction between the different designers who may be involved in developing the system (such as the track layout constructor, the developer of the train arrival and departure protocol, the designer of the interface for the model railway operator). The most relevant aspects of the ADM in this application are the power to combine different modes of observation through introducing appropriate dependency relations, and the scope for human-centred 'execution' of the ADM where the super-agent exercises control in the role of a potentially omniscient and omnipotent participant who can initiate or direct action, resolve conflict and invoke new contexts for situated modelling and new interpretations of behaviour.
[Critique: The ADM concept is inadequately implemented. For the present, it at best represents a conceptual framework for 'universal agent-oriented modelling' in the EM idiom to which our practical tools can aspire.]
From a practical perspective, the tool that is most fully developed for the purpose of supporting concurrent interaction within the ADM framework is the distributed dtkeden interpreter. The many different modes of interaction that can be set up at the server illustrate several alternative perspectives on the development of a system that are represented in concurrent engineering: the normal mode, in which participants interact in the role of internal agents (cf. the Clayton Tunnel animation) subject to access to observables such as would be specified in an LSD account; broadcast mode, in which common access to a public objective reality can be represented; interference mode, in which communication between agents (acting at the clients) is mediated by an external observer (acting at the server), and private mode, in which the individual perceptions of an observable by each participant are independently represented.
[Critique: The design of dtkeden suggests a potential for varieties of use that have so far been relatively little exploited. Although dtkeden has been used effectively in a number of dtkeden models - such as five-a-side football, the Clayton Tunnel animation and the Virtual Electrical Laboratory - it has proved exceptionally difficult to maintain and comprehensively document such models, and the qualities of the design and limitations of implementation are yet to be fully understood and explored.]
A model for concurrent engineering that involves hierarchical interaction of designers within an EM framework has been proposed. At the lowest level of this hierarchy, designers engage in situated modelling of physical artefacts. At each level in the hieerarchy, the actions of designers, and the interactions between designers, are coordinated by a more privileged agent. Such a 'design coordinator' agent supplies the design frame for the agents they coordinate: facilitating, monitoring and possibly imposing constraints upon their corporate interaction. The motivation for the design hierarchy is the creation and representation of an overall design with conceptual integrity that is framed in the mind of the 'principal manager', who operates within a design frame in which negotiation with the client who commissions the design takes place in the context of constraints imposed by the environments for design and use.
[Critique: When interpreted literally (i.e. presuming that the organisation of the design hierarchy is a rigid preconceived management structure, that each agent role is played by a human agent, and that design agents have no autonomy beyond that specified by coordinators), this model for concurrent engineering seems absurdly prescriptive and archaic in spirit.]
There are several reasons why this literal interpretation is entirely inappropriate:
- The roles of the design agents and coordinators are not personal roles for particular agents: one agent may play many roles, many agents one role, and some aspects of a role (such as concern physical constraints that govern the interaction between two possible choices of related parameters for instance) may be automated.
- The particular organisation of the design work within the concurrent engineering framework is fluid, emerging and evolving rather than statically pre-specified and rigidly applied. Its primary function is the negotiation of meaning, as guided by the situation in both physical and social terms.
- The role of such a framework is not to bring organisation to activities (such as conventional programming) that cannot otherwise exhibit complexity, but to bring coherence to activities (such as physical experiment, or Empirical Modelling) that are inherently complex. The emphasis is not then upon carefully specifying the managerial framework for simple activities so that complex patterns of behaviour can result, but upon negotiating simple interpretations for complex physical and social activities through practical observation and experiment. The philosophical premise on which EM rests is that the complexity of experience is not solely or primarily synthesised from what is simple and known - experience has an inherent and unknowable complexity, from which what is simple and known is emergent. The railway animation itself is evidence that EM can express what we perceive to be complex yet lacking in coherence - does it represent a model railway? is it intended to be used by a track layout designer? by a model railway enthusiast? by a trainee stationmaster? The purpose of the concurrent engineering framework described above would be to bring coherence to the many different possible conceptions of the model-building activity that can be represented in the model in this way.
[There are two kinds of complexity to be considered here: cf. Bradley's and James's perception of 'the world of pure experience'.]
[Critique: Surely techniques such as the identification of objects, and the modularisation and distribution of modelling and programming work are very significant in achieving scalability, and in accommodating re-use. If EM is of interest in this connection, isn't it in relation to requirements engineering, prior to specification?]
The negotiation of meaning within our concurrent engineering framework is prior to the identification of objects, and potentially is closer in spirit to 'subject-oriented' rather than 'object-oriented' programming. Our original perception of EM was indeed that it is primarily about requirements capture, but it is now clear that the ontological distinction between a conventional program and an EM model make blending of the two concepts problematic (cf. 'Radical' Empiricism). Abstractions such as objects, and organisation of model-building work do have counterparts in our concurrent engineering framework, inasmuch as stable patterns of experience can emerge, and justify perceptions such as "experience tells me that it is not necessary to consult my experience in order to conclude that ...", and knowledge of this kind can inform the organisation and nature of the design activity within the concurrent engineering framework. It is appropriate and necessary to make commitments in organising the design activity on the basis of knowledge of this kind, but it may not be essential to imitate the way in which these commitments influence the design and implementation of a conventional program, especially in respect of optimisation to purpose that exploits and at the same time compromises the relation between the program and its expected environment of use. EM models cannot in general serve their proper function as construals with such optimisation. They can sometimes serve as programs without such optimisation, and issues of comprehension, revision and re-use are more appropriately addressed when no such optimisation has been invoked.
Model-building activity such as is represented in the digital watch model, in which the structure of the statechart can be interpreted as conforming to an LSD account - or indeed, to a specification - of the roles of concurrently acting agents, illustrate one way in which object-based abstractions may feature in EM. The standard datatypes in definitive notations, shape / openshape variables in DoNaLD and moding in ARCA are all associated with related issues insofar as their use represents a degree of commitment within the design context.