SlideShare a Scribd company logo
A Generic Programming Toolkit for PADS/ML ,[object Object],[object Object],[object Object],[object Object]
Data, data everywhere! ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Databases: XML:
Ad hoc data ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ad Hoc Data in Biology format-version : 1.0 date : 11:11:2005 14:24 auto-generated-by : DAG-Edit 1.419 rev 3 default-namespace : gene_ontology subsetdef : goslim_goa "GOA and proteome slim" [Term] id : GO:0000001 name : mitochondrion inheritance namespace : biological_process def : "The distribution of mitochondria including the mitochondrial genome into daughter cells after mitosis or meiosis mediated by interactions between mitochondria and the cytoskeleton." [PMID:10873824,PMID:11389764, SGD:mcc] is_a : GO:0048308  ! organelle inheritance is_a : GO:0048311  ! mitochondrion distribution www.geneontology.org
Ad Hoc Data in Finance HA 00000000 START OF TEST CYCLE aA 00000001 BXYZ  U1AB0000040000100B0000004200 HL 00000002 START OF OPEN INTEREST d  00000003 FZYX  G1AB0000030000300000 HM 00000004 EN D OF OPEN  INTEREST HE 00000005 START OF SUMMARY f  00000006 NYZX  B1QB00052000120000070000B000050000000520000   00490000005100+00000100B00000005300000052500000535000 HF 00000007 END OF SUMMARY k   00000008 LYXW  B1KB0000065G0000009900100000001000020000 HB 00000009 END OF TEST CYCLE www.opradata.com
Ad Hoc Data from Web Server Logs (CLF) 207.136.97.49  - - [15/Oct/1997:18:46:51 -0700]    " GET  /tk/p.txt HTTP/1.0" 200 30 tj62.aol.com  - - [16/Oct/1997:14:32:22 -0700]    " POST  /scpt/dd@grp.org/confirm HTTP/1.0" 200 941 234.200.68.71  - - [15/Oct/1997:18:53:33 -0700]    " GET  /tr/img/gift.gif HTTP/1.0” 200 409 240.142.174.15  - - [15/Oct/1997:18:39:25 -0700]    " GET  /tr/img/wool.gif HTTP/1.0" 404 178 188.168.121.58  - - [16/Oct/1997:12:59:35 -0700]    " GET  / HTTP/1.0" 200 3082 214.201.210.19  ekf - [17/Oct/1997:10:08:23 -0700]    " GET  /img/new.gif HTTP/1.0" 304 -
Ad Hoc Data:  DNS packets 00000000:  9192 d8fb 8480 0001 05d8 0000 0000 0872   ...............r 00000010:  6573 6561 7263 6803 6174 7403 636f 6d00   esearch.att.com. 00000020:  00fc 0001 c00c 0006 0001 0000 0e10 0027   ...............' 00000030:  036e 7331 c00c 0a68 6f73 746d 6173 7465   .ns1...hostmaste 00000040:  72c0 0c77 64e5 4900 000e 1000 0003 8400   r..wd.I......... 00000050:  36ee 8000 000e 10c0 0c00 0f00 0100 000e   6............... 00000060:  1000 0a00 0a05 6c69 6e75 78c0 0cc0 0c00   ......linux..... 00000070:  0f00 0100 000e 1000 0c00 0a07 6d61 696c   ............mail 00000080:  6d61 6ec0 0cc0 0c00 0100 0100 000e 1000   man............. 00000090:  0487 cf1a 16c0 0c00 0200 0100 000e 1000   ................ 000000a0:  0603 6e73 30c0 0cc0 0c00 0200 0100 000e   ..ns0........... 000000b0:  1000 02c0 2e03 5f67 63c0 0c00 2100 0100   ......_gc...!... 000000c0:  0002 5800 1d00 0000 640c c404 7068 7973   ..X.....d...phys 000000d0:  0872 6573 6561 7263 6803 6174 7403 636f   .research.att.co
Challenges of Ad hoc Data ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Describing Data with Types ,[object Object],Data Description ( Type T ) Description compiler Generated parser 0100100100... User code Program value of type  T Parse descriptor for type  T
A PADS/ML Description: Cisco IOS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Describing Data with Types ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Parsing ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],{  header: 1023, commands: [Description "ANTI-PESTO S.W.A.T. TEAM"; Export "To_NY_VPN"; Route_target (100, 3); Max_routes (150, 80)] } parsing
Using Data Descriptions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Generic Programming: Theory ,[object Object],[object Object],[object Object],[object Object],[object Object]
Typecase: conversion to XML ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Typecase in O'Caml ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Typecase: Conversion to XML ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Typecase: Conversion to XML ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Generic Functions: Final Technicalities ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Generic Functions: Summary ,[object Object],[object Object],[object Object],[object Object],[object Object]
Case Studies ,[object Object],[object Object]
PADX ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
PADX ,[object Object],Data Description ( Type T ) Type representation DOM builder ip vrf 1023 descript... Galax XQuery ip vrf 1023 export ... DOM reader Schema builder Schema
Case Studies ,[object Object],[object Object]
Harmony ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Future work ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Summary ,[object Object],[object Object],[object Object],[object Object],[object Object]
The End
Cut slides follow
Data Description Languages ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The Next 700 DDLs ,[object Object],[object Object],[object Object],PacketTypes PADS Datascript DDC
Data Description Calculus ,[object Object],[object Object],[object Object],[object Object],t ::= unit  |  bottom  |  C(e)  |   x:t.t  |  t + t  |  t & t  |  {x:t | e}  |  t seq(t,e,t) |     |   .t  |   x.e  |  t e |  compute (e:  )  |  absorb(t) |  scan(t)
Base Types and Pairs ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Base Types and Pairs 122Joe|Wright|45|95|79 n/aEd|Wood|10|47|31 124Chris|Nolan|80|93|85   Burton|30|82|71 126George|Lucas|32|62|40 Tim int  *   stringUntil( ‘|’ ) *  char 125 |
Base Types and Pairs 13C Programming31Types and Programming Languages20Twenty Years of PLDI36Modern Compiler Implementation in ML 27Elements o f ML Programming 13 C Programming  length : . stringFW( length ) int
Constraints ,[object Object],[object Object],Burton Tim 125 | 30 | {c:char | c = ‘|’}   min : int .S c (‘|’) *  max :{ m :int  |   min   ≤   m }.S c (‘|’) *  { avg :int  |   min   ≤   avg   &   avg   ≤   max } 82 71 | | char S c (‘|’)
Unions  ,[object Object],[object Object],122Joe|Wright|45|95|79 n/aEd|Wood|10|47|31 124Chris|Nolan|80|93|85 125Tim|Burton|30|82|71 126George|Lucas|32|62|40 S s (“n/a”)  +  int n/a Ed|Wood|10|47|31 124 Chris|Nolan|80|93|85
Absorb, Compute and Scan ,[object Object],[object Object],[object Object],scan( S c (‘|’) )  width : int .S c (‘|’) *  length : int .   compute(width    length:int)   absorb( S c (‘|’) ) ^%$!&_ 10 | 12 | | 120
Choosing a Semantics ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Semantics Overview t  0100100100... Parser Representation Parse Descriptor Description [ t ] [ t ] rep [ t ] pd Interpretations of t [ {x:t | e} ] rep  = [ t ] rep  + [ t ] rep [    x:t.t’ ] rep   = [ t ] rep  * [ t’ ] rep [ {x:t | e} ] pd  =  hdr  * [ t ] pd [    x:t.t’ ] pd  =  hdr  * [ t ] pd  * [ t’ ] pd
Type Correctness t  0100100100... Parser Representation Parse Descriptor Description Theorem [ t ]  :  data      [ t ] rep  *  [ t ] pd [ t ] [ t ] rep [ t ] pd Interpretations of t
Error Correctness 0100100100... x x  Parser ,[object Object],[object Object],[object Object],[object Object]
Encoding DDLs in DDC ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Semantics: Practical Benefits ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Existing Approaches ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Type Kinding ,[object Object], ,x:s |- t’ : type    |-   x:t.t’: type    |- t :type    |- t’ : type    |- t + t’: type    |- t : type (s = …)  ,x:s |- e : bool    |- {x:t |  e}: type    |- t : type
Parsing Semantics ,[object Object],[object Object],[object Object],[   x:t 1 .t 2  ] =   (bits,offset 0 ).   let (offset 1 ,data 1 ,pd 1 ) = [ t 1  ](bits,offset 0 ) in   let x = (data 1 ,pd 1 ) in   let (offset 2 ,data 2 ,pd 2 ) = [ t 2  ](bits,offset 1 ) in   (offset 2 ,  R  (data 1 ,data 2 ),  P  (pd 1 ,pd 2 ))
Representation Semantics ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Properties of the Calculus ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Representation Semantics  ,[object Object],unrecoverable error error dependency erased Base Types Pairs Union Set types ok unit + none [absorb(T)] rep Host Language DDC unit [unit] rep I (C) + none [C(e)] rep [T] rep  + [T] rep [{x:T | e}] rep [T] rep  + [T’] rep [T + T’] rep [T] rep  * [T’] rep [  x:T.T’] rep
Representation Semantics  ,[object Object],Base Types Pairs Union Set types hdr * unit [absorb(T)] pd Host Language DDC hdr * unit [unit] pd hdr * unit [C(e)] pd hdr * [T] pd [{x:T | e}] pd hdr * ([T] pd  + [T’] pd ) [T + T’] pd hdr * [T] pd  * [T’] pd [  x:T.T’] pd

More Related Content

What's hot

Apache PIG - User Defined Functions
Apache PIG - User Defined FunctionsApache PIG - User Defined Functions
Apache PIG - User Defined Functions
Christoph Bauer
 
Managing console input
Managing console inputManaging console input
Managing console input
rajshreemuthiah
 
Intro to Pig UDF
Intro to Pig UDFIntro to Pig UDF
Intro to Pig UDF
Chris Wilkes
 
C++ io manipulation
C++ io manipulationC++ io manipulation
C++ io manipulation
Pedro Hugo Valencia Morales
 
Garbage Collection
Garbage CollectionGarbage Collection
Garbage Collection
Eelco Visser
 
Heap Base Exploitation
Heap Base ExploitationHeap Base Exploitation
Heap Base Exploitation
UTD Computer Security Group
 
Elasticsearch's aggregations & esctl in action or how i built a cli tool...
Elasticsearch's aggregations & esctl in action  or how i built a cli tool...Elasticsearch's aggregations & esctl in action  or how i built a cli tool...
Elasticsearch's aggregations & esctl in action or how i built a cli tool...
FaithWestdorp
 
Compiler Construction | Lecture 14 | Interpreters
Compiler Construction | Lecture 14 | InterpretersCompiler Construction | Lecture 14 | Interpreters
Compiler Construction | Lecture 14 | Interpreters
Eelco Visser
 
Java 8 Stream API (Valdas Zigas)
Java 8 Stream API (Valdas Zigas)Java 8 Stream API (Valdas Zigas)
Java 8 Stream API (Valdas Zigas)
Kaunas Java User Group
 
Dictor
DictorDictor
File handling in c language
File handling in c languageFile handling in c language
File handling in c language
Harish Gyanani
 
BBS crawler for Taiwan
BBS crawler for TaiwanBBS crawler for Taiwan
BBS crawler for Taiwan
Buganini Chiu
 
Empty Base Class Optimisation, [[no_unique_address]] and other C++20 Attributes
Empty Base Class Optimisation, [[no_unique_address]] and other C++20 AttributesEmpty Base Class Optimisation, [[no_unique_address]] and other C++20 Attributes
Empty Base Class Optimisation, [[no_unique_address]] and other C++20 Attributes
Bartlomiej Filipek
 
C++ Presentation
C++ PresentationC++ Presentation
C++ Presentation
Carson Wilber
 
Declarative Semantics Definition - Term Rewriting
Declarative Semantics Definition - Term RewritingDeclarative Semantics Definition - Term Rewriting
Declarative Semantics Definition - Term Rewriting
Guido Wachsmuth
 
Substituting HDF5 tools with Python/H5py scripts
Substituting HDF5 tools with Python/H5py scriptsSubstituting HDF5 tools with Python/H5py scripts
Substituting HDF5 tools with Python/H5py scripts
The HDF-EOS Tools and Information Center
 
Header files of c++ unit 3 -topic 3
Header files of c++ unit 3 -topic 3Header files of c++ unit 3 -topic 3
Header files of c++ unit 3 -topic 3
MOHIT TOMAR
 
Trivadis TechEvent 2016 Go - The Cloud Programming Language by Andija Sisko
Trivadis TechEvent 2016 Go - The Cloud Programming Language by Andija SiskoTrivadis TechEvent 2016 Go - The Cloud Programming Language by Andija Sisko
Trivadis TechEvent 2016 Go - The Cloud Programming Language by Andija Sisko
Trivadis
 
R data-import, data-export
R data-import, data-exportR data-import, data-export
R data-import, data-export
FAO
 
Programming Assignment Help
Programming Assignment HelpProgramming Assignment Help
Programming Assignment Help
Programming Homework Help
 

What's hot (20)

Apache PIG - User Defined Functions
Apache PIG - User Defined FunctionsApache PIG - User Defined Functions
Apache PIG - User Defined Functions
 
Managing console input
Managing console inputManaging console input
Managing console input
 
Intro to Pig UDF
Intro to Pig UDFIntro to Pig UDF
Intro to Pig UDF
 
C++ io manipulation
C++ io manipulationC++ io manipulation
C++ io manipulation
 
Garbage Collection
Garbage CollectionGarbage Collection
Garbage Collection
 
Heap Base Exploitation
Heap Base ExploitationHeap Base Exploitation
Heap Base Exploitation
 
Elasticsearch's aggregations & esctl in action or how i built a cli tool...
Elasticsearch's aggregations & esctl in action  or how i built a cli tool...Elasticsearch's aggregations & esctl in action  or how i built a cli tool...
Elasticsearch's aggregations & esctl in action or how i built a cli tool...
 
Compiler Construction | Lecture 14 | Interpreters
Compiler Construction | Lecture 14 | InterpretersCompiler Construction | Lecture 14 | Interpreters
Compiler Construction | Lecture 14 | Interpreters
 
Java 8 Stream API (Valdas Zigas)
Java 8 Stream API (Valdas Zigas)Java 8 Stream API (Valdas Zigas)
Java 8 Stream API (Valdas Zigas)
 
Dictor
DictorDictor
Dictor
 
File handling in c language
File handling in c languageFile handling in c language
File handling in c language
 
BBS crawler for Taiwan
BBS crawler for TaiwanBBS crawler for Taiwan
BBS crawler for Taiwan
 
Empty Base Class Optimisation, [[no_unique_address]] and other C++20 Attributes
Empty Base Class Optimisation, [[no_unique_address]] and other C++20 AttributesEmpty Base Class Optimisation, [[no_unique_address]] and other C++20 Attributes
Empty Base Class Optimisation, [[no_unique_address]] and other C++20 Attributes
 
C++ Presentation
C++ PresentationC++ Presentation
C++ Presentation
 
Declarative Semantics Definition - Term Rewriting
Declarative Semantics Definition - Term RewritingDeclarative Semantics Definition - Term Rewriting
Declarative Semantics Definition - Term Rewriting
 
Substituting HDF5 tools with Python/H5py scripts
Substituting HDF5 tools with Python/H5py scriptsSubstituting HDF5 tools with Python/H5py scripts
Substituting HDF5 tools with Python/H5py scripts
 
Header files of c++ unit 3 -topic 3
Header files of c++ unit 3 -topic 3Header files of c++ unit 3 -topic 3
Header files of c++ unit 3 -topic 3
 
Trivadis TechEvent 2016 Go - The Cloud Programming Language by Andija Sisko
Trivadis TechEvent 2016 Go - The Cloud Programming Language by Andija SiskoTrivadis TechEvent 2016 Go - The Cloud Programming Language by Andija Sisko
Trivadis TechEvent 2016 Go - The Cloud Programming Language by Andija Sisko
 
R data-import, data-export
R data-import, data-exportR data-import, data-export
R data-import, data-export
 
Programming Assignment Help
Programming Assignment HelpProgramming Assignment Help
Programming Assignment Help
 

Viewers also liked

LinkedIn tips
LinkedIn tipsLinkedIn tips
LinkedIn tips
Christie Campbell
 
Theming Drupal 6 - An Introduction to the Basics
Theming Drupal 6 - An Introduction to the BasicsTheming Drupal 6 - An Introduction to the Basics
Theming Drupal 6 - An Introduction to the Basics
Erik Baldwin
 
Fleetwood Mac
Fleetwood MacFleetwood Mac
Fleetwood Mac
connrray
 
Hiho fdkasfj
Hiho fdkasfjHiho fdkasfj
Hiho fdkasfj
Wilson Stewart
 
Media
MediaMedia
Media
connrray
 
Blush Response Photography
Blush Response PhotographyBlush Response Photography
Blush Response Photography
nkhensley
 
Paris trip
Paris tripParis trip
Paris trip
connrray
 

Viewers also liked (7)

LinkedIn tips
LinkedIn tipsLinkedIn tips
LinkedIn tips
 
Theming Drupal 6 - An Introduction to the Basics
Theming Drupal 6 - An Introduction to the BasicsTheming Drupal 6 - An Introduction to the Basics
Theming Drupal 6 - An Introduction to the Basics
 
Fleetwood Mac
Fleetwood MacFleetwood Mac
Fleetwood Mac
 
Hiho fdkasfj
Hiho fdkasfjHiho fdkasfj
Hiho fdkasfj
 
Media
MediaMedia
Media
 
Blush Response Photography
Blush Response PhotographyBlush Response Photography
Blush Response Photography
 
Paris trip
Paris tripParis trip
Paris trip
 

Similar to Odp

CGI.ppt
CGI.pptCGI.ppt
Beholding the giant pyramid of application development; why Ajax applications...
Beholding the giant pyramid of application development; why Ajax applications...Beholding the giant pyramid of application development; why Ajax applications...
Beholding the giant pyramid of application development; why Ajax applications...
Javeline B.V.
 
Apidays Paris 2023 - Forget TypeScript, Choose Rust to build Robust, Fast and...
Apidays Paris 2023 - Forget TypeScript, Choose Rust to build Robust, Fast and...Apidays Paris 2023 - Forget TypeScript, Choose Rust to build Robust, Fast and...
Apidays Paris 2023 - Forget TypeScript, Choose Rust to build Robust, Fast and...
apidays
 
TAUS USER CONFERENCE 2009, Normalization of translation memories
TAUS USER CONFERENCE 2009, Normalization of translation memoriesTAUS USER CONFERENCE 2009, Normalization of translation memories
TAUS USER CONFERENCE 2009, Normalization of translation memories
TAUS - The Language Data Network
 
Editing XML data with XForms
Editing XML data with XFormsEditing XML data with XForms
Editing XML data with XForms
stsire
 
Working With XML in IDS Applications
Working With XML in IDS ApplicationsWorking With XML in IDS Applications
Working With XML in IDS Applications
Keshav Murthy
 
PHP applications/environments monitoring: APM & Pinba
PHP applications/environments monitoring: APM & PinbaPHP applications/environments monitoring: APM & Pinba
PHP applications/environments monitoring: APM & Pinba
Patrick Allaert
 
Easy R
Easy REasy R
Easy R
Ajay Ohri
 
Don't Be Afraid of Abstract Syntax Trees
Don't Be Afraid of Abstract Syntax TreesDon't Be Afraid of Abstract Syntax Trees
Don't Be Afraid of Abstract Syntax Trees
Jamund Ferguson
 
Processing XML with Java
Processing XML with JavaProcessing XML with Java
Processing XML with Java
BG Java EE Course
 
Introduction to source{d} Engine and source{d} Lookout
Introduction to source{d} Engine and source{d} Lookout Introduction to source{d} Engine and source{d} Lookout
Introduction to source{d} Engine and source{d} Lookout
source{d}
 
Lecture 4 - Comm Lab: Web @ ITP
Lecture 4 - Comm Lab: Web @ ITPLecture 4 - Comm Lab: Web @ ITP
Lecture 4 - Comm Lab: Web @ ITP
yucefmerhi
 
r,rstats,r language,r packages
r,rstats,r language,r packagesr,rstats,r language,r packages
r,rstats,r language,r packages
Ajay Ohri
 
Adaptive Query Processing on RAW Data
Adaptive Query Processing on RAW DataAdaptive Query Processing on RAW Data
Adaptive Query Processing on RAW Data
Manos Karpathiotakis
 
Internet Technology and its Applications
Internet Technology and its ApplicationsInternet Technology and its Applications
Internet Technology and its Applications
amichoksi
 
Beyond Breakpoints: A Tour of Dynamic Analysis
Beyond Breakpoints: A Tour of Dynamic AnalysisBeyond Breakpoints: A Tour of Dynamic Analysis
Beyond Breakpoints: A Tour of Dynamic Analysis
Fastly
 
Mark Logic StrangeLoop 2010
Mark Logic StrangeLoop 2010Mark Logic StrangeLoop 2010
Mark Logic StrangeLoop 2010
Christopher Biow
 
Virtual enterprise synthesys
 Virtual enterprise synthesys Virtual enterprise synthesys
Virtual enterprise synthesys
Victor Romanov
 
How to generate a 100+ page website using parameterisation in R
How to generate a 100+ page website using parameterisation in RHow to generate a 100+ page website using parameterisation in R
How to generate a 100+ page website using parameterisation in R
Paul Bradshaw
 
Csphtp1 18
Csphtp1 18Csphtp1 18
Csphtp1 18
HUST
 

Similar to Odp (20)

CGI.ppt
CGI.pptCGI.ppt
CGI.ppt
 
Beholding the giant pyramid of application development; why Ajax applications...
Beholding the giant pyramid of application development; why Ajax applications...Beholding the giant pyramid of application development; why Ajax applications...
Beholding the giant pyramid of application development; why Ajax applications...
 
Apidays Paris 2023 - Forget TypeScript, Choose Rust to build Robust, Fast and...
Apidays Paris 2023 - Forget TypeScript, Choose Rust to build Robust, Fast and...Apidays Paris 2023 - Forget TypeScript, Choose Rust to build Robust, Fast and...
Apidays Paris 2023 - Forget TypeScript, Choose Rust to build Robust, Fast and...
 
TAUS USER CONFERENCE 2009, Normalization of translation memories
TAUS USER CONFERENCE 2009, Normalization of translation memoriesTAUS USER CONFERENCE 2009, Normalization of translation memories
TAUS USER CONFERENCE 2009, Normalization of translation memories
 
Editing XML data with XForms
Editing XML data with XFormsEditing XML data with XForms
Editing XML data with XForms
 
Working With XML in IDS Applications
Working With XML in IDS ApplicationsWorking With XML in IDS Applications
Working With XML in IDS Applications
 
PHP applications/environments monitoring: APM & Pinba
PHP applications/environments monitoring: APM & PinbaPHP applications/environments monitoring: APM & Pinba
PHP applications/environments monitoring: APM & Pinba
 
Easy R
Easy REasy R
Easy R
 
Don't Be Afraid of Abstract Syntax Trees
Don't Be Afraid of Abstract Syntax TreesDon't Be Afraid of Abstract Syntax Trees
Don't Be Afraid of Abstract Syntax Trees
 
Processing XML with Java
Processing XML with JavaProcessing XML with Java
Processing XML with Java
 
Introduction to source{d} Engine and source{d} Lookout
Introduction to source{d} Engine and source{d} Lookout Introduction to source{d} Engine and source{d} Lookout
Introduction to source{d} Engine and source{d} Lookout
 
Lecture 4 - Comm Lab: Web @ ITP
Lecture 4 - Comm Lab: Web @ ITPLecture 4 - Comm Lab: Web @ ITP
Lecture 4 - Comm Lab: Web @ ITP
 
r,rstats,r language,r packages
r,rstats,r language,r packagesr,rstats,r language,r packages
r,rstats,r language,r packages
 
Adaptive Query Processing on RAW Data
Adaptive Query Processing on RAW DataAdaptive Query Processing on RAW Data
Adaptive Query Processing on RAW Data
 
Internet Technology and its Applications
Internet Technology and its ApplicationsInternet Technology and its Applications
Internet Technology and its Applications
 
Beyond Breakpoints: A Tour of Dynamic Analysis
Beyond Breakpoints: A Tour of Dynamic AnalysisBeyond Breakpoints: A Tour of Dynamic Analysis
Beyond Breakpoints: A Tour of Dynamic Analysis
 
Mark Logic StrangeLoop 2010
Mark Logic StrangeLoop 2010Mark Logic StrangeLoop 2010
Mark Logic StrangeLoop 2010
 
Virtual enterprise synthesys
 Virtual enterprise synthesys Virtual enterprise synthesys
Virtual enterprise synthesys
 
How to generate a 100+ page website using parameterisation in R
How to generate a 100+ page website using parameterisation in RHow to generate a 100+ page website using parameterisation in R
How to generate a 100+ page website using parameterisation in R
 
Csphtp1 18
Csphtp1 18Csphtp1 18
Csphtp1 18
 

Recently uploaded

20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Zilliz
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Zilliz
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
Pixlogix Infotech
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 

Recently uploaded (20)

20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
Introducing Milvus Lite: Easy-to-Install, Easy-to-Use vector database for you...
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 

Odp

  • 1.
  • 2.
  • 3.
  • 4. Ad Hoc Data in Biology format-version : 1.0 date : 11:11:2005 14:24 auto-generated-by : DAG-Edit 1.419 rev 3 default-namespace : gene_ontology subsetdef : goslim_goa "GOA and proteome slim" [Term] id : GO:0000001 name : mitochondrion inheritance namespace : biological_process def : "The distribution of mitochondria including the mitochondrial genome into daughter cells after mitosis or meiosis mediated by interactions between mitochondria and the cytoskeleton." [PMID:10873824,PMID:11389764, SGD:mcc] is_a : GO:0048308 ! organelle inheritance is_a : GO:0048311 ! mitochondrion distribution www.geneontology.org
  • 5. Ad Hoc Data in Finance HA 00000000 START OF TEST CYCLE aA 00000001 BXYZ U1AB0000040000100B0000004200 HL 00000002 START OF OPEN INTEREST d 00000003 FZYX G1AB0000030000300000 HM 00000004 EN D OF OPEN INTEREST HE 00000005 START OF SUMMARY f 00000006 NYZX B1QB00052000120000070000B000050000000520000 00490000005100+00000100B00000005300000052500000535000 HF 00000007 END OF SUMMARY k 00000008 LYXW B1KB0000065G0000009900100000001000020000 HB 00000009 END OF TEST CYCLE www.opradata.com
  • 6. Ad Hoc Data from Web Server Logs (CLF) 207.136.97.49 - - [15/Oct/1997:18:46:51 -0700] " GET /tk/p.txt HTTP/1.0" 200 30 tj62.aol.com - - [16/Oct/1997:14:32:22 -0700] " POST /scpt/dd@grp.org/confirm HTTP/1.0" 200 941 234.200.68.71 - - [15/Oct/1997:18:53:33 -0700] " GET /tr/img/gift.gif HTTP/1.0” 200 409 240.142.174.15 - - [15/Oct/1997:18:39:25 -0700] " GET /tr/img/wool.gif HTTP/1.0" 404 178 188.168.121.58 - - [16/Oct/1997:12:59:35 -0700] " GET / HTTP/1.0" 200 3082 214.201.210.19 ekf - [17/Oct/1997:10:08:23 -0700] " GET /img/new.gif HTTP/1.0" 304 -
  • 7. Ad Hoc Data: DNS packets 00000000: 9192 d8fb 8480 0001 05d8 0000 0000 0872 ...............r 00000010: 6573 6561 7263 6803 6174 7403 636f 6d00 esearch.att.com. 00000020: 00fc 0001 c00c 0006 0001 0000 0e10 0027 ...............' 00000030: 036e 7331 c00c 0a68 6f73 746d 6173 7465 .ns1...hostmaste 00000040: 72c0 0c77 64e5 4900 000e 1000 0003 8400 r..wd.I......... 00000050: 36ee 8000 000e 10c0 0c00 0f00 0100 000e 6............... 00000060: 1000 0a00 0a05 6c69 6e75 78c0 0cc0 0c00 ......linux..... 00000070: 0f00 0100 000e 1000 0c00 0a07 6d61 696c ............mail 00000080: 6d61 6ec0 0cc0 0c00 0100 0100 000e 1000 man............. 00000090: 0487 cf1a 16c0 0c00 0200 0100 000e 1000 ................ 000000a0: 0603 6e73 30c0 0cc0 0c00 0200 0100 000e ..ns0........... 000000b0: 1000 02c0 2e03 5f67 63c0 0c00 2100 0100 ......_gc...!... 000000c0: 0002 5800 1d00 0000 640c c404 7068 7973 ..X.....d...phys 000000d0: 0872 6573 6561 7263 6803 6174 7403 636f .research.att.co
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34. Base Types and Pairs 122Joe|Wright|45|95|79 n/aEd|Wood|10|47|31 124Chris|Nolan|80|93|85 Burton|30|82|71 126George|Lucas|32|62|40 Tim int * stringUntil( ‘|’ ) * char 125 |
  • 35. Base Types and Pairs 13C Programming31Types and Programming Languages20Twenty Years of PLDI36Modern Compiler Implementation in ML 27Elements o f ML Programming 13 C Programming  length : . stringFW( length ) int
  • 36.
  • 37.
  • 38.
  • 39.
  • 40. Semantics Overview t  0100100100... Parser Representation Parse Descriptor Description [ t ] [ t ] rep [ t ] pd Interpretations of t [ {x:t | e} ] rep = [ t ] rep + [ t ] rep [  x:t.t’ ] rep = [ t ] rep * [ t’ ] rep [ {x:t | e} ] pd = hdr * [ t ] pd [  x:t.t’ ] pd = hdr * [ t ] pd * [ t’ ] pd
  • 41. Type Correctness t  0100100100... Parser Representation Parse Descriptor Description Theorem [ t ] : data  [ t ] rep * [ t ] pd [ t ] [ t ] rep [ t ] pd Interpretations of t
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.

Editor's Notes

  1. In today’s electronic age, there are incredible amounts of data stored in databases and xml. Everything from your hotel reservation, to your employment records and your credit card transactions. Because databases and xml are standardized, there is a lot of support for data in such formats: schema languages, data browswers, query langauges, books, vendor support, consultants…. Make dealing with such data easier.
  2. Yet, unfortunately. There is a lot of important data in ad hoc formats that don’t have the tools, documentation and consultants. In general, not free text, but semi-structured. Still, not as structured as XML syntax. Also, different than the syntaxes usually employed for programming languages.
  3. This data fragment comes from the gene ontology project. It describes gene products and gives links between products that are known to be related. Might try to answer questions like: What is a particular gene or collection of genes used for?
  4. From the financial markets. The Options Price Reporting Authority (OPRA) provides last sale information and current options quotations. This particular example describes simple test transaction.
  5. Record of requests sent to web server
  6. Computer networking Hex dump of dns. Mixed ascii-binary format.
  7. Unlike std. formats, ad hoc data presents a number of challenges. As is: no chance to influence way data is produced. Errors: not enough to filter errors, often want to examine them b/c … errors don’t invalidate surrounding data. Documentation may or may not exist. If it does exist, out of date. Hijacked fields.. Evolving spec. Seems to be a fact of life: buggy data. Machines that start outputing wrong data, human data entry, missing data How to respond to errors is very application specific. Halt, discard, repair. Errors can be the most interesting part of the data. They can signal that a machine is experiencing problems, which is very crucial for monitoring applications. Or where two machines are failing to communicate.
  8. While different in many ways, … share basic insight - Describe data with types. Descriptions include physical layout as well as semantic constraints. Automatically generate type declarations and parsers for use in host language. PADS also produces meta-data object called parse descriptor , describing errors encountered in data. The pd mimics the structure of the data, reporting for every element on the errors encountered while parsing. Trans: summary, how relate, how build next 700?
  9. Our work is the first attempt to find a semantics well-suited to explaining current and future data description languages.
  10. To address these challenges, researchers have begun to develop high-level languages for describing and processing ad hoc data. PacketTypes- describe binary data associated with networking protocols DataScript - describe binary data such as JAVA jar files and ELF object files Erlang binaries - like others but for erlang. PADS is a general-purpose DDL vs. DS-DDLs. Supports assorted data encodings. Features robust error handling and tool generation.
  11. To address these questions, We provide the first semantics of DDLs. DDC is itself a DDL. But at low-level so can explain… Formally specify the meaning of DDC with a denotational semantics.
  12. Next, I’ll show you some of the calculus by stepping through a few examples.
  13. But in this case, the value described by the first type can be referenced in the second.
  14. List of bowlers: ID, name, min,max, avg score.
  15. Ad hoc listing of books on my shelf.
  16. Not in conventional dependent type systems.
  17. Also have denot. Sem. Unlike conventional sem. Which have 1 interpret. We have 3. Each type is also interpreted as two types in the host language. One, the type of the rep. And two, the type of the corresponding parse descriptor.
  18. Type-corr. is important, but not enough. PD report errors in*rep*.
  19. Focus on encodings of PADS, DataSCript and PacketTypes.
  20. Impl. not maintain desired invariant.
  21. Is this slide necessary?
  22. Either drop this or let people read it. Need better transition here. Now that we’ve seen some of the calculus, I’ll give an overview of the semantics. There are multiple components to the semantics. Note: I do not bother to explain this slide.
  23. Give picture of parsing … first. Perhaps these slides (inl. Theorems) should be scripting a picture, highliting different parts of picture. Afterwards, give Sigma code as one concrete example. Second, we have the parsing semantics themselves, in which we express the parsing behavior of a given type T as a…
  24. Not an arbitrary output type, but strongly corresponds to type from which the parser is generated. Abstract this and next slide.
  25. Not an arbitrary output type, but strongly corresponds to type from which the parser is generated.