SlideShare una empresa de Scribd logo
1 de 40
HDF5 Abstract Data Model
Classes, Objects and their relationships
http://hdf.ncsa.uiuc.edu/HDF5/ADM_EOS_Sep99/index.htm

02/21/14

1
Outline
• Motivation and goals
• Overview of HDF5 file structure and HDF5
objects
• UML notation
• Formal description of HDF5 file, HDF5
objects and operations in UML

02/21/14

2
Motivation and Goals
• Need a formal description of HDF5 file and library
• Need an HDF5 abstract data model (ADM) for high level
C++, F90, Java, Ada(?) APIs
• Attempt to look at HDF5 ADM from OO point of view
• HDF group does not have experience in OO design and
languages
• Universal Modeling Language (UML) has been chosen to
document current HDF5 ADM and HDF5 Library
• Suggestions and help from HDF5 “OO users” is
WELCOME!
02/21/14

3
HDF5 File (conceptual view)
• Container for storing scientific data
– Primary Objects:
– Groups
– Datasets
– Secondary Objects:
– Datatypes
– Dataspaces

• Additional means to organize data
– Attributes
– Sharable objects
– Storage and access properties
02/21/14

4
Example of an HDF5 File
/

File

RGroup
B

A

C
F

Datatype

Group

Dataset

H

D

G
Group

E
Dataset

K

Dataset path : /B /C/D/G
02/21/14

5
Example of an HDF5 File (cont.)
/

File

RGroup
B

A

C
F

Datatype

Group

Dataset

H

D

G
Group

E
Dataset

K

Dataset path : /B /C/D/G
02/21/14

6
Example of an HDF5 File (cont.)
File

/

RGroup
B

C
F

Datatype

Group

Dataset
D
Group

K

Dataset path : /B
02/21/14

7
HDF5 File (logical view)
• Directed graph with an entry point (root group)
• nodes are HDF5 objects :
– Group, Dataset, Dataspace, Datatype
– each object may have more than one path to it

• edges are inclusion directions (HDF5 links)
• graph may have:
– loops
– isolated nodes
– “dangling” edges
02/21/14

8
UML Notation
Book:
UML Distilled
Applying the Standard Object Modeling Language
by Martin Fowler
Booch Jacobson Rumbaugh Object Technology Series

Addison-Wesley
02/21/14

9
UML Notation
Class

Class Name

Class Name
____________
Attribute
____________
Operation

02/21/14

10
UML Notation
Association
Describes connection between object instances, should be a verb.
Object A has object B associated with it.

Class A

Class B

Multiplicity of Association
Object A has zero or more objects B associated with it.
Object B belongs to at least one and up to N objects A

Class A

02/21/14

1..N

0...*

Class B

11
UML Notation
Generalization(Inheritance)
“is a” relationship
B is an A

Class A

Class B

02/21/14

12
UML Notation
Aggregation
“a part of” relationship
Objects B and C are part of object A

Class A

Class B

02/21/14

Class C

13
UML Notation
Composition
“a part of” relationship
Objects B and C “live and die” with A

Class A

Class B

02/21/14

Class C

14
HDF5 Classes
–
–
–
–
–

File Class
Group Class
Dataset Class
Dataspace Class
Datatype Class

02/21/14

– Named_Object Class
• Group
• Dataset
• Named Dataspace
• Named Datatype
– User_Defined_Attribute Class

15
HDF5 Classes
– Link Class
• Root Link
• Non-Root Link
– Soft Link
– Hard Link

02/21/14

– Property List Class
• File Property List
– Creation Property List
– Access Property List
• Dataset Property List
– Transfer Property List
– Storage property List

16
File Class File , Group Class and Root Link Class
Association Diagram
File Class

1

1

Group Class

0…*

1

1

1

File Property List Class

Root Link Class

File is a composition of a Group.
Root Link is created when File is created.
Root Link points to the Group which is called Root Group.
Root Group is automatically created/opened/closed when File is
created/opened/closed.

02/21/14

17
File and Group Classes
File Class
_______________________
_______________________
_

open/close
create
is_hdf5
get_create_prp
get_access_prp
mount/unmount
reopen

02/21/14

Group Class
_____________________
_____________________

open/close
iterate
get_object_info
get_link_value
get/set_comment

18
Group Class and Associated Classes
Group

Group Class
1

C

0…*

Non-Root Link
Class
1…*

A

D

B

0…1

Named Object Class

02/21/14

... HDF5 object

HDF5 object

19
Link Class
Link Class

Root Link Class

Non-Root Link Class

Hard Link

Soft Link
0...*

1...*

0...1

1

Named Object
02/21/14

Named Object
20
Non-Root Link Class
Non-Root Link Class
____________________________

name
______________________
link/unlink
create
move (rename)

02/21/14

21
Named_Object Class

Group Class

Dataset Class

Named Datatype Class

Named Dataspace Class

Named_Object Class
0...1

1

1

0…*

1...*

0…*

Soft Link Class

Hard Link Class

User Defined Attribute

Not implemented yet

02/21/14

22
Dataset Class and associated Classes
User Defined Attribute
0...*

0...*

Datatype

1

0…*

Soft Link
02/21/14

1

Dataset
1

1

0...*

1...*

Hard Link

0...*
1

Dataspace

1

Storage Property List
23
Dataset Class
Dataset Class
________________________

user defined attribute
________________________

create
open/close
write/read
extend
get_space/type/property

02/21/14

24
Attribute Class and associated Classes
Named Object Class
1

0...*

Attribute Class
0...*

0...*

1

1

Datatype Class
02/21/14

Dataspace Class
25
Attribute Class
Attribute Class
_________________________

name
_____________________
create
open/close
write/read
get_space/type/property

02/21/14

26
Property List Class and Subclasses
Property List

File Property List

Creation PList

02/21/14

Access PList

Dataset Property List

Transfer PList

Storage PList

27
Dataspace Class

Hard Link

0…*

1

Dataspace Class

Transient Dataspace Class

02/21/14

28
Dataspace Class

Dataspace Extent

General operations

Extent operations

02/21/14

Dataspace Class
_______________________________
rank
current_size
maximum_size
_______________________________
create/create_simple
open/close/lock
is_simple
copy
extent_class
extent_copy
set_extent_simple
set_extent_none
get_simple_extent_npoints/ndims/dims
29
Transient Dataspace Class

Dataspace Selection

Set and modify selections

02/21/14

Dataspace Class
______________
selection
______________
select_elements
select_none
select_hyperslab
select_valid
offset_simple
………………...

30
Datatype Class and Subclasses
Datatype Class

Compound

Atomic

Array

02/21/14

Enumeration

Variable Length

31
Datatype Class
Datatype Class
______________
______________
copy
equal
close
convert
get_class
get_size
02/21/14

32
Atomic Datatype Class and Subclasses
Atomic Datatype Class

Predefined Atomic

Userdefined Atomic
H5Tcopy

1

0…*

Link Class
02/21/14

33
Predefined Atomic Datatype Class
Predefined Atomic Datatype Class

String

Time
Opaque

Integer
Reference

Object Reference
02/21/14

Float
Bitfield

Region Reference
34
Examples of Predefined Atomic Datatype
Predefined Atomic Datatype
_______________________
name = H5T_arch_base
_______________________
H5T_IEEE_F64LE

Eight-byte little-endian, IEEE floating-point

H5T_STD_U16BE

Two-byte big-endian, unsigned integer

H5T_C_S1

One-byte null-terminated string of eight-bit
characters

H5T_CRAY_F64

Eight-byte Cray floating point

H5T_STD_ROBJ

Reference to entire object in a file

H5T_NATIVE_LONG

long

02/21/14

35
Compound Datatype Class
Compound Datatype Class

1…*

Datatype Class

02/21/14

typedef struct {
int a;
float b;
my_type c[10];
} compound_t

36
Enumeration Datatype Class
Datatype Class

RED
GREEN
BLUE

1

0
1
2

Enumeration Datatype

1…*

( string, value of type Datatype )

Only Integer datatype for now

02/21/14

37
Variable Length Datatype Class
Datatype Class

1

Variable Length Datatype Class

A

1

2

3

C
RED

GREEN

02/21/14

BLUE

38

4

5
Reading Dataset into Memory from File
File
2D array of integers

02/21/14

Memory
3D array of floats

39
Reading Dataset into Memory from File
File

Dataset

Memory

2D array with selected rectangle

Copy of File Dataspace
_______________________

Selection

I/O hint

Dataset Xfer Prp List

Dataspace
Data (

H5Dread

Buffer

Datatype
Memory Dataspace
___________________

Memory Datatype

Selection

floats

3D array with selected union of cubes

02/21/14

40

)

Más contenido relacionado

La actualidad más candente

Dbms interview questions
Dbms interview questionsDbms interview questions
Dbms interview questionsambika93
 
Class objects oopm
Class objects oopmClass objects oopm
Class objects oopmShweta Shah
 
ANSI SQL Transparent Multipath Hierarchical Structured Data Processing for Re...
ANSI SQL Transparent Multipath Hierarchical Structured Data Processing for Re...ANSI SQL Transparent Multipath Hierarchical Structured Data Processing for Re...
ANSI SQL Transparent Multipath Hierarchical Structured Data Processing for Re...Michael M David
 
Overview of Object-Oriented Concepts Characteristics by vikas jagtap
Overview of Object-Oriented Concepts Characteristics by vikas jagtapOverview of Object-Oriented Concepts Characteristics by vikas jagtap
Overview of Object-Oriented Concepts Characteristics by vikas jagtapVikas Jagtap
 
Chapter 2 Relational Data Model-part1
Chapter 2 Relational Data Model-part1Chapter 2 Relational Data Model-part1
Chapter 2 Relational Data Model-part1Eddyzulham Mahluzydde
 
Presentazione jrc 24 ottobre
Presentazione jrc 24 ottobrePresentazione jrc 24 ottobre
Presentazione jrc 24 ottobresmespire
 

La actualidad más candente (17)

SQL
SQL SQL
SQL
 
Sq lite module4
Sq lite module4Sq lite module4
Sq lite module4
 
Db Concepts2
Db Concepts2Db Concepts2
Db Concepts2
 
Introduction to XML
Introduction to XMLIntroduction to XML
Introduction to XML
 
Sq lite module9
Sq lite module9Sq lite module9
Sq lite module9
 
Dbms interview questions
Dbms interview questionsDbms interview questions
Dbms interview questions
 
Unit 03 dbms
Unit 03 dbmsUnit 03 dbms
Unit 03 dbms
 
Sq lite module3
Sq lite module3Sq lite module3
Sq lite module3
 
Data models
Data modelsData models
Data models
 
Class objects oopm
Class objects oopmClass objects oopm
Class objects oopm
 
ANSI SQL Transparent Multipath Hierarchical Structured Data Processing for Re...
ANSI SQL Transparent Multipath Hierarchical Structured Data Processing for Re...ANSI SQL Transparent Multipath Hierarchical Structured Data Processing for Re...
ANSI SQL Transparent Multipath Hierarchical Structured Data Processing for Re...
 
Dbms viva questions
Dbms viva questionsDbms viva questions
Dbms viva questions
 
Dbms
DbmsDbms
Dbms
 
Overview of Object-Oriented Concepts Characteristics by vikas jagtap
Overview of Object-Oriented Concepts Characteristics by vikas jagtapOverview of Object-Oriented Concepts Characteristics by vikas jagtap
Overview of Object-Oriented Concepts Characteristics by vikas jagtap
 
Chapter 2 Relational Data Model-part1
Chapter 2 Relational Data Model-part1Chapter 2 Relational Data Model-part1
Chapter 2 Relational Data Model-part1
 
Presentazione jrc 24 ottobre
Presentazione jrc 24 ottobrePresentazione jrc 24 ottobre
Presentazione jrc 24 ottobre
 
Xml and webdata
Xml and webdataXml and webdata
Xml and webdata
 

Destacado

Difference between dtd and xsd
Difference between dtd and xsdDifference between dtd and xsd
Difference between dtd and xsdUmar Ali
 
Effective business communication
Effective business communicationEffective business communication
Effective business communicationSuzanne Hazelton
 
TCS Job Interview Questions
TCS Job Interview QuestionsTCS Job Interview Questions
TCS Job Interview QuestionsNavdeep Kumar
 
Uml Omg Fundamental Certification 2
Uml Omg Fundamental Certification 2Uml Omg Fundamental Certification 2
Uml Omg Fundamental Certification 2Ricardo Quintero
 
Difference Between Sql - MySql and Oracle
Difference Between Sql - MySql and OracleDifference Between Sql - MySql and Oracle
Difference Between Sql - MySql and OracleSteve Johnson
 
The Graph Traversal Programming Pattern
The Graph Traversal Programming PatternThe Graph Traversal Programming Pattern
The Graph Traversal Programming PatternMarko Rodriguez
 
Relational database management system (rdbms) i
Relational database management system (rdbms) iRelational database management system (rdbms) i
Relational database management system (rdbms) iRavinder Kamboj
 
Introduction of data structure
Introduction of data structureIntroduction of data structure
Introduction of data structureeShikshak
 
Lecture 1 data structures and algorithms
Lecture 1 data structures and algorithmsLecture 1 data structures and algorithms
Lecture 1 data structures and algorithmsAakash deep Singhal
 
Rdbms
RdbmsRdbms
Rdbmsrdbms
 
Data Types - Premetive and Non Premetive
Data Types - Premetive and Non Premetive Data Types - Premetive and Non Premetive
Data Types - Premetive and Non Premetive Raj Naik
 
Fundamentals of data structures
Fundamentals of data structuresFundamentals of data structures
Fundamentals of data structuresNiraj Agarwal
 

Destacado (16)

Array1
Array1Array1
Array1
 
Difference between dtd and xsd
Difference between dtd and xsdDifference between dtd and xsd
Difference between dtd and xsd
 
Effective business communication
Effective business communicationEffective business communication
Effective business communication
 
TCS Job Interview Questions
TCS Job Interview QuestionsTCS Job Interview Questions
TCS Job Interview Questions
 
Uml Omg Fundamental Certification 2
Uml Omg Fundamental Certification 2Uml Omg Fundamental Certification 2
Uml Omg Fundamental Certification 2
 
Difference Between Sql - MySql and Oracle
Difference Between Sql - MySql and OracleDifference Between Sql - MySql and Oracle
Difference Between Sql - MySql and Oracle
 
The Graph Traversal Programming Pattern
The Graph Traversal Programming PatternThe Graph Traversal Programming Pattern
The Graph Traversal Programming Pattern
 
Stack a Data Structure
Stack a Data StructureStack a Data Structure
Stack a Data Structure
 
Relational database management system (rdbms) i
Relational database management system (rdbms) iRelational database management system (rdbms) i
Relational database management system (rdbms) i
 
Introduction of data structure
Introduction of data structureIntroduction of data structure
Introduction of data structure
 
RDBMS.ppt
RDBMS.pptRDBMS.ppt
RDBMS.ppt
 
Data Structure
Data StructureData Structure
Data Structure
 
Lecture 1 data structures and algorithms
Lecture 1 data structures and algorithmsLecture 1 data structures and algorithms
Lecture 1 data structures and algorithms
 
Rdbms
RdbmsRdbms
Rdbms
 
Data Types - Premetive and Non Premetive
Data Types - Premetive and Non Premetive Data Types - Premetive and Non Premetive
Data Types - Premetive and Non Premetive
 
Fundamentals of data structures
Fundamentals of data structuresFundamentals of data structures
Fundamentals of data structures
 

Similar a HDF5 Abstract Data Model

Database Management System(UNIT 1)
Database Management System(UNIT 1)Database Management System(UNIT 1)
Database Management System(UNIT 1)SURBHI SAROHA
 
Database Management System(UNIT 1)
Database Management System(UNIT 1)Database Management System(UNIT 1)
Database Management System(UNIT 1)SURBHI SAROHA
 
Top schools in gudgaon
Top schools in gudgaonTop schools in gudgaon
Top schools in gudgaonEdhole.com
 
M03_1_Structur alDiagrams.ppt
M03_1_Structur                         alDiagrams.pptM03_1_Structur                         alDiagrams.ppt
M03_1_Structur alDiagrams.pptnesarahmad37
 
Keyword-based Search and Exploration on Databases (SIGMOD 2011)
Keyword-based Search and Exploration on Databases (SIGMOD 2011)Keyword-based Search and Exploration on Databases (SIGMOD 2011)
Keyword-based Search and Exploration on Databases (SIGMOD 2011)weiw_oz
 
Adbms 15 object data management group
Adbms 15 object data management groupAdbms 15 object data management group
Adbms 15 object data management groupVaibhav Khanna
 
MVC and Entity Framework 4
MVC and Entity Framework 4MVC and Entity Framework 4
MVC and Entity Framework 4James Johnson
 
DC-2008 DCMI/IEEE workshop
DC-2008 DCMI/IEEE workshopDC-2008 DCMI/IEEE workshop
DC-2008 DCMI/IEEE workshopMikael Nilsson
 
LOM DCAM at LOM Meeting 2008-04-23
LOM DCAM at LOM Meeting 2008-04-23LOM DCAM at LOM Meeting 2008-04-23
LOM DCAM at LOM Meeting 2008-04-23Mikael Nilsson
 
Database system
Database systemDatabase system
Database systemikjsamuel
 

Similar a HDF5 Abstract Data Model (20)

Ch21-OODB.ppt
Ch21-OODB.pptCh21-OODB.ppt
Ch21-OODB.ppt
 
2 rel-algebra
2 rel-algebra2 rel-algebra
2 rel-algebra
 
Database Management System(UNIT 1)
Database Management System(UNIT 1)Database Management System(UNIT 1)
Database Management System(UNIT 1)
 
Database Management System(UNIT 1)
Database Management System(UNIT 1)Database Management System(UNIT 1)
Database Management System(UNIT 1)
 
Top schools in gudgaon
Top schools in gudgaonTop schools in gudgaon
Top schools in gudgaon
 
M03_1_Structur alDiagrams.ppt
M03_1_Structur                         alDiagrams.pptM03_1_Structur                         alDiagrams.ppt
M03_1_Structur alDiagrams.ppt
 
Basics of uml
Basics of umlBasics of uml
Basics of uml
 
Keyword-based Search and Exploration on Databases (SIGMOD 2011)
Keyword-based Search and Exploration on Databases (SIGMOD 2011)Keyword-based Search and Exploration on Databases (SIGMOD 2011)
Keyword-based Search and Exploration on Databases (SIGMOD 2011)
 
Encapsulation
EncapsulationEncapsulation
Encapsulation
 
Adbms 15 object data management group
Adbms 15 object data management groupAdbms 15 object data management group
Adbms 15 object data management group
 
MVC and Entity Framework 4
MVC and Entity Framework 4MVC and Entity Framework 4
MVC and Entity Framework 4
 
Object & classes
Object & classes Object & classes
Object & classes
 
Lect1
Lect1Lect1
Lect1
 
DC-2008 DCMI/IEEE workshop
DC-2008 DCMI/IEEE workshopDC-2008 DCMI/IEEE workshop
DC-2008 DCMI/IEEE workshop
 
LOM DCAM at LOM Meeting 2008-04-23
LOM DCAM at LOM Meeting 2008-04-23LOM DCAM at LOM Meeting 2008-04-23
LOM DCAM at LOM Meeting 2008-04-23
 
Introduction to ado.net
Introduction to ado.netIntroduction to ado.net
Introduction to ado.net
 
Entity Framework
Entity FrameworkEntity Framework
Entity Framework
 
34. uml
34. uml34. uml
34. uml
 
Databases
DatabasesDatabases
Databases
 
Database system
Database systemDatabase system
Database system
 

Más de The HDF-EOS Tools and Information Center

STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...The HDF-EOS Tools and Information Center
 

Más de The HDF-EOS Tools and Information Center (20)

Cloud-Optimized HDF5 Files
Cloud-Optimized HDF5 FilesCloud-Optimized HDF5 Files
Cloud-Optimized HDF5 Files
 
Accessing HDF5 data in the cloud with HSDS
Accessing HDF5 data in the cloud with HSDSAccessing HDF5 data in the cloud with HSDS
Accessing HDF5 data in the cloud with HSDS
 
The State of HDF
The State of HDFThe State of HDF
The State of HDF
 
Highly Scalable Data Service (HSDS) Performance Features
Highly Scalable Data Service (HSDS) Performance FeaturesHighly Scalable Data Service (HSDS) Performance Features
Highly Scalable Data Service (HSDS) Performance Features
 
Creating Cloud-Optimized HDF5 Files
Creating Cloud-Optimized HDF5 FilesCreating Cloud-Optimized HDF5 Files
Creating Cloud-Optimized HDF5 Files
 
HDF5 OPeNDAP Handler Updates, and Performance Discussion
HDF5 OPeNDAP Handler Updates, and Performance DiscussionHDF5 OPeNDAP Handler Updates, and Performance Discussion
HDF5 OPeNDAP Handler Updates, and Performance Discussion
 
Hyrax: Serving Data from S3
Hyrax: Serving Data from S3Hyrax: Serving Data from S3
Hyrax: Serving Data from S3
 
Accessing Cloud Data and Services Using EDL, Pydap, MATLAB
Accessing Cloud Data and Services Using EDL, Pydap, MATLABAccessing Cloud Data and Services Using EDL, Pydap, MATLAB
Accessing Cloud Data and Services Using EDL, Pydap, MATLAB
 
HDF - Current status and Future Directions
HDF - Current status and Future DirectionsHDF - Current status and Future Directions
HDF - Current status and Future Directions
 
HDFEOS.org User Analsys, Updates, and Future
HDFEOS.org User Analsys, Updates, and FutureHDFEOS.org User Analsys, Updates, and Future
HDFEOS.org User Analsys, Updates, and Future
 
HDF - Current status and Future Directions
HDF - Current status and Future Directions HDF - Current status and Future Directions
HDF - Current status and Future Directions
 
H5Coro: The Cloud-Optimized Read-Only Library
H5Coro: The Cloud-Optimized Read-Only LibraryH5Coro: The Cloud-Optimized Read-Only Library
H5Coro: The Cloud-Optimized Read-Only Library
 
MATLAB Modernization on HDF5 1.10
MATLAB Modernization on HDF5 1.10MATLAB Modernization on HDF5 1.10
MATLAB Modernization on HDF5 1.10
 
HDF for the Cloud - Serverless HDF
HDF for the Cloud - Serverless HDFHDF for the Cloud - Serverless HDF
HDF for the Cloud - Serverless HDF
 
HDF5 <-> Zarr
HDF5 <-> ZarrHDF5 <-> Zarr
HDF5 <-> Zarr
 
HDF for the Cloud - New HDF Server Features
HDF for the Cloud - New HDF Server FeaturesHDF for the Cloud - New HDF Server Features
HDF for the Cloud - New HDF Server Features
 
Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3
Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3
Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3
 
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
 
HDF5 and Ecosystem: What Is New?
HDF5 and Ecosystem: What Is New?HDF5 and Ecosystem: What Is New?
HDF5 and Ecosystem: What Is New?
 
HDF5 Roadmap 2019-2020
HDF5 Roadmap 2019-2020HDF5 Roadmap 2019-2020
HDF5 Roadmap 2019-2020
 

Último

Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 

Último (20)

Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 

HDF5 Abstract Data Model

  • 1. HDF5 Abstract Data Model Classes, Objects and their relationships http://hdf.ncsa.uiuc.edu/HDF5/ADM_EOS_Sep99/index.htm 02/21/14 1
  • 2. Outline • Motivation and goals • Overview of HDF5 file structure and HDF5 objects • UML notation • Formal description of HDF5 file, HDF5 objects and operations in UML 02/21/14 2
  • 3. Motivation and Goals • Need a formal description of HDF5 file and library • Need an HDF5 abstract data model (ADM) for high level C++, F90, Java, Ada(?) APIs • Attempt to look at HDF5 ADM from OO point of view • HDF group does not have experience in OO design and languages • Universal Modeling Language (UML) has been chosen to document current HDF5 ADM and HDF5 Library • Suggestions and help from HDF5 “OO users” is WELCOME! 02/21/14 3
  • 4. HDF5 File (conceptual view) • Container for storing scientific data – Primary Objects: – Groups – Datasets – Secondary Objects: – Datatypes – Dataspaces • Additional means to organize data – Attributes – Sharable objects – Storage and access properties 02/21/14 4
  • 5. Example of an HDF5 File / File RGroup B A C F Datatype Group Dataset H D G Group E Dataset K Dataset path : /B /C/D/G 02/21/14 5
  • 6. Example of an HDF5 File (cont.) / File RGroup B A C F Datatype Group Dataset H D G Group E Dataset K Dataset path : /B /C/D/G 02/21/14 6
  • 7. Example of an HDF5 File (cont.) File / RGroup B C F Datatype Group Dataset D Group K Dataset path : /B 02/21/14 7
  • 8. HDF5 File (logical view) • Directed graph with an entry point (root group) • nodes are HDF5 objects : – Group, Dataset, Dataspace, Datatype – each object may have more than one path to it • edges are inclusion directions (HDF5 links) • graph may have: – loops – isolated nodes – “dangling” edges 02/21/14 8
  • 9. UML Notation Book: UML Distilled Applying the Standard Object Modeling Language by Martin Fowler Booch Jacobson Rumbaugh Object Technology Series Addison-Wesley 02/21/14 9
  • 10. UML Notation Class Class Name Class Name ____________ Attribute ____________ Operation 02/21/14 10
  • 11. UML Notation Association Describes connection between object instances, should be a verb. Object A has object B associated with it. Class A Class B Multiplicity of Association Object A has zero or more objects B associated with it. Object B belongs to at least one and up to N objects A Class A 02/21/14 1..N 0...* Class B 11
  • 12. UML Notation Generalization(Inheritance) “is a” relationship B is an A Class A Class B 02/21/14 12
  • 13. UML Notation Aggregation “a part of” relationship Objects B and C are part of object A Class A Class B 02/21/14 Class C 13
  • 14. UML Notation Composition “a part of” relationship Objects B and C “live and die” with A Class A Class B 02/21/14 Class C 14
  • 15. HDF5 Classes – – – – – File Class Group Class Dataset Class Dataspace Class Datatype Class 02/21/14 – Named_Object Class • Group • Dataset • Named Dataspace • Named Datatype – User_Defined_Attribute Class 15
  • 16. HDF5 Classes – Link Class • Root Link • Non-Root Link – Soft Link – Hard Link 02/21/14 – Property List Class • File Property List – Creation Property List – Access Property List • Dataset Property List – Transfer Property List – Storage property List 16
  • 17. File Class File , Group Class and Root Link Class Association Diagram File Class 1 1 Group Class 0…* 1 1 1 File Property List Class Root Link Class File is a composition of a Group. Root Link is created when File is created. Root Link points to the Group which is called Root Group. Root Group is automatically created/opened/closed when File is created/opened/closed. 02/21/14 17
  • 18. File and Group Classes File Class _______________________ _______________________ _ open/close create is_hdf5 get_create_prp get_access_prp mount/unmount reopen 02/21/14 Group Class _____________________ _____________________ open/close iterate get_object_info get_link_value get/set_comment 18
  • 19. Group Class and Associated Classes Group Group Class 1 C 0…* Non-Root Link Class 1…* A D B 0…1 Named Object Class 02/21/14 ... HDF5 object HDF5 object 19
  • 20. Link Class Link Class Root Link Class Non-Root Link Class Hard Link Soft Link 0...* 1...* 0...1 1 Named Object 02/21/14 Named Object 20
  • 21. Non-Root Link Class Non-Root Link Class ____________________________ name ______________________ link/unlink create move (rename) 02/21/14 21
  • 22. Named_Object Class Group Class Dataset Class Named Datatype Class Named Dataspace Class Named_Object Class 0...1 1 1 0…* 1...* 0…* Soft Link Class Hard Link Class User Defined Attribute Not implemented yet 02/21/14 22
  • 23. Dataset Class and associated Classes User Defined Attribute 0...* 0...* Datatype 1 0…* Soft Link 02/21/14 1 Dataset 1 1 0...* 1...* Hard Link 0...* 1 Dataspace 1 Storage Property List 23
  • 24. Dataset Class Dataset Class ________________________ user defined attribute ________________________ create open/close write/read extend get_space/type/property 02/21/14 24
  • 25. Attribute Class and associated Classes Named Object Class 1 0...* Attribute Class 0...* 0...* 1 1 Datatype Class 02/21/14 Dataspace Class 25
  • 27. Property List Class and Subclasses Property List File Property List Creation PList 02/21/14 Access PList Dataset Property List Transfer PList Storage PList 27
  • 28. Dataspace Class Hard Link 0…* 1 Dataspace Class Transient Dataspace Class 02/21/14 28
  • 29. Dataspace Class Dataspace Extent General operations Extent operations 02/21/14 Dataspace Class _______________________________ rank current_size maximum_size _______________________________ create/create_simple open/close/lock is_simple copy extent_class extent_copy set_extent_simple set_extent_none get_simple_extent_npoints/ndims/dims 29
  • 30. Transient Dataspace Class Dataspace Selection Set and modify selections 02/21/14 Dataspace Class ______________ selection ______________ select_elements select_none select_hyperslab select_valid offset_simple ………………... 30
  • 31. Datatype Class and Subclasses Datatype Class Compound Atomic Array 02/21/14 Enumeration Variable Length 31
  • 33. Atomic Datatype Class and Subclasses Atomic Datatype Class Predefined Atomic Userdefined Atomic H5Tcopy 1 0…* Link Class 02/21/14 33
  • 34. Predefined Atomic Datatype Class Predefined Atomic Datatype Class String Time Opaque Integer Reference Object Reference 02/21/14 Float Bitfield Region Reference 34
  • 35. Examples of Predefined Atomic Datatype Predefined Atomic Datatype _______________________ name = H5T_arch_base _______________________ H5T_IEEE_F64LE Eight-byte little-endian, IEEE floating-point H5T_STD_U16BE Two-byte big-endian, unsigned integer H5T_C_S1 One-byte null-terminated string of eight-bit characters H5T_CRAY_F64 Eight-byte Cray floating point H5T_STD_ROBJ Reference to entire object in a file H5T_NATIVE_LONG long 02/21/14 35
  • 36. Compound Datatype Class Compound Datatype Class 1…* Datatype Class 02/21/14 typedef struct { int a; float b; my_type c[10]; } compound_t 36
  • 37. Enumeration Datatype Class Datatype Class RED GREEN BLUE 1 0 1 2 Enumeration Datatype 1…* ( string, value of type Datatype ) Only Integer datatype for now 02/21/14 37
  • 38. Variable Length Datatype Class Datatype Class 1 Variable Length Datatype Class A 1 2 3 C RED GREEN 02/21/14 BLUE 38 4 5
  • 39. Reading Dataset into Memory from File File 2D array of integers 02/21/14 Memory 3D array of floats 39
  • 40. Reading Dataset into Memory from File File Dataset Memory 2D array with selected rectangle Copy of File Dataspace _______________________ Selection I/O hint Dataset Xfer Prp List Dataspace Data ( H5Dread Buffer Datatype Memory Dataspace ___________________ Memory Datatype Selection floats 3D array with selected union of cubes 02/21/14 40 )