Slide 1

Slide 1 text

A web console to control nanosatellites Nahuel Garbezza

Slide 2

Slide 2 text

context Satellogic builds nanosatellites using open hardware and software technologies @CubeBug1 launched, @CubeBug2 to be launched soon they needed a visual console for improving the interaction with the satellites

Slide 3

Slide 3 text

context Console Radio Satellite sockets

Slide 4

Slide 4 text

let’s see some of the key aspects of the project

Slide 5

Slide 5 text

#1: discover the domain we did test-driven development from the beginning a lot of concepts & patterns emerged

Slide 6

Slide 6 text

let’s browse some classes :-) #1: discover the domain

Slide 7

Slide 7 text

#2: visual sending & reception of packages web interface using Seaside components a lot of JQuery / Ajax integration with DataTables JQuery plugin

Slide 8

Slide 8 text

#2: visual sending & reception of packages demo: let’s see the console running!

Slide 9

Slide 9 text

#3: display charts timeline charts using Highstock JS library (bindings with Smalltalk)

Slide 10

Slide 10 text

#3: display charts

Slide 11

Slide 11 text

#4: parse command definitions code that runs in the satellite is written in C we used PetitParser to extract the command definitions

Slide 12

Slide 12 text

#4: parse command definitions demo: browse some PetitParser rules configuration from the web interface

Slide 13

Slide 13 text

#5: let the users write custom scripts built-in commands are ‘primitives’ console users know Smalltalk so… we let them write Smalltalk code scripting support using metaprogramming

Slide 14

Slide 14 text

#5: let the users write custom scripts demo: creating and sending scripts from the console some technical details

Slide 15

Slide 15 text

conclusions great opportunity to work on a real project using Smalltalk personally, to gain experience on TDD, OO design and Web development

Slide 16

Slide 16 text

thanks to Hernán Wilkinson Gera Richarte

Slide 17

Slide 17 text

end questions/comments are for sure welcome :-)