Suche senden
Hochladen
Switching of GUI Framework: The case from Spec to Spec2
•
1 gefällt mir
•
1,862 views
E
ESUG
Folgen
Talk from IWST at ESUG19, Cologne, Germany
Weniger lesen
Mehr lesen
Software
Melden
Teilen
Melden
Teilen
1 von 26
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
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
Empfohlen
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
Weitere ähnliche Inhalte
Ähnlich wie 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
Ähnlich wie 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
Mehr von 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
Mehr von 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
Kürzlich hochgeladen
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
Safe Software
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
andrehoraa
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
BradBedford3
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
Shane Coughlan
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
Christopher Curtin
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Rob Geurden
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
Lionel Briand
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
preethippts
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
Alexandre Beguel
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
Andreas Kunz
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
itservices996
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
confluent
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
Marharyta Nedzelska
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
Hironori Washizaki
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Applitools
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
OnePlan Solutions
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
Christian Birchler
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
Jean Silva
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
OnePlan Solutions
Kürzlich hochgeladen
(20)
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
How to submit a standout Adobe Champion Application
How to submit a standout Adobe Champion Application
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
OpenChain Education Work Group Monthly Meeting - 2024-04-10 - Full Recording
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
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
Jetzt herunterladen