View
1
Download
0
Category
Preview:
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?
Recommended