- Athena Data Dictionary (28nov00 - SW CERN) Athena Data Dictionary Craig E. Tull HCG/NERSC/LBNL Software CERN November 28,

Slides:



Advertisements
Similar presentations
Introduction to the BinX Library eDIKT project team Ted Wen Robert Carroll
Advertisements

Database System Concepts and Architecture
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
©Silberschatz, Korth and Sudarshan1.1Database System Concepts Chapter 1: Introduction Purpose of Database Systems View of Data Data Models Data Definition.
--What is a Database--1 What is a database What is a Database.
IMS1907 Database Systems Week 5 Database Systems Architecture.
Model Driven Architecture (MDA) Partha Kuchana. Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA -
©Silberschatz, Korth and Sudarshan1.1Database System Concepts Chapter 1: Introduction Purpose of Database Systems View of Data Data Models Data Definition.
Russell Taylor Lecturer in Computing & Business Studies.
1 © 1999 Citrix Systems Inc Java on Nemesis Tim Harris.
Mgt 20600: IT Management & Applications Databases Tuesday April 4, 2006.
David Harrison Senior Consultant, Popkin Software 22 April 2004
Dr. Kalpakis CMSC 461, Database Management Systems Introduction.
DATABASE MANAGEMENT SYSTEM ARCHITECTURE
Introduction to DBMS Purpose of Database Systems View of Data
Chapter 6– Artifacts of the process
MDC Open Information Model West Virginia University CS486 Presentation Feb 18, 2000 Lijian Liu (OIM:
Database System Development Lifecycle © Pearson Education Limited 1995, 2005.
Adapting Legacy Computational Software for XMSF 1 © 2003 White & Pullen, GMU03F-SIW-112 Adapting Legacy Computational Software for XMSF Elizabeth L. White.
Object and component “wiring” standards This presentation reviews the features of software component wiring and the emerging world of XML-based standards.
Zhonghua Qu and Ovidiu Daescu December 24, 2009 University of Texas at Dallas.
CST203-2 Database Management Systems Lecture 2. One Tier Architecture Eg: In this scenario, a workgroup database is stored in a shared location on a single.
11/16/2012ISC329 Isabelle Bichindaritz1 Web Database Application Development.
David Adams ATLAS ATLAS Distributed Analysis David Adams BNL March 18, 2004 ATLAS Software Workshop Grid session.
Dodick Zulaimi Sudirman Lecture 14 Introduction to Web Service Pengantar Teknologi Internet Introduction to Internet Technology.
Basic Concepts Software Architecture. What is Software Architecture? Definition: – A software architecture is the set of principal design decisions about.
Chapter 1 : Introduction §Purpose of Database Systems §View of Data §Data Models §Data Definition Language §Data Manipulation Language §Transaction Management.
©Silberschatz, Korth and Sudarshan1.1Database System Concepts Chapter 1: Introduction Purpose of Database Systems View of Data Data Models Data Definition.
The european ITM Task Force data structure F. Imbeaux.
David Adams ATLAS Architecture for ATLAS Distributed Analysis David Adams BNL March 25, 2004 ATLAS Distributed Analysis Meeting.
Label Design Tool Management Council F2F Washington, D.C. November 29-30, 2006
Database Environment Chapter 2. Data Independence Sometimes the way data are physically organized depends on the requirements of the application. Result:
DATABASE MANAGEMENT SYSTEM ARCHITECTURE
Characteristics of the Database Approach (Difference between traditional file processing and database approach) Redundancy Self-Describing nature of a.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
- Early Adopters (09mar00) May 2000 Prototype Framework Early Adopters Craig E. Tull HCG/NERSC/LBNL ATLAS Arch CERN March 9, 2000.
An evaluation of tools for static checking of C++ code E. Arderiu Ribera, G. Cosmo, S. M. Fisher, S. Paoli, M. Stavrianakou CHEP2000, Padova,
23/2/2000Status of GAUDI 1 P. Mato / CERN Computing meeting, LHCb Week 23 February 2000.
1 Service Oriented Architecture SOA. 2 Service Oriented Architecture (SOA) Definition  SOA is an architecture paradigm that is gaining recently a significant.
D. Duellmann - IT/DB LCG - POOL Project1 The LCG Dictionary and POOL Dirk Duellmann.
- ADL & Scripting (06mar01 - ARC Final CERN) Athena Data Dictionary and Athena Scripting Craig E. Tull HCG/NERSC/LBNL Architecture.
INFSO-RI Enabling Grids for E-sciencE Using of GANGA interface for Athena applications A. Zalite / PNPI.
ATLAS Data Dictionary A. Bazan, T. Bouedo, P. Ghez, T. Le Flour, S. Lieunard M. Marino, C. Tull.
David Adams ATLAS ATLAS Distributed Analysis and proposal for ATLAS-LHCb system David Adams BNL March 22, 2004 ATLAS-LHCb-GANGA Meeting.
Ganga/Dirac Data Management meeting October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)
Advanced Databases COMP3017 Dr Nicholas Gibbins
Databases Salihu Ibrahim Dasuki (PhD) CSC102 INTRODUCTION TO COMPUTER SCIENCE.
Postgraduate Module Enterprise Database Systems Technological Educational Institution of Larisa in collaboration with Staffordshire University Larisa
Basic Concepts of Software Architecture. What is Software Architecture? Definition: – A software system’s architecture is the set of principal design.
Introduction to DBMS Purpose of Database Systems View of Data
Databases (CS507) CHAPTER 2.
Databases and DBMSs Todd S. Bacastow January 2005.
Chapter (12) – Old Version
Chapter 2: Database System Concepts and Architecture - Outline
LOCO Extract – Transform - Load
Physical Data Model – step-by-step instructions and template
Database Management:.
An Introduction to the IVC Software Framework
Event Data Definition in LHCb
Notification Service May 19, 2006 Jon Atherton Mark Mara.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
Chapter 2: Database System Concepts and Architecture
Introduction to Database Systems
Chapter 2 Database Environment.
Data, Databases, and DBMSs
Data Model.
Introduction to DBMS Purpose of Database Systems View of Data
Database System Concepts and Architecture
SEAL Project Core Libraries and Services
Practical Database Design and Tuning Objectives
Presentation transcript:

- Athena Data Dictionary (28nov00 - SW CERN) Athena Data Dictionary Craig E. Tull HCG/NERSC/LBNL Software CERN November 28, 2000

- Athena Data Dictionary (28nov00 - SW CERN) Outline What is a Data Dictionary? Where is a Data Dictionary? How is the DD Used? Athena Dictionary Language Code Generation Object Introspection Current Status Architecture Milestones People: ATeam, ARC, LAPP (Alain Bazan, Philippe Ghez, Thierry Leflour, Sophie Tissot)

- Athena Data Dictionary (28nov00 - SW CERN) What is a Data Dictionary? Object Description residing a) in memory, b) in ascii file, c) within binary file Introspection, Reflection, Run-Time Typing —objects in program memory with the ability to describe themselves in a programmatic way Code Generation —process of generating code for performing a specific task from a description/input file Self-Describing External Data Representation —external data representations (eg. file formats, on-wire data formats) which contain metadata which describes the data payload, etc.

- Athena Data Dictionary (28nov00 - SW CERN) Where is a Data Dictionary? The term data dictionary connotes a certain technical implementation which we do not (necessarily) advocate. IE. This term implies a central dictionary containing the information about those objects being described. Certainly, this is one possible implementation However, it is also possible (perhaps even desirable) that the information resides internal to the object (for example).

- Athena Data Dictionary (28nov00 - SW CERN) How is the DD Used? Data Tools Integration —Analysis tools, browsing tools Interactive Data Queries/Manipulation —Value display/manipulation Automatic/Semiautomatic Persistency —Generic converters for specific domains Schema Evolution (Version-Safe Persistency) Multi-Language Support —Inter-language data exchange & invocation Component Independence & Robustness —Insulation from on-going modifications Certainly others

- Athena Data Dictionary (28nov00 - SW CERN) Athena Dictionary Language C++ (headers) —Familiar, but complex and language specific DDL - Data Definition Language —Proprietary, no parser IDL - Interface Definition Language —Simple (too?) ISL - Interface Specification Language —Immature Java ODL - Object Definition Language —Virtually unused XML - Extensible Markup Language Other Languages / Home Grown Solution

- Athena Data Dictionary (28nov00 - SW CERN) Athena Dictionary Language Requirements: —One language for all ADL purposes Would like to work with Gaudi —Simple/familiar (subset) for typical Physicist —Freely available & supported parser front end should be real parser of full language —Good medium to long term prospects —Does not lock implementation/programming language choice (language independence) Multiple language bindings —Architecture/Platform independence —Extensible (subset) for future ADL evolution

- Athena Data Dictionary (28nov00 - SW CERN) Code Generation Code generation tools can be used to —eliminate tedious and error-prone rote programming, ease migration between technologies, generate templates & skeletons Std. 2-tier design  robustness & functionality —Single Compiler Front End (CFE) - AST —Multiple Compiler Back Ends (CBE) - Emitters Schema evolution should not require significant re- writes of user-written code using generated code.

- Athena Data Dictionary (28nov00 - SW CERN) Object Introspection also sometimes called "metadata" the ability of a class or instance to tell other parts of a program what it *has* or what it *does* at runtime some languages have rich notions of introspection —Smalltalk, Python, Java —XML (self-describing) allows sophisticated manipulation of objects without a-priori knowledge of object's class permits development of generic tools —object browsers, converters, data member accessors / mutators, method invocation (?), scripting interface —general & robust, but not as performant

- Athena Data Dictionary (28nov00 - SW CERN) Current Status Discussions within ATeam, others (ARC, LAPP) ongoing Starting the process of —defining scope —collecting requirements —writing use cases see LAPP use case  —evaluating languages —evaluating tools eg CFEs Writing white paper (Dec.) Need input, feedback, & coordination —eg DB, graphics

- Athena Data Dictionary (28nov00 - SW CERN) Implementation Strategy Because the Data Dictionary can be used for a wide variety of purposes, a strategic choice must be made for the implementation plan. The choice can be stated as: —Do we first implement only a single DD function (such as binding to a particular persistency service) as fully as possible? —Or do we first implement multiple DD functions (eg. multiple persistency services, multi- language support, binding to multiple general tools, etc) but with each one minimally functional? 1 er Option will provide most immediate user productivity, buy-in, & feedback —must not limit ADL or tools by choice

- Athena Data Dictionary (28nov00 - SW CERN) Architecture Milestones December 2000 —Data Dictionary strategy in place. A requirements document should be available, evaluations of possible technologies should have taken place and a strategy should be in place for a detailed design and implementation. ADL Language should be chosen April 2001 —Data Dictionary prototype ADL Language choice should be frozen September 2001 —Data Dictionary deployed