Speaker
Dr
Sebastien Binet
(IN2P3/LAL)
Description
pawgo: an interactive analysis workstation
==========================================
Current interactive analysis toolkits usually leverage a
Turing-complete general programming language, such as `C++`
or `python`, married with some kind of interpreter (_e.g.:_ `CINT` or
`CLing`) and a graphical user interface to present results (`ROOT`,
`matplotlib` or `Chaco`.)
An obvious advantage of using a general programming language is that
one can tap the full power of that language to build any analysis.
But conversely, users have to comply with the sometimes verbose ways
of that language to describe "graphics" entities or express
manipulations to be applied to these entities, letting much to be
improved on the interactivity and reactivity fronts.
`pawgo` is a prototype re-investigating the use of a Domain Specific
Language (DSL) - whith a nod to the old `PAW` and `PAW++`
applications.
This paper will first introduce the overall architecture of `pawgo`, a
set of reusable `Go` libraries packaged as a portable application, and
the tools it leverages (`d3.js`, `WebSockets` and `RPC` to name a few)
to enable both remote and local work as well as batch execution mode.
Most importantly, the paper will describe the use of the grammar of
graphics to overcome the impedance mismatch between general
programming languages and graphics manipulations, thus easily allowing
users to create new graphic objects, animations or styles.
Indeed, the grammar of graphics lets users and developers focus on the
"what" to display, letting the underlying library deal with the minute
details and ceremony of the "how" best to display.
Finally, the paper will present prospects and work ahead for `pawgo`
to graduate from a prototype to a full-fledged analysis workstation.
Author
Dr
Sebastien Binet
(IN2P3/LAL)