. Vasco Amaral Universidade Nova de Lisboa (UNL) vasco.amaral@di.fct.unl.pt Vasco Amaral, 24. April 2006 Self Introduction - p. 1/19
Overview Overview Overview ● Overview ■ Who am I? Who am I? ■ Projects involved PHEASANT PHEASANT Pheasant BATIC 3 S BATIC c 3 s ■ What do I expect from CAMPaM? Position Vasco Amaral, 24. April 2006 Self Introduction - p. 2/19
Who am I? Who am I? Overview ■ 1998 Graduated in Computer Science at IST/UTL (Technical Who am I? ● Who am I? University of Lisbon) PHEASANT ■ 1999 Worked as software engineer at CERN Geneva Pheasant (Switzerland) for the ATLAS experiment. BATIC c 3 s ■ 2000-2003 Worked at DESY Hamburg(Germany) Position ■ 2005 Defended Phd. at the University of Mannheim (Germany) ■ Presently Assistant Professor at FCT/UNL (New University of Lisbon) Recent interests: MDA, DSL/DSM , Model Transformation Vasco Amaral, 24. April 2006 Self Introduction - p. 3/19
Context: High Energy Physics(HEP) Big and complex machines to look for fundamental particles. Overview Who am I? PHEASANT ● Context: High Energy Physics(HEP) ● Data Mining ● Motivation Pheasant BATIC c 3 s Position Vasco Amaral, 24. April 2006 Self Introduction - p. 4/19
Data Mining Overview Reconstruction Who am I? Result Generation Pattern Match PHEASANT ● Context: High Energy # Physics(HEP) Run ● Data Mining ● Motivation Pheasant BATIC c 3 s Event Position Track Vertex Vasco Amaral, 24. April 2006 Self Introduction - p. 5/19
Motivation Overview ■ Problem: Who am I? ◆ Coding with a GPL PHEASANT Twists the way the user thinks about his data. ● Context: High Energy Physics(HEP) Error prone (excessive work debbuging) ● Data Mining ◆ Steep learning curve for beginners (2/3): ● Motivation Pheasant Demands good programming skills. BATIC c 3 s knowing data physical/logical layout. Mastering the utility libraries (typically legacy Position systems). ■ We want to increase the user productivity: ◆ Getting a less steep learning curve. ◆ Reduce the error rate. ◆ Reduce the time spent on query generation. Vasco Amaral, 24. April 2006 Self Introduction - p. 6/19
PHEASANT (PHysicist’s EASy ANalysis Tool) Overview Who am I? PHEASANT Pheasant ● PHEASANT (PHysicist’s EASy ANalysis Tool) ● Semantics of the language ● Type System ● Algebraic Operators ● Algebraic Operators ● Algebraic Operators ● Overview: Query transformation process BATIC c 3 s Position Vasco Amaral, 24. April 2006 Self Introduction - p. 7/19
Semantics of the language [[Query]] Overview Who am I? Query Plan PHEASANT Visual Syntax Semantics (Algebra) Pheasant ● PHEASANT (PHysicist’s EASy ANalysis Tool) ● Semantics of the language ● Type System ● Algebraic Operators ● Algebraic Operators ■ Visual language defined: ● Algebraic Operators ● Overview: Query Translational semantics into algebra. transformation process Advantage of reusing optimization techniques from the BATIC c 3 s Database Management Systems area. Position ■ Extended NF2 Algebra defined with denotational semantics. Vasco Amaral, 24. April 2006 Self Introduction - p. 8/19
Type System Overview ■ Basic types: Float, Bool, Integer, String Who am I? ■ Bulk type: { τ } PHEASANT ■ Tuple: [ a 1 : τ 1 ,..., a 2 : τ 2 ] Pheasant ● PHEASANT (PHysicist’s ■ Sub-Typing: τ ≤ τ ′ ⇒ { τ } ≤ { τ ′ } , [ a 1 : τ 1 ,..., a n : τ n ] ≤ [ a 1 : τ ′ 1 ,..., a k : τ ′ EASy ANalysis Tool) k ] ● Semantics of the language ● Type System ■ Example: ● Algebraic Operators Event = ● Algebraic Operators ● Algebraic Operators [ id : Integer , ● Overview: Query transformation process particle : { Particle } , BATIC c 3 s vertex : { Vertex } ] Position Particle : [ id : Integer , mass , x , y , z : Float , Energy : Float ] Vasco Amaral, 24. April 2006 Self Introduction - p. 9/19
Algebraic Operators � pred σ pred { τ } → { τ } Selection Overview pred : τ → B ool , F ( pred ) ≤ A ( τ ) � pred Who am I? τ ≤ [] PHEASANT { τ 1 }×{ τ 2 } → { [ tuple 1 : τ 1 , tuple 2 : τ 2 ] } Join pred : τ 1 , τ 2 → B ool , F ( pred ) ≤ A ( τ 1 ) ∪ A ( τ 2 ) Pheasant ● PHEASANT (PHysicist’s τ i ≤ [] EASy ANalysis Tool) ● Semantics of the language { τ 1 }×{ τ 2 } → { [ tuple 1 : τ 1 , tuple 2 : τ 2 ] } Outer-Join ● Type System pred : τ 1 , τ 2 → B ool , F ( pred ) ≤ A ( τ 1 ) ∪ A ( τ 2 ) ● Algebraic Operators ● Algebraic Operators τ i ≤ [] ● Algebraic Operators Union ● Overview: Query ∪ transformation process { τ }×{ τ } → { τ } BATIC c 3 s Intersection ∩ { τ }×{ τ } → { τ } Position Difference \ { τ }×{ τ } → { τ } Vasco Amaral, 24. April 2006 Self Introduction - p. 10/19
Algebraic Operators { τ } → { τ ′} Unnesting Overview µ name : path Who am I? pred pred : τ , τ ′ → { B ool } PHEASANT i f τ = [ a 1 : τ 1 ,..., an : τ n , path : τ 0 ] , 0 < n , τ 0 ≤ Pheasant τ ′ = [ a 1 : τ 1 ,..., an : τ n ] ◦ [ name : τ 0 ] ● PHEASANT (PHysicist’s name = ζ () EASy ANalysis Tool) { τ } → { τ ′} ● Semantics of the language Outer-Unnest = µ name : path ● Type System ● Algebraic Operators pred : τ , τ ′ → B ool pred ● Algebraic Operators ● Algebraic Operators i f τ = [ a 1 : τ 1 ,..., an : τ n , path : τ 0 ] , 0 < n , ¬ ( τ 0 ≤ []) ● Overview: Query transformation process τ ′ = [ a 1 : τ 1 ,..., an : τ n ] ◦ [ name : τ 0 ] name = ζ () BATIC c 3 s { τ 1 } → { τ 2 } Reduce if ⊕ = ∪ : ∆ ⊕ / head Position pred { τ 1 } → τ 2 if ⊕ = max , min , sum ,... : head : τ 1 → τ 2 pred : τ 1 → B ool , F ( pred ) ≤ A ( τ 1 ) ∪ A ( τ 2 ) Vasco Amaral, 24. April 2006 Self Introduction - p. 11/19
Algebraic Operators < evt , π − , mytrans , π + > ∆ ∪ / λ ( evt , π − , mytrans , π + ) .< evt , π − , mytrans , π + > Overview pred ( evt , π − , mytrans , π + )( true ) Who am I? PHEASANT ∆ ∪ / λ ( evt , π − , π + ) .< evt , π − , mytrans , π + , mytrans = Trans f orm > λ ( evt , π − , mytrans , π + ) . pred ( ′ π + . mass + π − . mass > 0 . 5 ′ ) Pheasant ● PHEASANT (PHysicist’s < evt , π + , π − > EASy ANalysis Tool) ● Semantics of the language ● Type System ∆ ∪ / λ ( < tuple 1 , tuple 2 > ) . ([ evt : tuple 1 . evt ] ◦ ( tuple 1 / evt ) ◦ ( tuple 2 / evt )) λ ( < tuple 1 , tuple 2 > ) . ( true ) ● Algebraic Operators � tuple 1 . evt . id = tuple 2 . evt . id ● Algebraic Operators ● Algebraic Operators < tuple 1 , tuple 2 > ● Overview: Query transformation process BATIC c 3 s Position ∆ ∪ / λ ( evt , π − ) .< evt , π − > ∆ ∪ / λ ( evt , π + ) .< evt , π + > λ ( evt , π − ) . ( true ) λ ( evt , π + ) . ( true ) π − π + π λ ( evt ) . [ π − : evt . Particle ] π λ ( evt ) . [ π + : evt . Particle ] λ ( evt , π − ) . ( pred ( ′ energy < 0 ′ )) λ ( evt , π + ) . ( pred ( ′ energy > 0 ′ )) evt evt [[ Q Event ]] E [[ Q Event ]] E Vasco Amaral, 24. April 2006 Self Introduction - p. 12/19
Overview: Query transformation process Overview Concrete Components Who am I? PHEASANT Spatial Relationship Graph Pheasant Visual Editor ● PHEASANT (PHysicist’s EASy ANalysis Tool) ● Semantics of the language Abstract Syntax Graph ● Type System ● Algebraic Operators ● Algebraic Operators ● Algebraic Operators Abstract Syntax Tree ● Overview: Query Plan Generator transformation process BATIC c 3 s Query Plan Tree Position Optimizer Optimized Plan Tree Code Generator Target Source Code Vasco Amaral, 24. April 2006 Self Introduction - p. 13/19
BATIC c 3 s ■ Collaboration with the SMV group (Geneva University), Overview CMS experiment at CERN as Use Case. Who am I? ■ Build a methodology, specific to the domain of complex PHEASANT control systems, for specifying, building and testing 3D GUIs Pheasant BATIC c 3 s efficiently. ● BATIC c 3 s ● Why? ● Goal ● Model Languages ● Base Modelig formalism Position Vasco Amaral, 24. April 2006 Self Introduction - p. 14/19
Why? Why? Overview ■ Costly Who am I? ■ Difficult PHEASANT Pheasant ■ Error prone BATIC c 3 s We observe High complexity coming from : ● BATIC c 3 s ■ Number of components ● Why? ● Goal ● Model Languages ■ Hierarchical interaction between them ● Base Modelig formalism ■ Large number of parameters to be controled at the same Position time Vasco Amaral, 24. April 2006 Self Introduction - p. 15/19
Goal Goal Overview ■ Specify system without the need of understand Who am I? programming logic: PHEASANT Structure and behaviour of the system and its GUI; Pheasant User profiles and task models; BATIC c 3 s ● BATIC c 3 s ■ Translate this specification to a model: ● Why? ● Goal Executable; ● Model Languages ● Base Modelig formalism Verifiable; Position Derive tests for it; ■ Automatically generate a prototype. Vasco Amaral, 24. April 2006 Self Introduction - p. 16/19
Recommend
More recommend