PPIG 2002 - 14th Annual Workshop 18 - 21 Jun 2002, Brunel University, London, UK

Françoise Détienne

Françoise Détienne is senior researcher at INRIA-Rocquencourt where she leads the EIFFEL research group which works on “cognition and cooperation in design”. After specializing in Cognitive Ergonomics, and a PhD work in Cognitive Psychology (University Sorbonne-Paris 5), she spent a two year postdoctoral period at Yale University in the AI Department. She obtained her “habilitation” thesis in 1999.

Her research interests cover: Design strategies, reuse, design memory, methodology for analysing collaborative work, collaborative design, cooperation mechanisms, confrontation and integration of viewpoints, computer-mediated cooperation, design support tools and methods

Her professional memberships and services include: technical co-chair of HCI-2002, co-chair of CHI'2000 short papers and posters; co-chair of INTERACT’ 95 Scientific Papers, co-chair of ECCE8. She acts as an expert for international reviews like IJHCS, HCI, BIT, IWC.

She is the author of Software Design: Cognitive Aspects ( Springer Verlag, 2001). She co-edited: Special issue on “Empirical studies of object-oriented design and reuse”, Human-Computer Interaction, Vol 10 (2 & 3), 1995; “User centred requirements” for Software Engineering Environments, Springer-Verlag, NATO ASI Series, 1994.

Plenary Lecture: Supporting collaborative design: current research issues

Cognitive ergonomics does not identify design in relation to a social function or a status, but qualifies as design tasks certain activities in which a set of formal characteristics can be identified. Therefore, one can identify numerous professional domains that deal with design. It can be the design of material artefacts (e.g. mechanical engineering, electronics, architecture) or the generation of symbolic or abstract devices (e.g. computer programming).

Studies on reasoning in design have usually been carried out on individual problem solving activities. In response to the increasing need to assist collective work in an industrial context, more recent studies have shifted their focus. A major concern in industrial modernisation is the creation of new organisations which support collective work, greater interaction between the stakeholders, as well as capitalisation and reuse of design knowledge.

Current research issues on collaborative design will be discussed. We will defend the position that the nature of the approaches for supporting design should be not only technical. They are most often technico-organisational.

Thomas Green

Thomas Green is a visiting Professor, UCL Interaction Centre, University College London, and Dept of Computing, University of Leeds. He received BA in Psychology and Philosophy in 1963 and PhD in Psycholinguistics in 1975. Thomas worked at Universities of Oxford, Edinburgh and Sheffield before joining the Medical Research Council Social and Applied Psychology Unit in Sheffield, the MRC Applied Psychology Unit in Cambridge. Thomas is a Co-founder of PPIG, along with David Gilmore and Rachel Bellamy.

Retired gradually over the last few years. Helped to start contra dance clubs in Cambridge and Leeds, now struggling with the fiddle and feeling guilty that he hasn’t written That Book yet …..

Plenary Lecture: Arenas of Interest in Designing a Notation: How Far do CDs go?

Notations have to play many parts and therefore meet many demands; especially notations used for complex purposes, affecting several people, such as programming languages and design notations. I shall try to pick out some of the arenas that notation designers ought to think about, at least ideal designers who could get everything needed into their head, and then speculate about how we might consider finding an answer to this question: given all the competing demands on notational design, how far does the ‘cognitive dimensions’ framework go in helping evaluate a design?

Some of the relevant arenas are these.

  1. The notation per se: is it consistent, non-ambiguous, secure? Can it be parsed by efficient algorithms? These technical questions are not directly the province of PPIG, yet we need to consider what contribution they make today.

  2. The expressiveness of the notation: does the notation allow the user or composer or writer to express the desired structures or perform the desired operations? For some purposes, the graphical language LabView is excellent not because it is graphical, but because it ships with a library of really useful subroutines. Likewise the musician who wants to express microtones will probably not be interested in a musical notation that cannot do so, no matter how good it may be in other ways.

    In other cases the notation can express the concepts but not in the manner of the user’s conceptual system: aspects investigated by PPIG contributors have include the choice of constructs for concurrent programming, the choice of temporal logics (Kutar), and the structure of central heating controllers (Young and Cox).

  3. The notation as a medium for individual use: this what Clayton Lewis called the fluency of the notation. Here we consider the user/composer as an information sculptor, forming a shape, or as a reader, looking for a shape. This is the domain of CDs, and if needed I will quickly sketch some of the ideas behind the CDs framework - and try to think of topics that live in this arena but are not covered by CDs.

  4. Fitting notational products into the user’s life: notations are rather like an eco-system. Such things as programs, diary entries, email messages, and cartoons can draw on resources from various external sources, but likewise have to co-exist with a network of external pressures. Resources frequently include a cloud of appendages (the notational culture) – familiar examples, outstanding teaching aids, local expertise. These resources not only point to accepted domains of use (systems programming for C, mathematical algorithms for Pascal) but can dictate style (fuzzy like C or sharp-edged like Pascal).

    External pressures from other information systems are very frequent - on-line diaries have to co-exist with paper diaries, organizers, and those ubiquitous, unavoidable, all-important scraps of paper. Notations with a graphical component, such as maps and music, have somehow to be handled by systems built for symbolic-only material, such as e-mail. Sometimes notations need to usable on systems with a transient medium, such as speech; or a persistent but very limited medium, such as a knitting machine.

  5. The presentation of a notation: this aspect is deliberately ignored by the CDs framework, except insofar as the notation includes a ’eprceptual mapping’ between information structure and rendering. Aspects like attractiveness and fun are completely ignored. Developments in children’s programming languages, such as ToonTalk and KidSim (now renamed) show that a good graphic artist can add a whole new dimension.

  6. Communication with a notation: notations are probably used as collaborative tools more often than their designers expect. Nardi, Bannon, Détienne and Visser have all contributed to our understanding of this arena, but there is a long way to go. We have still very little information about how to develop notations that will be good explicative vehicles, on the lines of the spreadsheets that Nardi showed were excellent for communication between people from different departments of an organisation. We know even less about how to design a notation that will be easy for simultaneous work, the co-design practices encouraged by some contemporary practitioners, e.g. XP.

    It would be nice to think that this area could be absorbed into other areas above. Perhaps one day we shall be able to.

  7. Any other notational business: notations get used for other purposes, too, such as for writing deliberately obscure programs, or for writing quines (programs whose output is themselves); less whimsically, notations have to lend themselves to developing teaching examples.

That is not likely to be an exhaustive list but it’s enough to raise the question, are CDs worth bothering with? Obviously I think they are. I will try to think of some arguments that are persuasive, or at least plausible, to support my claim.

Mark Harman

Mark Harman has been working on program comprehension using slicing and transformation since 1995. His work concerns the ways in which these two techniques can be applied to manipulate source code to improve the possibilities for human comprehension. He is a member of the program committee for many conferences and workshops related to the psychology of programming and is the program co-chair for the 10th International Workshop on Program Comprehension in Paris, 26-29 June 2002 (just after PPIG).

His work is also concerned with the exploitation of meta-heuristic algorithms for Search-Based Software Engineering (SBSE). The SBSE community started life in 1999 as the SEMINAL network (Software Engineering using Meta-heuristic INovative ALgorithms). In May 2001, the first international workshop was held (co-located with ICSE). In December 2001 a special `SEMINAL’ issue of the Journal of Information and Software Technology appeared and in July 2002, there will be a track of the GECCO conference devoted to SBSE. The network continues to hold UK workshops every six months.

Harman’s work on slicing, transformation, testing and SBSE is funded by three grants form the Engineering and Physical Sciences Research Council (EPSRC) and two DaimlerChrysler Research and Development grants.

Plenary Lecture: Side-Effects Considered Harmful (but Rendered Harmless)

A side effect is any change of state which occurs when an expression is evaluated. Side effects are widely believed to impede program comprehension and have a detrimental effect upon many programming-related tasks, such as maintenance, testing and re-engineering. Despite the widespread deprecation of side-effect use in programming text books, programmers are reluctant to avoid the use of side effects. This is probably because of the perceived gains in efficiency that side effecting code appears to offer.

This talk introduces a solution to the side effect problem based upon program transformation. A program with side-effects is transformed into an equivalent side-effect free program. This allows the programmer to use the side-effect free version for comprehension, while retaining the ability to execute original side-effecting version. The solution therefore produces two equivalent versions of the program: one orientated towards humans and one towards machine.

Despite the wide-spread belief that side-effects are harmful to programmer comprehension, there appears, hitherto, to be no literature that presents empirical evidence for this belief. In collaboration with Jose Javier Dolado and Mari Carmen Otero, the author conducted such a study. The talk concludes with the initial findings of this study.

This talk reports the result of joint work with Lin Hu and Robert Hierons, Brunel University, UK, Malcolm Munro and Xingyuan Zhang, University of Durham, UK, Jose Javier Dolado and Mari Carmen Otero, University of the Basque Country, Spain and Joachim Wegener, DaimlerChrysler AG, Germany.

An early version of the work appeared in the 9th International Workshop on Program Comprehension, and recent results have been submitted to the International Conference on Software Maintenance.