Mapping Causal Relationships in Complex Systems

Project Proposal by Martin Stacey


Mapping Causal Relationships in Complex Systems

Software

A programming language with good GUI building tools, probably also a database management system.

Covers

Object-oriented system design and development, possibly also database design and SQL, and/or GUI design.

Skills Required

Programming in a procedural or object oriented language,
preferably curiosity about design or some other complex human activity.

Challenge

Conceptual ???? Technical ?? Programming ???

Brief Description

Your task in this project is to build an interactive tool for creating models of the causal influences that govern complex processes. (The complex multi-causal phenomena that Martin Stacey is especially interested in modelling are design processes, especially in large-scale mechanical and mechatronic engineering.) The user should be able to name and describe several different kinds of entities and activities in the process and their attributes, and the causal effects that govern their interactions, so as to build up a model of the process including its causal structure.

Such a system would be essentially similar to an Issue-Based Information System, so you might like to research these. However an issue-based information system maps facts, views, arguments, and supporting or contradictory evidence, as opposed to causal relationships. See also cognitive mapping and tools for creating cognitive maps.

What makes this project challenging is (1) developing a powerful and flexible computational representation for the different kinds of entity and relationship that the system should enable users to describe; and (2) developing ways for users to incrementally develop and modify networks of entities and relationships while the system maintains data integrity for them. This challenge is made more interesting by the need to enable users to create entities and relationships that are variants or subtypes of others. Relationships are not necessarily just binary; like verbs in languages they may relate several entities in different roles (cases).

Variants

This might be a good time to learn how to use object-oriented databases, or the object oriented extensions to databases like Oracle. You could also consider non-database approaches to object persistence.

Extension

The system would benefit greatly from a usable interactive method for defining the types of entities and relationships that can exist in a particular model (the ontology).

Cross-References

The idea behind this project came from the Across Design project, in which Martin Stacey was involved with colleagues at the University of Cambridge, the Open University and the Massachusetts Institute of Technology, which investigated the similarities and differences between design processes in different fields. Another rather different tool, for recording and managing descriptions of patterns in design behaviour, is suggested in another project proposal. Another project on techniques for creating and maintaining complex information structures is a Ripple Down product modelling system.


Back to