Soumettre la recherche
Mettre en ligne
Switching of GUI Framework: The case from Spec to Spec2
•
1 j'aime
•
1,862 vues
E
ESUG
Suivre
Talk from IWST at ESUG19, Cologne, Germany
Lire moins
Lire la suite
Logiciels
Signaler
Partager
Signaler
Partager
1 sur 26
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
Spec2: How to Build a new GUI
Spec2: How to Build a new GUI
ESUG
PintGlas: Pharo Image Network Transfer - GLobal Access Service
PintGlas: Pharo Image Network Transfer - GLobal Access Service
ESUG
GFX2014 OpenGL ES Quiz
GFX2014 OpenGL ES Quiz
Prabindh Sundareson
Design patterns and Refactoring
Design patterns and Refactoring
Valerio Maggio
Unit test demo for calculatechinesenamenumber
Unit test demo for calculatechinesenamenumber
Juggernaut Liu
Sprint 25
Sprint 25
ManageIQ
KaoNet v2 - Face Translation using CycleGAN
KaoNet v2 - Face Translation using CycleGAN
Van Huy
Whats new in win 8.1 for developers
Whats new in win 8.1 for developers
Ken Tucker
Recommandé
Spec2: How to Build a new GUI
Spec2: How to Build a new GUI
ESUG
PintGlas: Pharo Image Network Transfer - GLobal Access Service
PintGlas: Pharo Image Network Transfer - GLobal Access Service
ESUG
GFX2014 OpenGL ES Quiz
GFX2014 OpenGL ES Quiz
Prabindh Sundareson
Design patterns and Refactoring
Design patterns and Refactoring
Valerio Maggio
Unit test demo for calculatechinesenamenumber
Unit test demo for calculatechinesenamenumber
Juggernaut Liu
Sprint 25
Sprint 25
ManageIQ
KaoNet v2 - Face Translation using CycleGAN
KaoNet v2 - Face Translation using CycleGAN
Van Huy
Whats new in win 8.1 for developers
Whats new in win 8.1 for developers
Ken Tucker
Gitops Hands On
Gitops Hands On
Brice Fernandes
Just the Facets, Ma'am
Just the Facets, Ma'am
Teamstudio
Dolibarr - What's new in 9.0 - devcamp valence 2018
Dolibarr - What's new in 9.0 - devcamp valence 2018
Laurent Destailleur
Mitsubishi graphic operation terminal screen design software melsoft gt works...
Mitsubishi graphic operation terminal screen design software melsoft gt works...
Dien Ha The
“Data Versioning: Towards Reproducibility in Machine Learning,” a Presentatio...
“Data Versioning: Towards Reproducibility in Machine Learning,” a Presentatio...
Edge AI and Vision Alliance
DrTAD Blender software. Example 8а. 3D Text. Change Font. Extrude, Bevel, Res...
DrTAD Blender software. Example 8а. 3D Text. Change Font. Extrude, Bevel, Res...
FIDE Master Tihomir Dovramadjiev PhD
Introduction to Configurator 2.0 architecture design
Introduction to Configurator 2.0 architecture design
Xiaoyan Chen
Sprint 192
Sprint 192
ManageIQ
Mule soft meetup__adelaide_october_2020_final (2)
Mule soft meetup__adelaide_october_2020_final (2)
Nicholas Bowman
Lifting the Hood of FME Engine 2022.0
Lifting the Hood of FME Engine 2022.0
Safe Software
Building Data Centric Apps in WPF
Building Data Centric Apps in WPF
Frank La Vigne
GUI_using_QT_Designer_PyQT4
GUI_using_QT_Designer_PyQT4
zenonas
JEDI Slides-Intro2-Chapter19-Abstract Windowing Toolkit and Swing.pdf
JEDI Slides-Intro2-Chapter19-Abstract Windowing Toolkit and Swing.pdf
MarlouFelixIIICunana
UIElements, a new UI system for the editor
UIElements, a new UI system for the editor
Unity Technologies
Scaling Prometheus Metrics in Kubernetes with Telegraf | Chris Goller | Influ...
Scaling Prometheus Metrics in Kubernetes with Telegraf | Chris Goller | Influ...
InfluxData
JUNIPER: Towards Modeling Approach Enabling Efficient Platform for Heterogene...
JUNIPER: Towards Modeling Approach Enabling Efficient Platform for Heterogene...
Andrey Sadovykh
What is new with JavaScript in Gnome: The 2021 edition
What is new with JavaScript in Gnome: The 2021 edition
Igalia
Sprint 20
Sprint 20
ManageIQ
PuppetConf 2016: Getting to the Latest Puppet – Nate McCurdy & Elizabeth Witt...
PuppetConf 2016: Getting to the Latest Puppet – Nate McCurdy & Elizabeth Witt...
Puppet
Webinar: Best Practices for Migrating to Magnolia 5
Webinar: Best Practices for Migrating to Magnolia 5
Magnolia
Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
ESUG
Technical documentation support in Pharo
Technical documentation support in Pharo
ESUG
Contenu connexe
Similaire à Switching of GUI Framework: The case from Spec to Spec2
Gitops Hands On
Gitops Hands On
Brice Fernandes
Just the Facets, Ma'am
Just the Facets, Ma'am
Teamstudio
Dolibarr - What's new in 9.0 - devcamp valence 2018
Dolibarr - What's new in 9.0 - devcamp valence 2018
Laurent Destailleur
Mitsubishi graphic operation terminal screen design software melsoft gt works...
Mitsubishi graphic operation terminal screen design software melsoft gt works...
Dien Ha The
“Data Versioning: Towards Reproducibility in Machine Learning,” a Presentatio...
“Data Versioning: Towards Reproducibility in Machine Learning,” a Presentatio...
Edge AI and Vision Alliance
DrTAD Blender software. Example 8а. 3D Text. Change Font. Extrude, Bevel, Res...
DrTAD Blender software. Example 8а. 3D Text. Change Font. Extrude, Bevel, Res...
FIDE Master Tihomir Dovramadjiev PhD
Introduction to Configurator 2.0 architecture design
Introduction to Configurator 2.0 architecture design
Xiaoyan Chen
Sprint 192
Sprint 192
ManageIQ
Mule soft meetup__adelaide_october_2020_final (2)
Mule soft meetup__adelaide_october_2020_final (2)
Nicholas Bowman
Lifting the Hood of FME Engine 2022.0
Lifting the Hood of FME Engine 2022.0
Safe Software
Building Data Centric Apps in WPF
Building Data Centric Apps in WPF
Frank La Vigne
GUI_using_QT_Designer_PyQT4
GUI_using_QT_Designer_PyQT4
zenonas
JEDI Slides-Intro2-Chapter19-Abstract Windowing Toolkit and Swing.pdf
JEDI Slides-Intro2-Chapter19-Abstract Windowing Toolkit and Swing.pdf
MarlouFelixIIICunana
UIElements, a new UI system for the editor
UIElements, a new UI system for the editor
Unity Technologies
Scaling Prometheus Metrics in Kubernetes with Telegraf | Chris Goller | Influ...
Scaling Prometheus Metrics in Kubernetes with Telegraf | Chris Goller | Influ...
InfluxData
JUNIPER: Towards Modeling Approach Enabling Efficient Platform for Heterogene...
JUNIPER: Towards Modeling Approach Enabling Efficient Platform for Heterogene...
Andrey Sadovykh
What is new with JavaScript in Gnome: The 2021 edition
What is new with JavaScript in Gnome: The 2021 edition
Igalia
Sprint 20
Sprint 20
ManageIQ
PuppetConf 2016: Getting to the Latest Puppet – Nate McCurdy & Elizabeth Witt...
PuppetConf 2016: Getting to the Latest Puppet – Nate McCurdy & Elizabeth Witt...
Puppet
Webinar: Best Practices for Migrating to Magnolia 5
Webinar: Best Practices for Migrating to Magnolia 5
Magnolia
Similaire à Switching of GUI Framework: The case from Spec to Spec2
(20)
Gitops Hands On
Gitops Hands On
Just the Facets, Ma'am
Just the Facets, Ma'am
Dolibarr - What's new in 9.0 - devcamp valence 2018
Dolibarr - What's new in 9.0 - devcamp valence 2018
Mitsubishi graphic operation terminal screen design software melsoft gt works...
Mitsubishi graphic operation terminal screen design software melsoft gt works...
“Data Versioning: Towards Reproducibility in Machine Learning,” a Presentatio...
“Data Versioning: Towards Reproducibility in Machine Learning,” a Presentatio...
DrTAD Blender software. Example 8а. 3D Text. Change Font. Extrude, Bevel, Res...
DrTAD Blender software. Example 8а. 3D Text. Change Font. Extrude, Bevel, Res...
Introduction to Configurator 2.0 architecture design
Introduction to Configurator 2.0 architecture design
Sprint 192
Sprint 192
Mule soft meetup__adelaide_october_2020_final (2)
Mule soft meetup__adelaide_october_2020_final (2)
Lifting the Hood of FME Engine 2022.0
Lifting the Hood of FME Engine 2022.0
Building Data Centric Apps in WPF
Building Data Centric Apps in WPF
GUI_using_QT_Designer_PyQT4
GUI_using_QT_Designer_PyQT4
JEDI Slides-Intro2-Chapter19-Abstract Windowing Toolkit and Swing.pdf
JEDI Slides-Intro2-Chapter19-Abstract Windowing Toolkit and Swing.pdf
UIElements, a new UI system for the editor
UIElements, a new UI system for the editor
Scaling Prometheus Metrics in Kubernetes with Telegraf | Chris Goller | Influ...
Scaling Prometheus Metrics in Kubernetes with Telegraf | Chris Goller | Influ...
JUNIPER: Towards Modeling Approach Enabling Efficient Platform for Heterogene...
JUNIPER: Towards Modeling Approach Enabling Efficient Platform for Heterogene...
What is new with JavaScript in Gnome: The 2021 edition
What is new with JavaScript in Gnome: The 2021 edition
Sprint 20
Sprint 20
PuppetConf 2016: Getting to the Latest Puppet – Nate McCurdy & Elizabeth Witt...
PuppetConf 2016: Getting to the Latest Puppet – Nate McCurdy & Elizabeth Witt...
Webinar: Best Practices for Migrating to Magnolia 5
Webinar: Best Practices for Migrating to Magnolia 5
Plus de ESUG
Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
ESUG
Technical documentation support in Pharo
Technical documentation support in Pharo
ESUG
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
ESUG
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
ESUG
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
ESUG
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
ESUG
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
ESUG
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
ESUG
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
ESUG
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
ESUG
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
ESUG
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
ESUG
Garbage Collector Tuning
Garbage Collector Tuning
ESUG
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
ESUG
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
ESUG
thisContext in the Debugger
thisContext in the Debugger
ESUG
Websockets for Fencing Score
Websockets for Fencing Score
ESUG
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ESUG
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
ESUG
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
ESUG
Plus de ESUG
(20)
Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
Technical documentation support in Pharo
Technical documentation support in Pharo
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
Garbage Collector Tuning
Garbage Collector Tuning
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
thisContext in the Debugger
thisContext in the Debugger
Websockets for Fencing Score
Websockets for Fencing Score
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
Dernier
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
Andolasoft Inc
Professional Resume Template for Software Developers
Professional Resume Template for Software Developers
Vinodh Ram
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
shikhaohhpro
Software Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
Arshad QA
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
aagamshah0812
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
stazi3110
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
AxelRicardoTrocheRiq
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
kalichargn70th171
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
kellynguyen01
What is Binary Language? Computer Number Systems
What is Binary Language? Computer Number Systems
JheuzeDellosa
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
OPEN KNOWLEDGE GmbH
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
kaushalgiri8080
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
bodapatigopi8531
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽❤️🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽❤️🧑🏻 89...
gurkirankumar98700
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
kalichargn70th171
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
VICTOR MAESTRE RAMIREZ
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
harshavardhanraghave
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
joe51371421
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
Fatema Valibhai
Dernier
(20)
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
Professional Resume Template for Software Developers
Professional Resume Template for Software Developers
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
Software Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
What is Binary Language? Computer Number Systems
What is Binary Language? Computer Number Systems
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽❤️🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽❤️🧑🏻 89...
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
Switching of GUI Framework: The case from Spec to Spec2
1.
Switching of GUI framework: The
case from Spec to Spec2 1 Clement Dutriez, Benoît Verhaeghe, Mustapha Derras
2.
Summary ○ Problem ○ Approach ○
GUI Meta-model ○ Results ○ Future Works 2
3.
Problem 3
4.
Problem 4 Spec
5.
Problem 5 ? Spec evolves How can
we follow this evolution? Spec Spec 2
6.
6 Migration
7.
Problem Migrating 1 UI
from a framework → another Framework 7
8.
Problem Migrating 10 UI
from a framework → another Framework 8
9.
Problem Migrating 500 UI
from a framework → another Framework 9
10.
Approach 10
11.
Approach 11
12.
Approach 12 Spec Spec 2 FamixStModel GUIMetaModel
13.
Approach 13 Spec Spec 2 FamixStModel GUIMetaModel
14.
GUI Meta-model 14
15.
Results 15
16.
Experiment ○ Refactoring ○ Setting ○
CriticToolbar ○ DemoButton ○ DemoForm ○ DBManager - manage connection to DB from Pharo 16
17.
Import result 17 Refactoring Setting
CriticToolbar DemoButton DemoForm DBManager Widgets number 7 11 5 15 41 37 Widgets Imported 100% 100% error 100% 100% 100% Attributes number 8 8 5 19 20 29 Attributes imported 12.5% 25% 80% 74% 80% 89%
18.
18 Export result Spec Spec 2
19.
19 Export result Spec Spec 2
20.
Future Works 20
21.
Future Works 21 Evaluation Visual preservation
Behavioral code
22.
So ... 22 Spec Spec 2
23.
23
24.
Bonus slides 24
25.
25
26.
About me 26 PHD student
Télécharger maintenant