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