61
The MeerKAT Graphical User Interface Technology Stack ICALEPCS 2015 Theuns Alberts Francois Joubert THHC3O01

The MeerKAT Graphical User Interface Technology Stack · o publish & subscribe o messaging design pattern o publisher is a sender/provider o subscriber is a receiver/consumer o messages

  • 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?