SlideShare una empresa de Scribd logo
1 de 27
Descargar para leer sin conexión
Generation of Random
Software Models for
Benchmarks
Markus Scheidgen
1
Agenda
▶ Benchmarks for MDE
▶ Input models for MDE benchmarks
▶ Generation of random models
■ Language
■ Examples
▶ Related Work
▶ Conclusion
2
Benchmarks (I)
▶ in smallMDE technology1 is solely evaluated by its functionality
▶ BigMDE technology is evaluated by its functionality and its
performance (execution time, memory consumption, ...)
▶ Benchmarks enable sound comparison of technologies
based on their performance
1) technology = algorithms methods tools frameworks
3
Benchmarks (II)
▶ A benchmark describes the measure ...
■ of a well defined property
■ acquired in a well defined processes
■ with a well defined workload (tasks and inputs)
■ in a well defined environment
4
All measurements were performed on a Notebook
computer with Intel Core i5 2.4GHz CPU, 8 GB
1067 MHz DDR3 RAM, running Mac OS 10.7.3.
+some environment
- software versions, JVM
configuration
M. Scheidgen, A. Zubow, J. Fischer, T. H. Kolbe: Automated and Transparent Model Fragmentation for Persisting Large Models; ACM/IEEE 15th International
Conference on Model Driven Engineering Languages & Systems (MODELS); Innsbruck; 2012; LNCS Springer
All measurements were performed on a Notebook
computer with Intel Core i5 2.4GHz CPU, 8 GB
1067 MHz DDR3 RAM, running Mac OS 10.7.3.
+some environment
- software versions, JVM
configuration
M. Scheidgen, A. Zubow, J. Fischer, T. H. Kolbe: Automated and Transparent Model Fragmentation for Persisting Large Models; ACM/IEEE 15th International
Conference on Model Driven Engineering Languages & Systems (MODELS); Innsbruck; 2012; LNCS Springer
+some process
- distribution, variation,
outlier
- warmup: JIT, caches, GC
All experiments were repeated at least 20 times, and
all present results are respective averages.
We measured the performance of instantiating and
persisting objects.
+some property description
- exact task?
- comparable between
technologies
All measurements were performed on a Notebook
computer with Intel Core i5 2.4GHz CPU, 8 GB
1067 MHz DDR3 RAM, running Mac OS 10.7.3.
+some environment
- software versions, JVM
configuration
M. Scheidgen, A. Zubow, J. Fischer, T. H. Kolbe: Automated and Transparent Model Fragmentation for Persisting Large Models; ACM/IEEE 15th International
Conference on Model Driven Engineering Languages & Systems (MODELS); Innsbruck; 2012; LNCS Springer
+some process
- distribution, variation,
outlier
- warmup: JIT, caches, GC
All experiments were repeated at least 20 times, and
all present results are respective averages.
We measured the performance of instantiating and
persisting objects.
+some property description
- exact task?
- comparable between
technologies
All measurements were performed on a Notebook
computer with Intel Core i5 2.4GHz CPU, 8 GB
1067 MHz DDR3 RAM, running Mac OS 10.7.3.
+some environment
- software versions, JVM
configuration
M. Scheidgen, A. Zubow, J. Fischer, T. H. Kolbe: Automated and Transparent Model Fragmentation for Persisting Large Models; ACM/IEEE 15th International
Conference on Model Driven Engineering Languages & Systems (MODELS); Innsbruck; 2012; LNCS Springer
+some process
- distribution, variation,
outlier
- warmup: JIT, caches, GC
All experiments were repeated at least 20 times, and
all present results are respective averages.
XMI CDO Morsa EMFFrag
10
3
10
4
10
5
Objectspersecond(×10
4
)
w/ cross references
w/o cross references
+two specific shapes
- two specific shapes
- real world likeness
We created test models with 105 objects, a binary
containment hierarchy, and two different densities of
cross references: one cross reference per object and no
cross references.
Input for Benchmarks (I)
▶ A benchmark input model should
■ include no bias
■ invoke real world behavior
■ cover different scenarios
■ metrical scale
6
Input for Benchmarks – In MDE
▶ For MDE technology input is usually a software engineering
artifact, which we commonly refer to as a model
▶ Usually the models from the 2009 Grabat’s graph
transformation contest are used
■ MoDisco-models of JDT
■ different sizes and shapes (with and without method
implementations)
■ sizes not linear
7
Input for Benchmarks – Properties: Size & Shape
▶ different properties to mimic different scenarios and invoke different
behavior/performance characteristics
▶ goal: understand correlation between performance properties and model
sizes and shapes
▶ ordinal vs metrical
▶ What defines a shape?
■ metrics (depending on the language, e.g. methods per class in OO
programming)
■ graph/tree properties (degree, connectedness, sparse vs. dense, etc.)
▶ What defines size
■ # objects
■ # values
■ # links
8
Input for Benchmarks – Properties: Size & Shape
▶ different properties to mimic different scenarios and invoke different
behavior/performance characteristics
▶ goal: understand correlation between performance properties and model
sizes and shapes
▶ ordinal vs metrical
▶ What defines a shape?
■ metrics (depending on the language, e.g. methods per class in OO
programming)
■ graph/tree properties (degree, connectedness, sparse vs. dense, etc.)
▶ What defines size
■ # objects
■ # values
■ # links
9
Input for Benchmarks – Approaches
▶ handcraft input models – no scalability
▶ take existing models – only given shapes
▶ generate models – do not mimic the real world
▶ bias?
■ bias in creation, selection, algorithm
■ social problem, can’t use technology to solve social problems
10
Input for Benchmarks – Random Models
▶ random ≠ arbitrary nor uniform
▶ surprise element
▶ probability distributions as abstractions for typical usage of
language constructs
■ e.g. a class has typically a negative binomial distributed (with
certain parameters) number of methods [1]
▶ distribution parameters to define shapes
▶ random models can be sensible representatives of a large
class of models
11
[1] Tetsuo Tamai, Takako Nakatani: Analysis of Software Evolution Processes Using Statistical
Distribution Models, IWPSE '02
Generation of Random Models – A Generator DSL (I)
12
generator RandomEcore for ecore in "...ecore/model/Ecore.ecore" {	
	 ePackage: EPackage ->
	 	 name := RandomID(Normal(8,3))
	 	 eClassifiers += eClass#NegBinomial(5,0.5)
	 ;
	
	 eClass: EClass ->
	 	 name := RandomID(Normal(10,4))
	 	 abstract := UniformBool(0.2)
	 	 eStructuralFeatures += eReference(UniformBool(0.3))#NegBinomial(4,0.7)
	 	 eStructuralFeatures += eAttribute#NegBinomial(6,0.5)
	 ;
	
	 eReference(boolean composite):EReference ->
	 	 name := RandomID(Normal(10,4))
	 	 upperBound := if (UniformBool(0.5)) -1 else 1
	 	 ordered := UniformBool(0.2)
	 	 containment := composite
	 	 eType:EClass := Uniform(model.EClassifiers.filter[it instanceof EClass])
	 ;
...
}
http://github.com/markus1978/RandomEMF
Input for Benchmarks – A Generator DSL (II)
13
▶ Maps Meta-Model to Grammar-like description
▶ Rule based
▶ Each rule creates an object of a certain meta-class
▶ Each rule calls other rules to create features
▶ Rules can have parameters
▶ Expressions with random values
■ different distributions for random number generation
■ random number of rule application
■ random values (e.g. identifier, choices)
▶ xText + xBase DSL
Generation of Random Models – Generated Example
14
1. package dabobobues;
3. class Dues {
4.
5. DuBoBuTus begubicus;
6. ELius brauguslus;
7.
8. void Dues(Alius donus, FanulAudaCio aubetin) {
9. }
10.
11. void baGusFritus() {
12. eudaguslius = "";
13. bigusdaGubolius();
14. if ("") {
15. annulAugusaugusfrigustin("");
16. albucio = Dues()<=++12;
17. bi();
18. eBoTor();
19. } else {
20. brauguslus = 9;
21. baGusFritus();
22. duLus = ""=="";
23. }
24. }
25.
26. void aufribonulAubufrinus(Dues e) {
27. dobubogutor();
28. aubiguTus = 9;
29. }
30. }
randomly generated code
syntheticly generated code
15
15
15
generated
generated
actual project
actual project
generated
generated
Generation of Random Models – Problems
▶ randomness is a tool to reduce bias, but clients have to
decide to use it correctly
▶ hard to generate static semantically correct models
16
Related Work
▶ Test-Model generation with SAT-Solvers
■ Meta-Model/Constraint divided into small partitions that cover
test-cases
■ translation into logical equations
■ SAT-Solver
■ translation of results into model-fragments
■ composition of test-models from model fragments
➡ small, valid models with statistically proved test-coverage
17
Sagar Sen, Benoit Baudry, Jean-Marie Mottu: Automatic Model Generation Strategies for Model Transformation
Testing, Theory and Practice of Model Transformations, Springer, 2009
Erwan Brottier, Franck Fleurey, Jim Steel, Benoit Baudry, Yves Le Traon: Metamodel-based Test Generation for Model
Transformations: an Algorithm and a Tool, ISSRE’06, IEEE, 2006
Related Work
▶ Translation into a constructive formalism
■ Meta-Modeling is not constructive (full set of instances can not
be generated from a meta-model)
■ translation into context-free or graph-grammars
■ random application of rules to generate random models
➡ large models, shape can be influenced via probability
distributions on rule selection
18
K Ehrig, JM Küster, G Taentzer: Generating instance models from meta models, Formal
Methods for Open Object-Based Distributed Systems, Springer, 2006
Related Work
▶ Fitting meta-model instances onto randomly generated tree/
graph structures
■ existing methods for random tree or graph generation
■ interpretation of randomly generated trees/graphs as meta-
model instances
➡ large models, but uniform models, not static semantic aware
19
A Mougenot, A Darrasse, X Blanc, M Soria: Uniform random generation of huge metamodel
instances, ECMDA, Springer, 2009
Related Work
▶ benchmark definitions for graph transformations
▶ different distribution for graph edges to create different
shapes
■ binomial
■ hypergeometric
■ uniform
■ preferential attachment
➡ large models, not static semantic aware
20
Izso, B., Szatmari, Z., Bergmann, G., Horvath, A., & Rath, I.: Towards precise
metrics for predicting graph query performance. 2013 28th IEEE/ACM International
Conference on Automated Software Engineering, ASE 2013
Conclusions
▶ benchmarking in MDE can be improved
▶ there are other options for input models than the Grabats’ 09
contest models
▶ different shapes (preferably on a metrical scale) should be
used to find distinctive merits and flaws in compared
technologies
▶ generators for random models
■ parameters to create differently shaped models
■ randomness and suitable distributions for real world like input
■ linear scaled sizes
21

Más contenido relacionado

La actualidad más candente

A Taxonomy for Program Metamodels in Program Reverse Engineering
A Taxonomy for Program Metamodels in Program Reverse EngineeringA Taxonomy for Program Metamodels in Program Reverse Engineering
A Taxonomy for Program Metamodels in Program Reverse EngineeringHironori Washizaki
 
OODP Unit 1 OOPs classes and objects
OODP Unit 1 OOPs classes and objectsOODP Unit 1 OOPs classes and objects
OODP Unit 1 OOPs classes and objectsShanmuganathan C
 
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...Hugo Bruneliere
 
20100309 03 - Vulnerability analysis (McCabe)
20100309 03 - Vulnerability analysis (McCabe)20100309 03 - Vulnerability analysis (McCabe)
20100309 03 - Vulnerability analysis (McCabe)LeClubQualiteLogicielle
 
Opal Hermes - towards representative benchmarks
Opal  Hermes - towards representative benchmarksOpal  Hermes - towards representative benchmarks
Opal Hermes - towards representative benchmarksMichaelEichberg1
 
An Empirical Study of Refactorings and Technical Debt in Machine Learning Sys...
An Empirical Study of Refactorings and Technical Debt in Machine Learning Sys...An Empirical Study of Refactorings and Technical Debt in Machine Learning Sys...
An Empirical Study of Refactorings and Technical Debt in Machine Learning Sys...Raffi Khatchadourian
 
Ontology-based data access: why it is so cool!
Ontology-based data access: why it is so cool!Ontology-based data access: why it is so cool!
Ontology-based data access: why it is so cool!Josef Hardi
 
Ontologies Ontop Databases
Ontologies Ontop DatabasesOntologies Ontop Databases
Ontologies Ontop DatabasesMartín Rezk
 
fUML-Driven Performance Analysis through the MOSES Model Library
fUML-Driven Performance Analysisthrough the MOSES Model LibraryfUML-Driven Performance Analysisthrough the MOSES Model Library
fUML-Driven Performance Analysis through the MOSES Model LibraryLuca Berardinelli
 
Stanford'12 Intro to Ontology Based Data Access for RDBMS through query rewri...
Stanford'12 Intro to Ontology Based Data Access for RDBMS through query rewri...Stanford'12 Intro to Ontology Based Data Access for RDBMS through query rewri...
Stanford'12 Intro to Ontology Based Data Access for RDBMS through query rewri...Mariano Rodriguez-Muro
 
A Search-based Testing Approach for XML Injection Vulnerabilities in Web Appl...
A Search-based Testing Approach for XML Injection Vulnerabilities in Web Appl...A Search-based Testing Approach for XML Injection Vulnerabilities in Web Appl...
A Search-based Testing Approach for XML Injection Vulnerabilities in Web Appl...Lionel Briand
 
SBML, SBML Packages, SED-ML, 
 COMBINE Archive, and more
SBML, SBML Packages, SED-ML, 
 COMBINE Archive, and moreSBML, SBML Packages, SED-ML, 
 COMBINE Archive, and more
SBML, SBML Packages, SED-ML, 
 COMBINE Archive, and moreMike Hucka
 
The Download: Tech Talks by the HPCC Systems Community, Episode 16
The Download: Tech Talks by the HPCC Systems Community, Episode 16The Download: Tech Talks by the HPCC Systems Community, Episode 16
The Download: Tech Talks by the HPCC Systems Community, Episode 16HPCC Systems
 
Model-Based Co-Evolution of Production Systems and their Libraries with Auto...
Model-Based Co-Evolution of Production Systems and their Libraries with Auto...Model-Based Co-Evolution of Production Systems and their Libraries with Auto...
Model-Based Co-Evolution of Production Systems and their Libraries with Auto...Luca Berardinelli
 
DeepAM: Migrate APIs with Multi-modal Sequence to Sequence Learning
DeepAM: Migrate APIs with Multi-modal Sequence to Sequence LearningDeepAM: Migrate APIs with Multi-modal Sequence to Sequence Learning
DeepAM: Migrate APIs with Multi-modal Sequence to Sequence LearningSung Kim
 

La actualidad más candente (20)

A Taxonomy for Program Metamodels in Program Reverse Engineering
A Taxonomy for Program Metamodels in Program Reverse EngineeringA Taxonomy for Program Metamodels in Program Reverse Engineering
A Taxonomy for Program Metamodels in Program Reverse Engineering
 
ExSchema
ExSchemaExSchema
ExSchema
 
Icpc11c.ppt
Icpc11c.pptIcpc11c.ppt
Icpc11c.ppt
 
OODP Unit 1 OOPs classes and objects
OODP Unit 1 OOPs classes and objectsOODP Unit 1 OOPs classes and objects
OODP Unit 1 OOPs classes and objects
 
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
Generic Model-based Approaches for Software Reverse Engineering and Comprehen...
 
20100309 03 - Vulnerability analysis (McCabe)
20100309 03 - Vulnerability analysis (McCabe)20100309 03 - Vulnerability analysis (McCabe)
20100309 03 - Vulnerability analysis (McCabe)
 
Opal Hermes - towards representative benchmarks
Opal  Hermes - towards representative benchmarksOpal  Hermes - towards representative benchmarks
Opal Hermes - towards representative benchmarks
 
An Empirical Study of Refactorings and Technical Debt in Machine Learning Sys...
An Empirical Study of Refactorings and Technical Debt in Machine Learning Sys...An Empirical Study of Refactorings and Technical Debt in Machine Learning Sys...
An Empirical Study of Refactorings and Technical Debt in Machine Learning Sys...
 
Ontology-based data access: why it is so cool!
Ontology-based data access: why it is so cool!Ontology-based data access: why it is so cool!
Ontology-based data access: why it is so cool!
 
Advance diploma in it
Advance diploma in itAdvance diploma in it
Advance diploma in it
 
kite
kitekite
kite
 
Ontologies Ontop Databases
Ontologies Ontop DatabasesOntologies Ontop Databases
Ontologies Ontop Databases
 
fUML-Driven Performance Analysis through the MOSES Model Library
fUML-Driven Performance Analysisthrough the MOSES Model LibraryfUML-Driven Performance Analysisthrough the MOSES Model Library
fUML-Driven Performance Analysis through the MOSES Model Library
 
Stanford'12 Intro to Ontology Based Data Access for RDBMS through query rewri...
Stanford'12 Intro to Ontology Based Data Access for RDBMS through query rewri...Stanford'12 Intro to Ontology Based Data Access for RDBMS through query rewri...
Stanford'12 Intro to Ontology Based Data Access for RDBMS through query rewri...
 
A Search-based Testing Approach for XML Injection Vulnerabilities in Web Appl...
A Search-based Testing Approach for XML Injection Vulnerabilities in Web Appl...A Search-based Testing Approach for XML Injection Vulnerabilities in Web Appl...
A Search-based Testing Approach for XML Injection Vulnerabilities in Web Appl...
 
SBML, SBML Packages, SED-ML, 
 COMBINE Archive, and more
SBML, SBML Packages, SED-ML, 
 COMBINE Archive, and moreSBML, SBML Packages, SED-ML, 
 COMBINE Archive, and more
SBML, SBML Packages, SED-ML, 
 COMBINE Archive, and more
 
The Download: Tech Talks by the HPCC Systems Community, Episode 16
The Download: Tech Talks by the HPCC Systems Community, Episode 16The Download: Tech Talks by the HPCC Systems Community, Episode 16
The Download: Tech Talks by the HPCC Systems Community, Episode 16
 
Model-Based Co-Evolution of Production Systems and their Libraries with Auto...
Model-Based Co-Evolution of Production Systems and their Libraries with Auto...Model-Based Co-Evolution of Production Systems and their Libraries with Auto...
Model-Based Co-Evolution of Production Systems and their Libraries with Auto...
 
Icsme16.ppt
Icsme16.pptIcsme16.ppt
Icsme16.ppt
 
DeepAM: Migrate APIs with Multi-modal Sequence to Sequence Learning
DeepAM: Migrate APIs with Multi-modal Sequence to Sequence LearningDeepAM: Migrate APIs with Multi-modal Sequence to Sequence Learning
DeepAM: Migrate APIs with Multi-modal Sequence to Sequence Learning
 

Similar a Generation of Random EMF Models for Benchmarks

Oleksii Moskalenko "Continuous Delivery of ML Pipelines to Production"
Oleksii Moskalenko "Continuous Delivery of ML Pipelines to Production"Oleksii Moskalenko "Continuous Delivery of ML Pipelines to Production"
Oleksii Moskalenko "Continuous Delivery of ML Pipelines to Production"Fwdays
 
Close encounters in MDD: when Models meet Code
Close encounters in MDD: when Models meet CodeClose encounters in MDD: when Models meet Code
Close encounters in MDD: when Models meet Codelbergmans
 
Close Encounters in MDD: when models meet code
Close Encounters in MDD: when models meet codeClose Encounters in MDD: when models meet code
Close Encounters in MDD: when models meet codelbergmans
 
Lessons Learned from Building Machine Learning Software at Netflix
Lessons Learned from Building Machine Learning Software at NetflixLessons Learned from Building Machine Learning Software at Netflix
Lessons Learned from Building Machine Learning Software at NetflixJustin Basilico
 
EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!melbats
 
MEME – An Integrated Tool For Advanced Computational Experiments
MEME – An Integrated Tool For Advanced Computational ExperimentsMEME – An Integrated Tool For Advanced Computational Experiments
MEME – An Integrated Tool For Advanced Computational ExperimentsGIScRG
 
Performance modeling and simulation for accumulo applications
Performance modeling and simulation for accumulo applicationsPerformance modeling and simulation for accumulo applications
Performance modeling and simulation for accumulo applicationsAccumulo Summit
 
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)Benoit Combemale
 
IRJET- Deep Learning Model to Predict Hardware Performance
IRJET- Deep Learning Model to Predict Hardware PerformanceIRJET- Deep Learning Model to Predict Hardware Performance
IRJET- Deep Learning Model to Predict Hardware PerformanceIRJET Journal
 
IRJET- Analysis of PV Fed Vector Controlled Induction Motor Drive
IRJET- Analysis of PV Fed Vector Controlled Induction Motor DriveIRJET- Analysis of PV Fed Vector Controlled Induction Motor Drive
IRJET- Analysis of PV Fed Vector Controlled Induction Motor DriveIRJET Journal
 
Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?Jordi Cabot
 
Machine Learning Infrastructure
Machine Learning InfrastructureMachine Learning Infrastructure
Machine Learning InfrastructureSigOpt
 
Rejunevating software reengineering processes
Rejunevating software reengineering processesRejunevating software reengineering processes
Rejunevating software reengineering processesmanishthaper
 
Breathe Life Into Your IDE
Breathe Life Into Your IDEBreathe Life Into Your IDE
Breathe Life Into Your IDEBenoit Combemale
 

Similar a Generation of Random EMF Models for Benchmarks (20)

SE.pdf
SE.pdfSE.pdf
SE.pdf
 
Oleksii Moskalenko "Continuous Delivery of ML Pipelines to Production"
Oleksii Moskalenko "Continuous Delivery of ML Pipelines to Production"Oleksii Moskalenko "Continuous Delivery of ML Pipelines to Production"
Oleksii Moskalenko "Continuous Delivery of ML Pipelines to Production"
 
Thesis Giani UIC Slides EN
Thesis Giani UIC Slides ENThesis Giani UIC Slides EN
Thesis Giani UIC Slides EN
 
MDE in Practice
MDE in PracticeMDE in Practice
MDE in Practice
 
Close encounters in MDD: when Models meet Code
Close encounters in MDD: when Models meet CodeClose encounters in MDD: when Models meet Code
Close encounters in MDD: when Models meet Code
 
Close Encounters in MDD: when models meet code
Close Encounters in MDD: when models meet codeClose Encounters in MDD: when models meet code
Close Encounters in MDD: when models meet code
 
Dst
DstDst
Dst
 
Lessons Learned from Building Machine Learning Software at Netflix
Lessons Learned from Building Machine Learning Software at NetflixLessons Learned from Building Machine Learning Software at Netflix
Lessons Learned from Building Machine Learning Software at Netflix
 
MSR Asia Summit
MSR Asia SummitMSR Asia Summit
MSR Asia Summit
 
EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!EclipseCon Eu 2015 - Breathe life into your Designer!
EclipseCon Eu 2015 - Breathe life into your Designer!
 
MEME – An Integrated Tool For Advanced Computational Experiments
MEME – An Integrated Tool For Advanced Computational ExperimentsMEME – An Integrated Tool For Advanced Computational Experiments
MEME – An Integrated Tool For Advanced Computational Experiments
 
Performance modeling and simulation for accumulo applications
Performance modeling and simulation for accumulo applicationsPerformance modeling and simulation for accumulo applications
Performance modeling and simulation for accumulo applications
 
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
Efficient and Advanced Omniscient Debugging for xDSMLs (SLE 2015)
 
IRJET- Deep Learning Model to Predict Hardware Performance
IRJET- Deep Learning Model to Predict Hardware PerformanceIRJET- Deep Learning Model to Predict Hardware Performance
IRJET- Deep Learning Model to Predict Hardware Performance
 
IRJET- Analysis of PV Fed Vector Controlled Induction Motor Drive
IRJET- Analysis of PV Fed Vector Controlled Induction Motor DriveIRJET- Analysis of PV Fed Vector Controlled Induction Motor Drive
IRJET- Analysis of PV Fed Vector Controlled Induction Motor Drive
 
Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?Software Modeling and Artificial Intelligence: friends or foes?
Software Modeling and Artificial Intelligence: friends or foes?
 
Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...
Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...
Exploiting the Enumeration of All Feature Model Configurations: A New Perspec...
 
Machine Learning Infrastructure
Machine Learning InfrastructureMachine Learning Infrastructure
Machine Learning Infrastructure
 
Rejunevating software reengineering processes
Rejunevating software reengineering processesRejunevating software reengineering processes
Rejunevating software reengineering processes
 
Breathe Life Into Your IDE
Breathe Life Into Your IDEBreathe Life Into Your IDE
Breathe Life Into Your IDE
 

Último

Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCRStunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCRDelhi Call girls
 
Natural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsNatural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsAArockiyaNisha
 
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptxUnlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptxanandsmhk
 
Boyles law module in the grade 10 science
Boyles law module in the grade 10 scienceBoyles law module in the grade 10 science
Boyles law module in the grade 10 sciencefloriejanemacaya1
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​kaibalyasahoo82800
 
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...Sérgio Sacani
 
Isotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoIsotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoSérgio Sacani
 
Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)PraveenaKalaiselvan1
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxUmerFayaz5
 
Cultivation of KODO MILLET . made by Ghanshyam pptx
Cultivation of KODO MILLET . made by Ghanshyam pptxCultivation of KODO MILLET . made by Ghanshyam pptx
Cultivation of KODO MILLET . made by Ghanshyam pptxpradhanghanshyam7136
 
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bNightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bSérgio Sacani
 
Botany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfBotany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfSumit Kumar yadav
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTSérgio Sacani
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfmuntazimhurra
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Sérgio Sacani
 
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCESTERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCEPRINCE C P
 
GFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxGFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxAleenaTreesaSaji
 
Artificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PArtificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PPRINCE C P
 

Último (20)

Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCRStunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
Stunning ➥8448380779▻ Call Girls In Panchshil Enclave Delhi NCR
 
Natural Polymer Based Nanomaterials
Natural Polymer Based NanomaterialsNatural Polymer Based Nanomaterials
Natural Polymer Based Nanomaterials
 
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptxUnlocking  the Potential: Deep dive into ocean of Ceramic Magnets.pptx
Unlocking the Potential: Deep dive into ocean of Ceramic Magnets.pptx
 
Boyles law module in the grade 10 science
Boyles law module in the grade 10 scienceBoyles law module in the grade 10 science
Boyles law module in the grade 10 science
 
Nanoparticles synthesis and characterization​ ​
Nanoparticles synthesis and characterization​  ​Nanoparticles synthesis and characterization​  ​
Nanoparticles synthesis and characterization​ ​
 
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
PossibleEoarcheanRecordsoftheGeomagneticFieldPreservedintheIsuaSupracrustalBe...
 
Isotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on IoIsotopic evidence of long-lived volcanism on Io
Isotopic evidence of long-lived volcanism on Io
 
Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)Recombinant DNA technology (Immunological screening)
Recombinant DNA technology (Immunological screening)
 
The Philosophy of Science
The Philosophy of ScienceThe Philosophy of Science
The Philosophy of Science
 
Animal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptxAnimal Communication- Auditory and Visual.pptx
Animal Communication- Auditory and Visual.pptx
 
Cultivation of KODO MILLET . made by Ghanshyam pptx
Cultivation of KODO MILLET . made by Ghanshyam pptxCultivation of KODO MILLET . made by Ghanshyam pptx
Cultivation of KODO MILLET . made by Ghanshyam pptx
 
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43bNightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
Nightside clouds and disequilibrium chemistry on the hot Jupiter WASP-43b
 
Botany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdfBotany 4th semester series (krishna).pdf
Botany 4th semester series (krishna).pdf
 
Disentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOSTDisentangling the origin of chemical differences using GHOST
Disentangling the origin of chemical differences using GHOST
 
Biological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdfBiological Classification BioHack (3).pdf
Biological Classification BioHack (3).pdf
 
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
Discovery of an Accretion Streamer and a Slow Wide-angle Outflow around FUOri...
 
9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service
9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service
9953056974 Young Call Girls In Mahavir enclave Indian Quality Escort service
 
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCESTERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
STERILITY TESTING OF PHARMACEUTICALS ppt by DR.C.P.PRINCE
 
GFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptxGFP in rDNA Technology (Biotechnology).pptx
GFP in rDNA Technology (Biotechnology).pptx
 
Artificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C PArtificial Intelligence In Microbiology by Dr. Prince C P
Artificial Intelligence In Microbiology by Dr. Prince C P
 

Generation of Random EMF Models for Benchmarks

  • 1. Generation of Random Software Models for Benchmarks Markus Scheidgen 1
  • 2. Agenda ▶ Benchmarks for MDE ▶ Input models for MDE benchmarks ▶ Generation of random models ■ Language ■ Examples ▶ Related Work ▶ Conclusion 2
  • 3. Benchmarks (I) ▶ in smallMDE technology1 is solely evaluated by its functionality ▶ BigMDE technology is evaluated by its functionality and its performance (execution time, memory consumption, ...) ▶ Benchmarks enable sound comparison of technologies based on their performance 1) technology = algorithms methods tools frameworks 3
  • 4. Benchmarks (II) ▶ A benchmark describes the measure ... ■ of a well defined property ■ acquired in a well defined processes ■ with a well defined workload (tasks and inputs) ■ in a well defined environment 4
  • 5.
  • 6. All measurements were performed on a Notebook computer with Intel Core i5 2.4GHz CPU, 8 GB 1067 MHz DDR3 RAM, running Mac OS 10.7.3. +some environment - software versions, JVM configuration M. Scheidgen, A. Zubow, J. Fischer, T. H. Kolbe: Automated and Transparent Model Fragmentation for Persisting Large Models; ACM/IEEE 15th International Conference on Model Driven Engineering Languages & Systems (MODELS); Innsbruck; 2012; LNCS Springer
  • 7. All measurements were performed on a Notebook computer with Intel Core i5 2.4GHz CPU, 8 GB 1067 MHz DDR3 RAM, running Mac OS 10.7.3. +some environment - software versions, JVM configuration M. Scheidgen, A. Zubow, J. Fischer, T. H. Kolbe: Automated and Transparent Model Fragmentation for Persisting Large Models; ACM/IEEE 15th International Conference on Model Driven Engineering Languages & Systems (MODELS); Innsbruck; 2012; LNCS Springer +some process - distribution, variation, outlier - warmup: JIT, caches, GC All experiments were repeated at least 20 times, and all present results are respective averages.
  • 8. We measured the performance of instantiating and persisting objects. +some property description - exact task? - comparable between technologies All measurements were performed on a Notebook computer with Intel Core i5 2.4GHz CPU, 8 GB 1067 MHz DDR3 RAM, running Mac OS 10.7.3. +some environment - software versions, JVM configuration M. Scheidgen, A. Zubow, J. Fischer, T. H. Kolbe: Automated and Transparent Model Fragmentation for Persisting Large Models; ACM/IEEE 15th International Conference on Model Driven Engineering Languages & Systems (MODELS); Innsbruck; 2012; LNCS Springer +some process - distribution, variation, outlier - warmup: JIT, caches, GC All experiments were repeated at least 20 times, and all present results are respective averages.
  • 9. We measured the performance of instantiating and persisting objects. +some property description - exact task? - comparable between technologies All measurements were performed on a Notebook computer with Intel Core i5 2.4GHz CPU, 8 GB 1067 MHz DDR3 RAM, running Mac OS 10.7.3. +some environment - software versions, JVM configuration M. Scheidgen, A. Zubow, J. Fischer, T. H. Kolbe: Automated and Transparent Model Fragmentation for Persisting Large Models; ACM/IEEE 15th International Conference on Model Driven Engineering Languages & Systems (MODELS); Innsbruck; 2012; LNCS Springer +some process - distribution, variation, outlier - warmup: JIT, caches, GC All experiments were repeated at least 20 times, and all present results are respective averages. XMI CDO Morsa EMFFrag 10 3 10 4 10 5 Objectspersecond(×10 4 ) w/ cross references w/o cross references +two specific shapes - two specific shapes - real world likeness We created test models with 105 objects, a binary containment hierarchy, and two different densities of cross references: one cross reference per object and no cross references.
  • 10. Input for Benchmarks (I) ▶ A benchmark input model should ■ include no bias ■ invoke real world behavior ■ cover different scenarios ■ metrical scale 6
  • 11. Input for Benchmarks – In MDE ▶ For MDE technology input is usually a software engineering artifact, which we commonly refer to as a model ▶ Usually the models from the 2009 Grabat’s graph transformation contest are used ■ MoDisco-models of JDT ■ different sizes and shapes (with and without method implementations) ■ sizes not linear 7
  • 12. Input for Benchmarks – Properties: Size & Shape ▶ different properties to mimic different scenarios and invoke different behavior/performance characteristics ▶ goal: understand correlation between performance properties and model sizes and shapes ▶ ordinal vs metrical ▶ What defines a shape? ■ metrics (depending on the language, e.g. methods per class in OO programming) ■ graph/tree properties (degree, connectedness, sparse vs. dense, etc.) ▶ What defines size ■ # objects ■ # values ■ # links 8
  • 13. Input for Benchmarks – Properties: Size & Shape ▶ different properties to mimic different scenarios and invoke different behavior/performance characteristics ▶ goal: understand correlation between performance properties and model sizes and shapes ▶ ordinal vs metrical ▶ What defines a shape? ■ metrics (depending on the language, e.g. methods per class in OO programming) ■ graph/tree properties (degree, connectedness, sparse vs. dense, etc.) ▶ What defines size ■ # objects ■ # values ■ # links 9
  • 14. Input for Benchmarks – Approaches ▶ handcraft input models – no scalability ▶ take existing models – only given shapes ▶ generate models – do not mimic the real world ▶ bias? ■ bias in creation, selection, algorithm ■ social problem, can’t use technology to solve social problems 10
  • 15. Input for Benchmarks – Random Models ▶ random ≠ arbitrary nor uniform ▶ surprise element ▶ probability distributions as abstractions for typical usage of language constructs ■ e.g. a class has typically a negative binomial distributed (with certain parameters) number of methods [1] ▶ distribution parameters to define shapes ▶ random models can be sensible representatives of a large class of models 11 [1] Tetsuo Tamai, Takako Nakatani: Analysis of Software Evolution Processes Using Statistical Distribution Models, IWPSE '02
  • 16. Generation of Random Models – A Generator DSL (I) 12 generator RandomEcore for ecore in "...ecore/model/Ecore.ecore" { ePackage: EPackage -> name := RandomID(Normal(8,3)) eClassifiers += eClass#NegBinomial(5,0.5) ; eClass: EClass -> name := RandomID(Normal(10,4)) abstract := UniformBool(0.2) eStructuralFeatures += eReference(UniformBool(0.3))#NegBinomial(4,0.7) eStructuralFeatures += eAttribute#NegBinomial(6,0.5) ; eReference(boolean composite):EReference -> name := RandomID(Normal(10,4)) upperBound := if (UniformBool(0.5)) -1 else 1 ordered := UniformBool(0.2) containment := composite eType:EClass := Uniform(model.EClassifiers.filter[it instanceof EClass]) ; ... } http://github.com/markus1978/RandomEMF
  • 17. Input for Benchmarks – A Generator DSL (II) 13 ▶ Maps Meta-Model to Grammar-like description ▶ Rule based ▶ Each rule creates an object of a certain meta-class ▶ Each rule calls other rules to create features ▶ Rules can have parameters ▶ Expressions with random values ■ different distributions for random number generation ■ random number of rule application ■ random values (e.g. identifier, choices) ▶ xText + xBase DSL
  • 18. Generation of Random Models – Generated Example 14 1. package dabobobues; 3. class Dues { 4. 5. DuBoBuTus begubicus; 6. ELius brauguslus; 7. 8. void Dues(Alius donus, FanulAudaCio aubetin) { 9. } 10. 11. void baGusFritus() { 12. eudaguslius = ""; 13. bigusdaGubolius(); 14. if ("") { 15. annulAugusaugusfrigustin(""); 16. albucio = Dues()<=++12; 17. bi(); 18. eBoTor(); 19. } else { 20. brauguslus = 9; 21. baGusFritus(); 22. duLus = ""==""; 23. } 24. } 25. 26. void aufribonulAubufrinus(Dues e) { 27. dobubogutor(); 28. aubiguTus = 9; 29. } 30. } randomly generated code syntheticly generated code
  • 19. 15
  • 20. 15
  • 22. Generation of Random Models – Problems ▶ randomness is a tool to reduce bias, but clients have to decide to use it correctly ▶ hard to generate static semantically correct models 16
  • 23. Related Work ▶ Test-Model generation with SAT-Solvers ■ Meta-Model/Constraint divided into small partitions that cover test-cases ■ translation into logical equations ■ SAT-Solver ■ translation of results into model-fragments ■ composition of test-models from model fragments ➡ small, valid models with statistically proved test-coverage 17 Sagar Sen, Benoit Baudry, Jean-Marie Mottu: Automatic Model Generation Strategies for Model Transformation Testing, Theory and Practice of Model Transformations, Springer, 2009 Erwan Brottier, Franck Fleurey, Jim Steel, Benoit Baudry, Yves Le Traon: Metamodel-based Test Generation for Model Transformations: an Algorithm and a Tool, ISSRE’06, IEEE, 2006
  • 24. Related Work ▶ Translation into a constructive formalism ■ Meta-Modeling is not constructive (full set of instances can not be generated from a meta-model) ■ translation into context-free or graph-grammars ■ random application of rules to generate random models ➡ large models, shape can be influenced via probability distributions on rule selection 18 K Ehrig, JM Küster, G Taentzer: Generating instance models from meta models, Formal Methods for Open Object-Based Distributed Systems, Springer, 2006
  • 25. Related Work ▶ Fitting meta-model instances onto randomly generated tree/ graph structures ■ existing methods for random tree or graph generation ■ interpretation of randomly generated trees/graphs as meta- model instances ➡ large models, but uniform models, not static semantic aware 19 A Mougenot, A Darrasse, X Blanc, M Soria: Uniform random generation of huge metamodel instances, ECMDA, Springer, 2009
  • 26. Related Work ▶ benchmark definitions for graph transformations ▶ different distribution for graph edges to create different shapes ■ binomial ■ hypergeometric ■ uniform ■ preferential attachment ➡ large models, not static semantic aware 20 Izso, B., Szatmari, Z., Bergmann, G., Horvath, A., & Rath, I.: Towards precise metrics for predicting graph query performance. 2013 28th IEEE/ACM International Conference on Automated Software Engineering, ASE 2013
  • 27. Conclusions ▶ benchmarking in MDE can be improved ▶ there are other options for input models than the Grabats’ 09 contest models ▶ different shapes (preferably on a metrical scale) should be used to find distinctive merits and flaws in compared technologies ▶ generators for random models ■ parameters to create differently shaped models ■ randomness and suitable distributions for real world like input ■ linear scaled sizes 21