ocl nach mql hasso-plattner-institut, potsdam 5. juli 2010

7
OCL nach MQL Hasso-Plattner-Institut, Potsdam 5. Juli 2010

Upload: julia-holloway

Post on 26-Mar-2015

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: OCL nach MQL Hasso-Plattner-Institut, Potsdam 5. Juli 2010

OCL nach MQL

Hasso-Plattner-Institut, Potsdam 5. Juli 2010

Page 2: OCL nach MQL Hasso-Plattner-Institut, Potsdam 5. Juli 2010

Architektur

Page 3: OCL nach MQL Hasso-Plattner-Institut, Potsdam 5. Juli 2010

Architektur

Page 4: OCL nach MQL Hasso-Plattner-Institut, Potsdam 5. Juli 2010

7. Bachelorpodium | Projekt | betreuendes Fachgebiet | 2. Juli 2010

Ablauf

4

Page 5: OCL nach MQL Hasso-Plattner-Institut, Potsdam 5. Juli 2010

7. Bachelorpodium | Projekt | betreuendes Fachgebiet | 2. Juli 2010

Messungen

5

OCL-Bedingungen OCL (in ms) MQL (in ms) Query2 (in ms) buildResult (in ms)

context employee body:Employee.allInstances()-> select(e:Employee|e.age > 55) 11.209804 100.464445 7.781506 0.178654

context employee body:Employee.allInstances()-> select(e:Employee|e.age = 55) 34.068296 72.409343 8.777722 0.057479

context employee body:Employee.allInstances()-> select(e:Employee|e.secretary.age = 0) 11.770909 107.731569 53.490458 0.045257

context employee body:Employee.allInstances()-> select(e:Employee|e.name = e.secretary.name) 12.39138 140.468131 88.977859 0.00461

context employee body:Employee.allInstances()-> select(e:Employee|e.age = e.salary) 12.511367 84.984544 35.741065 0.098197

context employee body:Employee.allInstances()-> collect(p:Employee|p.age) 11.416325 84.961846 36.576646 0.373302

context employee body:Employee.allInstances()-> collect(p:Employee|p.directed) 13.245678 110.080261 58.146357 4.79167

■ schlechtere Zeiten

■ Gründe:

□ doppeltes traversieren des AST

□ Query Implementierung

Page 6: OCL nach MQL Hasso-Plattner-Institut, Potsdam 5. Juli 2010

OCL am AST

■ „parse OCL Annotations“

■ Speicherung des AST im content der Annotation

■ Kontextabhängige Interpretation der Annotations

Page 7: OCL nach MQL Hasso-Plattner-Institut, Potsdam 5. Juli 2010

Rückwärtsnavigation

■ Erweiterung des OCL-Metamodells

■ oppositePropertyCallExp

■ Urspr. Model Query2