SlideShare a Scribd company logo
11 April 2014
Juha-Pekka Tolvanen
Supporting Debugging and
Profiling on the Model Level
Code is now generated, what next?
1. Autobuild
2. Animating models
3. Debugging on the model level
4. Profiling on the model level
5. Simulator/monitor application
6. Coverage shown in models
7. Models updated/changed
8. + …
1. Autobuild
 Directly from model to execution for all developers, hiding
– libraries
– build scripts
– compiler calls
– simulator calls
– tool chains
– paths settings, moving files etc. other repeated parts
 Parameters for autobuild set separately for tools, paths,
platforms
– often part of the language itself
• Android app demo (generate, build, use simulator & run)
2. Animating
 Highlight model elements during application execution:
demonstration
2. Animating: Design flow
 Animate execution in PC or animate execution in real
target device
– Sample*
 Considerations for animation support:
– What makes sense to animate (vary on languages)
– Distribution
• Is execution and animation running in the same machine
– How often to animate
 Generator for production and generator for animation can
be the same
– Animation in the framework rather than in generator
Safa, L,. The Making Of User-Interface Designer, 7th
DSM Workshop at OOPSLA
3. Debugging
 Obviously all IDE features are available but....
… does it make sense to debug the generated code?
– By others than generator developer?
 Debug instead directly in the model
– Provide functionality (demo)
• Add breakpoint to the language
• Provide framework
• Make generator
– Use the created model debug functionality (demo)
• Set breakpoint
• Run generator
Examples with breakpoints
 Two breakpoints added ( )
4. Profiling
 Update models with the relevant execution information
 Use the original source model or a copy of it: demo
Djukić, V., et al. Model Execution: An Approach based on extending Domain-Specific Modeling with
Action Reports, ComSIS Vol. 10, No. 4, Special Issue, 2013
4. Profiling
 Considerations for profiling support:
– Decide what kind of data/variable values to be shown
– Show data in the original “source” model or in copy of it?
– Show data in modeling tool or in run-time
environment/external simulator?
• In modeling tool:
– Use as derived values or be persistent (store in models)
• In run-time environment/simulator:
– Run-time environment calls modeling tool to update models
– Modeling on ”hot”: run-time asks from modeling tool if
things has changed and runs generators again
5. With generated simulators
 An application showing execution data
Monitoring motor
State of the app
5. With generated simulators
 A separate application showing variables values: demo
Djukić, V., et al. Domain-Specific Modeling Languages for Medical Device Development, embedded.com, 2014
5. With generated simulators
 Monitor (domain-) specific parts: here clamp controls
5. With existing simulators [1/2]
 Translate your model to existing simulation tools (demo)
5. With existing simulators [2/2]
 Translate your model to existing simulation tools (demo)
6. Coverage
 Highlight several elements, paths visited, failure
propagation etc. (demo)
7. Update models
 Update models with persistent data, show results during
execution/analysis directly in model
– Example on simulating performance (demonstration)
Vatjus-Anttila, J., et al. Domain-specific front-end for virtual system modeling, ECFMA Workshop on
Graphical Modeling Language Development, Denmark, 2012
Use generators for others than code
 Example: Hofernet PISCAS use heavily generators
Leitner, A., et al. Effective development of automation systems through domain-specific modeling in a
small enterprise context, Journal Software and Systems Modeling (SoSyM), Volume 13, Issue 1, 2014
After generating code:
1. Autobuild
2. Other than code (single source, multiple targets)
3. Simulator/monitor application
4. Animating models
5. Debugging on the model level
6. Profiling on the model level
7. Models updated/changed
8. Coverage shown in models
Questions, please?
For details of the described examples contact:
jpt@metacase.com

More Related Content

Viewers also liked

Luật cán bộ công chức
Luật cán bộ công chứcLuật cán bộ công chức
Luật cán bộ công chức
luathanhchinh
 
Nghị định số 24/2014/NĐ-CP quy định tổ chức các cơ quan chuyên môn thuộc Ủy b...
Nghị định số 24/2014/NĐ-CP quy định tổ chức các cơ quan chuyên môn thuộc Ủy b...Nghị định số 24/2014/NĐ-CP quy định tổ chức các cơ quan chuyên môn thuộc Ủy b...
Nghị định số 24/2014/NĐ-CP quy định tổ chức các cơ quan chuyên môn thuộc Ủy b...
luathanhchinh
 
Quy định việc kiểm tra nhà nước về chất lượng hàng hóa nhập khẩu
Quy định việc kiểm tra nhà nước về chất lượng hàng hóa nhập khẩu Quy định việc kiểm tra nhà nước về chất lượng hàng hóa nhập khẩu
Quy định việc kiểm tra nhà nước về chất lượng hàng hóa nhập khẩu
tiendung4u
 
Automotive architecture examples with EAST-ADL models
Automotive architecture examples with EAST-ADL modelsAutomotive architecture examples with EAST-ADL models
Automotive architecture examples with EAST-ADL models
Juha-Pekka Tolvanen
 
Industrial experiences on Domain-Specific Modeling
Industrial experiences on Domain-Specific ModelingIndustrial experiences on Domain-Specific Modeling
Industrial experiences on Domain-Specific Modeling
Juha-Pekka Tolvanen
 
Collaborative modeling and metamodeling in MetaEdit+
Collaborative modeling and metamodeling in MetaEdit+Collaborative modeling and metamodeling in MetaEdit+
Collaborative modeling and metamodeling in MetaEdit+
Juha-Pekka Tolvanen
 
Keynote at Code Generation 2014: The business cases of modeling and generators
Keynote at Code Generation 2014: The business cases of modeling and generatorsKeynote at Code Generation 2014: The business cases of modeling and generators
Keynote at Code Generation 2014: The business cases of modeling and generators
Juha-Pekka Tolvanen
 
Termokimia, sistem dan lingkungan
Termokimia, sistem dan lingkungan Termokimia, sistem dan lingkungan
Termokimia, sistem dan lingkungan
Tita Nur Amalah
 
20 examples on Domain-Specific Modeling Languages
20 examples on Domain-Specific Modeling Languages20 examples on Domain-Specific Modeling Languages
20 examples on Domain-Specific Modeling Languages
Juha-Pekka Tolvanen
 
What on earth am here for purpose driven life [autosaved]
What on earth am here for   purpose driven life [autosaved]What on earth am here for   purpose driven life [autosaved]
What on earth am here for purpose driven life [autosaved]
Arturo Tangal
 
Collaborative language engineering and language use: demo with MetaEdit+
Collaborative language engineering and language use: demo with MetaEdit+Collaborative language engineering and language use: demo with MetaEdit+
Collaborative language engineering and language use: demo with MetaEdit+
Juha-Pekka Tolvanen
 

Viewers also liked (12)

Luật cán bộ công chức
Luật cán bộ công chứcLuật cán bộ công chức
Luật cán bộ công chức
 
Garage Door Repair Duluth
Garage Door Repair DuluthGarage Door Repair Duluth
Garage Door Repair Duluth
 
Nghị định số 24/2014/NĐ-CP quy định tổ chức các cơ quan chuyên môn thuộc Ủy b...
Nghị định số 24/2014/NĐ-CP quy định tổ chức các cơ quan chuyên môn thuộc Ủy b...Nghị định số 24/2014/NĐ-CP quy định tổ chức các cơ quan chuyên môn thuộc Ủy b...
Nghị định số 24/2014/NĐ-CP quy định tổ chức các cơ quan chuyên môn thuộc Ủy b...
 
Quy định việc kiểm tra nhà nước về chất lượng hàng hóa nhập khẩu
Quy định việc kiểm tra nhà nước về chất lượng hàng hóa nhập khẩu Quy định việc kiểm tra nhà nước về chất lượng hàng hóa nhập khẩu
Quy định việc kiểm tra nhà nước về chất lượng hàng hóa nhập khẩu
 
Automotive architecture examples with EAST-ADL models
Automotive architecture examples with EAST-ADL modelsAutomotive architecture examples with EAST-ADL models
Automotive architecture examples with EAST-ADL models
 
Industrial experiences on Domain-Specific Modeling
Industrial experiences on Domain-Specific ModelingIndustrial experiences on Domain-Specific Modeling
Industrial experiences on Domain-Specific Modeling
 
Collaborative modeling and metamodeling in MetaEdit+
Collaborative modeling and metamodeling in MetaEdit+Collaborative modeling and metamodeling in MetaEdit+
Collaborative modeling and metamodeling in MetaEdit+
 
Keynote at Code Generation 2014: The business cases of modeling and generators
Keynote at Code Generation 2014: The business cases of modeling and generatorsKeynote at Code Generation 2014: The business cases of modeling and generators
Keynote at Code Generation 2014: The business cases of modeling and generators
 
Termokimia, sistem dan lingkungan
Termokimia, sistem dan lingkungan Termokimia, sistem dan lingkungan
Termokimia, sistem dan lingkungan
 
20 examples on Domain-Specific Modeling Languages
20 examples on Domain-Specific Modeling Languages20 examples on Domain-Specific Modeling Languages
20 examples on Domain-Specific Modeling Languages
 
What on earth am here for purpose driven life [autosaved]
What on earth am here for   purpose driven life [autosaved]What on earth am here for   purpose driven life [autosaved]
What on earth am here for purpose driven life [autosaved]
 
Collaborative language engineering and language use: demo with MetaEdit+
Collaborative language engineering and language use: demo with MetaEdit+Collaborative language engineering and language use: demo with MetaEdit+
Collaborative language engineering and language use: demo with MetaEdit+
 

Similar to Model level debugging and profiling, Code Generation Conference 2014

Ui Modeling In Action With PMF, e4(XWT) And EGF
Ui Modeling In Action With PMF, e4(XWT) And EGFUi Modeling In Action With PMF, e4(XWT) And EGF
Ui Modeling In Action With PMF, e4(XWT) And EGFBENOIT_LANGLOIS
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformationMajong DevJfu
 
Model-based Testing using Microsoft’s Spec Explorer Tool: A Case Study
Model-based Testing using Microsoft’s Spec Explorer Tool: A Case StudyModel-based Testing using Microsoft’s Spec Explorer Tool: A Case Study
Model-based Testing using Microsoft’s Spec Explorer Tool: A Case StudyDharmalingam Ganesan
 
DAE Tools 1.8.0 - Introduction
DAE Tools 1.8.0 - IntroductionDAE Tools 1.8.0 - Introduction
DAE Tools 1.8.0 - Introduction
Dragan Nikolić
 
Ovp Introduction Presentation (04 Feb 10)
Ovp Introduction Presentation (04 Feb 10)Ovp Introduction Presentation (04 Feb 10)
Ovp Introduction Presentation (04 Feb 10)simon56
 
FABLES IME - Agent-Based Modeling environment
FABLES IME - Agent-Based Modeling environmentFABLES IME - Agent-Based Modeling environment
FABLES IME - Agent-Based Modeling environmentRichard Oliver Legendi
 
Climberreport
ClimberreportClimberreport
Climberreport
LuckyTolani1
 
Handalian shelkey mobile-presentation_upa_2010
Handalian shelkey mobile-presentation_upa_2010Handalian shelkey mobile-presentation_upa_2010
Handalian shelkey mobile-presentation_upa_2010
Lisa Renery Handalian
 
What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !
Cédric Brun
 
Continuous Integration to Shift Left Testing Across the Enterprise Stack
Continuous Integration to Shift Left Testing Across the Enterprise StackContinuous Integration to Shift Left Testing Across the Enterprise Stack
Continuous Integration to Shift Left Testing Across the Enterprise Stack
DevOps.com
 
Testing SharePoint solutions overview
Testing SharePoint solutions overviewTesting SharePoint solutions overview
Testing SharePoint solutions overviewSpiffy
 
Solving the Automation Puzzle - how to select the right automation framework ...
Solving the Automation Puzzle - how to select the right automation framework ...Solving the Automation Puzzle - how to select the right automation framework ...
Solving the Automation Puzzle - how to select the right automation framework ...
Ori Bendet
 
DAE Tools 1.8.0 - Overview
DAE Tools 1.8.0 - OverviewDAE Tools 1.8.0 - Overview
DAE Tools 1.8.0 - Overview
Dragan Nikolić
 
DSD-INT 2014 - OpenMI Symposium - Federated modelling of Critical Infrastruct...
DSD-INT 2014 - OpenMI Symposium - Federated modelling of Critical Infrastruct...DSD-INT 2014 - OpenMI Symposium - Federated modelling of Critical Infrastruct...
DSD-INT 2014 - OpenMI Symposium - Federated modelling of Critical Infrastruct...
Deltares
 
Mobile applications and automation testing
Mobile applications and automation testingMobile applications and automation testing
Mobile applications and automation testing
IndicThreads
 
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
Arti Parab Academics
 

Similar to Model level debugging and profiling, Code Generation Conference 2014 (20)

Ui Modeling In Action With PMF, e4(XWT) And EGF
Ui Modeling In Action With PMF, e4(XWT) And EGFUi Modeling In Action With PMF, e4(XWT) And EGF
Ui Modeling In Action With PMF, e4(XWT) And EGF
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation
 
6
66
6
 
Model-based Testing using Microsoft’s Spec Explorer Tool: A Case Study
Model-based Testing using Microsoft’s Spec Explorer Tool: A Case StudyModel-based Testing using Microsoft’s Spec Explorer Tool: A Case Study
Model-based Testing using Microsoft’s Spec Explorer Tool: A Case Study
 
DAE Tools 1.8.0 - Introduction
DAE Tools 1.8.0 - IntroductionDAE Tools 1.8.0 - Introduction
DAE Tools 1.8.0 - Introduction
 
Ovp Introduction Presentation (04 Feb 10)
Ovp Introduction Presentation (04 Feb 10)Ovp Introduction Presentation (04 Feb 10)
Ovp Introduction Presentation (04 Feb 10)
 
FABLES IME - Agent-Based Modeling environment
FABLES IME - Agent-Based Modeling environmentFABLES IME - Agent-Based Modeling environment
FABLES IME - Agent-Based Modeling environment
 
Climberreport
ClimberreportClimberreport
Climberreport
 
Handalian shelkey mobile-presentation_upa_2010
Handalian shelkey mobile-presentation_upa_2010Handalian shelkey mobile-presentation_upa_2010
Handalian shelkey mobile-presentation_upa_2010
 
What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !What the heck is Eclipse Modeling and why should you care !
What the heck is Eclipse Modeling and why should you care !
 
Continuous Integration to Shift Left Testing Across the Enterprise Stack
Continuous Integration to Shift Left Testing Across the Enterprise StackContinuous Integration to Shift Left Testing Across the Enterprise Stack
Continuous Integration to Shift Left Testing Across the Enterprise Stack
 
Testing SharePoint solutions overview
Testing SharePoint solutions overviewTesting SharePoint solutions overview
Testing SharePoint solutions overview
 
Solving the Automation Puzzle - how to select the right automation framework ...
Solving the Automation Puzzle - how to select the right automation framework ...Solving the Automation Puzzle - how to select the right automation framework ...
Solving the Automation Puzzle - how to select the right automation framework ...
 
DAE Tools 1.8.0 - Overview
DAE Tools 1.8.0 - OverviewDAE Tools 1.8.0 - Overview
DAE Tools 1.8.0 - Overview
 
DSD-INT 2014 - OpenMI Symposium - Federated modelling of Critical Infrastruct...
DSD-INT 2014 - OpenMI Symposium - Federated modelling of Critical Infrastruct...DSD-INT 2014 - OpenMI Symposium - Federated modelling of Critical Infrastruct...
DSD-INT 2014 - OpenMI Symposium - Federated modelling of Critical Infrastruct...
 
Mobile applications and automation testing
Mobile applications and automation testingMobile applications and automation testing
Mobile applications and automation testing
 
CV_AmalMandal
CV_AmalMandalCV_AmalMandal
CV_AmalMandal
 
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
EMBEDDED SYSTEMS SYBSC IT SEM IV UNIT V Embedded Systems Integrated Developme...
 
Resume_Sameer Parihar
Resume_Sameer PariharResume_Sameer Parihar
Resume_Sameer Parihar
 
Khushboo_Resume
Khushboo_ResumeKhushboo_Resume
Khushboo_Resume
 

More from Juha-Pekka Tolvanen

What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
Juha-Pekka Tolvanen
 
How to formalize a ubiquitous language into a domain-specific language.pdf
How to formalize a ubiquitous language into a domain-specific language.pdfHow to formalize a ubiquitous language into a domain-specific language.pdf
How to formalize a ubiquitous language into a domain-specific language.pdf
Juha-Pekka Tolvanen
 
Measuring Productivity from Model-Based Development
Measuring Productivity from Model-Based DevelopmentMeasuring Productivity from Model-Based Development
Measuring Productivity from Model-Based Development
Juha-Pekka Tolvanen
 
How domain specific modeling languages address variability: investigation of ...
How domain specific modeling languages address variability: investigation of ...How domain specific modeling languages address variability: investigation of ...
How domain specific modeling languages address variability: investigation of ...
Juha-Pekka Tolvanen
 
Effort Used to Create Domain-Specific Modeling Languages
Effort Used to Create Domain-Specific Modeling LanguagesEffort Used to Create Domain-Specific Modeling Languages
Effort Used to Create Domain-Specific Modeling Languages
Juha-Pekka Tolvanen
 
Automating safety engineering with model based techniques
Automating safety engineering with model based techniquesAutomating safety engineering with model based techniques
Automating safety engineering with model based techniques
Juha-Pekka Tolvanen
 

More from Juha-Pekka Tolvanen (6)

What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
How to formalize a ubiquitous language into a domain-specific language.pdf
How to formalize a ubiquitous language into a domain-specific language.pdfHow to formalize a ubiquitous language into a domain-specific language.pdf
How to formalize a ubiquitous language into a domain-specific language.pdf
 
Measuring Productivity from Model-Based Development
Measuring Productivity from Model-Based DevelopmentMeasuring Productivity from Model-Based Development
Measuring Productivity from Model-Based Development
 
How domain specific modeling languages address variability: investigation of ...
How domain specific modeling languages address variability: investigation of ...How domain specific modeling languages address variability: investigation of ...
How domain specific modeling languages address variability: investigation of ...
 
Effort Used to Create Domain-Specific Modeling Languages
Effort Used to Create Domain-Specific Modeling LanguagesEffort Used to Create Domain-Specific Modeling Languages
Effort Used to Create Domain-Specific Modeling Languages
 
Automating safety engineering with model based techniques
Automating safety engineering with model based techniquesAutomating safety engineering with model based techniques
Automating safety engineering with model based techniques
 

Recently uploaded

A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
Google
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Game Development with Unity3D (Game Development lecture 3)
Game Development  with Unity3D (Game Development lecture 3)Game Development  with Unity3D (Game Development lecture 3)
Game Development with Unity3D (Game Development lecture 3)
abdulrafaychaudhry
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
Fermin Galan
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 

Recently uploaded (20)

A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Game Development with Unity3D (Game Development lecture 3)
Game Development  with Unity3D (Game Development lecture 3)Game Development  with Unity3D (Game Development lecture 3)
Game Development with Unity3D (Game Development lecture 3)
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604Orion Context Broker introduction 20240604
Orion Context Broker introduction 20240604
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 

Model level debugging and profiling, Code Generation Conference 2014

  • 1. 11 April 2014 Juha-Pekka Tolvanen Supporting Debugging and Profiling on the Model Level
  • 2. Code is now generated, what next? 1. Autobuild 2. Animating models 3. Debugging on the model level 4. Profiling on the model level 5. Simulator/monitor application 6. Coverage shown in models 7. Models updated/changed 8. + …
  • 3. 1. Autobuild  Directly from model to execution for all developers, hiding – libraries – build scripts – compiler calls – simulator calls – tool chains – paths settings, moving files etc. other repeated parts  Parameters for autobuild set separately for tools, paths, platforms – often part of the language itself • Android app demo (generate, build, use simulator & run)
  • 4. 2. Animating  Highlight model elements during application execution: demonstration
  • 5. 2. Animating: Design flow  Animate execution in PC or animate execution in real target device – Sample*  Considerations for animation support: – What makes sense to animate (vary on languages) – Distribution • Is execution and animation running in the same machine – How often to animate  Generator for production and generator for animation can be the same – Animation in the framework rather than in generator Safa, L,. The Making Of User-Interface Designer, 7th DSM Workshop at OOPSLA
  • 6. 3. Debugging  Obviously all IDE features are available but.... … does it make sense to debug the generated code? – By others than generator developer?  Debug instead directly in the model – Provide functionality (demo) • Add breakpoint to the language • Provide framework • Make generator – Use the created model debug functionality (demo) • Set breakpoint • Run generator
  • 7. Examples with breakpoints  Two breakpoints added ( )
  • 8. 4. Profiling  Update models with the relevant execution information  Use the original source model or a copy of it: demo Djukić, V., et al. Model Execution: An Approach based on extending Domain-Specific Modeling with Action Reports, ComSIS Vol. 10, No. 4, Special Issue, 2013
  • 9. 4. Profiling  Considerations for profiling support: – Decide what kind of data/variable values to be shown – Show data in the original “source” model or in copy of it? – Show data in modeling tool or in run-time environment/external simulator? • In modeling tool: – Use as derived values or be persistent (store in models) • In run-time environment/simulator: – Run-time environment calls modeling tool to update models – Modeling on ”hot”: run-time asks from modeling tool if things has changed and runs generators again
  • 10. 5. With generated simulators  An application showing execution data Monitoring motor State of the app
  • 11. 5. With generated simulators  A separate application showing variables values: demo Djukić, V., et al. Domain-Specific Modeling Languages for Medical Device Development, embedded.com, 2014
  • 12. 5. With generated simulators  Monitor (domain-) specific parts: here clamp controls
  • 13. 5. With existing simulators [1/2]  Translate your model to existing simulation tools (demo)
  • 14. 5. With existing simulators [2/2]  Translate your model to existing simulation tools (demo)
  • 15. 6. Coverage  Highlight several elements, paths visited, failure propagation etc. (demo)
  • 16. 7. Update models  Update models with persistent data, show results during execution/analysis directly in model – Example on simulating performance (demonstration) Vatjus-Anttila, J., et al. Domain-specific front-end for virtual system modeling, ECFMA Workshop on Graphical Modeling Language Development, Denmark, 2012
  • 17. Use generators for others than code  Example: Hofernet PISCAS use heavily generators Leitner, A., et al. Effective development of automation systems through domain-specific modeling in a small enterprise context, Journal Software and Systems Modeling (SoSyM), Volume 13, Issue 1, 2014
  • 18. After generating code: 1. Autobuild 2. Other than code (single source, multiple targets) 3. Simulator/monitor application 4. Animating models 5. Debugging on the model level 6. Profiling on the model level 7. Models updated/changed 8. Coverage shown in models
  • 19. Questions, please? For details of the described examples contact: jpt@metacase.com