Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
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?