Event Data Definition in LHCb Marco Cattaneo Markus Frank Silvia Miksch Gloria Corti Pere Mato Vila Stefan Roiser.

Slides:



Advertisements
Similar presentations
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System modeling 2.
Advertisements

Dr Gordon Russell, Napier University Unit Data Dictionary 1 Data Dictionary Unit 5.3.
ILDG File Format Chip Watson, for Middleware & MetaData Working Groups.
XML and Bioinformatics Rajvi Shah. What is XML ? XML stands for EXtensible Markup Language XML is a markup language much like HTML XML was designed to.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
NaLIX: A Generic Natural Language Search Environment for XML Data Presented by: Erik Mathisen 02/12/2008.
SaxStore: a n aspect oriented persistence library for Java based on SAX events Riccardo Solmi University of Bologna May 2001.
1 Introducing Collaboration to Single User Applications A Survey and Analysis of Recent Work by Brian Cornell For Collaborative Systems Fall 2006.
XML Views El Hazoui Ilias Supervised by: Dr. Haddouti Advanced XML data management.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
CS 898N – Advanced World Wide Web Technologies Lecture 22: Applying XML Chin-Chih Chang
XML(EXtensible Markup Language). XML XML stands for EXtensible Markup Language. XML is a markup language much like HTML. XML was designed to describe.
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
UML class diagrams and XML schemas Karl Lieberherr UBS AG Northeastern University.
Matthew J Mattia CSC  Cumbersome Code  Consistent/Predictable design (GUEPs #5, CD’s #10)  Display “proper” amount of information  Including.
CS 174: Web Programming April 16 Class Meeting Department of Computer Science San Jose State University Spring 2015 Instructor: Ron Mak
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Games Development 2 Entity / Architecture Review CO3301 Week
1 XML at a neighborhood university near you Innovation 2005 September 16, 2005 Kwok-Bun Yue University of Houston-Clear Lake.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions.
The Network Performance Advisor J. W. Ferguson NLANR/DAST & NCSA.
JSTL, XML and XSLT An introduction to JSP Standard Tag Library and XML/XSLT transformation for Web layout.
Softsmith Infotech XML. Softsmith Infotech XML EXtensible Markup Language XML is a markup language much like HTML Designed to carry data, not to display.
© GMV S.A., 2004 Property of GMV S.A. All rights reserved 2004/05/13 XML in CCSDS CCSDS Spring Meeting - Montreal Fran Martínez GMVSA 4081/04.
Chapter 7 System models.
Introduction to Object Oriented Programming CMSC 331.
System models l Abstract descriptions of systems whose requirements are being analysed.
Pertemuan 19 PEMODELAN SISTEM Matakuliah: D0174/ Pemodelan Sistem dan Simulasi Tahun: Tahun 2009.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
CHEP 2003 March 22-28, 2003 POOL Data Storage, Cache and Conversion Mechanism Motivation Data access Generic model Experience & Conclusions D.Düllmann,
LHCb Software Week November 2003 Gennady Kuznetsov Production Manager Tools (New Architecture)
1 Overview of JasperReport Dec 27, Current Reporting Library iText for PDF report generation iText is a powerful PDF generation engine How can.
An Introduction to XML Sandeep Bhattaram
The eXtensible Markup Language (XML). Presentation Outline Part 1: The basics of creating an XML document Part 2: Developing constraints for a well formed.
SEAL Core Libraries and Services CLHEP Workshop 28 January 2003 P. Mato / CERN Shared Environment for Applications at LHC.
Rainbow: XML and Relational Database Design, Implementation, Test, and Evaluation Project Members: Tien Vu, Mirek Cymer, John Lee Advisor:
SEAL Project Core Libraries and Services 18 December 2002 P. Mato / CERN Shared Environment for Applications at LHC.
CS 157B: Database Management Systems II February 11 Class Meeting Department of Computer Science San Jose State University Spring 2013 Instructor: Ron.
Object Oriented Database By Ashish Kaul References from Professor Lee’s presentations and the Web.
Apr. 8, 2002Calibration Database Browser Workshop1 Database Access Using D0OM H. Greenlee Calibration Database Browser Workshop Apr. 8, 2002.
- Athena Data Dictionary (28nov00 - SW CERN) Athena Data Dictionary Craig E. Tull HCG/NERSC/LBNL Software CERN November 28,
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
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.
23/2/2000Status of GAUDI 1 P. Mato / CERN Computing meeting, LHCb Week 23 February 2000.
Martin Kruliš by Martin Kruliš (v1.1)1.
Working with XML. Markup Languages Text-based languages based on SGML Text-based languages based on SGML SGML = Standard Generalized Markup Language SGML.
Chapter 11: Advanced Inheritance Concepts. Objectives Create and use abstract classes Use dynamic method binding Create arrays of subclass objects Use.
D. Duellmann - IT/DB LCG - POOL Project1 The LCG Dictionary and POOL Dirk Duellmann.
Geant4 is a toolkit to simulate the passage of particles through matter, and is widely used in HEP, in medical physics and for space applications. Ongoing.
1 SWE Introduction to Software Engineering Lecture 14 – System Modeling.
Project Work Plan SEAL: Core Libraries and Services 7 January 2003 P. Mato / CERN Shared Environment for Applications at LHC.
XML Extensible Markup Language
Integrating and Extending Workflow 8 AA301 Carl Sykes Ed Heaney.
1 Model Driven Health Tools Design and Implementation of CDA Templates Dave Carlson Contractor to CHIO
Engineering, 7th edition. Chapter 8 Slide 1 System models.
XML BASICS and more…. What is XML? In common:  XML is a standard, simple, self-describing way of encoding both text and data so that content can be processed.
Event Data Definition in LHCb
A C++ generic model for the GLAST Geometric Description
Abstract descriptions of systems whose requirements are being analysed
Towards Automatic Model Synchronization from Model Transformation
Data Model.
SEAL Project Core Libraries and Services
Games Development 2 Entity / Architecture Review
TieFlow Workflow Toolkit Process Definition XML
Presentation transcript:

Event Data Definition in LHCb Marco Cattaneo Markus Frank Silvia Miksch Gloria Corti Pere Mato Vila Stefan Roiser

Mar. 24th, 2003Stefan Roiser2 Content The problem Description of the data-model Example Benefits / Drawbacks Current Status / Prospects Migration to LCG software Conclusion

Mar. 24th, 2003Stefan Roiser3 The Problem Long lifetime of experiment (> 10 years) Change of programming-paradigms Change of implementation-language Storing large amounts of data Uniform way of handling objects Many sub-detectors define bits of event-model Coherency is an important issue Avoid different look and feel

Mar. 24th, 2003Stefan Roiser4 The Goals Definition of objects on a higher level Easy language for defining objects Ability to derive several implementations from this source Uniform layout of objects Easily extensible Gaudi Object Description (GOD)

Mar. 24th, 2003Stefan Roiser5 Overall View of Gaudi Object Description object description internal model DictionaryjavaXSLTC++ headers doxygen docu dictionary headers html docu java classes make.so dictionary library LHCb rules specific C++ mapping rules

Mar. 24th, 2003Stefan Roiser6 Object Definition Languages ASCII-text simple to write but parsing difficult IDL interface-language, not flexible enough UML description-language also not flexible XML strong syntax (DTD, XML Schema) still flexible and easily extendable

Mar. 24th, 2003Stefan Roiser7 Example <method name=“virtualMass” type=“double” const=“TRUE” desc=“Retrieve virtual mass”/> return m_momentum.m();

Mar. 24th, 2003Stefan Roiser8 C++ Code Generation Unknown types looked up in database and included Generation of setters/getters for attributes Depending on multiplicity handling of relations only setter/getter for 1-1 relation additional addTo/removeFrom/clear vector for 1-M relations Use of smart-pointers for relations Generation of class-id Documentation in doxygen-style Generation of serializers/deserializers Handling plurals …

Mar. 24th, 2003Stefan Roiser9 Example (cont’d)

Mar. 24th, 2003Stefan Roiser10.h-files ( loc) 1:4,3 dictionary-files ( loc) 1:8,2.h-files ( loc) 1:4,3.h-files + dictionary-files ( loc) 1:12,5 Ratio* xml-source (5.427 loc) *(LHCb Event-model taken from LHCb-project v11r9)

Mar. 24th, 2003Stefan Roiser11 Benefits & Drawbacks XML Strong syntax (DTD) Still flexible for expansion (new elements/attributes) Use of default-values Simple (13 elements, ~4 attributes/element) Automatic Documentation Obeys coding-conventions Object-introspection Other backends possible No change of source-code XML verbose language escape sequences (eg. “<”)

Mar. 24th, 2003Stefan Roiser12 Reflection Reflection is the ability to obtain information about an object at runtime and interact with it query it’s layout get/set values invoke functions Can be used in: Persistency Interactive environments Reflection-information of event-objects is generated from the same xml-source Development started in LHCb, now LCG/SEAL

Mar. 24th, 2003Stefan Roiser13 Reflection Model Class Item FieldMethodPropertyList Array Modifiers superclasses declaringClass methods argumentTypes returnType fields type propertyList

Mar. 24th, 2003Stefan Roiser14 Current Status and Prospects Gaudi Object Description proved to be usable and stable Used for 24 iterations of the LHCb-event-model (since Dec. 2001) Features seem to be sufficient for doing LHCb physics Adaptations maybe needed for future iterations of the event-model Review of LHCb-event-model scheduled for this autumn

Mar. 24th, 2003Stefan Roiser15 Migration to LCG Software LCG/SEAL Dictionary-information-generation will be adapted to work with SEAL-Reflection Python binding to LCG-Reflection LCG/POOL Dictionary and meta-information about objects will be used for persistency No more need for generated serializers/deserializers

Mar. 24th, 2003Stefan Roiser16 Conclusions Gaudi Object Description has been in production for more than a year Accepted by physicists Model proved to be useable XML as underlying language was a good choice Model is flexible enough for short-term adaptations Good input/output ratio Even more advantages on long-term Integration with LCG software We don’t expect major difficulties