Insights to EMF An overview of EMF in context of MOIN.

8
Insights to EMF An overview of EMF in context of MOIN

Transcript of Insights to EMF An overview of EMF in context of MOIN.

Page 1: Insights to EMF An overview of EMF in context of MOIN.

Insights to EMF

An overview of EMF in context of MOIN

Page 2: Insights to EMF An overview of EMF in context of MOIN.

EMF – Eclipse Modeling Framework

2

Page 3: Insights to EMF An overview of EMF in context of MOIN.

3

Memory Management in EMF

central concept: Resource Sets

Persistence via serialization to files

CDO Extension: store models in databases

stress tests with standard EMF

1,5 GB Heap Space

Using dynamic EMF (no code generation, models in memory)

Out of Memory Error at:

2.7 million instances of

1.7 million classes in meta modelAClass NextClass

0..*

0..*Attribute:Int

Page 4: Insights to EMF An overview of EMF in context of MOIN.

EMF Event Handling

adapter mechanism attach listeners to specific

model elements

workbench events register for changes of

ressources

4

Page 5: Insights to EMF An overview of EMF in context of MOIN.

MOIN Event Handling to EMF

ModelChangeEvents Adapters

PartitionChangeEvents Workbench

PreChangeEvents

EventFilter

5

Page 6: Insights to EMF An overview of EMF in context of MOIN.

OCL in EMF

Different OCL Interpreters

Define constraints on metamodels

interpret OCL constraints with EMF Queries

emfQueryStatement =

new SELECT(

new FROM(selectedEObjects),

new WHERE(

new EObjectAttributeValueCondition(

RMPLibraryPackage.eINSTANCE. PERSON__AGE,

new NumberCondition<Integer>(25) )

)

)

6

Page 7: Insights to EMF An overview of EMF in context of MOIN.

EmfIndex

■ indexing EMF-based models and instances

■ collection of index data

■ persisting index data

■ querying without loading any EMF resources

■ Synchronization

7

Page 8: Insights to EMF An overview of EMF in context of MOIN.