SlideShare a Scribd company logo
1 of 16
Download to read offline
A DSL FOR MODEL MUTATION
AND ITS APPLICATIONS TO
DIFFERENT DOMAINS
Pablo Gómez-Abajo
Modelling&Software Engineering Research Group
http://miso.es
Universidad Autónoma de Madrid (Spain)
Doctoral Symposium - MODELS’2016
Saint-Malo (France)
A model mutation is a variation of a seed model by
the application of one or more mutation operators.
Model mutation has many applications:
• Model transformation testing
• Model-based software testing
• Software product lines testing
• Automated generation of exercises
• Search-based engineering
• ...
WHAT IS A MODEL
MUTATION?
2
0
101
0
110
1
010
Seed model
Mutant models
Wodel
Seed model
...
if (a == true) then
...
...
if (a != true) then
...
Mutant model
PROBLEM
The existing frameworks for model mutation are:
• Specific for a language (e.g., logic formulae)
• or a domain (e.g., testing)
• Mutation operators are usually manually encoded
There is a lack of proposals facilitating:
• The definition of mutator operators
• Applicable to arbitrary languages and applications
These would facilitate the creation of domain-specific
mutation frameworks
3
PROPOSED SOLUTION
We propose Wodel, a DSL to facilitate the specification and
creation of model mutations in a meta-model independent way,
with:
• High-level primitives (creation, deletion, modification, etc.)
• Different selection strategies (specifically, randomly, etc.)
• Independence of target language and domain
• Compiled to Java code
• Extensible through post-processors
• Mutation registry
• Blocks of mutations
• Support for OCL constraints inside Wodel code
• Execution policies
…
4
TOOL ARCHITECTURE
5
seed
models
DSL
meta-
model
postProc
WODEL
engine
editor (Xtext)
code gen (Xtend)
Java code
model
mutants
code completion, validator
WODEL
program
«conforms»
check
generate, compile, execute
mutation
registry
«refers-to»«refers-to»
WODEL FEATURES
Support for cardinalities
• Apply mutations n times, or a number between min and max
Composite mutations
• Execute a set of mutations in one step
Correct/Incorrect mutant generation
• Mutants may satisfy seed meta-model, or not
Duplicate mutant identification
• Not only syntactically, but also semantically
Mutation primitives
• Creation, deletion, edge redirection, cloning, etc.
Model element selection strategies
• Random selection, property-based selection
Execution policies
• Parallel, sequential, distributed
Libraries of reusable mutations for particular domains
6
WODEL: EXAMPLE
7
Automaton
name: String
State
Transition
*
name: String
isInitial: boolean
isFinal: boolean
src
tar symbol0..1
states
* * transitions
inv1: self.states->one(s | s.isInitial)
inv2: self.states->exists(s | s.isFinal)
inv3: self.alphabet->forAll (a1, a2 |
a1.symbol = a2.symbol
implies a1 = a2)
alphabet
Symbol
symbol: String
generate 3 mutants in "out/" from "evenBinary.fa"
metamodel "http://fa.com"
with commands {
s0 = modify one State where {isFinal = true} with {reverse(isFinal)}
s1 = create State with {isFinal = true}
t0 = create Transition with {src = s0, tar = s1, symbol = one Symbol}
}
APPLIED MUTATIONS
REGISTRY
Optional, it is activated through the preferences page
References to seed models and mutant models
Optionally, the framework can reduce the registry (irrelevant
mutations)
Repeatability
• It will be posible to repeat the mutation process
Verbalize applied mutations forward and backward
• Text options in the automated generation of exercises
8
BLOCKS AND OCL
CONSTRAINTS
Wodel supports mutation blocks:
• Mutants generation by stages
• A block can take as seed models the mutants generated in previous
blocks
• Folders hierarchy for mutants identification
• Duplicated mutants control with directive repeat=no
OCL Constraints in Wodel Code:
• Applied over the generated mutants, although they
are not in the domain meta-model
9
EXPECTED
CONTRIBUTIONS
DSL Wodel will ease the creation of applications based on
mutations by providing support for their:
• Definition
• Execution
• Traceability
We will develop these three post-processing extensions:
• Wodel-Edu: Automated generation of exercises
• Wodel-Unit: Mutation-based software testing
• Wodel-SB: Search-and model-based software engineering
10
WODEL-EDU
ARCHITECTURE
Wodel-Edu is a post-processing extension to Wodel for the
automated generation of exercises
Wodel-Edu generates a web application
(http://www.wodel.eu) with three kinds of test exercises:
• Alternative response
• Multiple diagram choice
• Multiple emendation choice
11
postProc
WODEL
engine
WODEL-EDU
DSL eduTest
DSL modelDraw
mutants
model rendering
description
DSL modelText
learning
environment
exercises
description
DSL mutaText
code generator
mutation textual
description
model element
textual description
WODEL-EDU
EXERCISES SCHEMA
12
seed
model
WODEL
mutations
model
mutant
model
mutant
WODEL
EDU
model
mutant
seed
model
Is correct? Is correct?
exercise 1 exercise 3
seed
model
WODEL
mutations
model
mutant
model
mutant
WODEL
EDU
model
mutant
seed
model
Which one is correct?
…
model
mutant
seed
model
WODEL
mutations-1
WODEL
EDU
How to correct?
model
mutant-1
model
mutant-1
WODEL
mutations-2
model
mutant-2
mutations-1 (reversed)
mutations-2
(a) Alternative response (b) Multiple diagram choice (c) Multiple emendation choice
exercise 1 exercise 1
EVALUATION AND
VALIDATION
• Evaluate the expressivity of Wodel coding in it the
interesting mutations for different domains devised by us
and found in the literature
• Test the Wodel-Edu generated exercises in real university
courses (Automata Theory, Electronic Circuits, etc.)
• Use the software testing verification framework with real
software projects, with the collaboration of the industry
• Use the approach to test ATL model transformations,
complementing the previous work of our group
• Test the search-based engineering environment with the
collaboration of some experts in this area within our
department (http://aida.ii.uam.es/)
13
CURRENT STATUS
Wodel status
• 7 types of mutation primitives
• 4 selection strategies
• Composite mutations
• Registry extension
• Conditional expressions for specific selection
• Blocks declaration
Wodel-Edu status
• Three kinds of test exercises: alternative response, multiple
diagram choice, and multiple emendation choice
14
PHD. TIMELINE
15
Mar 15 Aug 15 Feb 16 Aug 16 Feb 17 Aug 17 Feb 18 Aug 18 Feb 19
Wodel DSL for Wodel-Edu
Wodel-Edu Framework
Wodel-Edu User Evaluation
Wodel DSL for Wodel-Unit
Wodel-Unit Framework
Wodel-Unit User Evaluation
Wodel DSL for Wodel-SB
Wodel-SB Framework
Wodel-SB User Evaluation
Thesis Writing
16
You are invited to download the source code
of this project on GitHub:
http://gomezabajo.github.io/Wodel/
A short video demo of Wodel+Wodel-Edu:
https://youtu.be/T9n3T0jGvzg
Thank you!!
Pablo.GomezA@uam.es

More Related Content

What's hot

How to Profit from Static Analysis
How to Profit from Static AnalysisHow to Profit from Static Analysis
How to Profit from Static AnalysisElena Laskavaia
 
"Formal Verification in Java" by Shura Iline, Vladimir Ivanov @ JEEConf 2013,...
"Formal Verification in Java" by Shura Iline, Vladimir Ivanov @ JEEConf 2013,..."Formal Verification in Java" by Shura Iline, Vladimir Ivanov @ JEEConf 2013,...
"Formal Verification in Java" by Shura Iline, Vladimir Ivanov @ JEEConf 2013,...Vladimir Ivanov
 
TMPA-2015: Towards a Usable Defect Prediction Tool: Crossbreeding Machine Lea...
TMPA-2015: Towards a Usable Defect Prediction Tool: Crossbreeding Machine Lea...TMPA-2015: Towards a Usable Defect Prediction Tool: Crossbreeding Machine Lea...
TMPA-2015: Towards a Usable Defect Prediction Tool: Crossbreeding Machine Lea...Iosif Itkin
 
Eclipse Con 2015: Codan - a C/C++ Code Analysis Framework for CDT
Eclipse Con 2015: Codan - a C/C++ Code Analysis Framework for CDTEclipse Con 2015: Codan - a C/C++ Code Analysis Framework for CDT
Eclipse Con 2015: Codan - a C/C++ Code Analysis Framework for CDTElena Laskavaia
 
MUTANTS KILLER - PIT: state of the art of mutation testing system
MUTANTS KILLER - PIT: state of the art of mutation testing system MUTANTS KILLER - PIT: state of the art of mutation testing system
MUTANTS KILLER - PIT: state of the art of mutation testing system Tarin Gamberini
 
Hotspot & hotswap, who and who are best freinds
Hotspot & hotswap, who and who are best freindsHotspot & hotswap, who and who are best freinds
Hotspot & hotswap, who and who are best freinds亚军 汪
 
TMPA-2017: 5W+1H Static Analysis Report Quality Measure
TMPA-2017: 5W+1H Static Analysis Report Quality MeasureTMPA-2017: 5W+1H Static Analysis Report Quality Measure
TMPA-2017: 5W+1H Static Analysis Report Quality MeasureIosif Itkin
 
Automatic Migration of Legacy Java Method Implementations to Interfaces
Automatic Migration of Legacy Java Method Implementations to InterfacesAutomatic Migration of Legacy Java Method Implementations to Interfaces
Automatic Migration of Legacy Java Method Implementations to InterfacesRaffi Khatchadourian
 
Storage class in c
Storage class in cStorage class in c
Storage class in ckash95
 
White Box testing by Pankaj Thakur, NITTTR Chandigarh
White Box testing by Pankaj Thakur, NITTTR ChandigarhWhite Box testing by Pankaj Thakur, NITTTR Chandigarh
White Box testing by Pankaj Thakur, NITTTR ChandigarhPankaj Thakur
 
MUTANTS KILLER (Revised) - PIT: state of the art of mutation testing system
MUTANTS KILLER (Revised) - PIT: state of the art of mutation testing system MUTANTS KILLER (Revised) - PIT: state of the art of mutation testing system
MUTANTS KILLER (Revised) - PIT: state of the art of mutation testing system Tarin Gamberini
 
Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...
Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...
Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...Lionel Briand
 
PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a...
PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a...PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a...
PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a...Lionel Briand
 
Формальная верификация как средство тестирования (в Java)
Формальная верификация как средство тестирования (в Java)Формальная верификация как средство тестирования (в Java)
Формальная верификация как средство тестирования (в Java)SQALab
 
storage class
storage classstorage class
storage classstudent
 
Functional programming principles and Java 8
Functional programming principles and Java 8Functional programming principles and Java 8
Functional programming principles and Java 8Dragos Balan
 

What's hot (20)

How to Profit from Static Analysis
How to Profit from Static AnalysisHow to Profit from Static Analysis
How to Profit from Static Analysis
 
"Formal Verification in Java" by Shura Iline, Vladimir Ivanov @ JEEConf 2013,...
"Formal Verification in Java" by Shura Iline, Vladimir Ivanov @ JEEConf 2013,..."Formal Verification in Java" by Shura Iline, Vladimir Ivanov @ JEEConf 2013,...
"Formal Verification in Java" by Shura Iline, Vladimir Ivanov @ JEEConf 2013,...
 
TMPA-2015: Towards a Usable Defect Prediction Tool: Crossbreeding Machine Lea...
TMPA-2015: Towards a Usable Defect Prediction Tool: Crossbreeding Machine Lea...TMPA-2015: Towards a Usable Defect Prediction Tool: Crossbreeding Machine Lea...
TMPA-2015: Towards a Usable Defect Prediction Tool: Crossbreeding Machine Lea...
 
Eclipse Con 2015: Codan - a C/C++ Code Analysis Framework for CDT
Eclipse Con 2015: Codan - a C/C++ Code Analysis Framework for CDTEclipse Con 2015: Codan - a C/C++ Code Analysis Framework for CDT
Eclipse Con 2015: Codan - a C/C++ Code Analysis Framework for CDT
 
MUTANTS KILLER - PIT: state of the art of mutation testing system
MUTANTS KILLER - PIT: state of the art of mutation testing system MUTANTS KILLER - PIT: state of the art of mutation testing system
MUTANTS KILLER - PIT: state of the art of mutation testing system
 
Hotspot & hotswap, who and who are best freinds
Hotspot & hotswap, who and who are best freindsHotspot & hotswap, who and who are best freinds
Hotspot & hotswap, who and who are best freinds
 
TMPA-2017: 5W+1H Static Analysis Report Quality Measure
TMPA-2017: 5W+1H Static Analysis Report Quality MeasureTMPA-2017: 5W+1H Static Analysis Report Quality Measure
TMPA-2017: 5W+1H Static Analysis Report Quality Measure
 
Automatic Migration of Legacy Java Method Implementations to Interfaces
Automatic Migration of Legacy Java Method Implementations to InterfacesAutomatic Migration of Legacy Java Method Implementations to Interfaces
Automatic Migration of Legacy Java Method Implementations to Interfaces
 
Unit testing
Unit testingUnit testing
Unit testing
 
Storage class in c
Storage class in cStorage class in c
Storage class in c
 
Mutation testing in Java
Mutation testing in JavaMutation testing in Java
Mutation testing in Java
 
White Box testing by Pankaj Thakur, NITTTR Chandigarh
White Box testing by Pankaj Thakur, NITTTR ChandigarhWhite Box testing by Pankaj Thakur, NITTTR Chandigarh
White Box testing by Pankaj Thakur, NITTTR Chandigarh
 
MUTANTS KILLER (Revised) - PIT: state of the art of mutation testing system
MUTANTS KILLER (Revised) - PIT: state of the art of mutation testing system MUTANTS KILLER (Revised) - PIT: state of the art of mutation testing system
MUTANTS KILLER (Revised) - PIT: state of the art of mutation testing system
 
Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...
Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...
Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...
 
PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a...
PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a...PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a...
PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a...
 
Формальная верификация как средство тестирования (в Java)
Формальная верификация как средство тестирования (в Java)Формальная верификация как средство тестирования (в Java)
Формальная верификация как средство тестирования (в Java)
 
storage class
storage classstorage class
storage class
 
Functional programming principles and Java 8
Functional programming principles and Java 8Functional programming principles and Java 8
Functional programming principles and Java 8
 
Storage class
Storage classStorage class
Storage class
 
STORAGE CLASSES
STORAGE CLASSESSTORAGE CLASSES
STORAGE CLASSES
 

Viewers also liked

Vishaal behl faith.
Vishaal behl  faith.Vishaal behl  faith.
Vishaal behl faith.Raano Woman
 
Kimya s.dilgushe ve i. rumiyye
Kimya s.dilgushe ve i. rumiyyeKimya s.dilgushe ve i. rumiyye
Kimya s.dilgushe ve i. rumiyyemimio_azerbaijan
 
cartão de natal
cartão de natalcartão de natal
cartão de natalpaxaxita
 
Leading Transition From Strategy Development to Deployment
Leading Transition From Strategy Development to DeploymentLeading Transition From Strategy Development to Deployment
Leading Transition From Strategy Development to DeploymentHuman Capital Media
 
Como bajar el precio de los carburantes
Como bajar el precio de los carburantesComo bajar el precio de los carburantes
Como bajar el precio de los carburantesairnoja
 
Itinerari Les Santes. Cristina, Elena i Vanesa
Itinerari Les Santes. Cristina, Elena i VanesaItinerari Les Santes. Cristina, Elena i Vanesa
Itinerari Les Santes. Cristina, Elena i Vanesasmestref
 
Natural hazards and climate change in the stakeholder communication process
Natural hazards and climate change in the stakeholder communication processNatural hazards and climate change in the stakeholder communication process
Natural hazards and climate change in the stakeholder communication processdliverman
 
Milagro Eucarístico
Milagro EucarísticoMilagro Eucarístico
Milagro EucarísticoNitaMatt
 
actividades visuales TEA
actividades  visuales TEAactividades  visuales TEA
actividades visuales TEASan Miguel
 
Fotos para decir conchetuma...
Fotos para decir conchetuma...Fotos para decir conchetuma...
Fotos para decir conchetuma...maurycio
 
Ramón y Cajal
Ramón y CajalRamón y Cajal
Ramón y Cajalsmestref
 
Benefit pinterest
Benefit pinterestBenefit pinterest
Benefit pinterestshaun223
 
Επικοινονία και διαδίκτυο
Επικοινονία και διαδίκτυοΕπικοινονία και διαδίκτυο
Επικοινονία και διαδίκτυοAngelos Zikidis
 
Distro Linux untuk Pendidikan di Universitas
Distro Linux untuk Pendidikan di UniversitasDistro Linux untuk Pendidikan di Universitas
Distro Linux untuk Pendidikan di UniversitasIwan stwn
 
St. Louis Green Business Challenge Accomplishment Booklet 2015
St. Louis Green Business Challenge Accomplishment Booklet 2015St. Louis Green Business Challenge Accomplishment Booklet 2015
St. Louis Green Business Challenge Accomplishment Booklet 2015Eric Schneider
 

Viewers also liked (20)

Vishaal behl faith.
Vishaal behl  faith.Vishaal behl  faith.
Vishaal behl faith.
 
Kimya s.dilgushe ve i. rumiyye
Kimya s.dilgushe ve i. rumiyyeKimya s.dilgushe ve i. rumiyye
Kimya s.dilgushe ve i. rumiyye
 
cartão de natal
cartão de natalcartão de natal
cartão de natal
 
Leading Transition From Strategy Development to Deployment
Leading Transition From Strategy Development to DeploymentLeading Transition From Strategy Development to Deployment
Leading Transition From Strategy Development to Deployment
 
Para descontrair
Para descontrairPara descontrair
Para descontrair
 
Como bajar el precio de los carburantes
Como bajar el precio de los carburantesComo bajar el precio de los carburantes
Como bajar el precio de los carburantes
 
Itinerari Les Santes. Cristina, Elena i Vanesa
Itinerari Les Santes. Cristina, Elena i VanesaItinerari Les Santes. Cristina, Elena i Vanesa
Itinerari Les Santes. Cristina, Elena i Vanesa
 
Web sida 2
Web sida 2Web sida 2
Web sida 2
 
Natural hazards and climate change in the stakeholder communication process
Natural hazards and climate change in the stakeholder communication processNatural hazards and climate change in the stakeholder communication process
Natural hazards and climate change in the stakeholder communication process
 
Milagro Eucarístico
Milagro EucarísticoMilagro Eucarístico
Milagro Eucarístico
 
actividades visuales TEA
actividades  visuales TEAactividades  visuales TEA
actividades visuales TEA
 
Fotos para decir conchetuma...
Fotos para decir conchetuma...Fotos para decir conchetuma...
Fotos para decir conchetuma...
 
Ramón y Cajal
Ramón y CajalRamón y Cajal
Ramón y Cajal
 
Reference_Andrii
Reference_AndriiReference_Andrii
Reference_Andrii
 
Benefit pinterest
Benefit pinterestBenefit pinterest
Benefit pinterest
 
Επικοινονία και διαδίκτυο
Επικοινονία και διαδίκτυοΕπικοινονία και διαδίκτυο
Επικοινονία και διαδίκτυο
 
Distro Linux untuk Pendidikan di Universitas
Distro Linux untuk Pendidikan di UniversitasDistro Linux untuk Pendidikan di Universitas
Distro Linux untuk Pendidikan di Universitas
 
car safety presentation 2
car safety presentation 2car safety presentation 2
car safety presentation 2
 
St. Louis Green Business Challenge Accomplishment Booklet 2015
St. Louis Green Business Challenge Accomplishment Booklet 2015St. Louis Green Business Challenge Accomplishment Booklet 2015
St. Louis Green Business Challenge Accomplishment Booklet 2015
 
FEliz 2007
FEliz 2007FEliz 2007
FEliz 2007
 

Similar to A DSL for Model Mutation and its Applications to Different Domains

Wodel: A DSL for Model Mutation; and Wodel-Edu: its Application to the Automa...
Wodel: A DSL for Model Mutation; and Wodel-Edu: its Application to the Automa...Wodel: A DSL for Model Mutation; and Wodel-Edu: its Application to the Automa...
Wodel: A DSL for Model Mutation; and Wodel-Edu: its Application to the Automa...Pablo Gómez Abajo
 
Search-Based Robustness Testing of Data Processing Systems
Search-Based Robustness Testing of Data Processing SystemsSearch-Based Robustness Testing of Data Processing Systems
Search-Based Robustness Testing of Data Processing SystemsLionel Briand
 
IncQuery-D: Distributed Incremental Model Queries over the Cloud: Engineerin...
IncQuery-D: Distributed Incremental Model Queries over the Cloud: Engineerin...IncQuery-D: Distributed Incremental Model Queries over the Cloud: Engineerin...
IncQuery-D: Distributed Incremental Model Queries over the Cloud: Engineerin...Daniel Varro
 
EU projects MODAClouds and JUNIPER – Writing and testing transformations from...
EU projects MODAClouds and JUNIPER – Writing and testing transformations from...EU projects MODAClouds and JUNIPER – Writing and testing transformations from...
EU projects MODAClouds and JUNIPER – Writing and testing transformations from...Marcos Almeida
 
SERENE 2014 School: Daniel varro serene2014_school
SERENE 2014 School: Daniel varro serene2014_schoolSERENE 2014 School: Daniel varro serene2014_school
SERENE 2014 School: Daniel varro serene2014_schoolHenry Muccini
 
SERENE 2014 School: Incremental Model Queries over the Cloud
SERENE 2014 School: Incremental Model Queries over the CloudSERENE 2014 School: Incremental Model Queries over the Cloud
SERENE 2014 School: Incremental Model Queries over the CloudSERENEWorkshop
 
Testing Model Transformations
Testing Model TransformationsTesting Model Transformations
Testing Model Transformationsmiso_uam
 
Incremental Model Queries for Model-Dirven Software Engineering
Incremental Model Queries for Model-Dirven Software EngineeringIncremental Model Queries for Model-Dirven Software Engineering
Incremental Model Queries for Model-Dirven Software EngineeringÁkos Horváth
 
PhD Maintainability of transformations in evolving MDE ecosystems
PhD Maintainability of transformations in evolving MDE ecosystemsPhD Maintainability of transformations in evolving MDE ecosystems
PhD Maintainability of transformations in evolving MDE ecosystemsJokin García Pérez
 
walkmod - JUG talk
walkmod - JUG talkwalkmod - JUG talk
walkmod - JUG talkwalkmod
 
TMPA-2015: The Application of Parameterized Hierarchy Templates for Automated...
TMPA-2015: The Application of Parameterized Hierarchy Templates for Automated...TMPA-2015: The Application of Parameterized Hierarchy Templates for Automated...
TMPA-2015: The Application of Parameterized Hierarchy Templates for Automated...Iosif Itkin
 
Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...
Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...
Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...IncQuery Labs
 
Efficient Validation of Large Models using the Mogwaï Tool
Efficient Validation of Large Models using the Mogwaï ToolEfficient Validation of Large Models using the Mogwaï Tool
Efficient Validation of Large Models using the Mogwaï ToolGwendal Daniel
 
Model-Based Testing: Theory and Practice. Keynote @ MoTiP (ISSRE) 2012.
Model-Based Testing: Theory and Practice. Keynote @ MoTiP (ISSRE) 2012.Model-Based Testing: Theory and Practice. Keynote @ MoTiP (ISSRE) 2012.
Model-Based Testing: Theory and Practice. Keynote @ MoTiP (ISSRE) 2012.Wolfgang Grieskamp
 
MDE-experiments
MDE-experimentsMDE-experiments
MDE-experimentsmiso_uam
 
P Training Presentation
P Training PresentationP Training Presentation
P Training PresentationGaurav Tyagi
 
Build Java Web Application Using Apache Struts
Build Java Web Application Using Apache Struts Build Java Web Application Using Apache Struts
Build Java Web Application Using Apache Struts weili_at_slideshare
 

Similar to A DSL for Model Mutation and its Applications to Different Domains (20)

Wodel: A DSL for Model Mutation; and Wodel-Edu: its Application to the Automa...
Wodel: A DSL for Model Mutation; and Wodel-Edu: its Application to the Automa...Wodel: A DSL for Model Mutation; and Wodel-Edu: its Application to the Automa...
Wodel: A DSL for Model Mutation; and Wodel-Edu: its Application to the Automa...
 
Search-Based Robustness Testing of Data Processing Systems
Search-Based Robustness Testing of Data Processing SystemsSearch-Based Robustness Testing of Data Processing Systems
Search-Based Robustness Testing of Data Processing Systems
 
IncQuery-D: Distributed Incremental Model Queries over the Cloud: Engineerin...
IncQuery-D: Distributed Incremental Model Queries over the Cloud: Engineerin...IncQuery-D: Distributed Incremental Model Queries over the Cloud: Engineerin...
IncQuery-D: Distributed Incremental Model Queries over the Cloud: Engineerin...
 
EU projects MODAClouds and JUNIPER – Writing and testing transformations from...
EU projects MODAClouds and JUNIPER – Writing and testing transformations from...EU projects MODAClouds and JUNIPER – Writing and testing transformations from...
EU projects MODAClouds and JUNIPER – Writing and testing transformations from...
 
SERENE 2014 School: Daniel varro serene2014_school
SERENE 2014 School: Daniel varro serene2014_schoolSERENE 2014 School: Daniel varro serene2014_school
SERENE 2014 School: Daniel varro serene2014_school
 
SERENE 2014 School: Incremental Model Queries over the Cloud
SERENE 2014 School: Incremental Model Queries over the CloudSERENE 2014 School: Incremental Model Queries over the Cloud
SERENE 2014 School: Incremental Model Queries over the Cloud
 
Testing Model Transformations
Testing Model TransformationsTesting Model Transformations
Testing Model Transformations
 
Incremental Model Queries for Model-Dirven Software Engineering
Incremental Model Queries for Model-Dirven Software EngineeringIncremental Model Queries for Model-Dirven Software Engineering
Incremental Model Queries for Model-Dirven Software Engineering
 
PhD Maintainability of transformations in evolving MDE ecosystems
PhD Maintainability of transformations in evolving MDE ecosystemsPhD Maintainability of transformations in evolving MDE ecosystems
PhD Maintainability of transformations in evolving MDE ecosystems
 
Ec2013 tutorial-mb variability-final
Ec2013 tutorial-mb variability-finalEc2013 tutorial-mb variability-final
Ec2013 tutorial-mb variability-final
 
walkmod - JUG talk
walkmod - JUG talkwalkmod - JUG talk
walkmod - JUG talk
 
TMPA-2015: The Application of Parameterized Hierarchy Templates for Automated...
TMPA-2015: The Application of Parameterized Hierarchy Templates for Automated...TMPA-2015: The Application of Parameterized Hierarchy Templates for Automated...
TMPA-2015: The Application of Parameterized Hierarchy Templates for Automated...
 
Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...
Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...
Towards Scalable Validation of Low-Code System Models: Mapping EVL to VIATRA ...
 
Efficient Validation of Large Models using the Mogwaï Tool
Efficient Validation of Large Models using the Mogwaï ToolEfficient Validation of Large Models using the Mogwaï Tool
Efficient Validation of Large Models using the Mogwaï Tool
 
ReusingMT
ReusingMTReusingMT
ReusingMT
 
Model-Based Testing: Theory and Practice. Keynote @ MoTiP (ISSRE) 2012.
Model-Based Testing: Theory and Practice. Keynote @ MoTiP (ISSRE) 2012.Model-Based Testing: Theory and Practice. Keynote @ MoTiP (ISSRE) 2012.
Model-Based Testing: Theory and Practice. Keynote @ MoTiP (ISSRE) 2012.
 
MDE-experiments
MDE-experimentsMDE-experiments
MDE-experiments
 
core_java.ppt
core_java.pptcore_java.ppt
core_java.ppt
 
P Training Presentation
P Training PresentationP Training Presentation
P Training Presentation
 
Build Java Web Application Using Apache Struts
Build Java Web Application Using Apache Struts Build Java Web Application Using Apache Struts
Build Java Web Application Using Apache Struts
 

More from Pablo Gómez Abajo

Wodel-Edu: A tool for the generation and evaluation of diagram-based exercises
Wodel-Edu: A tool for the generation and evaluation of diagram-based exercisesWodel-Edu: A tool for the generation and evaluation of diagram-based exercises
Wodel-Edu: A tool for the generation and evaluation of diagram-based exercisesPablo Gómez Abajo
 
Automated engineering of domain-specific metamorphic testing environments
Automated engineering of domain-specific metamorphic testing environmentsAutomated engineering of domain-specific metamorphic testing environments
Automated engineering of domain-specific metamorphic testing environmentsPablo Gómez Abajo
 
Wodel-Test: A Model-Based Framework for Language-Independent Mutation Testing...
Wodel-Test: A Model-Based Framework for Language-Independent Mutation Testing...Wodel-Test: A Model-Based Framework for Language-Independent Mutation Testing...
Wodel-Test: A Model-Based Framework for Language-Independent Mutation Testing...Pablo Gómez Abajo
 
Wodel-Edu: An MDE Solution for the Generation and Evaluation of Diagram-based...
Wodel-Edu: An MDE Solution for the Generation and Evaluation of Diagram-based...Wodel-Edu: An MDE Solution for the Generation and Evaluation of Diagram-based...
Wodel-Edu: An MDE Solution for the Generation and Evaluation of Diagram-based...Pablo Gómez Abajo
 
Programación de macros en Microsoft Excel VBA
Programación de macros en Microsoft Excel VBAProgramación de macros en Microsoft Excel VBA
Programación de macros en Microsoft Excel VBAPablo Gómez Abajo
 
Un framework para la generación automática de ejercicios mediante técnicas de...
Un framework para la generación automática de ejercicios mediante técnicas de...Un framework para la generación automática de ejercicios mediante técnicas de...
Un framework para la generación automática de ejercicios mediante técnicas de...Pablo Gómez Abajo
 

More from Pablo Gómez Abajo (7)

Wodel-Edu: A tool for the generation and evaluation of diagram-based exercises
Wodel-Edu: A tool for the generation and evaluation of diagram-based exercisesWodel-Edu: A tool for the generation and evaluation of diagram-based exercises
Wodel-Edu: A tool for the generation and evaluation of diagram-based exercises
 
Automated engineering of domain-specific metamorphic testing environments
Automated engineering of domain-specific metamorphic testing environmentsAutomated engineering of domain-specific metamorphic testing environments
Automated engineering of domain-specific metamorphic testing environments
 
Wodel-Test: A Model-Based Framework for Language-Independent Mutation Testing...
Wodel-Test: A Model-Based Framework for Language-Independent Mutation Testing...Wodel-Test: A Model-Based Framework for Language-Independent Mutation Testing...
Wodel-Test: A Model-Based Framework for Language-Independent Mutation Testing...
 
Wodel-Edu: An MDE Solution for the Generation and Evaluation of Diagram-based...
Wodel-Edu: An MDE Solution for the Generation and Evaluation of Diagram-based...Wodel-Edu: An MDE Solution for the Generation and Evaluation of Diagram-based...
Wodel-Edu: An MDE Solution for the Generation and Evaluation of Diagram-based...
 
Programación de macros en Microsoft Excel VBA
Programación de macros en Microsoft Excel VBAProgramación de macros en Microsoft Excel VBA
Programación de macros en Microsoft Excel VBA
 
PhD defense presentation
PhD defense presentationPhD defense presentation
PhD defense presentation
 
Un framework para la generación automática de ejercicios mediante técnicas de...
Un framework para la generación automática de ejercicios mediante técnicas de...Un framework para la generación automática de ejercicios mediante técnicas de...
Un framework para la generación automática de ejercicios mediante técnicas de...
 

Recently uploaded

Microteaching on terms used in filtration .Pharmaceutical Engineering
Microteaching on terms used in filtration .Pharmaceutical EngineeringMicroteaching on terms used in filtration .Pharmaceutical Engineering
Microteaching on terms used in filtration .Pharmaceutical EngineeringPrajakta Shinde
 
Pests of Blackgram, greengram, cowpea_Dr.UPR.pdf
Pests of Blackgram, greengram, cowpea_Dr.UPR.pdfPests of Blackgram, greengram, cowpea_Dr.UPR.pdf
Pests of Blackgram, greengram, cowpea_Dr.UPR.pdfPirithiRaju
 
User Guide: Capricorn FLX™ Weather Station
User Guide: Capricorn FLX™ Weather StationUser Guide: Capricorn FLX™ Weather Station
User Guide: Capricorn FLX™ Weather StationColumbia Weather Systems
 
User Guide: Magellan MX™ Weather Station
User Guide: Magellan MX™ Weather StationUser Guide: Magellan MX™ Weather Station
User Guide: Magellan MX™ Weather StationColumbia Weather Systems
 
Four Spheres of the Earth Presentation.ppt
Four Spheres of the Earth Presentation.pptFour Spheres of the Earth Presentation.ppt
Four Spheres of the Earth Presentation.pptJoemSTuliba
 
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptxSTOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptxMurugaveni B
 
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCR
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCRCall Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCR
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCRlizamodels9
 
Base editing, prime editing, Cas13 & RNA editing and organelle base editing
Base editing, prime editing, Cas13 & RNA editing and organelle base editingBase editing, prime editing, Cas13 & RNA editing and organelle base editing
Base editing, prime editing, Cas13 & RNA editing and organelle base editingNetHelix
 
Neurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 trNeurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 trssuser06f238
 
User Guide: Orion™ Weather Station (Columbia Weather Systems)
User Guide: Orion™ Weather Station (Columbia Weather Systems)User Guide: Orion™ Weather Station (Columbia Weather Systems)
User Guide: Orion™ Weather Station (Columbia Weather Systems)Columbia Weather Systems
 
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfBehavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfSELF-EXPLANATORY
 
Pests of safflower_Binomics_Identification_Dr.UPR.pdf
Pests of safflower_Binomics_Identification_Dr.UPR.pdfPests of safflower_Binomics_Identification_Dr.UPR.pdf
Pests of safflower_Binomics_Identification_Dr.UPR.pdfPirithiRaju
 
Pests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdfPests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdfPirithiRaju
 
Topic 9- General Principles of International Law.pptx
Topic 9- General Principles of International Law.pptxTopic 9- General Principles of International Law.pptx
Topic 9- General Principles of International Law.pptxJorenAcuavera1
 
Citronella presentation SlideShare mani upadhyay
Citronella presentation SlideShare mani upadhyayCitronella presentation SlideShare mani upadhyay
Citronella presentation SlideShare mani upadhyayupadhyaymani499
 
Bioteknologi kelas 10 kumer smapsa .pptx
Bioteknologi kelas 10 kumer smapsa .pptxBioteknologi kelas 10 kumer smapsa .pptx
Bioteknologi kelas 10 kumer smapsa .pptx023NiWayanAnggiSriWa
 
Environmental Biotechnology Topic:- Microbial Biosensor
Environmental Biotechnology Topic:- Microbial BiosensorEnvironmental Biotechnology Topic:- Microbial Biosensor
Environmental Biotechnology Topic:- Microbial Biosensorsonawaneprad
 
The dark energy paradox leads to a new structure of spacetime.pptx
The dark energy paradox leads to a new structure of spacetime.pptxThe dark energy paradox leads to a new structure of spacetime.pptx
The dark energy paradox leads to a new structure of spacetime.pptxEran Akiva Sinbar
 
Functional group interconversions(oxidation reduction)
Functional group interconversions(oxidation reduction)Functional group interconversions(oxidation reduction)
Functional group interconversions(oxidation reduction)itwameryclare
 

Recently uploaded (20)

Microteaching on terms used in filtration .Pharmaceutical Engineering
Microteaching on terms used in filtration .Pharmaceutical EngineeringMicroteaching on terms used in filtration .Pharmaceutical Engineering
Microteaching on terms used in filtration .Pharmaceutical Engineering
 
Pests of Blackgram, greengram, cowpea_Dr.UPR.pdf
Pests of Blackgram, greengram, cowpea_Dr.UPR.pdfPests of Blackgram, greengram, cowpea_Dr.UPR.pdf
Pests of Blackgram, greengram, cowpea_Dr.UPR.pdf
 
User Guide: Capricorn FLX™ Weather Station
User Guide: Capricorn FLX™ Weather StationUser Guide: Capricorn FLX™ Weather Station
User Guide: Capricorn FLX™ Weather Station
 
User Guide: Magellan MX™ Weather Station
User Guide: Magellan MX™ Weather StationUser Guide: Magellan MX™ Weather Station
User Guide: Magellan MX™ Weather Station
 
Four Spheres of the Earth Presentation.ppt
Four Spheres of the Earth Presentation.pptFour Spheres of the Earth Presentation.ppt
Four Spheres of the Earth Presentation.ppt
 
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptxSTOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
STOPPED FLOW METHOD & APPLICATION MURUGAVENI B.pptx
 
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCR
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCRCall Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCR
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCR
 
Base editing, prime editing, Cas13 & RNA editing and organelle base editing
Base editing, prime editing, Cas13 & RNA editing and organelle base editingBase editing, prime editing, Cas13 & RNA editing and organelle base editing
Base editing, prime editing, Cas13 & RNA editing and organelle base editing
 
Neurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 trNeurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 tr
 
User Guide: Orion™ Weather Station (Columbia Weather Systems)
User Guide: Orion™ Weather Station (Columbia Weather Systems)User Guide: Orion™ Weather Station (Columbia Weather Systems)
User Guide: Orion™ Weather Station (Columbia Weather Systems)
 
Volatile Oils Pharmacognosy And Phytochemistry -I
Volatile Oils Pharmacognosy And Phytochemistry -IVolatile Oils Pharmacognosy And Phytochemistry -I
Volatile Oils Pharmacognosy And Phytochemistry -I
 
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfBehavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
 
Pests of safflower_Binomics_Identification_Dr.UPR.pdf
Pests of safflower_Binomics_Identification_Dr.UPR.pdfPests of safflower_Binomics_Identification_Dr.UPR.pdf
Pests of safflower_Binomics_Identification_Dr.UPR.pdf
 
Pests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdfPests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdf
 
Topic 9- General Principles of International Law.pptx
Topic 9- General Principles of International Law.pptxTopic 9- General Principles of International Law.pptx
Topic 9- General Principles of International Law.pptx
 
Citronella presentation SlideShare mani upadhyay
Citronella presentation SlideShare mani upadhyayCitronella presentation SlideShare mani upadhyay
Citronella presentation SlideShare mani upadhyay
 
Bioteknologi kelas 10 kumer smapsa .pptx
Bioteknologi kelas 10 kumer smapsa .pptxBioteknologi kelas 10 kumer smapsa .pptx
Bioteknologi kelas 10 kumer smapsa .pptx
 
Environmental Biotechnology Topic:- Microbial Biosensor
Environmental Biotechnology Topic:- Microbial BiosensorEnvironmental Biotechnology Topic:- Microbial Biosensor
Environmental Biotechnology Topic:- Microbial Biosensor
 
The dark energy paradox leads to a new structure of spacetime.pptx
The dark energy paradox leads to a new structure of spacetime.pptxThe dark energy paradox leads to a new structure of spacetime.pptx
The dark energy paradox leads to a new structure of spacetime.pptx
 
Functional group interconversions(oxidation reduction)
Functional group interconversions(oxidation reduction)Functional group interconversions(oxidation reduction)
Functional group interconversions(oxidation reduction)
 

A DSL for Model Mutation and its Applications to Different Domains

  • 1. A DSL FOR MODEL MUTATION AND ITS APPLICATIONS TO DIFFERENT DOMAINS Pablo Gómez-Abajo Modelling&Software Engineering Research Group http://miso.es Universidad Autónoma de Madrid (Spain) Doctoral Symposium - MODELS’2016 Saint-Malo (France)
  • 2. A model mutation is a variation of a seed model by the application of one or more mutation operators. Model mutation has many applications: • Model transformation testing • Model-based software testing • Software product lines testing • Automated generation of exercises • Search-based engineering • ... WHAT IS A MODEL MUTATION? 2 0 101 0 110 1 010 Seed model Mutant models Wodel Seed model ... if (a == true) then ... ... if (a != true) then ... Mutant model
  • 3. PROBLEM The existing frameworks for model mutation are: • Specific for a language (e.g., logic formulae) • or a domain (e.g., testing) • Mutation operators are usually manually encoded There is a lack of proposals facilitating: • The definition of mutator operators • Applicable to arbitrary languages and applications These would facilitate the creation of domain-specific mutation frameworks 3
  • 4. PROPOSED SOLUTION We propose Wodel, a DSL to facilitate the specification and creation of model mutations in a meta-model independent way, with: • High-level primitives (creation, deletion, modification, etc.) • Different selection strategies (specifically, randomly, etc.) • Independence of target language and domain • Compiled to Java code • Extensible through post-processors • Mutation registry • Blocks of mutations • Support for OCL constraints inside Wodel code • Execution policies … 4
  • 5. TOOL ARCHITECTURE 5 seed models DSL meta- model postProc WODEL engine editor (Xtext) code gen (Xtend) Java code model mutants code completion, validator WODEL program «conforms» check generate, compile, execute mutation registry «refers-to»«refers-to»
  • 6. WODEL FEATURES Support for cardinalities • Apply mutations n times, or a number between min and max Composite mutations • Execute a set of mutations in one step Correct/Incorrect mutant generation • Mutants may satisfy seed meta-model, or not Duplicate mutant identification • Not only syntactically, but also semantically Mutation primitives • Creation, deletion, edge redirection, cloning, etc. Model element selection strategies • Random selection, property-based selection Execution policies • Parallel, sequential, distributed Libraries of reusable mutations for particular domains 6
  • 7. WODEL: EXAMPLE 7 Automaton name: String State Transition * name: String isInitial: boolean isFinal: boolean src tar symbol0..1 states * * transitions inv1: self.states->one(s | s.isInitial) inv2: self.states->exists(s | s.isFinal) inv3: self.alphabet->forAll (a1, a2 | a1.symbol = a2.symbol implies a1 = a2) alphabet Symbol symbol: String generate 3 mutants in "out/" from "evenBinary.fa" metamodel "http://fa.com" with commands { s0 = modify one State where {isFinal = true} with {reverse(isFinal)} s1 = create State with {isFinal = true} t0 = create Transition with {src = s0, tar = s1, symbol = one Symbol} }
  • 8. APPLIED MUTATIONS REGISTRY Optional, it is activated through the preferences page References to seed models and mutant models Optionally, the framework can reduce the registry (irrelevant mutations) Repeatability • It will be posible to repeat the mutation process Verbalize applied mutations forward and backward • Text options in the automated generation of exercises 8
  • 9. BLOCKS AND OCL CONSTRAINTS Wodel supports mutation blocks: • Mutants generation by stages • A block can take as seed models the mutants generated in previous blocks • Folders hierarchy for mutants identification • Duplicated mutants control with directive repeat=no OCL Constraints in Wodel Code: • Applied over the generated mutants, although they are not in the domain meta-model 9
  • 10. EXPECTED CONTRIBUTIONS DSL Wodel will ease the creation of applications based on mutations by providing support for their: • Definition • Execution • Traceability We will develop these three post-processing extensions: • Wodel-Edu: Automated generation of exercises • Wodel-Unit: Mutation-based software testing • Wodel-SB: Search-and model-based software engineering 10
  • 11. WODEL-EDU ARCHITECTURE Wodel-Edu is a post-processing extension to Wodel for the automated generation of exercises Wodel-Edu generates a web application (http://www.wodel.eu) with three kinds of test exercises: • Alternative response • Multiple diagram choice • Multiple emendation choice 11 postProc WODEL engine WODEL-EDU DSL eduTest DSL modelDraw mutants model rendering description DSL modelText learning environment exercises description DSL mutaText code generator mutation textual description model element textual description
  • 12. WODEL-EDU EXERCISES SCHEMA 12 seed model WODEL mutations model mutant model mutant WODEL EDU model mutant seed model Is correct? Is correct? exercise 1 exercise 3 seed model WODEL mutations model mutant model mutant WODEL EDU model mutant seed model Which one is correct? … model mutant seed model WODEL mutations-1 WODEL EDU How to correct? model mutant-1 model mutant-1 WODEL mutations-2 model mutant-2 mutations-1 (reversed) mutations-2 (a) Alternative response (b) Multiple diagram choice (c) Multiple emendation choice exercise 1 exercise 1
  • 13. EVALUATION AND VALIDATION • Evaluate the expressivity of Wodel coding in it the interesting mutations for different domains devised by us and found in the literature • Test the Wodel-Edu generated exercises in real university courses (Automata Theory, Electronic Circuits, etc.) • Use the software testing verification framework with real software projects, with the collaboration of the industry • Use the approach to test ATL model transformations, complementing the previous work of our group • Test the search-based engineering environment with the collaboration of some experts in this area within our department (http://aida.ii.uam.es/) 13
  • 14. CURRENT STATUS Wodel status • 7 types of mutation primitives • 4 selection strategies • Composite mutations • Registry extension • Conditional expressions for specific selection • Blocks declaration Wodel-Edu status • Three kinds of test exercises: alternative response, multiple diagram choice, and multiple emendation choice 14
  • 15. PHD. TIMELINE 15 Mar 15 Aug 15 Feb 16 Aug 16 Feb 17 Aug 17 Feb 18 Aug 18 Feb 19 Wodel DSL for Wodel-Edu Wodel-Edu Framework Wodel-Edu User Evaluation Wodel DSL for Wodel-Unit Wodel-Unit Framework Wodel-Unit User Evaluation Wodel DSL for Wodel-SB Wodel-SB Framework Wodel-SB User Evaluation Thesis Writing
  • 16. 16 You are invited to download the source code of this project on GitHub: http://gomezabajo.github.io/Wodel/ A short video demo of Wodel+Wodel-Edu: https://youtu.be/T9n3T0jGvzg Thank you!! Pablo.GomezA@uam.es