39
SVA951
350
TRA
43
SAB917
190
BSN 80
Of programming GUIs,
robots and
aircraft pilots
39
AIH913
250
BSN
Yannick 39
Jestin
BAW3345
390
RLP
CENTRE D'ETUDES
DE LA NAVIGATION
AERIENNE
Stéphane Chatty
39
BAG3481
230
LUXIE
43
AFR1481
330
BSN 80
page 1
Who are our End Users ?
43
SAB917
190
BSN 80
39
SVA951
350
TRA
• En Route Air traffic controllers
• GUI development team
-
39
AIH913
250
BSN
39
BAW3345
390
RLP
programmers
interaction designers
graphic designers
Human Factors specialists
39
BAG3481
230
LUXIE
43
AFR1481
330
BSN 80
page 2
39
SVA951
350
TRA
43
SAB917
190
BSN 80
39
AIH913
250
BSN
39
BAW3345
390
RLP
39
BAG3481
230
LUXIE
43
AFR1481
330
BSN 80
page 3
From programmers’ activity
43
SAB917
190
BSN 80
39
SVA951
350
TRA
• Software Engineering
• Existing tools to support
GUI design and
programming
-
CVS
Debug
Iterative design
Documentation
etc
• Lessons learnt building
39
AIH913
250
BSN
tools ( Whizz’ed, Zinc, Ivy,
IntuiKit )
39
BAW3345
390
RLP
39
43
BAG3481
AFR1481
230
programmeurs ?330
LUXIE
BSN 80
Et si nous analysions enfin la tâche des
(What about analyzing programmers’activity?)
Accot, Chatty, Jestin, Sire, IHM’98
page 4
… to ‘programming’ per se
43
SAB917
190
BSN 80
39
SVA951
350
TRA
• How to describe the
•
39
AIH913
250
BSN
behaviour of interactive
objects ?
How to share this
description ?
39
BAW3345
390
RLP
39
BAG3481
230
LUXIE
43
AFR1481
330
BSN 80
page 5
Programming an aircraft
39
SVA951
350
TRA
43
SAB917
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
AIH913
250
BSN
• Same holds for driving ATC training simulators
39
BAW3345
390
RLP
- Less critical
39
BAG3481
- More demanding (1 pseudo-pilot = 230
15 aircraft)
LUXIE
43
AFR1481
330
BSN 80
page 6
Clearances, phraseology, data-link
39
SVA951
350
TRA
43
SAB917
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
AIH913
250
BSN
- Aspiration to richer language: ‘complex clearances’
39
- What language?
Sequential like voice, graphical?
BAW3345
390
RLP
39
BAG3481
230
LUXIE
43
AFR1481
330
BSN 80
From phraseology toward programming
page 7
Common understanding of a sequence
39
SVA951
350
TRA
43
SAB917
190
BSN 80
•
•
•
« Can you pass the Air France behind the Alitalia? »
« I will give a heading of 180° to the Air France »
39 « Er… OK...»
AIH913
250
BSN
• « Can I send the Lufthansa across level 290?
»
39
• « OK, just wait that the Speedbird and the KLM are separated »
39
BAW3345
390
RLP
BAG3481
230
LUXIE
43
AFR1481
330
BSN 80
page 8
‘Solution’-based communication
43
SAB917
190
BSN 80
39
SVA951
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
AIH913
250
BSN
- Set of named procedures?
- Formalised language (phraseology)?
- Visual language?
39
BAW3345
390
RLP
39
BAG3481
230
LUXIE
43
AFR1481
330
BSN 80
page 9
Experiment: programming a robot
39
SVA951
350
TRA
43
SAB917
190
BSN 80
• French TV, robot contest among universities
39
AIH913
250
BSN
39
BAW3345
390
RLP
• 1999 rule: pick more balls than the other
39
BAG3481
230
LUXIE
43
AFR1481
330
BSN 80
page 10
Goal: help the ENAC team to win
39
SVA951
350
TRA
43
SAB917
190
BSN 80
• Reprogram the robot between matches
• The team: electronicians, aerospace students
• Visual programming of robot behaviour
39
AIH913
250
BSN
39
BAW3345
390
RLP
39
BAG3481
230
LUXIE
43
AFR1481
330
BSN 80
page 11
The method: participatory design
39
SVA951
350
TRA
43
SAB917
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
AIH913
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
BAW3345
390
RLP
No programming tool, no program !
39
BAG3481
230
LUXIE
43
AFR1481
330
BSN 80
page 12
Programming is not so natural...
39
SVA951
350
TRA
43
SAB917
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
AIH913
250
BSN
- Research a theory of action?
- Merge 39
existing models in a tool?
BAW3345
390
RLP
Do What I Mean!
but
39
BAG3481
230
LUXIE
43
AFR1481
330
BSN 80
what do I mean?
page 13
Conclusion
43
SAB917
190
BSN 80
• Programming ≠ task of programmers
39
SVA951
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
AIH913
250
BSN
39
BAW3345
- Logic-like
languages?
390
RLP
- Visual representations?
39
BAG3481
230
LUXIE
43
AFR1481
330
BSN 80
page 14
Epilogue: the ENAC robot...
43
SAB917
190
BSN 80
39
SVA951
350
TRA
• Was finally programmed with a hybrid ad-hoc tool
- 2D trajectories
- ‘mini-programs’ associated to points on the trajectory
• Was 16th in 2000
39
AIH913
250
BSN
- Wheels were skidding and positionning was imprecise
39
BAW3345
390
RLP
• Was 2nd in 2001!
39
BAG3481
230
LUXIE
43
AFR1481
330
BSN 80
page 15
Scarica

Of programming GUIs, robots and aircraft pilots