the meerkat graphical user interface technology stack · o publish & subscribe o messaging design...
TRANSCRIPT
-
ICALEPCS 2015
The MeerKAT Graphical User Interface Technology Stack
ICALEPCS 2015
Theuns Alberts Francois Joubert
THHC3O01
-
ICALEPCS 2015
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
background
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
past = KAT-7
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
present = MeerKAT
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
present = MeerKAT
Image credit: https://goo.gl/VkySpd
https://goo.gl/VkySpdhttps://goo.gl/VkySpd
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
future = SKA
-
ICALEPCS 2015
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
old katgui
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
old katgui – KAT-7
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
old katgui – problems
o Adobe dependencies
(based on Adobe Flex framework)
o sluggish
o mouse events not always registered
o not going to scale well (64 antennas)
-
ICALEPCS 2015
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
approach
-
ICALEPCS 2015
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
method
o user interface technology investigation o responsive web design o various typical use-case prototypes
o bi-monthly discussions with relevant stakeholders to clarify requirements
o most importantly the telescope operators and commissioners (i.e. the end-users)
o iterative development approach
o included monthly demonstrations of prototype displays
-
ICALEPCS 2015
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
meerkat gui architecture
-
ICALEPCS 2015
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
architecture overview
o client-server architecture o real-time updates of monitor points
o websockets & pubsub
websocket o full-duplex socket
connection o eliminate need for polling o event driven responses
pubsub o publish & subscribe o messaging design pattern o publisher is a sender/provider o subscriber is a
receiver/consumer o messages characterised into
classes o pubs & subs no knowledge of
each other
-
ICALEPCS 2015
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
backend
Image credit: http://goo.gl/KcebYM
http://goo.gl/KcebYM
-
ICALEPCS 2015
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert
katportal
o katportal = backend component o runs various HTTP web servers
o redis for the pubsub mechanism o client websocket connections subscribe to
monitoring points o telescope system publish updates
ICALEPCS 2015
-
ICALEPCS 2015
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert
http servers
o auth webserver o provides HTTP connection handling (RESTful API) o authentication = basic o authorisation = role based with session token (JWT)
o monitor webserver o provides websocket connection handling o no authorisation required o exposes subscribe-related commands (JSONRPC)
o control webserver o provides HTTP connection handling (RESTful API) o requires authentication & authorisation
ICALEPCS 2015
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
example JWT token
-
ICALEPCS 2015
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert
backend technology stack
ICALEPCS 2015
-
ICALEPCS 2015
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert
backend technology stack
ICALEPCS 2015
Ubuntu 14.04 LTS
-
ICALEPCS 2015
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert
backend technology stack
ICALEPCS 2015
Ubuntu 14.04 LTS
-
ICALEPCS 2015
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert
backend technology stack
ICALEPCS 2015
Ubuntu 14.04 LTS
-
ICALEPCS 2015
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert
backend technology stack
ICALEPCS 2015
Ubuntu 14.04 LTS
-
ICALEPCS 2015
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert
backend technology stack
ICALEPCS 2015
Ubuntu 14.04 LTS
-
ICALEPCS 2015
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
frontend
Image credit: https://goo.gl/ez2f7U
https://goo.gl/ez2f7Uhttps://goo.gl/ez2f7U
-
ICALEPCS 2015
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert
katgui
o thick web-application
o build for chrome o but firefox & safari works too
o separate connections for each browser tab
o subscribe to namespaces (groups of of similar monitoring points) o e.g. alarms, sched, obs, ants
o concurrent user interface state updates
ICALEPCS 2015
-
ICALEPCS 2015
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert
frontend technology stack
ICALEPCS 2015
-
ICALEPCS 2015
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert
frontend technology stack
ICALEPCS 2015
-
ICALEPCS 2015
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert
frontend technology stack
ICALEPCS 2015
-
ICALEPCS 2015
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert
frontend technology stack
ICALEPCS 2015
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
landing page and navigation
o simple dashboard with customisable widgets
o grouped navigation represented as
“navigation pies”
o sidebars with quick links
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
landing page and navigation
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
landing page and navigation
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
landing page and navigation
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
health displays
o many different health displays to maximise efficient
fault finding
o interactive, customisable
o bold colours
o developed to be on large, heads-up displays
o important information always shown
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
health displays
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
receptor health
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
receptor health
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
receptor health
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
receptor health (64)
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
custom health
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
receptor pointing
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
receptor pointing
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
receptor pointing
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
sensor list
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
weather
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
sensorgraph – historical data
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
alarms
o pushed via websockets
o alarms dedicated display
o alarm notifications o overlay on every page until operator
acknowledges alarm
o alarm badges on main toolbar
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
alarms
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
alarms
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
alarms
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
scheduling observations
o subarray = logical grouping of receptors o i.e. sub-telescope
o MeerKAT supports 4
o schedule block = unit of observation work o executes an observation script
o subarray control is limited based on user role
o guide user through scheduling workflow
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
scheduling observations
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
scheduling observations
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
scheduling observations
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
ipython shell
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
control room
-
ICALEPCS 2015
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
conclusion
-
ICALEPCS 2015
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert
conclusion
o involve the actual users of the interface early in the life cycle o pubsub excellent to provide isolation between consumers and
producers of data o web technologies for control & monitoring applications is a viable
option o growth of computing power makes thick clients possible, reducing
load at server o users enjoy working with attractive interfaces … yes, even scientists
ICALEPCS 2015
-
22 October 2015 The MeerKAT Graphical User Interface Technology Stack – M. Alberts, F. Joubert ICALEPCS 2015
questions?