GLAST Science Support Center July 16, 2003 2003 July Ground Software Workshop The GLAST Object Oriented Data Interface (GOODI) James Peachey, HEASARC Sandhia.

Slides:



Advertisements
Similar presentations
Using Eclipse. Getting Started There are three ways to create a Java project: 1:Select File > New > Project, 2 Select the arrow of the button in the upper.
Advertisements

SOCATS STL-based Object Caching And Transport System.
Revision Session 1.UML Overview 2.Detailed software design : operation specification, designing for re-use.
Team Spider Interim Presentation. Team Spider Members Sponsor  Telecom Consulting Group N.E. Corp. (TCN) Advisor  Professor Raghu Reddy Students  Adam.
.NET Code Camp 2011 Team LUT6: Joona-Pekka Kokko Konstantin Koskelainen Tomi Kosonen Jalamadugu Ravitheja WordCards.
GLAST Science Support CenterJuly, 2003 LAT Ground Software Workshop Science Analysis Tools Design Robert Schaefer – Software Lead, GSSC.
CSCE156: Introduction to Computer Science II Instructor Stephen Scott Website
James Tam Introduction To Design Patterns You will learn about design techniques that have been successfully applied to different scenarios.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Section 15-1GLAST Ground System Design Review August 18&19, 2004 ISOC Organization ISOC Manager R Cameron Commanding, H&S Timeline Planning Command Generation.
GLAST LAT ProjectGround Software Workshop, July 15-18, Science Tools - Status Seth Digel HEPL/Stanford Univ. 16 July 2003.
GLAST Science Support Center July 16, July Ground Software Workshop The HEASARC CALDB David S. Davis, SSC.
GLAST LAT Project ISOC Peer Review - March 2, 2004 Section Gamma-ray Large Area Space Telescope GLAST Large Area Telescope ISOC Peer Review 7.2.
CVSQL 2 The Design. System Overview System Components CVSQL Server –Three network interfaces –Modular data source provider framework –Decoupled SQL parsing.
GLAST Science Support CenterAugust 9, 2004 Implementation of the Standard Analysis Environment (SAE) James Peachey (HEASARC/GLAST SSC—GSFC/L3)
1Object-Oriented Program Development Using C++ Computer Science and Programming Languages Computers are ubiquitous Computer literacy is essential Computer.
CHAPTER ONE Problem Solving and the Object- Oriented Paradigm.
An Overview of ActionScript The Powerful Scripting Language of Macromedia Flash.
Design Design and Software Architecture. The design phase The analysis phase describes what the system should be doing The design phase describes how.
DDI & Model-View-Controller: An Architectural Perspective Dennis Wegener, Matthäus Zloch, Thomas Bosch (GESIS) Dagstuhl,
Making FITS available in.NET and its Applications Vivek Haridas 1, Tamas Budavari 1, William O'Mullane 1, Alex Szalay 1, Alberto Conti 2, Bill Pence 3,
GLAST Science Support CenterJuly, 2003 LAT Ground Software Workshop Status of the D1 (Event) and D2 (Spacecraft Data) Database Prototypes for DC1 Robert.
Frameworks CompSci 230 S Software Construction.
SPACE TELESCOPE SCIENCE INSTITUTE Operated for NASA by AURA COS Pipeline Calibration Goals of CALCOS Association Table Input and Output Files High Level.
آرمان حسين‌زاده آذر  Access to data varies depending on the source of the data.  Access to persistent storage, such as to a database, varies greatly.
Apr. 8, 2002Calibration Database Browser Workshop1 Database Access Using D0OM H. Greenlee Calibration Database Browser Workshop Apr. 8, 2002.
LC Software Workshop, May 2009, CERN P. Mato /CERN.
Domain Classes – Part 1.  Analyze Requirements as per Use Case Model  Domain Model (Conceptual Class Diagram)  Interaction (Sequence) Diagrams  System.
Visualization of Geant4 Data: Exploiting Component Architecture through AIDA, HepRep, JAS and WIRED Geant4 Workshop, CERN - 2 October 2002 Joseph Perl.
Design Reuse Earlier we have covered the re-usable Architectural Styles as design patterns for High-Level Design. At mid-level and low-level, design patterns.
1 BBN Technologies Quality Objects (QuO): Adaptive Management and Control Middleware for End-to-End QoS Craig Rodrigues, Joseph P. Loyall, Richard E. Schantz.
GLAST Science Support CenterJuly, 2003 LAT Ground Software Workshop Science Analysis Tools Design Robert Schaefer – Software Lead, GSSC.
GLAST Science Support Center May 8, 2006 GUC Meeting Status of GLAST User Support David Band (GSSC/JCA-UMBC)
Improving the visualisation of statistics: The need for an SDMX-based visualisation framework Xavier Sosnowska Luxembourg, 6 May 2008.
Java Programming, Second Edition Chapter Twelve Advanced Inheritance Concepts.
SDM Center Parallel I/O Storage Efficient Access Team.
1 Getting Involved with GLAST Workshop, CFA, 06/21/ C. Shrader, NASA/GSFC GLAST Data & Software Release plans + Science Support Center Services C.
DataLines a framework for building steaming data applications Mike Haberman Senior Software/Network Engineer
GLAST Science Support CenterAugust 10, 2004 Users’ Committee Meeting The Project Data Management Plan David Band – GSSC.
XML Device Description PP a-MMA_XMLDeviceDescriptionWorkShop.pptx M. Marchhart 1 Workshop.
Design Patterns. Outline Purpose Purpose Useful Definitions Useful Definitions Pattern Overview Pattern Overview.
Random Logic l Forum.NET l State Machine Mechanism Forum.NET 1 st Meeting ● December 27, 2005.
GLAST LAT Project DC2 Software Workshop, GSFC, June 27-29, Analytical Objectives for Science Tools for DC2 for DC2 S. W. Digel Stanford Linear Accelerator.
GLAST Science Support Center June 29, 2005Data Challenge II Software Workshop User Support Goals For DC 2 James Peachey GSFC/L3.
DOMAIN CLASSES – PART 1 BTS430 Systems Analysis and Design using UML.
GLAST Science Support Center November 8, 2005 GUC Action Item #15 AI#15: Pre-Launch GI Proposal Tools David Band (GSSC/JCA-UMBC)
Design Patterns CSCE 315 – Programming Studio Spring 2013.
GLAST Science Support Center July 16, July Ground Software Workshop Plotting Facilities for the GLAST Science Tools James Peachey, HEASARC Dan.
DANA David Lawrence Oct. 21, D. Lawrence, JLab GlueX Software Workshop Oct Outline Requirements Philosophy Overview of Features Open Questions.
CSC 222: Object-Oriented Programming
Calibration meeting summary
reduction data treatment for ARCS
Design Patterns Lecture part 2.
CSE687 - Object Oriented Design class notes Survey of the C++ Programming Language Jim Fawcett Spring 2004.
A C++ generic model for the GLAST Geometric Description
Software Design and Architecture
Object-Orientated Programming
Interfaces.
David Band – Science Lead, GSSC
JavaServer Faces: The Fundamentals
SDMX Tools Overview and architecture
ROOT Support and Developments at FNAL
CSCE156: Introduction to Computer Science II
Classes and Objects Systems Programming.
J. Adamczewski, M. Al-Turany, D. Bertini, H.G. Essel
Jim Fawcett CSE687 – Object Oriented Design Spring 2015
Image Display and AstroROOT
XLS Overleaf training M. Aicheler.
Lecture 3 – Data collection List ADT
Object Oriented Design
Presentation transcript:

GLAST Science Support Center July 16, July Ground Software Workshop The GLAST Object Oriented Data Interface (GOODI) James Peachey, HEASARC Sandhia Bansal, GSSC

GOODI Overview Provides high-level abstractions for data types (event data, binned data, etc.) Data type definitions use FITS concepts and language, (e.g. keywords and data columns). Provides file I/O for these types while insulating data abstractions from underlying file format.

How GOODI is structured GOODI I/O ServicesGOODI Data LayerClient code (tools) uses Data objects use FITS concepts, but are not tied to the FITS format. Methods provided to convert data to C++ standard library (STL) containers. Abstract interface with concrete implementation for FITS format using Cfitsio. Root implementation possible/planned. uses

GOODI Data Layer Inheritance Tree IDataISpaceCraftDataIEventDataIBinnedDataIDrmIExposureMapIIntensityMapIBackgroundITimeBinsIEnergyBins

Event Data Classes IDataIEventDataEventDataGbmEventDataSwiftEventDataLatEventData Abstract Concrete

Client Pseudocode Sample 1: Creating a Data Object from a File // Use a factory object to create an I/O service object. IDataIOService * file = FileFactory.create("filename.fits"); // From this I/O service object, create a data object. IEventData * eventData = EventDataFactory.create(file); // (Check to make sure this succeeded...) // Read the desired data from the I/O service object. eventData->readAllKeys(file); eventData->readTime(file); // Obtain a keyword from the data object. std::string telescope; eventData->getKey("telescop", telescope); // Obtain a container of data from the data objet. std::vector & time = eventData->time();

Client Pseudocode Sample 2: Creating a File from a Data Object // Use a factory object to create an I/O service object. // The underlying file is also created with the help of a // FITS template file. IDataIOService * file = FileFactory.create("filename.fits”, “FITS- template.tpl”); // (Check to make sure this succeeded...) // Assume the events data already exists. Write its // data to the I/O service object. eventData->write(file);

Future Work Provide Root implementation of the I/O service, possibly coordinating the work with Reiner Rohlfs, the author of AstroRoot. Finish fleshing out the rest of the IData inheritance tree.

Appendix: EventData Inheritance Tree