Distributed Empirical Modelling and its Application to Software System Development
Abstract
Empirical Modelling (EM) is a new approach for software system development (SSD) that is particularly suitable for ill-defined, open systems. By regarding a software system as a computer model, EM aims to acquire and construct the knowledge associated with the intended system by situated modelling in which the modeller interacts with the computer model through continuous observations and experiments in an open-ended manner. In this way, a software system can be constructed that takes account of its context and is adaptable to the rapidly changing environment in which the system is developed and used.
This thesis develops principles and tools for distributed Empirical Modelling (DEM). It proposes a framework for DEM by drawing on two crucial theories in social science: distributed cognition and ethnomethodology. This framework integrates cognitive and social processes, allowing multiple modellers to work collaboratively to explore, expand, experience and communicate their knowledge through interaction with their networked computer models. The concept of pretend play is proposed, whereby modellers as internal observers can interact with each other by acting in the role of agents within the intended system in order to shape the agency of such agents.
The author has developed a tool called dtkeden
to
support the proposed DEM framework. Technical issues arising from the
implementation of dtkeden
and case-studies in its use are
discussed. The popular star-type logical configuration network and
the client/server communication technique are exploited to construct
the network environment of the tool. A protocol has been devised and
embedded into their communication mechanism to achieve synchronisation
of computer models. Four interaction modes have been implemented into
dtkeden
to provide modellers with different forms of
interpersonal interaction. In addition, using a virtual agent concept
that was initially devised to allow definitions of different contexts
to co-exist in a computer model, a definitive script can be interpreted
as a generic observable that can serve as a reusable definitive
pattern. Like experience in everyday life, this definitive pattern
can be reused by particularising and adapting it to a specific
context. A comparison between generic observables and abstract data
types for reuse is given.
The application of the framework for DEM to requirements engineering is proposed. The requirements engineering process (REP) - currently poorly understood - is reviewed. To integrate requirements engineering with SSD, this thesis suggests reengineering the REP by taking the context into account. On the basis of DEM, a framework (called SPORE) for the REP is established to guide the process of cultivating requirements in a situated manner. Examples of the use of this framework are presented, and comparisons with other approaches to RE are made.