8th International Workshop on Science Gateways (IWSG 2016), 8-10 June 2016 A Microservice-Based Portal for X-ray Transient and Variable Sources Daniele D’Agostino∗ , Luca Roverelli∗ , Gabriele Zereik∗ , Andrea De Luca† , Ruben Salvaterra† , Andrea Belfiore† , Gianni Lisini‡§ , Giovanni Novara‡§ and Andrea Tiengo‡† ∗ CNR-Istituto di Matematica Applicata e Tecnologie Informatiche “Enrico Magenes”, via Dei Marini 6, 16149 Genova, Italy † INAF-Istituto di Astrofisica Spaziale e Fisica Cosmica Milano, via E. Bassini 15, 20133 Milano, Italy ‡ Istituto Universitario di Studi Superiori, piazza della Vittoria 15, 27100 Pavia, Italy § Istituto Nazionale di Fisica Nucleare, Sezione di Pavia, via A. Bassi 6, I-27100 Pavia, Italy Abstract—Modern soft X-ray observatories can yield unique EXTraS is going to systematically extend 3XMM by design- insights into time domain astrophysics, and a huge amount ing and implementing four main lines of analysis. At first, the of information is stored - and largely unexploited - in data characterization of the 3XMM sources on all possible time archives. Like a treasure-hunt, the EXTraS project is harvesting the hitherto unexplored temporal domain information buried in scales (from the duration of an observation to the instrument the serendipitous data collected by the European Photon Imaging time resolution, typically 73 ms and 2.6 sec.) will result in Camera (EPIC) instrument onboard the ESA XMM-Newton, a systematic study of aperiodic, short-term variability. The in 16 years of observations. Part of this analysis is performed other three analyses have never been performed before on the through a dedicated science gateway, the EXTraS portal, whose EPIC database. They are i) a systematic search for short, weak initial release is the subject of this paper. In particular the focus is on its light software architecture, based on the use of transient sources that are above the detection threshold just microservices, providing a better resilience and more decoupled for a small interval of time; ii) the variability on longer time development lifecycle with respect to the approaches followed by scales, thanks to the large number of overlapping observations the most used science gateway toolkits. performed in 16 years; iii) a systematic search for periodicities Keywords—Science Gateways; Microservices; Astrophysics due to candidate pulsators. As the most sensitive search for variability ever performed, I. I NTRODUCTION EXTraS may raise new questions in high-energy astrophysics and serve as a pathfinder for future missions. Therefore A wide diversity of astrophysical phenomena - from stellar EXTraS results, together with new software tools related to flares in the solar neighborhood to accretion in galactic nuclei the four lines of analysis, will be released to the community at at cosmological distances - are characterized by flux and the end of the project. The software is of particular importance spectral changes on time scales, ranging from a fraction of for enhancing the potential of discovery of the XMM-Newton a second to several years. Current observing facilities produce mission [4], because it is ongoing and therefore produces daily “time-resolved” images of the sky, with a time resolution of new data. the order of 1 sec. or better [1]. Thus, a huge amount of There are four possibilities to provide the software to the potentially interesting information is collected each day, but scientific community. The first, basic solution is to make it remains mostly unused, stored in data archives. This is available an installer or an archive containing all the files especially true in the high energy range of the electromagnetic required to build the analysis tool. This approach has been spectrum, where source variability is very common but the adopted for some important tools of the Astrophysics com- time dimension is seldom systematically exploited. munity as the Science Analysis System (SAS), a collection The EU-funded FP7 EXTraS (Exploring the X-ray Transient of scripts and libraries specifically designed for the XMM- and variable Sky, http://www.extras-fp7.eu) project aims to Newton observations (http://www.cosmos.esa.int/web/xmm- search and characterize variable sources in the soft X-ray en- newton/sas-download). A second solution can be to provide the ergy range, by exploiting the whole database collected by the software by exporting the corresponding workflows, that can European Photon Imaging Camera (EPIC) cameras onboard be thus executed using a Workflow Management System. Also the ESA’s X-ray space observatory XMM-Newton [2]. Sixteen this solution has been adopted by the Astrophysics community years after its launch, EPIC is still fully operational and its [5], [6]. The third solution is to provide a virtual machine immensely rich archive of data keeps growing. The catalog with all the software installed on it. In general software of serendipitous sources extracted from EPIC observations, tools may exhibit different levels of maturity: they may be dubbed 3XMM, is the largest and most sensitive compilation written in a multitude of programming languages, they may of X-ray sources ever produced, listing more than 500,000 depend on specific libraries (sometimes even specific library detections over about 800 square degrees of the sky [3]. versions), and on specific execution environments (e.g. Linux 8th International Workshop on Science Gateways (IWSG 2016), 8-10 June 2016 or Windows). This solution is probably the most effective for and collaborative services as well. The defining characteristics non-expert astronomers, who wants to run a few experiments, of HUBzero are the delivery of visual simulation tools, that and for dissemination purposes, for example for educational look like simple Java applets embedded within the browser, programs or citizen scientists. It is worth noting that the SAS and the strong focus on the collaborative aspects for research are available also as a Linux virtual machine. The fourth and educational activities. solution is to provide the software as a set of services through However, most of these toolkits are based on time-proved a Web portal designed following the science gateway paradigm technologies, while it is possible to identify new technologies [7]. and different architectural approaches that are well received by Science gateways are gaining an increasing interest also in the ICT community. Moreover, in designing and maintaining the astrophysics community [8]. In this paper we describe a science gateway there is the need to deal with different the architecture and the first release of the science gateway aspects related to the continuous improvement of the software (http://portal.extras-fp7.eu) that is under development in the used by the reference scientific community, characterized project. Presently it allows the analysis for transient X-ray by heterogeneous functional and non-functional requirements, sources on the whole XMM-Newton Science Archive, con- new data repositories, distributed computational resources and taining the data from the XMM-Newton mission. The portal other software components. The experience gained in deploy- is the result of the joint effort of the two communities of the ing a science gateway for the Hydrometeorological scientific project, astrophysics and ICT, and the main contribution is community, the DRIHM portal, [14] led us to investigate represented by the description of the microservice-based ap- alternative solutions. Interested readers can refer to [9] for proach we are following, that is based on a previous experience more details. in deploying a science gateway for the Hydrometeorological scientific community [9]. III. T HE EXT RA S P ORTAL The paper is organized as follows. Section II discusses Our approach for developing a science gateway is based on related works, while Section III presents the architecture of the a three-layer architecture made up by a presentation layer, Web portal. Section IV describes the service for the analysis containing the UI, an application layer, exposing a set of of transient X-ray sources, while Section V concludes. microservices, and a foundation layer responsible for interac- tion with computational infrastructure. In this paper we focus II. R ELATED W ORKS on the UI management and the microservice-based approach, Science gateways can be defined as a set of software, data with the goal to have a user-friendly way to define, retrieve collections, instrumentations and computational capabilities and share experiments, plus an effective approach to create that are integrated via a Web portal (or a desktop applica- customized UI for astrophysical software tools easy to update tion) in a user friendly and effective environment supporting and maintain. the scientific research and education activities of a specific The architecture of the EXTraS Portal and its main compo- community. Each community presents different requirements, nents are shown in Figure 1. due to the software and/or data it shares and the goals it aims to achieve, but normally there is the need to setup services for PortalTS user management, the deployment of user interfaces (UI) for The EXTraS portal has been based on PortalTS, an original experiment definition and configuration, with workflow engine Web Portal under development as an independent project at and job submission services for orchestrating the experiments CNR for the refactoring of the DRIHM portal. execution. PortalTS has been developed in Typescript using the NodeJS Some of these items can be addressed by general-purpose, and Express frameworks. It is composed by reusable modules ready-to-use solutions (e.g Grid certificates, workflow manage- and implements standard features available for a Web site (e.g. ment systems), some others instead rely on ad-hoc solutions user management and registration) along with other features (i.e. the UI) that can be developed using general-purpose (such as a simple API for data persistence) that enables fast technologies. In general, science gateway toolkits as gUSE development of custom modules. [10], Apache Airavata [11], Agave [12] and HUBzero [13] are A module is a component that implements and exposes a powerful solutions that allow non-ICT users to quickly deploy feature, but can also use features exposed by other modules. Web portals by providing a set of enabling technologies, front- It is a very general component representing, for example, end and back-end gateway services. For example gUSE allows a set of web pages, a web service, a web app (aka Single submitting jobs through the portlet technology on almost all Page Application), a set of static files like css files, images, the distributed computing infrastructures in Europe and US. or something different. According to the NodeJS philosophy, Airavata can be used as a middleware layer and it provides each module should be as simple as possible and implement APIs to submit and monitor jobs from gateways front-end a single functionality. written in several languages (e.g. Java, PHP, Python and C++). PortalTS loads modules on the bootstrap phase, using a con- Agave focuses on providing a “Science-as-a-Service” solu- figuration file to ensure modules loading order. Since PortalTS tion for hybrid cloud computing, i.e. an enhancement of the and any module are developed in Typescript, module error “Platform-as-a-Service” paradigm with computational, data, loading caused by typos and other typical Javascript errors 2 8th International Workshop on Science Gateways (IWSG 2016), 8-10 June 2016 Fig. 1. The architecture of the EXTraS science gateway (e.g. undefined functions or undefined function arguments) policy. The Persistence API Module is fundamental since it is dramatically reduced, resulting in an improved software allows to store and retrieve persistence data without any effort, reliability and stability. enabling a ready-to-use persistence layer. Moreover, this layer PortalTS includes some ready-to-use modules, as shown is integrated with an AngularJS library that implements all the in Figure 1. The Database module defines and manages the methods necessary to give a quicker and simpler access to the connection with the MongoDB database. Despite its simplicity, persistent data. this module is fundamental and it is used by higher-level The CMS (Content Management System) module defines modules for the communication with the database. MongoDB some web pages for user login and registration, and it allows has been chosen because it is extremely well integrated the creation of user-defined web pages and a menu. Each with NodeJS. Moreover, there are some high level libraries, web page or menu element can be publicly available or e.g. mongoose (http://mongoosejs.com/), that are stable and accessible by a particular group, since the CMS module uses maintained, making them usable in a production environment. the Persistence API module. There are also some further basic The User Management module defines an API for a com- modules, like the Theme module, that defines the web pages plete authentication system, including user registration, login, header and the footer. This module can be exploited by all and administration pages. It implements also role and group portal modules to define a standard look and feel of a portal concepts, at the basis of the authorization mechanism for instance. pages, modules and entities. The Persistence API Module defines the interface to store, Json-GUI retrieve and manage heterogeneous data on the MongoDB Json-GUI is a front-end library, developed as a set of database. It exposes both a RESTful and an internal API, that reusable AngularJS directive, that allows the dynamic gen- can be directly used by other modules, as the CMS described eration of full-featured form-based web interfaces including below. The RESTful API is very important since it allows validation and constraints. It can considered a companion to store data directly from a web app, that can be built upon tool with respect to PortalTS, but it can be exploited in any this modules. One example is the Jobs Management, described AngularJS/Javascript web application. below. The Persistence API defines entities and collections. A The choice of building such a module from scratch, against collection is a set of entities, while an entity represents possi- using already existing ones, is derived from the need to address bly heterogeneous data stored with some additional metadata, some specific requirements. In particular, the way the module like creation, update time or the owner. An entity can only is built lets any non-IT scientist to easily design an advanced belong to one collection. configuration interface, freeing the IT developer from editing The Persistence API relies on the User Management Module the source code any time a scientist decides to update the to ensure security and user authentication on the data. By parameter list or any other interface element. In fact, Json- default, an entity is only accessible by the owner, but its read Gui comes with some high-level features well suited for and write access policy can be changed, using a group-based the scientific context, that gives scientists the possibility to 3 8th International Workshop on Science Gateways (IWSG 2016), 8-10 June 2016 easily define high level validation and constraints between In the EXTraS Portal, each analysis tool corresponds to configuration parameters. a specific microservice implementation, which exposes two different APIs. The first one is used by the Jobs Management Jobs Management Module, to submit and monitor the experiments. The other The Jobs Management Module is a custom module specif- one supports the communication with the computing resources ically developed for the EXTraS portal. It provides user used to run the experiments, in order to provide a nearly real- the possibility to create, submit and manage the different time feedback log to the user. analysis experiments defined in the project, as described in In the current release of the EXTraS portal, only one the Introduction. analysis operation has been made available: the software tools This module is based on AngularJS and it is a complete web corresponding to the remaining ones are still beta versions, and app, without any server side code. It uses the Persistence API they will be integrated as soon as they will be made available. to store and retrieve experiments data, and it directly commu- This is the reason why only one microservice has been nicates with microservices, which are responsible to execute deployed. Since the present infrastructure is quite simple, we the different analysis software. Each analysis tool is based on a manage it with the the PM2 tool (http://pm2.keymetrics.io/), set of specific configuration parameters: the corresponding UI a production process manager for Node.js applications with a has been created using the Json-GUI library. Jobs executions built-in load balancer that allows to monitor and auto-restart are performed remotely on available computing Infrastructure the instances of PortalTS and the microservice. as EGI FedCloud (https://www.egi.eu/infrastructure/cloud/) or Of course, we know that this solution does not scale High Performance Computing facilities. up with a number of microservices and more complex in- The Jobs Management Module provides two further key frastructures. Moreover, it is important to mention that, be- features: the ability to share a job and the support for the side the microservice and PortalTS, it is also necessary to interaction and discussion (in terms of comments) among the manage and monitor a MongoDB instance, a Redis server scientists sharing it. Sharing a job means not only that the (http://redis.io) necessary to manage user sessions on PortalTS, experiment results are visible to other users, but also the and an Apache HTTPD web server, used to forward the configuration is shared and can be used as a starting point different requests to the microservice and PortalTS. For this for re-submit the experiment on a new set of data. Thus, reasons, we are considering several solutions that allow an easy a job execution can be replicated by other users that can, management of the entire infrastructure, able to optimize the for example, validate the experiment results or explore the workload distribution of the coming different microservices, behavior by changing one or a few parameter values. PortalTS, MongoDB and Redis as well. The first step will EXTraS deems outreach and involvement with schools and be to switch to a containerized environment, like Docker other institutions a fundamental component of its scientific (https://www.docker.com/), that will improve the management mandate. These features can be relevant to provide students and deploying of PortalTS and the different microservices, with the possibility to play with some scenarios. The sharing plus the MongoDB and Redis instances. However, Docker by implementation is extremely simple thanks to the Persistence itself does not provide an automatic scaling of the number API Module: it is sufficient, in fact, to modify the access policy of instances of the microservices and PortalTS, based on of a job to share it with one or more groups. traffic loads or CPU usage, and a distribution of the instance among the nodes of a cluster. Therefore, it is necessary to Microservices adopt further systems like Kubernetes (http://kubernetes.io/) A microservice is a self-contained reusable component that that support the management, deployment and execution of fulfills a specific task. They are loosely coupled components different containers on a cluster environment, also providing that can be independently updated and provide better scal- an automatic scaling and distribution of the containers. ability with respect to other solutions [15]. For example, if a single microservice of a portal is accessed by many IV. T HE A NALYSIS OF H IGHLY VARIABLE AND more users than the others, thus it needs to manage many T RANSIENT S OURCES more connections and activities, it is possible to instantiate The analysis of highly variable and transient sources aims it multiple times, performing load balancing without wasting at identifying burst-like variability during EPIC observations. resources, thus scaling at very low granularity. On the contrary, It is based on standard source detection algorithm, that are with a traditional single Web Service approach, the whole Web applied to time-resolved images derived from the XMM- Service requires to be instantiated multiple times, increasing Newton observations. Images are analyzed to identify new the consumption of partially exploited resources. point sources that might have brightened considering different Moreover it is possible to update, improve or correct bugs of energy bands. each microservice independently from the others. This enables Each observation can result in a single image or a set of a faster development cycle and simpler analysis, debug and images can be obtained by subdividing the observation into deployment phases for each microservice, improving the main- sub-exposures corresponding to different time intervals. The tenance of the whole system and enabling a fast prototyping time intervals can either have fixed duration or they can be on new functionalities. defined with a preliminary search for an excess of counts 4 8th International Workshop on Science Gateways (IWSG 2016), 8-10 June 2016 Fig. 2. The Jobs Management UI within a small region of the detector in limited time periods. the logs files. These data can be shared within the groups This step of the analysis is performed using a Bayesian Blocks she/he belongs to. In this last case scientists can cooperate algorithm on the events detected in partially overlapping re- among them in evaluating the results by providing comments. gions having a size comparable to the characteristic dimension The UI allows to apply the same analysis configuration to of the telescope point spread function. The main parameters several observations. This feature results in the creation of for the transient analysis on one or more observations, named multiple experiments, one for each observation. This choice hereafter the experiment, are the choice of instruments (i.e. allows to submit multiple analyses at a time but to maintain one or both the EPIC instruments), the energy bands, the list a one-to-one correspondency between one observation and its of observation identifier(s) and the possible time intervals for results. source detection (single image, fixed bins, Bayesian blocks analysis, or all three). In details, the EXTraS science gateway relies on the Federated Cloud infrastructure provided by EGI to The EXTraS portal provides users with the possibility to run the experiments. In particular a virtual appliance submit experiments for all the observation data contained in (https://appdb.egi.eu/store/vappliance/extras.wp4) (i.e. the ESA XSA Archive. After the login, a user interacts with the template for virtual machine - VM -instances), the Jobs Management UI for managing experiments, as shown containing the transient analysis software an a in Figure 2. One experiment consists in a (partially) configured contextualization mechanism based on cloud-init analysis specification, a running job or the result achieved (https://appdb.egi.eu/store/software/fedcloud.cloud.init) with a specific analysis configuration. An experiment can have has been registered to the EGI Applications Database been created by the user or shared with her/him by a member (AppDB), in order to be able to instantiate it on the Federated of her/his group. To create an experiment the user selects Cloud sites supporting the project. EGI in fact relies on a the transient analysis and a name for it. Then she/he can single sign-on mechanism to access the federated services configure it and decide whether to submit it or to only save the based on X.509 certificates and Virtual Organization (VO) defined parameter values. An experiment can also be created membership. In our case the portal exploits a robot certificate. starting for an existing one: this feature, besides supporting the They were introduced to allow users, who cannot get or reproducibility of the results, has been designed to simplify are not familiar with personal certificates, to exploit any and speed up the execution of an experiment by changing distributed infrastructure relying on them in their research some parameter values or the considered observations, e.g. activities [16]. The robot certificate is usually associated when new data are available. When an experiment correctly with a specific application (or function) that the application completes its execution, the user can download the output and developer/provider wants to share with all the VO members. 5 8th International Workshop on Science Gateways (IWSG 2016), 8-10 June 2016 This is exactly the scenario arisen in the EXTraS activities, final, public release is expected at the end of the project because portal users are provided with the possibility to run in December 2016. We will consider also the possibility to only pre-defined software tools. provide a remote visualization service, for a better exploita- The experiment configuration is performed by interacting tion of experiment results. This feature will be of particular with the form created for the transient analysis by using importance for outreach and students involvement activities of Json-GUI. When the user saves an experiment the resulting the project and, in perspective, to provide the portal to the large parameter list is stored on the portal mongoDB database by community of citizen scientists interested in the astrophysics interacting with the Persistence API module. The selection research activities. of the observation(s) and the actual submission is performed ACKNOWLEDGMENT through the Jobs Management UI, that forward the request to the microservice associated with this kind of analysis. EXTraS has received funding from the European Union’s The microservice a) interacts with the Persistence API to 7th Framework Programme for research, technological devel- retrieve the parameter list; b) selects (presently in a round- opment and demonstration under grant agreement no. 607452. robin way) one of the Federated Cloud site supporting the R EFERENCES extras-fp7.eu VO; c) creates the contextualization file for [1] C.R. Kitchin, Astrophysical techniques, CRC Press, 2013. the analysis; d) activates the VM instance(s) via a rOCCIi [2] A. De Luca, R. Salvaterra, A. Tiengo, D. D’Agostino, M.G. Watson, client (https://github.com/EGI-FCTF/rOCCI-cli) installed on F. Haberl, J.Wilms, An overview of the EXTraS project: Exploring the the server hosting the EXTraS portal; e) creates one record X-ray Transient and Variable Sky, PoS(SWIFT 10)135, 2014. [3] S. R. Rosen, N. A. Webb, M. G. Watson, J. Ballet, D. Barret, V. for the job on the database with the status “submitted”. Braito, F. J. Carrera, M. T. Ceballos, M. Coriat, R. Della Ceca et al., The VM then starts its execution by downloading, via The XMM-Newton serendipitous survey. VII. The third XMM-Newton wget, the observation data from the XSA archive: the XSA serendipitous source catalogue, Astronomy & Astrophysics, in press. DOI: 10.1051/0004-6361/201526416 Archive Inter Operability system (AIO) allows a direct access [4] Mushotzky R., What do Astronomers Really Want? Astronomical Data to the XSA data. Furthermore, it periodically notify via POST Analysis Software and Systems (ADASS XX) , ASP Conf. Proc., 442, requests the microservices about its progress, in order to p.235, 2011. [5] J. Ruiz, J. Garrido, J. Santander-Vela, S. Sanchez-Exposito, L. Verdes- update its status (e.g. submitted error, running, finished, error) Montenegro Astrotavernabuilding workflows with virtual observatory in the associated record. It can also provides the log files services Astronomy and Computing, 78, pp. 3-11, 2014. in realtime to the user, The job execution can be monitored [6] Castelli, G., Taffoni, G., Sciacca, E., Becciani, U., Costa, A., Krokos, M., Pasian F, Vuerli, C., VO-compliant workflows and science gateways, in fact via the Jobs Management UI, who retrieve the status Astronomy and Computing, 11, pp. 102-108, 2015. from the database and the logs from the microservice. At the [7] Kacsuk P (ed), Science Gateways for Distributed Computing Infrastruc- end of the analysis the VM notifies the microservice who a) tures, ISBN 978-3-319-11268-8, 2014. [8] Becciani U., Sciacca E., Costa A., Massimino P., Pistagna C., Riggi S., transfer the resulting files on the server filesystem; b) update Vitello F., Petta C., Bandieramonte M. and Krokos M. (2015), Science the record on the portal database; c) shut down the virtual gateway technologies for the astrophysics community, Concurrency and machine using the rOCCI client. All the information related to Computation: Practice and Experience, 27, pp. 306-327, 2015. [9] D. D’Agostino, E. Danovaro, A. Clematis, L. Roverelli, G. Zereik, A. this job (e.g. the configuration parameters, the logs, the results, Parodi, A. Galizia, Lessons learned implementing a science gateway for the ownership/sharing information and possible comments) are hydro-meteorological research. Concurrency and Computation: Practice stored on the portal database until it is deleted by the user who and Experience, 8(7), pp. 2014-2023, 2016. [10] Balasko Á, Farkas Z, Kacsuk P. Building Science Gateway by Utilizing submitted it. the Generic WS-PGRADE/gUSE Workflow System. Computer Science, 14(2), pp. 307-325; 2013. V. C ONCLUSIONS AND F UTURE W ORKS [11] Marlon E. Pierce, Suresh Marru, Lahiru Gunathilake, Don Kushan Wijeratne, Raminder Singh, Chathuri Wimalasena, Shameera Ratnayaka This paper presented the first release of the EXTraS portal, and Sudhakar Pamidighantam, Apache Airavata: design and directions a science gateway for the astrophysics community devoted of a science gateway framework. Concurrency Computat.: Pract. Exper, to the search and characterization of variable sources in the 27, pp. 4282-4291, 2015. [12] Dooley, Rion, et al. Software-as-a-Service: The iPlant Foundation API, soft X-ray energy range by exploiting the XMM-Newton 5th IEEE Workshop on Many-Task Computing on Grids and Supercom- observations. puters (MTAGS), IEEE, 2012. The portal relies on recent general-purpose technologies, [13] M. McLennan, R. Kennell, HUBzero: A Platform for Dissemination and Collaboration in Computational Science and Engineering, Computing in architectural patterns and best practices adopted in the devel- Science and Engineering, 12(2), pp. 48-52, 2010. opment of enterprise web application. In general, the decou- [14] D’Agostino D, Clematis A, Galizia A et al. The DRIHM Project: pling of the presentation, application and foundation levels A Flexible Approach to Integrate HPC, Grid and Cloud Resources for Hydro-Meteorological Research. Proceedings of the International of a gateway and, whenever possible, the split of services in Conference For High Performance Computing, Networking, Storage and smaller, more manageable components give science gateway Analysis 2014 (SC14), pp. 536-546, 2014. developers more control and a smoother software development [15] Newman, Sam, Building Microservices, O’Reilly Media, 2015. [16] EUGridPMA, Guideline on IGTF Approved lifecycle. The EXTraS portal has been validated and it is Robots, OID 1.2.840.113612.5.4.1.1.1.6, version 1.2 currently used for the project’s activities related to the search https://www.eugridpma.org/guidelines/robot/approved-robots- for transient X-ray sources. 20140908.pdf The integration of the other analysis tools currently under development in the project represents the future direction. The 6