We focus on the design of software-intensive systems within the wider engineering process. We look across the phases of design, from problem analysis and modelling, through design and development. Our work includes both analytic and empirical approaches, both formal and descriptive representation, and both theoretic and practice-centred perspectives. Our current work is focused within four areas: the study of expert designers and expertise, the capture and representation of design rationale, model-based software development, and problem-oriented software engineering.
Our research interests in software engineering are broad, covering both early and late development activities, and drawing upon a wide range of multi-disciplinary techniques and tools, to better engineer software-intensive dependable systems. We are concerned with the construction of software and its behaviour. We interpret software engineering broadly to include discovery, articulation, and reasoning about problems that are amenable to software solutions. Therefore, we investigate processes, people, and products in software engineering.