39 SVA 951 350 TRA 43 SAB 917
39 SVA 951 350 TRA 43 SAB 917 190 BSN 80 Of programming GUIs, robots and aircraft pilots 39 AIH 913 250 BSN 39 Yannick Jestin BAW 3345 390 RLP Stéphane Chatty 39 BAG 3481 230 LUXIE 43 AFR 1481 330 BSN 80 page 1
Who are our End Users ? 43 SAB 917 190 BSN 80 39 SVA 951 350 TRA • En Route Air traffic controllers • GUI development team - 39 AIH 913 250 BSN 39 BAW 3345 390 RLP programmers interaction designers graphic designers Human Factors specialists 39 BAG 3481 230 LUXIE 43 AFR 1481 330 BSN 80 page 2
39 SVA 951 350 TRA 43 SAB 917 190 BSN 80 39 AIH 913 250 BSN 39 BAW 3345 390 RLP 39 BAG 3481 230 LUXIE 43 AFR 1481 330 BSN 80 page 3
From programmers’ activity 43 SAB 917 190 BSN 80 39 SVA 951 350 TRA • Software Engineering • Existing tools to support GUI design and programming - CVS Debug Iterative design Documentation etc • Lessons learnt building 39 AIH 913 250 BSN tools ( Whizz’ed, Zinc, Ivy, Intui. Kit ) 39 BAW 3345 390 RLP 39 43 BAG 3481 AFR 1481 230 Et si nous analysions enfin la tâche des programmeurs ? 330 LUXIE BSN 80 (What about analyzing programmers’activity? ) Accot, Chatty, Jestin, Sire, IHM’ 98 page 4
… to ‘programming’ per se 43 SAB 917 190 BSN 80 39 SVA 951 350 TRA • How to describe the behaviour of interactive objects ? • How to share this description ? 39 AIH 913 250 BSN 39 BAW 3345 390 RLP 39 BAG 3481 230 LUXIE 43 AFR 1481 330 BSN 80 page 5
Programming an aircraft 39 SVA 951 350 TRA 43 SAB 917 190 BSN 80 • Flight Management System = series of waypoints + speed modes + fuel consumption + can sometimes be overriden by user • Flying = programming the FMS • Worse than programming an Emacs mode! • Searching for a « natural FMS » 39 AIH 913 250 BSN • Same holds for driving ATC training simulators 39 BAW 3345 390 RLP - Less critical 39 BAG 3481 - More demanding (1 pseudo-pilot = 15 aircraft) 230 LUXIE 43 AFR 1481 330 BSN 80 page 6
Clearances, phraseology, data-link 39 SVA 951 350 TRA 43 SAB 917 190 BSN 80 • Clearance = program that the pilot should follow « Air France 001, maintain level 350 then after PIXEL take direct to JSY » • Phraseology = predefined language constructions - Avoids lexical and syntactic ambiguity - And also avoids semantic ambiguity - Limited set of action patterns • Data-link : towards a computer-based phraseology 39 AIH 913 250 BSN - Aspiration to richer language: ‘complex clearances’ 39 - What language? Sequential like voice, graphical? BAW 3345 390 RLP 39 BAG 3481 230 LUXIE 43 AFR 1481 330 BSN 80 From phraseology toward programming page 7
Common understanding of a sequence 39 SVA 951 350 TRA 43 SAB 917 190 BSN 80 • « Can you pass the Air France behind the Alitalia? » • « I will give a heading of 180° to the Air France » • « Er… OK. . . » 39 AIH 913 250 BSN • « Can I send the Lufthansa across level 290? » • « OK, just wait that the Speedbird and the KLM are separated » 39 BAW 3345 390 RLP 39 BAG 3481 230 LUXIE 43 AFR 1481 330 BSN 80 page 8
‘Solution’-based communication 43 SAB 917 190 BSN 80 39 SVA 951 350 TRA • relies on recognition of action patterns • but sometimes recognition fails • and sometimes there is no known pattern! • need of shared information on solutions: 39 AIH 913 250 BSN - Set of named procedures? - Formalised language (phraseology)? - Visual language? 39 BAW 3345 390 RLP 39 BAG 3481 230 LUXIE 43 AFR 1481 330 BSN 80 page 9
Experiment: programming a robot 39 SVA 951 350 TRA 43 SAB 917 190 BSN 80 • French TV, robot contest among universities 39 AIH 913 250 BSN 39 BAW 3345 390 RLP • 1999 rule: pick more balls than the other 39 BAG 3481 230 LUXIE 43 AFR 1481 330 BSN 80 page 10
Goal: help the ENAC team to win 39 SVA 951 350 TRA 43 SAB 917 190 BSN 80 • Reprogram the robot between matches • The team: electronicians, aerospace students • Visual programming of robot behaviour 39 AIH 913 250 BSN 39 BAW 3345 390 RLP 39 BAG 3481 230 LUXIE 43 AFR 1481 330 BSN 80 page 11
The method: participatory design 39 SVA 951 350 TRA 43 SAB 917 190 BSN 80 • Scenarios, workshops, etc • First workshop: « give us a sample program » - Users in front of a white board - No constraint in expression • Result: unable to express a program! 39 AIH 913 250 BSN - « it first turns, then goes this way towards the bridge - except that if there ’s an adversary pod, then… - Oh, and if it spots an angle for shooting, then… » 39 BAW 3345 390 RLP No programming tool, no program ! 39 BAG 3481 230 LUXIE 43 AFR 1481 330 BSN 80 page 12
Programming is not so natural. . . 39 SVA 951 350 TRA 43 SAB 917 190 BSN 80 • Ability to cope with facets of a program: - Sequence Conditions Reactions Constraints • But no global vision when there are several facets • Current tools and languages support one facet • So what do we do? 39 AIH 913 250 BSN - Research a theory of action? 39 - Merge existing models in a tool? BAW 3345 390 RLP Do What I Mean! but 39 BAG 3481 230 LUXIE 43 AFR 1481 330 BSN 80 what do I mean? page 13
Conclusion 43 SAB 917 190 BSN 80 • Programming ≠ task of programmers 39 SVA 951 350 TRA • ‘Programming’ is pervasive in ATC for instance: - Programing FMS or simulated aircraft - Sending ‘clearances’ - Sharing ‘solutions’ • Cognitive limits - Sequence, conditions, reactions? • We need better ‘tools’ for thinking about action 39 AIH 913 250 BSN 39 BAW 3345 - Logic-like languages? 390 RLP - Visual representations? 39 BAG 3481 230 LUXIE 43 AFR 1481 330 BSN 80 page 14
Epilogue: the ENAC robot. . . 43 SAB 917 190 BSN 80 39 SVA 951 350 TRA • Was finally programmed with a hybrid ad-hoc tool - 2 D trajectories - ‘mini-programs’ associated to points on the trajectory • Was 16 th in 2000 39 AIH 913 250 BSN - Wheels were skidding and positionning was imprecise 39 BAW 3345 390 RLP • Was 2 nd in 2001! 39 BAG 3481 230 LUXIE 43 AFR 1481 330 BSN 80 page 15
- Slides: 15