SlideShare une entreprise Scribd logo
1  sur  22
Télécharger pour lire hors ligne
A Systematic Approach to Generate
Diverse Instantiations for Conceptual Schemas
Loli Burgueño, Jordi Cabot, Robert Clarisó, Martin Gogolla
ER’19
Salvador, Brazil, November 7th, 2019
Introduction
• typically require the creation of instantiations of the conceptual schema
• i.e., examples for an information base of a conceptual schema
• used as:
• Illustrations (for simulation, etc.)
• Counterexamples (describe invalid configurations, etc.)
• Test cases (to capture scenarios that should be checked, etc.)
2
Verification, validation and testing to ensure the
quality
of a conceptual schema
Motivation
• Cover a broad spectrum of different configurations and scenarios
• Otherwise, relevant corner cases might be missed
• causing faults and/or wrong conclusions
3
The set of instantiations should be diverse
Motivation
4
Model finders: Automatically compute (valid)
instantiations satisfying all constraints
• Domain expert who creates instantiations
manually?
 very time-consuming and is usually not feasible
Motivation
5
While model finders automate the generation process,
they do not guarantee diverse solutions
• Domain expert who creates instantiations
manually?
 very time-consuming and is usually not feasible
Our proposal
• New technique for generating test cases
(object models) for UML class models
• Guide construction process through classifying terms
• Classifying term:
• properties that can be used to partition the solution space
(OCL expressions on the class model)
6
Our proposal
• Classifying terms as a means of Equivalence Partitioning
• From each equivalence class one representative
object model is chosen
• Test cases significantly different with w.r.t. classifying
term
7
Classifying Terms
8
-- CT hasChildren:
Person.allInstances->forAll( p |
p.child->isEmpty())
Two equivalence classes!
hasChildren=True
hasChildren=False
Model space
Classifying Terms
9
Four equivalence classes!
-- CT yearBDefined:
Person.allInstances->forAll( p |
p.yearB.oclIsUndefined())
-- CT hasChildren:
Person.allInstances->forAll( p |
p.child->isEmpty())
Model space
hasChildren=F
yearBDefined=F
hasChildren=T
yearBDefined=T
hasChildren=F
yearBDefined=T
hasChildren=T
yearBDefined=F
Classifying Terms
• Tool context:
USE & its model
validator
• Example:
wGp withGrandparent
w2c with2children
w2p with2parents
10
Our Proposal
We observed that classifying terms are typically related to the
integrity constraints in the schema
If we mutate the schema's integrity constraints in a structured
way, we can automatically generate classifying terms
11
Proposing suitable classifying
terms requires domain knowledge
Our Proposal
Mutation = Strengthening of integrity constraints (OCL)
i.e., generation of a more restrictive version
Strengthening – Example:
expL or expR  expL and expR
12
exp exp+
exp
exp+
Mutation = Strengthening of integrity constraints (OCL)
i.e., generation of a more restrictive version
Strengthening – Further examples of mutation operations:
Our Proposal
13
Our Proposal
• Meaningful CTs
• border cases become clear
• For example, one instantiation where a particular constraint holds and
another one where the same constraint fails
14
Running Example
15
• Two generated instantiations
Running Example
16
• USE tool (1)
• Implemented in Java
• GUI
• packages to load, modify
and inspect models and
instantiations
• commands to invoke the
KodKod relational solver
for model finding
Tool Support
17
(1) https://sourceforge.net/projects/useocl/
• Process:
1. Candidate generation:
a. Each OCL integrity constraint is strengthen by means of a post-order traversal of
its AST
b. For each expression in the AST, we generate the candidate strengthenings by
combining the strengthenings of its subexpressions
2. Candidate selection:
a. Can be performed in different ways: randomly; using heuristics or with the help of
a domain expert
3. Computation of instantiations:
a. we provide the CTs to the model finder
b. it finds one instantiation in each of the equivalence classes induced by the
partition
Process
18
• Input: a UML class diagram annotated with OCL
invariants (.use file)
19
Discussion
• Performance
• In the generation of the CTs, it is negligible (151 ms for running example)
• Computing the instantiation is always a bottleneck but we significantly
reduce number of times we trigger the generation  improving the
overall computing time
• Correctness and completeness
• Any object model satisfies all constraints
• Support for all OCL 2.4 except for ordered collections and recursively defined queries
• Generation of boolean CTs. Integer CTs in the future
Discussion
• Combination strategies for classifying terms
• We could change the way in which the equivalent
classes are traversed in the solution generation
process
• For instance:
1. focus first on one CT alone and generate diverse examples
(i.e. emphasizing local diversity )
2. combine all classifying terms and generate solutions that
explore equivalent classes taking into account the value of
different classifying terms at the same time (i.e.
emphasizing global diversity )
20
New approach to enforce the generation of a diverse set of
instantiations from a given conceptual schema
Conclusions & Future work
21
• Prioritize constraints which are potentially more useful
• Definition of strategies to optimally select and combine different CTs
and guide the exploration of model solutions for each combination.
• Large case studies
A Systematic Approach to Generate
Diverse Instantiations for Conceptual Schemas
Loli Burgueño, Jordi Cabot, Robert Clarisó, Martin Gogolla
ER’19
Salvador, Brazil, November 7th, 2019

Contenu connexe

Tendances

Kajal Gaharwal,BCA 2nd Year
Kajal Gaharwal,BCA 2nd YearKajal Gaharwal,BCA 2nd Year
Kajal Gaharwal,BCA 2nd Yeardezyneecole
 
Rahul Saini, BCA 2nd Year
Rahul Saini, BCA 2nd YearRahul Saini, BCA 2nd Year
Rahul Saini, BCA 2nd Yeardezyneecole
 
Polymorphism and its types
Polymorphism and its typesPolymorphism and its types
Polymorphism and its typesSuraj Bora
 
Object Oriented Technologies
Object Oriented TechnologiesObject Oriented Technologies
Object Oriented TechnologiesTushar B Kute
 
Polymorphism
PolymorphismPolymorphism
PolymorphismAmir Ali
 
Bca5020 visual programming
Bca5020  visual programmingBca5020  visual programming
Bca5020 visual programmingsmumbahelp
 
Bca5020 visual programming
Bca5020  visual programmingBca5020  visual programming
Bca5020 visual programmingsmumbahelp
 
Rakesh Bijawat, BCA 2nd Year
Rakesh Bijawat, BCA 2nd YearRakesh Bijawat, BCA 2nd Year
Rakesh Bijawat, BCA 2nd Yeardezyneecole
 
Rakesh Bijawat , BCA Third Year
Rakesh Bijawat , BCA Third YearRakesh Bijawat , BCA Third Year
Rakesh Bijawat , BCA Third YearDezyneecole
 
NL to OCL via SBVR
NL to OCL via SBVRNL to OCL via SBVR
NL to OCL via SBVRImran Bajwa
 
Reshma Kodwani,BCA,2nd Year
Reshma Kodwani,BCA,2nd YearReshma Kodwani,BCA,2nd Year
Reshma Kodwani,BCA,2nd Yeardezyneecole
 
Ronak Kachhawa,BCA 2nd Year
Ronak Kachhawa,BCA 2nd YearRonak Kachhawa,BCA 2nd Year
Ronak Kachhawa,BCA 2nd Yeardezyneecole
 
Karishma Dhanwani,BCA 2nd Year
Karishma Dhanwani,BCA 2nd YearKarishma Dhanwani,BCA 2nd Year
Karishma Dhanwani,BCA 2nd Yeardezyneecole
 
Object-Oriented Polymorphism Unleashed
Object-Oriented Polymorphism UnleashedObject-Oriented Polymorphism Unleashed
Object-Oriented Polymorphism UnleashedNaresh Chintalcheru
 
Bhanu Pratap Singh ,BCA
Bhanu Pratap Singh ,BCA Bhanu Pratap Singh ,BCA
Bhanu Pratap Singh ,BCA dezyneecole
 
Shaikh Mohammad Usman Haider ,BCA 2nd Year
Shaikh Mohammad Usman Haider ,BCA 2nd Year Shaikh Mohammad Usman Haider ,BCA 2nd Year
Shaikh Mohammad Usman Haider ,BCA 2nd Year dezyneecole
 
Farhaan Ahmed, BCA 2nd Year
Farhaan Ahmed, BCA 2nd YearFarhaan Ahmed, BCA 2nd Year
Farhaan Ahmed, BCA 2nd Yeardezyneecole
 
Aanchal Gupta,BCA 2nd year
Aanchal Gupta,BCA 2nd yearAanchal Gupta,BCA 2nd year
Aanchal Gupta,BCA 2nd yeardezyneecole
 

Tendances (20)

Kajal Gaharwal,BCA 2nd Year
Kajal Gaharwal,BCA 2nd YearKajal Gaharwal,BCA 2nd Year
Kajal Gaharwal,BCA 2nd Year
 
Rahul Saini, BCA 2nd Year
Rahul Saini, BCA 2nd YearRahul Saini, BCA 2nd Year
Rahul Saini, BCA 2nd Year
 
Polymorphism and its types
Polymorphism and its typesPolymorphism and its types
Polymorphism and its types
 
Scam 08
Scam 08Scam 08
Scam 08
 
Object Oriented Technologies
Object Oriented TechnologiesObject Oriented Technologies
Object Oriented Technologies
 
Polymorphism
PolymorphismPolymorphism
Polymorphism
 
Bca5020 visual programming
Bca5020  visual programmingBca5020  visual programming
Bca5020 visual programming
 
Bca5020 visual programming
Bca5020  visual programmingBca5020  visual programming
Bca5020 visual programming
 
Rakesh Bijawat, BCA 2nd Year
Rakesh Bijawat, BCA 2nd YearRakesh Bijawat, BCA 2nd Year
Rakesh Bijawat, BCA 2nd Year
 
Rakesh Bijawat , BCA Third Year
Rakesh Bijawat , BCA Third YearRakesh Bijawat , BCA Third Year
Rakesh Bijawat , BCA Third Year
 
NL to OCL via SBVR
NL to OCL via SBVRNL to OCL via SBVR
NL to OCL via SBVR
 
DIGITAL ELECTRONICS
DIGITAL ELECTRONICSDIGITAL ELECTRONICS
DIGITAL ELECTRONICS
 
Reshma Kodwani,BCA,2nd Year
Reshma Kodwani,BCA,2nd YearReshma Kodwani,BCA,2nd Year
Reshma Kodwani,BCA,2nd Year
 
Ronak Kachhawa,BCA 2nd Year
Ronak Kachhawa,BCA 2nd YearRonak Kachhawa,BCA 2nd Year
Ronak Kachhawa,BCA 2nd Year
 
Karishma Dhanwani,BCA 2nd Year
Karishma Dhanwani,BCA 2nd YearKarishma Dhanwani,BCA 2nd Year
Karishma Dhanwani,BCA 2nd Year
 
Object-Oriented Polymorphism Unleashed
Object-Oriented Polymorphism UnleashedObject-Oriented Polymorphism Unleashed
Object-Oriented Polymorphism Unleashed
 
Bhanu Pratap Singh ,BCA
Bhanu Pratap Singh ,BCA Bhanu Pratap Singh ,BCA
Bhanu Pratap Singh ,BCA
 
Shaikh Mohammad Usman Haider ,BCA 2nd Year
Shaikh Mohammad Usman Haider ,BCA 2nd Year Shaikh Mohammad Usman Haider ,BCA 2nd Year
Shaikh Mohammad Usman Haider ,BCA 2nd Year
 
Farhaan Ahmed, BCA 2nd Year
Farhaan Ahmed, BCA 2nd YearFarhaan Ahmed, BCA 2nd Year
Farhaan Ahmed, BCA 2nd Year
 
Aanchal Gupta,BCA 2nd year
Aanchal Gupta,BCA 2nd yearAanchal Gupta,BCA 2nd year
Aanchal Gupta,BCA 2nd year
 

Similaire à A Systematic Approach to Generate Diverse Instantiations for Conceptual Schemas

Model-Based User Interface Optimization: Part IV: ADVANCED TOPICS - At SICSA ...
Model-Based User Interface Optimization: Part IV: ADVANCED TOPICS - At SICSA ...Model-Based User Interface Optimization: Part IV: ADVANCED TOPICS - At SICSA ...
Model-Based User Interface Optimization: Part IV: ADVANCED TOPICS - At SICSA ...Aalto University
 
Breaking Dependencies Legacy Code - Cork Software Crafters - September 2019
Breaking Dependencies Legacy Code -  Cork Software Crafters - September 2019Breaking Dependencies Legacy Code -  Cork Software Crafters - September 2019
Breaking Dependencies Legacy Code - Cork Software Crafters - September 2019Paulo Clavijo
 
Design Pattern lecture 2
Design Pattern lecture 2Design Pattern lecture 2
Design Pattern lecture 2Julie Iskander
 
Nodejs Chapter 3 - Design Pattern
Nodejs Chapter 3 - Design PatternNodejs Chapter 3 - Design Pattern
Nodejs Chapter 3 - Design PatternTalentica Software
 
Formally Defining and Iterating Infinite Models (MODELS 2012)
Formally Defining and Iterating Infinite Models (MODELS 2012)Formally Defining and Iterating Infinite Models (MODELS 2012)
Formally Defining and Iterating Infinite Models (MODELS 2012)Benoit Combemale
 
Compeition-Level Code Generation with AlphaCode.pptx
Compeition-Level Code Generation with AlphaCode.pptxCompeition-Level Code Generation with AlphaCode.pptx
Compeition-Level Code Generation with AlphaCode.pptxSan Kim
 
VT.NET 20160411: An Intro to Test Driven Development (TDD)
VT.NET 20160411: An Intro to Test Driven Development (TDD)VT.NET 20160411: An Intro to Test Driven Development (TDD)
VT.NET 20160411: An Intro to Test Driven Development (TDD)Rob Hale
 
[SEBD2020] OLAP Querying of Document Stores in the Presence of Schema Variety
[SEBD2020] OLAP Querying of Document Stores in the Presence of Schema Variety[SEBD2020] OLAP Querying of Document Stores in the Presence of Schema Variety
[SEBD2020] OLAP Querying of Document Stores in the Presence of Schema VarietyUniversity of Bologna
 
UNIT IV DESIGN PATTERNS.pptx
UNIT IV DESIGN PATTERNS.pptxUNIT IV DESIGN PATTERNS.pptx
UNIT IV DESIGN PATTERNS.pptxanguraju1
 
Cross-Project Build Co-change Prediction
Cross-Project Build Co-change PredictionCross-Project Build Co-change Prediction
Cross-Project Build Co-change PredictionShane McIntosh
 
Creational Design Patterns.pptx
Creational Design Patterns.pptxCreational Design Patterns.pptx
Creational Design Patterns.pptxSachin Patidar
 
Augmenting Machine Learning with Databricks Labs AutoML Toolkit
Augmenting Machine Learning with Databricks Labs AutoML ToolkitAugmenting Machine Learning with Databricks Labs AutoML Toolkit
Augmenting Machine Learning with Databricks Labs AutoML ToolkitDatabricks
 
On the verification of UML/OCL class diagrams using constraint programming
On the verification of UML/OCL class diagrams using constraint programmingOn the verification of UML/OCL class diagrams using constraint programming
On the verification of UML/OCL class diagrams using constraint programmingUOC Universitat Oberta de Catalunya
 
Revisiting the Notion of Diversity in Software Testing
Revisiting the Notion of Diversity in Software TestingRevisiting the Notion of Diversity in Software Testing
Revisiting the Notion of Diversity in Software TestingLionel Briand
 
Big Data Spain 2018: How to build Weighted XGBoost ML model for Imbalance dat...
Big Data Spain 2018: How to build Weighted XGBoost ML model for Imbalance dat...Big Data Spain 2018: How to build Weighted XGBoost ML model for Imbalance dat...
Big Data Spain 2018: How to build Weighted XGBoost ML model for Imbalance dat...Alok Singh
 

Similaire à A Systematic Approach to Generate Diverse Instantiations for Conceptual Schemas (20)

Model-Based User Interface Optimization: Part IV: ADVANCED TOPICS - At SICSA ...
Model-Based User Interface Optimization: Part IV: ADVANCED TOPICS - At SICSA ...Model-Based User Interface Optimization: Part IV: ADVANCED TOPICS - At SICSA ...
Model-Based User Interface Optimization: Part IV: ADVANCED TOPICS - At SICSA ...
 
Breaking Dependencies Legacy Code - Cork Software Crafters - September 2019
Breaking Dependencies Legacy Code -  Cork Software Crafters - September 2019Breaking Dependencies Legacy Code -  Cork Software Crafters - September 2019
Breaking Dependencies Legacy Code - Cork Software Crafters - September 2019
 
Design Pattern lecture 2
Design Pattern lecture 2Design Pattern lecture 2
Design Pattern lecture 2
 
Nodejs Chapter 3 - Design Pattern
Nodejs Chapter 3 - Design PatternNodejs Chapter 3 - Design Pattern
Nodejs Chapter 3 - Design Pattern
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Formally Defining and Iterating Infinite Models (MODELS 2012)
Formally Defining and Iterating Infinite Models (MODELS 2012)Formally Defining and Iterating Infinite Models (MODELS 2012)
Formally Defining and Iterating Infinite Models (MODELS 2012)
 
EURO Conference 2015 - Automated Timetabling
EURO Conference 2015 - Automated TimetablingEURO Conference 2015 - Automated Timetabling
EURO Conference 2015 - Automated Timetabling
 
Compeition-Level Code Generation with AlphaCode.pptx
Compeition-Level Code Generation with AlphaCode.pptxCompeition-Level Code Generation with AlphaCode.pptx
Compeition-Level Code Generation with AlphaCode.pptx
 
VT.NET 20160411: An Intro to Test Driven Development (TDD)
VT.NET 20160411: An Intro to Test Driven Development (TDD)VT.NET 20160411: An Intro to Test Driven Development (TDD)
VT.NET 20160411: An Intro to Test Driven Development (TDD)
 
[SEBD2020] OLAP Querying of Document Stores in the Presence of Schema Variety
[SEBD2020] OLAP Querying of Document Stores in the Presence of Schema Variety[SEBD2020] OLAP Querying of Document Stores in the Presence of Schema Variety
[SEBD2020] OLAP Querying of Document Stores in the Presence of Schema Variety
 
UNIT IV DESIGN PATTERNS.pptx
UNIT IV DESIGN PATTERNS.pptxUNIT IV DESIGN PATTERNS.pptx
UNIT IV DESIGN PATTERNS.pptx
 
Cross-Project Build Co-change Prediction
Cross-Project Build Co-change PredictionCross-Project Build Co-change Prediction
Cross-Project Build Co-change Prediction
 
CPP15 - Inheritance
CPP15 - InheritanceCPP15 - Inheritance
CPP15 - Inheritance
 
Creational Design Patterns.pptx
Creational Design Patterns.pptxCreational Design Patterns.pptx
Creational Design Patterns.pptx
 
modeling.ppt
modeling.pptmodeling.ppt
modeling.ppt
 
Augmenting Machine Learning with Databricks Labs AutoML Toolkit
Augmenting Machine Learning with Databricks Labs AutoML ToolkitAugmenting Machine Learning with Databricks Labs AutoML Toolkit
Augmenting Machine Learning with Databricks Labs AutoML Toolkit
 
Machine Learning
Machine LearningMachine Learning
Machine Learning
 
On the verification of UML/OCL class diagrams using constraint programming
On the verification of UML/OCL class diagrams using constraint programmingOn the verification of UML/OCL class diagrams using constraint programming
On the verification of UML/OCL class diagrams using constraint programming
 
Revisiting the Notion of Diversity in Software Testing
Revisiting the Notion of Diversity in Software TestingRevisiting the Notion of Diversity in Software Testing
Revisiting the Notion of Diversity in Software Testing
 
Big Data Spain 2018: How to build Weighted XGBoost ML model for Imbalance dat...
Big Data Spain 2018: How to build Weighted XGBoost ML model for Imbalance dat...Big Data Spain 2018: How to build Weighted XGBoost ML model for Imbalance dat...
Big Data Spain 2018: How to build Weighted XGBoost ML model for Imbalance dat...
 

Plus de Lola Burgueño

A Generic Neural Network Architecture to Infer Heterogeneous Model Transforma...
A Generic Neural Network Architecture to Infer Heterogeneous Model Transforma...A Generic Neural Network Architecture to Infer Heterogeneous Model Transforma...
A Generic Neural Network Architecture to Infer Heterogeneous Model Transforma...Lola Burgueño
 
An NLP-based architecture for the autocompletion of partial domain models
An NLP-based architecture for the autocompletion of partial domain modelsAn NLP-based architecture for the autocompletion of partial domain models
An NLP-based architecture for the autocompletion of partial domain modelsLola Burgueño
 
PhD Thesis Presentation
PhD Thesis PresentationPhD Thesis Presentation
PhD Thesis PresentationLola Burgueño
 
An LSTM-Based Neural Network Architecture for Model Transformations
An LSTM-Based Neural Network Architecture for Model TransformationsAn LSTM-Based Neural Network Architecture for Model Transformations
An LSTM-Based Neural Network Architecture for Model TransformationsLola Burgueño
 
Towards the intelligent generation of software modeling components
Towards the intelligent generation of software modeling componentsTowards the intelligent generation of software modeling components
Towards the intelligent generation of software modeling componentsLola Burgueño
 
Expressing Confidence in Model and Model Transformation Elements
Expressing Confidence in Model and Model Transformation ElementsExpressing Confidence in Model and Model Transformation Elements
Expressing Confidence in Model and Model Transformation ElementsLola Burgueño
 

Plus de Lola Burgueño (7)

A Generic Neural Network Architecture to Infer Heterogeneous Model Transforma...
A Generic Neural Network Architecture to Infer Heterogeneous Model Transforma...A Generic Neural Network Architecture to Infer Heterogeneous Model Transforma...
A Generic Neural Network Architecture to Infer Heterogeneous Model Transforma...
 
An NLP-based architecture for the autocompletion of partial domain models
An NLP-based architecture for the autocompletion of partial domain modelsAn NLP-based architecture for the autocompletion of partial domain models
An NLP-based architecture for the autocompletion of partial domain models
 
ECMFA 2021 Opening
ECMFA 2021 OpeningECMFA 2021 Opening
ECMFA 2021 Opening
 
PhD Thesis Presentation
PhD Thesis PresentationPhD Thesis Presentation
PhD Thesis Presentation
 
An LSTM-Based Neural Network Architecture for Model Transformations
An LSTM-Based Neural Network Architecture for Model TransformationsAn LSTM-Based Neural Network Architecture for Model Transformations
An LSTM-Based Neural Network Architecture for Model Transformations
 
Towards the intelligent generation of software modeling components
Towards the intelligent generation of software modeling componentsTowards the intelligent generation of software modeling components
Towards the intelligent generation of software modeling components
 
Expressing Confidence in Model and Model Transformation Elements
Expressing Confidence in Model and Model Transformation ElementsExpressing Confidence in Model and Model Transformation Elements
Expressing Confidence in Model and Model Transformation Elements
 

Dernier

GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLEGEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLEselvakumar948
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdfAldoGarca30
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueBhangaleSonal
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptxJIT KUMAR GUPTA
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Arindam Chakraborty, Ph.D., P.E. (CA, TX)
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.Kamal Acharya
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaOmar Fathy
 
Wadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxWadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxNadaHaitham1
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationBhangaleSonal
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VDineshKumar4165
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxSCMS School of Architecture
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsvanyagupta248
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptDineshKumar4165
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfJiananWang21
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Servicemeghakumariji156
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptNANDHAKUMARA10
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiessarkmank1
 
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxOrlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxMuhammadAsimMuhammad6
 

Dernier (20)

GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLEGEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
GEAR TRAIN- BASIC CONCEPTS AND WORKING PRINCIPLE
 
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
1_Introduction + EAM Vocabulary + how to navigate in EAM.pdf
 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
 
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
COST-EFFETIVE  and Energy Efficient BUILDINGS ptxCOST-EFFETIVE  and Energy Efficient BUILDINGS ptx
COST-EFFETIVE and Energy Efficient BUILDINGS ptx
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
Introduction to Serverless with AWS Lambda
Introduction to Serverless with AWS LambdaIntroduction to Serverless with AWS Lambda
Introduction to Serverless with AWS Lambda
 
Wadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptxWadi Rum luxhotel lodge Analysis case study.pptx
Wadi Rum luxhotel lodge Analysis case study.pptx
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
Thermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - VThermal Engineering-R & A / C - unit - V
Thermal Engineering-R & A / C - unit - V
 
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptxHOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
HOA1&2 - Module 3 - PREHISTORCI ARCHITECTURE OF KERALA.pptx
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
AIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech studentsAIRCANVAS[1].pdf mini project for btech students
AIRCANVAS[1].pdf mini project for btech students
 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
 
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in South Ex (delhi) call me [🔝9953056974🔝] escort service 24X7
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best ServiceTamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
Tamil Call Girls Bhayandar WhatsApp +91-9930687706, Best Service
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
PE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and propertiesPE 459 LECTURE 2- natural gas basic concepts and properties
PE 459 LECTURE 2- natural gas basic concepts and properties
 
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptxOrlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
Orlando’s Arnold Palmer Hospital Layout Strategy-1.pptx
 

A Systematic Approach to Generate Diverse Instantiations for Conceptual Schemas

  • 1. A Systematic Approach to Generate Diverse Instantiations for Conceptual Schemas Loli Burgueño, Jordi Cabot, Robert Clarisó, Martin Gogolla ER’19 Salvador, Brazil, November 7th, 2019
  • 2. Introduction • typically require the creation of instantiations of the conceptual schema • i.e., examples for an information base of a conceptual schema • used as: • Illustrations (for simulation, etc.) • Counterexamples (describe invalid configurations, etc.) • Test cases (to capture scenarios that should be checked, etc.) 2 Verification, validation and testing to ensure the quality of a conceptual schema
  • 3. Motivation • Cover a broad spectrum of different configurations and scenarios • Otherwise, relevant corner cases might be missed • causing faults and/or wrong conclusions 3 The set of instantiations should be diverse
  • 4. Motivation 4 Model finders: Automatically compute (valid) instantiations satisfying all constraints • Domain expert who creates instantiations manually?  very time-consuming and is usually not feasible
  • 5. Motivation 5 While model finders automate the generation process, they do not guarantee diverse solutions • Domain expert who creates instantiations manually?  very time-consuming and is usually not feasible
  • 6. Our proposal • New technique for generating test cases (object models) for UML class models • Guide construction process through classifying terms • Classifying term: • properties that can be used to partition the solution space (OCL expressions on the class model) 6
  • 7. Our proposal • Classifying terms as a means of Equivalence Partitioning • From each equivalence class one representative object model is chosen • Test cases significantly different with w.r.t. classifying term 7
  • 8. Classifying Terms 8 -- CT hasChildren: Person.allInstances->forAll( p | p.child->isEmpty()) Two equivalence classes! hasChildren=True hasChildren=False Model space
  • 9. Classifying Terms 9 Four equivalence classes! -- CT yearBDefined: Person.allInstances->forAll( p | p.yearB.oclIsUndefined()) -- CT hasChildren: Person.allInstances->forAll( p | p.child->isEmpty()) Model space hasChildren=F yearBDefined=F hasChildren=T yearBDefined=T hasChildren=F yearBDefined=T hasChildren=T yearBDefined=F
  • 10. Classifying Terms • Tool context: USE & its model validator • Example: wGp withGrandparent w2c with2children w2p with2parents 10
  • 11. Our Proposal We observed that classifying terms are typically related to the integrity constraints in the schema If we mutate the schema's integrity constraints in a structured way, we can automatically generate classifying terms 11 Proposing suitable classifying terms requires domain knowledge
  • 12. Our Proposal Mutation = Strengthening of integrity constraints (OCL) i.e., generation of a more restrictive version Strengthening – Example: expL or expR  expL and expR 12 exp exp+ exp exp+
  • 13. Mutation = Strengthening of integrity constraints (OCL) i.e., generation of a more restrictive version Strengthening – Further examples of mutation operations: Our Proposal 13
  • 14. Our Proposal • Meaningful CTs • border cases become clear • For example, one instantiation where a particular constraint holds and another one where the same constraint fails 14
  • 16. • Two generated instantiations Running Example 16
  • 17. • USE tool (1) • Implemented in Java • GUI • packages to load, modify and inspect models and instantiations • commands to invoke the KodKod relational solver for model finding Tool Support 17 (1) https://sourceforge.net/projects/useocl/
  • 18. • Process: 1. Candidate generation: a. Each OCL integrity constraint is strengthen by means of a post-order traversal of its AST b. For each expression in the AST, we generate the candidate strengthenings by combining the strengthenings of its subexpressions 2. Candidate selection: a. Can be performed in different ways: randomly; using heuristics or with the help of a domain expert 3. Computation of instantiations: a. we provide the CTs to the model finder b. it finds one instantiation in each of the equivalence classes induced by the partition Process 18 • Input: a UML class diagram annotated with OCL invariants (.use file)
  • 19. 19 Discussion • Performance • In the generation of the CTs, it is negligible (151 ms for running example) • Computing the instantiation is always a bottleneck but we significantly reduce number of times we trigger the generation  improving the overall computing time • Correctness and completeness • Any object model satisfies all constraints • Support for all OCL 2.4 except for ordered collections and recursively defined queries • Generation of boolean CTs. Integer CTs in the future
  • 20. Discussion • Combination strategies for classifying terms • We could change the way in which the equivalent classes are traversed in the solution generation process • For instance: 1. focus first on one CT alone and generate diverse examples (i.e. emphasizing local diversity ) 2. combine all classifying terms and generate solutions that explore equivalent classes taking into account the value of different classifying terms at the same time (i.e. emphasizing global diversity ) 20
  • 21. New approach to enforce the generation of a diverse set of instantiations from a given conceptual schema Conclusions & Future work 21 • Prioritize constraints which are potentially more useful • Definition of strategies to optimally select and combine different CTs and guide the exploration of model solutions for each combination. • Large case studies
  • 22. A Systematic Approach to Generate Diverse Instantiations for Conceptual Schemas Loli Burgueño, Jordi Cabot, Robert Clarisó, Martin Gogolla ER’19 Salvador, Brazil, November 7th, 2019