LSST DC2 Post-Mortem February 5–6, 2008 1 DataProperty Generally works Uses: –FITS headers –Events –Persistence parameters (additionalData)‏ 1.

Slides:



Advertisements
Similar presentations
COMP 121 Week 9: AbstractList and ArrayList. Objectives List common operations and properties of Lists as distinct from Collections Extend the AbstractCollection.
Advertisements

Generics, Lists, Interfaces
Object-Oriented Programming
Object-Oriented Programming Python. OO Paradigm - Review Three Characteristics of OO Languages –Inheritance It isn’t necessary to build every class from.
Module R2 CS450. Next Week R1 is due next Friday ▫Bring manuals in a binder - make sure to have a cover page with group number, module, and date. You.
1 DPS for DC2 Summary Model Implementation –Pipeline & Slice in Python and C++ Stage Loop, Policy configuration, Event handling in Python MPI env and communications.
Feature requests for Case Manager By Spar Nord Bank A/S IBM Insight 2014 Spar Nord Bank A/S1.
Data Types in Java Data is the information that a program has to work with. Data is of different types. The type of a piece of data tells Java what can.
File Management Chapter 12. File Management A file is a named entity used to save results from a program or provide data to a program. Access control.
June 1, 2000 Object Oriented Programming in Java (95-707) Java Language Basics 1 Lecture 3 Object Oriented Programming in Java Language Basics Classes,
©Silberschatz, Korth and Sudarshan12.1Database System Concepts Chapter 12: Part B Part A:  Index Definition in SQL  Ordered Indices  Index Sequential.
Hands-On Microsoft Windows Server 2003 Administration Chapter 5 Administering File Resources.
An Approach to Safe Object Sharing Ciaran Bryce & Chrislain Razafimahefa University of Geneva, Switzerland.
The Composite Pattern.. Composite Pattern Intent –Compose objects into tree structures to represent part-whole hierarchies. –Composite lets clients treat.
Lesson 18: Configuring Application Restriction Policies
Chapter 11 ASP.NET JavaScript, Third Edition. 2 Objectives Learn about client/server architecture Study server-side scripting Create ASP.NET applications.
Naming Names in computer systems are used to share resources, to uniquely identify entities, to refer to locations and so on. An important issue with naming.
RandoNode Frame Work and API OPEN Development Conference September 17-19, 2008 Ravi Rajaram IT Development Manager.
A tour of new features introducing LINQ. Agenda of LINQ Presentation We have features for every step of the way LINQ Fundamentals Anonymous Functions/Lambda.
Introduction to Java web programming Dr Jim Briggs JWP intro1.
JAVA: An Introduction to Problem Solving & Programming, 5 th Ed. By Walter Savitch and Frank Carrano. ISBN © 2008 Pearson Education, Inc., Upper.
CSCI 6962: Server-side Design and Programming Introduction to AJAX.
Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS.
1 N Degrees of Separation: Multi-Dimensional Separation of Concern (MDSOC) HyperJ: language and concepts of general concern combination.
Chapter 7: WORKING WITH GROUPS
JavaScript, Fourth Edition
CNIT 133 Interactive Web Pags – JavaScript and AJAX JavaScript Environment.
The Pipeline Processing Framework LSST Applications Meeting IPAC Feb. 19, 2008 Raymond Plante National Center for Supercomputing Applications.
Tutorial 111 The Visual Studio.NET Environment The major differences between Visual Basic 6.0 and Visual Basic.NET are the latter’s support for true object-oriented.
Chapter 8 Cookies And Security JavaScript, Third Edition.
What is MOF? The Meta Object Facility (MOF) specification provides a set of CORBA interfaces that can be used to define and manipulate a set of interoperable.
Cognos Finance Tips & Techniques Part I Aimee Sousa Cognos.
ALMA Integrated Computing Team Coordination & Planning Meeting #1 Santiago, April 2013 Relational APDM & Relational ASDM models effort done in online.
Module 7 Active Directory and Account Management.
Arrays BCIS 3680 Enterprise Programming. Overview 2  Array terminology  Creating arrays  Declaring and instantiating an array  Assigning value to.
EXist Indexing Using the right index for you data Date: 9/29/2008 Dan McCreary President Dan McCreary & Associates (952) M.
Oracle Data Integrator Transformations: Adding More Complexity
JAVA SECURITY BASIC NETWORKING MULTITHREATING Deniz HASTORUN
Built-in Data Structures in Python An Introduction.
Software Documentation Section 5.5 ALBING’s Section JIA’s Appendix B JIA’s.
The Alternative Larry Moore. 5 Nodes and Variant Input File Sizes Hadoop Alternative.
Chapter 10 Chapter 10: Managing the Distributed File System, Disk Quotas, and Software Installation.
Indexing and hashing Azita Keshmiri CS 157B. Basic concept An index for a file in a database system works the same way as the index in text book. For.
Programming in Java CSCI-2220 Object Oriented Programming.
Comp 248 Introduction to Programming Chapter 4 & 5 Defining Classes Part B Dr. Aiman Hanna Department of Computer Science & Software Engineering Concordia.
CS378 - Mobile Computing Persistence. Saving State We have already seen saving app state into a Bundle on orientation changes or when an app is killed.
Python Primer 1: Types and Operators © 2013 Goodrich, Tamassia, Goldwasser1Python Primer.
5 Feb 2008 Roberta Allsman LSST Corporation LSST Data Management DC2 Post-mortem.
Design Patterns Software Engineering CS 561. Last Time Introduced design patterns Abstraction-Occurrence General Hierarchy Player-Role.
The world leader in serving science Overview of Thermo 21 CFR Part 11 tools Overview of software used by multiple business units within the Spectroscopy.
Session 1 Module 1: Introduction to Data Integrity
1 State and Session Management HTTP is a stateless protocol – it has no memory of prior connections and cannot distinguish one request from another. The.
1 Structure of Processes Chapter 6 Process State and Transition Data Structure for Process Layout of System Memory THE DESIGN OF THE UNIX OPERATING SYSTEM.
34 Copyright © 2007, Oracle. All rights reserved. Module 34: Siebel Business Services Siebel 8.0 Essentials.
OpenMRS Create New Module.
JAVA: An Introduction to Problem Solving & Programming, 6 th Ed. By Walter Savitch ISBN © 2012 Pearson Education, Inc., Upper Saddle River,
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 2.
Large Scale Sharing Marco F. Duarte COMP 520: Distributed Systems September 19, 2004.
Chapter 2 - OOP Maciej Mensfeld Presented by: Maciej Mensfeld More about OOP dev.mensfeld.pl github.com/mensfeld.
Apache Solr Dima Ionut Daniel. Contents What is Apache Solr? Architecture Features Core Solr Concepts Configuration Conclusions Bibliography.
Visual Programming Borland Delphi. Developing Applications Borland Delphi is an object-oriented, visual programming environment to develop 32-bit applications.
LSST DC2 Post-Mortem February 5–6, DataProperty Generally works Uses: –FITS headers –Events –Persistence parameters (additionalData) 1.
Lists/Dictionaries. What we are covering Data structure basics Lists Dictionaries Json.
FILES AND EXCEPTIONS Topics Introduction to File Input and Output Using Loops to Process Files Processing Records Exceptions.
The Ingredients of Android Applications. A simple application in a process In a classical programming environment, the OS would load the program code.
Python Driven Sensor Observation Service Benjamin Welton NASA USRP.
Lesson # 9 HP UCMDB 8.0 Essentials
Python’s Modules Noah Black.
CollegeSource Security Application &
Preference Activity class
Presentation transcript:

LSST DC2 Post-Mortem February 5–6, DataProperty Generally works Uses: –FITS headers –Events –Persistence parameters (additionalData)‏ 1

LSST DC2 Post-Mortem February 5–6, DataProperty boost::any problems Must know type before extracting value Need functions to get an integer/real/string from anything compatible Need function to get a dynamically-typed Python object Added explicitly typed construction/extraction functions for Python 2

LSST DC2 Post-Mortem February 5–6, Added and excess functionality Added function to combine two DataProperties –For updating WCS parameters findUnique() used everywhere –Ability to have multiple identical keys not useful SupportFactory overdesigned for DC2 –None of functionality used; class itself not used sometimes 3

LSST DC2 Post-Mortem February 5–6, Policy Very successful Formats –JSON deprecated; should be removed –XML intended in original design; not necessary? File-include functionality not used yet Several policy files per pipeline and per run –Policies used only determinable from interpreting other Policies –Therefore need to persist all for provenance –Master Policy not currently saved (will be in ticket #315)‏ Has get()/getArray() functions for Python Does not try to support float, int64_t Should be merged with DataProperty –But marked read-only, since modifying Policies is undesirable 4

LSST DC2 Post-Mortem February 5–6, Utility Functions These functions are in various “utility” modules; they belong in DataProperty/Policy or a common location instead: –fw::getInt64FromAny() — Extract an int64_t value from a boost::any if it holds a signed integral type –dps.Utils.getDPValue() — Extract a value from a DataProperty into a Python dynamically-typed object –dps.Utils.dataPropertyToDict() — Convert a DataProperty into a Python dictionary –ap::extractRequired() — Extract a value from a DataProperty, throwing an exception if not found –fw::extractPolicyString(), ap::extractPolicyString() — Extract a value from a Policy if the Policy exists, otherwise return a default value 5

LSST DC2 Post-Mortem February 5–6, Policy & DataProperty: design differences DataProperty models a single name-value mapping –schizophrenic feature: is it a leaf or a node (or both)? –children implemented as list because name is locked to value is order important? shouldn't be if names are different inefficient access: list searched sequentially –a single name-value pair is not useful as a modeled object interface provides no functionality for handling a single pair in practice, if you have a lone piece of metadatum, you know what it represents –unclear semantics hierarchy suggests that meaning of named values depends on context findAll() suggests absolute meaning of names regardless of context

LSST DC2 Post-Mortem February 5–6, Policy & DataProperty: design differences Policy models a set of name-value mappings –like Java's Properties and C++'s Map –clean distinction between node & leaf: Policy=node, other types=leaves –efficient look-up of name to one or more values order is only important for array values –semantics: meaning is always context-specific outer context is assumed by user of Policy

LSST DC2 Post-Mortem February 5–6, Policy capabilities not fully realized Automatic loading/importing of policies across multiple files Dictionary-based validation Request: ability to load default policies from package directory –policy contents can be loaded from another file (include)‏ –implemented but not being used Request: ability to easily share values at a high level in hierarchy with lower levels –designed but not implemented PolicyRule –a way parameterize policy values –values may change due to changing conditions