. Vasco Amaral Universidade Nova de Lisboa (UNL) - - PowerPoint PPT Presentation

vasco amaral universidade nova de lisboa unl vasco amaral
SMART_READER_LITE
LIVE PREVIEW

. Vasco Amaral Universidade Nova de Lisboa (UNL) - - PowerPoint PPT Presentation

. 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


slide-1
SLIDE 1

Vasco Amaral, 24. April 2006 Self Introduction - p. 1/19

.

Vasco Amaral Universidade Nova de Lisboa (UNL)

vasco.amaral@di.fct.unl.pt

slide-2
SLIDE 2

Overview

  • Overview

Who am I? PHEASANT Pheasant BATICc3s Position Vasco Amaral, 24. April 2006 Self Introduction - p. 2/19

Overview

Overview

■ Who am I? ■ Projects involved

PHEASANT BATIC3S

■ What do I expect from CAMPaM?

slide-3
SLIDE 3

Overview Who am I?

  • Who am I?

PHEASANT Pheasant BATICc3s Position Vasco Amaral, 24. April 2006 Self Introduction - p. 3/19

Who am I?

Who am I?

■ 1998 Graduated in Computer Science at IST/UTL (Technical

University of Lisbon)

■ 1999 Worked as software engineer at CERN Geneva

(Switzerland) for the ATLAS experiment.

■ 2000-2003 Worked at DESY Hamburg(Germany) ■ 2005 Defended Phd. at the University of Mannheim

(Germany)

■ Presently Assistant Professor at FCT/UNL (New University

  • f Lisbon)

Recent interests: MDA, DSL/DSM , Model Transformation

slide-4
SLIDE 4

Overview Who am I? PHEASANT

  • Context: High Energy

Physics(HEP)

  • Data Mining
  • Motivation

Pheasant BATICc3s Position Vasco Amaral, 24. April 2006 Self Introduction - p. 4/19

Context: High Energy Physics(HEP)

Big and complex machines to look for fundamental particles.

slide-5
SLIDE 5

Overview Who am I? PHEASANT

  • Context: High Energy

Physics(HEP)

  • Data Mining
  • Motivation

Pheasant BATICc3s Position Vasco Amaral, 24. April 2006 Self Introduction - p. 5/19

Data Mining

Result Generation Reconstruction Pattern Match

#

Track Vertex Event Run

slide-6
SLIDE 6

Overview Who am I? PHEASANT

  • Context: High Energy

Physics(HEP)

  • Data Mining
  • Motivation

Pheasant BATICc3s Position Vasco Amaral, 24. April 2006 Self Introduction - p. 6/19

Motivation

■ Problem: ◆ Coding with a GPL

Twists the way the user thinks about his data. Error prone (excessive work debbuging)

◆ Steep learning curve for beginners (2/3):

Demands good programming skills. knowing data physical/logical layout. Mastering the utility libraries (typically legacy 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.

slide-7
SLIDE 7

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 BATICc3s Position Vasco Amaral, 24. April 2006 Self Introduction - p. 7/19

PHEASANT (PHysicist’s EASy ANalysis Tool)

slide-8
SLIDE 8

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 BATICc3s Position Vasco Amaral, 24. April 2006 Self Introduction - p. 8/19

Semantics of the language

Visual Syntax Semantics (Algebra) [[Query]] Query Plan

■ Visual language defined:

Translational semantics into algebra. Advantage of reusing optimization techniques from the Database Management Systems area.

■ Extended NF2 Algebra defined with denotational semantics.

slide-9
SLIDE 9

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 BATICc3s Position Vasco Amaral, 24. April 2006 Self Introduction - p. 9/19

Type System

■ Basic types: Float, Bool, Integer, String ■ Bulk type: {τ} ■ Tuple: [a1 : τ1,...,a2 : τ2] ■ Sub-Typing:τ ≤ τ′ ⇒ {τ} ≤ {τ′},[a1 : τ1,...,an : τn] ≤ [a1 : τ′ 1,...,ak : τ′ k] ■ Example:

Event = [id : Integer, particle : {Particle}, vertex : {Vertex}] Particle : [id : Integer, mass,x,y,z : Float, Energy : Float]

slide-10
SLIDE 10

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 BATICc3s Position Vasco Amaral, 24. April 2006 Self Introduction - p. 10/19

Algebraic Operators

Selection {τ} → {τ}

σpred

pred : τ → Bool,F(pred) ≤ A (τ) τ ≤ [] Join {τ1}×{τ2} → {[tuple1 : τ1,tuple2 : τ2]}

pred

pred : τ1,τ2 → Bool,F(pred) ≤ A (τ1)∪A (τ2) τi ≤ [] Outer-Join {τ1}×{τ2} → {[tuple1 : τ1,tuple2 : τ2]}

pred

pred : τ1,τ2 → Bool,F(pred) ≤ A (τ1)∪A (τ2) τi ≤ [] Union

{τ}×{τ} → {τ} Intersection

{τ}×{τ} → {τ} Difference

\

{τ}×{τ} → {τ}

slide-11
SLIDE 11

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 BATICc3s Position Vasco Amaral, 24. April 2006 Self Introduction - p. 11/19

Algebraic Operators

Unnesting {τ} → {τ′}

µname:path

pred

pred : τ,τ′ → {Bool} i f τ = [a1 : τ1,...,an : τn, path : τ0],0 < n,τ0 ≤ τ′ = [a1 : τ1,...,an : τn]◦[name : τ0] name = ζ() Outer-Unnest {τ} → {τ′}

=µname:path

pred

pred : τ,τ′ → Bool i f τ = [a1 : τ1,...,an : τn, path : τ0],0 < n,¬(τ0 ≤ []) τ′ = [a1 : τ1,...,an : τn]◦[name : τ0] name = ζ() Reduce if ⊕ = ∪: {τ1} → {τ2}

∆⊕/head

pred

if ⊕ = max,min,sum,...: {τ1} → τ2 head : τ1 → τ2 pred : τ1 → Bool,F(pred) ≤ A (τ1)∪A (τ2)

slide-12
SLIDE 12

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 BATICc3s Position Vasco Amaral, 24. April 2006 Self Introduction - p. 12/19

Algebraic Operators

∆∪/λ(evt,π−,mytrans,π+).<evt,π−,mytrans,π+>

pred(evt,π−,mytrans,π+)(true)

< evt,π−,mytrans,π+ > ∆∪/λ(evt,π−,π+).<evt,π−,mytrans,π+,mytrans=Trans f orm>

λ(evt,π−,mytrans,π+).pred(′π+.mass+π−.mass>0.5′)

∆∪/λ(<tuple1,tuple2>).([evt:tuple1.evt]◦(tuple1/evt)◦(tuple2/evt))

λ(<tuple1,tuple2>).(true)

< evt,π+,π− >

tuple1.evt.id=tuple2.evt.id

< tuple1,tuple2 > ∆∪/λ(evt,π−).<evt,π−>

λ(evt,π−).(true)

πλ(evt).[π−:evt.Particle]

λ(evt,π−).(pred(′energy<0′))

π− [[QEvent]]E evt ∆∪/λ(evt,π+).<evt,π+>

λ(evt,π+).(true)

πλ(evt).[π+:evt.Particle]

λ(evt,π+).(pred(′energy>0′))

π+ [[QEvent]]E evt

slide-13
SLIDE 13

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 BATICc3s Position Vasco Amaral, 24. April 2006 Self Introduction - p. 13/19

Overview: Query transformation process

Concrete Components

Spatial Relationship Graph

Abstract Syntax Graph Abstract Syntax Tree Optimized Plan Tree Target Source Code

Plan Generator Visual Editor Optimizer Code Generator

Query Plan Tree

slide-14
SLIDE 14

Overview Who am I? PHEASANT Pheasant BATICc3s

  • BATICc3s
  • Why?
  • Goal
  • Model Languages
  • Base Modelig formalism

Position Vasco Amaral, 24. April 2006 Self Introduction - p. 14/19

BATICc3s

■ Collaboration with the SMV group (Geneva University),

CMS experiment at CERN as Use Case.

■ Build a methodology, specific to the domain of complex

control systems, for specifying, building and testing 3D GUIs efficiently.

slide-15
SLIDE 15

Overview Who am I? PHEASANT Pheasant BATICc3s

  • BATICc3s
  • Why?
  • Goal
  • Model Languages
  • Base Modelig formalism

Position Vasco Amaral, 24. April 2006 Self Introduction - p. 15/19

Why?

Why?

■ Costly ■ Difficult ■ Error prone

We observe High complexity coming from :

■ Number of components ■ Hierarchical interaction between them ■ Large number of parameters to be controled at the same

time

slide-16
SLIDE 16

Overview Who am I? PHEASANT Pheasant BATICc3s

  • BATICc3s
  • Why?
  • Goal
  • Model Languages
  • Base Modelig formalism

Position Vasco Amaral, 24. April 2006 Self Introduction - p. 16/19

Goal

Goal

■ Specify system without the need of understand

programming logic: Structure and behaviour of the system and its GUI; User profiles and task models;

■ Translate this specification to a model:

Executable; Verifiable; Derive tests for it;

■ Automatically generate a prototype.

slide-17
SLIDE 17

Overview Who am I? PHEASANT Pheasant BATICc3s

  • BATICc3s
  • Why?
  • Goal
  • Model Languages
  • Base Modelig formalism

Position Vasco Amaral, 24. April 2006 Self Introduction - p. 17/19

Model Languages

Model Languages

■ Domain model (structure and behaviour between system

components)

■ Behaviour model (component relationship with method

calls and events)

■ Tasks model (sequences of operations to achieve a goal) ■ Users model (diferent user profiles might imply different

tasks)

■ 3D geometry model ■ Presentation model (means of interaction of GUI objects) ■ Dialog model (associates presentation model with Users

model)

slide-18
SLIDE 18

Overview Who am I? PHEASANT Pheasant BATICc3s

  • BATICc3s
  • Why?
  • Goal
  • Model Languages
  • Base Modelig formalism

Position Vasco Amaral, 24. April 2006 Self Introduction - p. 18/19

Base Modelig formalism

Base modeling formalism Modeling formalism - CO-OPN based on Petri nets and algebraic data types:

■ System level, which models the system behaviour and

structure;

■ GUI logic level, which models the semantics of operation of

the GUI;

■ GUI visual level, which models the presentation of the GUI.

slide-19
SLIDE 19

Overview Who am I? PHEASANT Pheasant BATICc3s Position

  • Vasco Amaral, 24. April 2006

Self Introduction - p. 19/19

■ Adequate techniques/Formalisms for specifying DSM/DSL

semantics.

■ Learn state of the art approaches.

DS(V)L generators and Meta-Modeling tools. Model transformation techniques and frameworks.

■ Multi-formalism modeling (rel. multi-view).