Execution Framework of the GEMOC Studio (Tool demo) Erwan Bousse 1 - - PowerPoint PPT Presentation

execution framework of the gemoc studio tool demo
SMART_READER_LITE
LIVE PREVIEW

Execution Framework of the GEMOC Studio (Tool demo) Erwan Bousse 1 - - PowerPoint PPT Presentation

Context The GEMOC Studio execution framework Demo Conclusion Execution Framework of the GEMOC Studio (Tool demo) Erwan Bousse 1 Thomas Degueule 2 Didier Vojtisek 2 Tanja Mayerhofer 1 Julien Deantoni 3 Benoit Combemale 2 1 TU Wien (Austria) 2


slide-1
SLIDE 1

Context The GEMOC Studio execution framework Demo Conclusion

Execution Framework of the GEMOC Studio (Tool demo)

Erwan Bousse 1 Thomas Degueule 2 Didier Vojtisek 2 Tanja Mayerhofer 1 Julien Deantoni 3 Benoit Combemale 2

1TU Wien (Austria) 2Université Rennes 1 (France) 3Université Côte d’Azur, I3S (France)

October 30, 2016

Bousse, Degueule, Vojtisek, Mayerhofer, Deantoni, Combemale Execution Framework of the GEMOC Studio 1/7

slide-2
SLIDE 2

Context The GEMOC Studio execution framework Demo Conclusion

Generic syntactic services for DSMLs

Many language workbenches to define Domain-specific Modeling Languages (DSMLs) Generic advanced syntactical services provided by various frameworks (Xtext, Sirius, etc.):

– editors, parsers, syntax highlighting, auto completion, “quick fix” suggestion systems, etc. – no implementation from scratch

On-going work on a Language Server Protocol supported by big actors (Red Hat, Microsoft) for a standard unified interface for syntactic services

Bousse, Degueule, Vojtisek, Mayerhofer, Deantoni, Combemale Execution Framework of the GEMOC Studio 2/7

slide-3
SLIDE 3

Context The GEMOC Studio execution framework Demo Conclusion

Generic syntactic services for DSMLs

Many language workbenches to define Domain-specific Modeling Languages (DSMLs) Generic advanced syntactical services provided by various frameworks (Xtext, Sirius, etc.):

– editors, parsers, syntax highlighting, auto completion, “quick fix” suggestion systems, etc. – no implementation from scratch

On-going work on a Language Server Protocol supported by big actors (Red Hat, Microsoft) for a standard unified interface for syntactic services

Bousse, Degueule, Vojtisek, Mayerhofer, Deantoni, Combemale Execution Framework of the GEMOC Studio 2/7

slide-4
SLIDE 4

Context The GEMOC Studio execution framework Demo Conclusion

Towards generic runtime services?

Problem: services at runtime remain mostly handcrafted for each DSML, eg.:

– interactive debugging – trace management – runtime monitoring

How to capitalize logic of runtime services. . .

– RQ1: among different DSMLs? – RQ2: among different metaprogramming approaches used for defining semantics?

Bousse, Degueule, Vojtisek, Mayerhofer, Deantoni, Combemale Execution Framework of the GEMOC Studio 3/7

slide-5
SLIDE 5

Context The GEMOC Studio execution framework Demo Conclusion

Overview of the GEMOC execution framework

Xtext

Core classes of the framework: IExecutionEngine IExecutionAddon AbstractExecutionEngine Core mechanism: addons are notified of execution steps, and can access the running model

Bousse, Degueule, Vojtisek, Mayerhofer, Deantoni, Combemale Execution Framework of the GEMOC Studio 4/7

slide-6
SLIDE 6

Context The GEMOC Studio execution framework Demo Conclusion

Overview of the GEMOC execution framework

Xtext

Core classes of the framework: IExecutionEngine IExecutionAddon AbstractExecutionEngine Core mechanism: addons are notified of execution steps, and can access the running model

Bousse, Degueule, Vojtisek, Mayerhofer, Deantoni, Combemale Execution Framework of the GEMOC Studio 4/7

slide-7
SLIDE 7

Context The GEMOC Studio execution framework Demo Conclusion

Overview of the GEMOC execution framework

Xtext

Core classes of the framework: IExecutionEngine IExecutionAddon AbstractExecutionEngine Core mechanism: addons are notified of execution steps, and can access the running model

Bousse, Degueule, Vojtisek, Mayerhofer, Deantoni, Combemale Execution Framework of the GEMOC Studio 4/7

slide-8
SLIDE 8

Context The GEMOC Studio execution framework Demo Conclusion

Overview of the GEMOC execution framework

Xtext

Core classes of the framework: IExecutionEngine IExecutionAddon AbstractExecutionEngine Core mechanism: addons are notified of execution steps, and can access the running model

Bousse, Degueule, Vojtisek, Mayerhofer, Deantoni, Combemale Execution Framework of the GEMOC Studio 4/7

slide-9
SLIDE 9

Context The GEMOC Studio execution framework Demo Conclusion

Current components implemented with the framework

Metaprogramming approaches (and associated engines): Java (or Java-based) xMOF Java+MoCCML (concurrency) BCOol (coordination of models) Runtime addons: Graphical animator (using Sirius) Execution trace management Sequential omniscient debugger Concurrent omniscient debugger VCD, Stimuli manager, step decider

Bousse, Degueule, Vojtisek, Mayerhofer, Deantoni, Combemale Execution Framework of the GEMOC Studio 5/7

slide-10
SLIDE 10

Context The GEMOC Studio execution framework Demo Conclusion

Current components implemented with the framework

Metaprogramming approaches (and associated engines): Java (or Java-based) xMOF Java+MoCCML (concurrency) BCOol (coordination of models) Runtime addons: Graphical animator (using Sirius) Execution trace management Sequential omniscient debugger Concurrent omniscient debugger VCD, Stimuli manager, step decider

Bousse, Degueule, Vojtisek, Mayerhofer, Deantoni, Combemale Execution Framework of the GEMOC Studio 5/7

slide-11
SLIDE 11

Context The GEMOC Studio execution framework Demo Conclusion

Current components implemented with the framework

Metaprogramming approaches (and associated engines): Java (or Java-based) xMOF Java+MoCCML (concurrency) BCOol (coordination of models) Runtime addons: Graphical animator (using Sirius) Execution trace management Sequential omniscient debugger Concurrent omniscient debugger VCD, Stimuli manager, step decider

Bousse, Degueule, Vojtisek, Mayerhofer, Deantoni, Combemale Execution Framework of the GEMOC Studio 5/7

slide-12
SLIDE 12

Context The GEMOC Studio execution framework Demo Conclusion

Current components implemented with the framework

Metaprogramming approaches (and associated engines): Java (or Java-based) xMOF Java+MoCCML (concurrency) BCOol (coordination of models) Runtime addons: Graphical animator (using Sirius) Execution trace management Sequential omniscient debugger Concurrent omniscient debugger VCD, Stimuli manager, step decider

Bousse, Degueule, Vojtisek, Mayerhofer, Deantoni, Combemale Execution Framework of the GEMOC Studio 5/7

slide-13
SLIDE 13

Context The GEMOC Studio execution framework Demo Conclusion

Current components implemented with the framework

Metaprogramming approaches (and associated engines): Java (or Java-based) xMOF Java+MoCCML (concurrency) BCOol (coordination of models) Runtime addons: Graphical animator (using Sirius) Execution trace management Sequential omniscient debugger Concurrent omniscient debugger VCD, Stimuli manager, step decider

Bousse, Degueule, Vojtisek, Mayerhofer, Deantoni, Combemale Execution Framework of the GEMOC Studio 5/7

slide-14
SLIDE 14

Context The GEMOC Studio execution framework Demo Conclusion

Demo

“Talk is cheap. Show me the code.” Linus Torvalds

Bousse, Degueule, Vojtisek, Mayerhofer, Deantoni, Combemale Execution Framework of the GEMOC Studio 6/7

slide-15
SLIDE 15

Context The GEMOC Studio execution framework Demo Conclusion

Conclusion

Sharing of syntactic services in good shape (Xtext, Language Protocol, etc.) But poor sharing of runtime services among metaprog methods and DSMLs Our proposal: the GEMOC execution framework, to integrate generically runtime services independently from metaprogramming approaches and DSMLs Eclipse Research Consortium GEMOC: sustains the GEMOC studio as a research platform to experiment on the globalization

  • f, possibly executable and heterogeneous, modeling languages

Contributors are welcome! (eg. new metaprog. approaches) http://gemoc.org/ https://github.com/gemoc/

Bousse, Degueule, Vojtisek, Mayerhofer, Deantoni, Combemale Execution Framework of the GEMOC Studio 7/7