Distributed empirical modelling and its application to software system development
Empirical Modelling (EM) is a new appro~h for software system development (SSO) 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 (OEM). It proposes a framework for OEM 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 OEM framework. Technical issues arising from the implementation 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 this 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 OEM 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 OEM, 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.