interaction-oriented programming for cockpits and ...€¦ · b23.in) gpio_up = gpio_down gpio_up...

11
Interaction-Oriented Programming for Cockpits and Controller Working Positions Stéphane Chatty Stéphane Conversy Jérémie Garcia Sébastien Leriche Mathieu Magnaudet Célia Picard Daniel Prun Nicolas Saporito

Upload: others

Post on 22-Jul-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Interaction-Oriented Programming for Cockpits and ...€¦ · B23.in) gpio_up = gpio_down gpio_up page. page_down page. page_up SETTING Motor RPM 2720mV Umax CELL BMS Measurement

Interaction-Oriented Programming for Cockpits and Controller Working Positions

Stéphane ChattyStéphane Conversy

Jérémie GarciaSébastien Leriche

Mathieu MagnaudetCélia PicardDaniel Prun

Nicolas Saporito

Page 2: Interaction-Oriented Programming for Cockpits and ...€¦ · B23.in) gpio_up = gpio_down gpio_up page. page_down page. page_up SETTING Motor RPM 2720mV Umax CELL BMS Measurement

The Smala programming languageThe Djnn framework and run-time

Interaction-oriented programming

Page 3: Interaction-Oriented Programming for Cockpits and ...€¦ · B23.in) gpio_up = gpio_down gpio_up page. page_down page. page_up SETTING Motor RPM 2720mV Umax CELL BMS Measurement
Page 4: Interaction-Oriented Programming for Cockpits and ...€¦ · B23.in) gpio_up = gpio_down gpio_up page. page_down page. page_up SETTING Motor RPM 2720mV Umax CELL BMS Measurement

Those systems are all interactive

• Many interacting sub-systems

• Whose state depends on multiple asynchronous sources of event

• In which some sub-systems are human beings

Page 5: Interaction-Oriented Programming for Cockpits and ...€¦ · B23.in) gpio_up = gpio_down gpio_up page. page_down page. page_up SETTING Motor RPM 2720mV Umax CELL BMS Measurement

djnn: a process-based approach

the world as objects withproperties

=> Object-OrientedProgramming

the world as processes thatchange

=> Interaction-OrientedProgramming

Plato Heraclitus

vs

Page 6: Interaction-Oriented Programming for Cockpits and ...€¦ · B23.in) gpio_up = gpio_down gpio_up page. page_down page. page_up SETTING Motor RPM 2720mV Umax CELL BMS Measurement

IOP:Unification:

Iterative design:

Input from graphics and GPIOInterchangeable inputSwitch Debug/Operation

Page 7: Interaction-Oriented Programming for Cockpits and ...€¦ · B23.in) gpio_up = gpio_down gpio_up page. page_down page. page_up SETTING Motor RPM 2720mV Umax CELL BMS Measurement

IOP:Unification:

Iterative design:

States - assignment

Page 8: Interaction-Oriented Programming for Cockpits and ...€¦ · B23.in) gpio_up = gpio_down gpio_up page. page_down page. page_up SETTING Motor RPM 2720mV Umax CELL BMS Measurement

Status

• Already working:

– « Static » interfaces (no new objects during run-time)

– Graphics, SVG, direct manipulation, multitouch, network

– Suitable for research projects

• Work-in-Progress

– Dynamic interfaces

– Scalability, latency, dependability

– Suitable for prototyping projects and/or non-criticalapplications (SWAL>=4)

Page 9: Interaction-Oriented Programming for Cockpits and ...€¦ · B23.in) gpio_up = gpio_down gpio_up page. page_down page. page_up SETTING Motor RPM 2720mV Umax CELL BMS Measurement
Page 10: Interaction-Oriented Programming for Cockpits and ...€¦ · B23.in) gpio_up = gpio_down gpio_up page. page_down page. page_up SETTING Motor RPM 2720mV Umax CELL BMS Measurement
Page 11: Interaction-Oriented Programming for Cockpits and ...€¦ · B23.in) gpio_up = gpio_down gpio_up page. page_down page. page_up SETTING Motor RPM 2720mV Umax CELL BMS Measurement

smala.io

https://github.com/lii-enac/djnn-cpphttps://github.com/lii-enac/smala