next generation model query

Post on 07-Jul-2015

2.129 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

In this talk we give a brief overview over the Eclipse Model Query project and outline what we plan in the Helios timeframe

TRANSCRIPT

Bernd Kolb

Christian Mohr

Martin Strenge

Boris Gruschko

Next Generation Model QueryFirst Impressions of the

Eclipse Summit Europe 2009

© SAP AG 2009 - licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Germany Licensehttp://creativecommons.org/licenses/by-nc-nd/3.0/de/

Who needs queries?What's out there?

Short Demo?

Architecture Overview

Index Utilization

Dirty State -

What we Willtalk about

Who needs Model Queries?SAP‘s Galaxy as a real life example…

Tree based viewsvisualize models

The Business ProcessDiagram Editor

Refactoring operationsaffect referring

elements

Lists aggregateavailable values

Type safety

Scoping

Response time

The 4 things thatreally matter

Dirty state

What‘sout there?

EMF Query?A perfect match?

The origin of theNext Generation Query

is a MOF infrastructure

So let‘s have a lookat the new stuff!

The LibraryEcore Model

335 filescontaining...

1 publisher

303 libraries

592 manuscripts

3645 persons

151540 books

DEMO

Behind theScenes

ArchitecturalOverview

Scheduler

Interpreter

Processor

Processing queries inmultiple backends

In-MemoryProcessor

Interpreter

DatabaseProcessor

Index-basedProcessor

EMF Index DB

What about theIndex?

Why an index isnot enough

Dirty statematters!

PersistedResource

1

PersistedResource

2

DirtyResource

1DirtyState

PersistentState

Resource 1 Resource 2

DirtyState

PersistentState

select b, p from Book as b, Person as pwhere b.borrowedBy = p

Person A

Book A

Person B

Resource 1 Resource 2

Book B Index Processor

DirtyState

PersistentState

select b, p from Book as b, Person as pwhere b.borrowedBy = p

Resource 1 Resource 2

Book A

Person A

Book B Person B

Book A

Person A

Book B

Person C

Person B

In-memoryProcessor

Book B

DirtyState

PersistentState

select b, p from Book as b, Person as pwhere b.borrowedBy = p

Person A

Book A

Person B

Book B

Person A

Book A

Person B

Person X

Person C

Book C

Resource 1 Resource 2 Resource 3

In-memoryProcessor

IndexProcessor

DirtyState

PersistentState

select b, p from Book as b, Person as pwhere b.borrowedBy = p

Resource 1 Resource 2 Resource 3

Book B

Person BBook A Person A

Person A

In-memoryProcessor

In-memoryProcessor

IndexProcessor

IndexProcessor

DirtyState

PersistentState

select b from Book as b, Person as p whereb.borrowedBy = p and p.name = „Abc“ and b.pages > 250

Resource 1 Resource 2 Resource 3

Person B

Book C

Person A

Book D

Book A

Book B

Person C

Person D

Book D

select b from Book as b, Person as p whereb.borrowedBy = p and p.name = „ABC“ and b.pages > 250

Union(Select[PERSISTENT] b from Book in {NDS} as b, Person as p

in {NDS} whereb.borrowedBy = p and p.name = „ABC“ and b.pages > 250,

Select[MEMORY] b from Book in {DS} as b, Person as p in {DS}where b.borrowedBy = p and p.name = „ABC“ and b.pages > 250,

Select q1.b fromSelect[MEMORY] b from Book in {DS} as b, Person as p in {NDS}

where b.borrowedBy = p and b.pages > 250as q1,Select[PERSISTENT] Person as p in {NDS}

where p.name = „ABC“ as q2where q1.p = q2.p,Select q1.b from

Select[PERSISTENT] b from Book in {NDS} as b, Person as pin {DS} where b.borrowedBy = p and b.pages > 250as q1,

Select[MEMORY] Person as p in {DS}where p.name = „ABC“ as q2

where q1.p = q2.p)

Links inpersistent state

Links indirty state

Links from dirtyinto persistentstate

Links frompersistent intodirty state

Hierarchicalbackends

In-memory

Filesystem

Database

TheFuture

What‘s next?

HeliosInternal clean-up

Optimize execution

Finalize initial release

And beyondExecute against several backends

<< YOUR IDEA GOES HERE>>

give it a tryfeedback

us

Please

www.eclipse.org/modeling/emf/

news://news.eclipse.org/eclipse.tools.emf

download

questionS

bernd.kolb / c.mohr /martin.strenge / boris.gruschkO

AT SAP DOT COM

top related