GEMOC Studio Documentation


Navigation overview

[1]

Shortcut to main activities in the user guide sections:

Table of Contents

Introduction
1. Language Workbench overview IconeGemocLanguage 16
2. Modeling workbench overview IconeGemocModel 16
3. General concerns and prerequisite
Language workbench user guide IconeGemocLanguage 16
Language workbench overview
Create a language / Define syntaxes
1. xDSML project (TODO rename GEMOC Project)
1.1. Purpose
1.2. Creating the xDSML Project
1.3. Editing the xDSML Project
1.4. xDSML perspective
1.5. GEMOC Language menu
1.6. Melange menu
1.7. Melange editor
1.7.1. Syntax
1.7.2. Content assist
1.7.3. Outline
1.7.4. Plugin.xml
2. Define a domain model project
2.1. Purpose
2.2. Creating the Domain Model Project
2.3. Editing the Domain Model Project
3. Define a concrete syntax
3.1. Defining a Concrete Syntax with Xtext
3.2. Defining a Concrete Syntax with Sirius
3.3. Defining a Concrete Syntax with EMF
Make language executable
1. Make a sequential executable language
1.1. Defining the Domain-Specific Actions (DSA) Project for Sequential language
1.1.1. Purpose
1.1.2. Creating the DSA Project
1.1.3. Editing the DSA Project
1.1.3.1. Defining the Execution Data
1.1.3.2. Defining the Execution Functions
1.1.3.3. Defining the control flow
1.1.3.4. Defining the entry point
1.2. Defining the initialization function
2. Make a concurrent executable language
2.1. Defining the Domain-Specific Actions (DSA) Project for concurrent language
2.1.1. Purpose
2.1.2. Creating the DSA Project
2.1.3. Editing the DSA Project
2.1.3.1. Defining the Execution Data
2.1.3.2. Defining the Execution Functions
2.1.4. Defining the initialization function
2.1.5. Testing the Domain-Specific Actions
2.2. Defining a Model of Concurrency and Communication (MoCC)
2.2.1. Introduction
2.2.2. The ECL approach to identify DSE and constraints
2.2.2.1. Overview of ECL
2.2.2.2. Creation of an ECL model GEMOC Studio
2.2.2.3. How to use ECL
2.2.3. The MoCCML approach to define constraints
2.2.3.1. Creating a MoCCML model in the GEMOC Studio
2.2.3.2. Overview de MoCCML
2.2.3.3. Presentation of the MoCCML Editor
2.2.3.4. Example-Driven use of MoCCML
Provide language with tools
1. Define model debug support
1.1. Define model debug step information
1.2. Define model debug RTD information
1.3. Defining MultiDimentional Trace support
2. Define editor specific debug support
2.1. Define a debug representation and commands for Sirius
2.1.1. The debug representation wizard
2.1.1.1. Create a debug diagram description
2.1.1.2. Extend an existing diagram description
2.1.1.3. Add a debug layer to an existing diagram description
2.1.2. Implementation details
2.1.2.1. Debugger services
2.1.2.2. Debug layer
3. Define model animation
3.1. Define an animation representation for Sirius
3.2. Define an animation representation using an engine addon
3.3. Define an animation representation using calls in the semantics
4. Exhaustive Exploration and Verification at Language Design Time
4.1. Generating inputs for Exhaustive Exploration tools : T1 at Language Level
Define composition of languages
1. Coordination of Languages with BCOoL
1.1. What is BCOoL?
1.2. Deploy a BCOoL project by using the wizard
1.3. Create a BCOoL project from scratch
Deploy language
1. Deployment of languages for the Language designer
2. Distribution of languages to the Model designer
Modeling workbench User Guide IconeGemocModel 16
Modeling workbench overview
Edit models
1. Editing model with Sirius
1.1. Debug specific
2. Editing model with EMF Tree Editor
3. Editing model with XText
Execute, animate and debug models
1. Execute a model
1.1. Launch a model execution
1.1.1. Sequential Engine Launch Configuration
1.1.1.1. Sequential general options
1.1.1.2. Sequential Run mode
1.1.1.3. Sequential Debug mode
1.1.2. Concurrent Launch configuration
1.1.2.1. Concurrent General options
1.1.2.2. Concurrent Run mode
1.1.2.3. Concurrent Debug mode
1.2. Configure engines addons (Frontend/backend)
1.3. Control engine execution
1.3.1. Engine View
1.3.1.1. CCSLJava addition to Engine View
1.3.2. Logical step view
1.3.3. Stimuli manager view
2. Animate a model
2.1. Animate a model using representation provided by Sirius
2.2. Animate a model using representation provided an engine addon
2.3. Animate a model using representation provided by semantics calls
3. Debug a model
3.1. Debug view
3.2. Variables view
3.3. Breakpoints view
3.4. Debug commands
3.5. Timelines
3.5.1. Multidimentional timeline view
3.5.1.1. Java engine specific support for multidimentional timeline
3.5.2. Multibranch timeline view
3.5.2.1. Java engine specific support for multibranch timeline
3.5.3. Timeline diff view
3.5.4. Timeline diff view
3.6. Editor debug integration
3.6.1. Sirius specific debug integration
3.6.2. Xtext specific debug integration
Coordinate models
1. Coordinating Model Execution with BCOoL
1.1. Deploy an example project by using the wizard
1.2. Description of a BFloW specification
1.2.1. Launching the coordinated execution
V&V and other tools
1. Exhaustive Exploration and Verification at Model Design Time
1.1. Generating inputs for Exhaustive Exploration tools : T2 at Modeling Level
1.2. ClockSystem
1.2.1. Description
1.2.2. Using ClockSystem
1.3. Defining Properties
1.3.1. Expressing Properties (CDL Formalization)
1.3.2. OBP example
Tutorials
Tuto 1
Examples
K3FSM Example
1. Presentation
2. Installation
3. Language structure overview
4. DIY
4.1. Create the Language project
4.2. Create the Domain concepts
4.3. Add Semantics data and Tree Editor
4.4. Add Textual Editor
4.5. Add Semantics operations
4.6. Add Graphical Editor
4.7. Add Animation and Debug capabilities to the graphical editor
LegacyFSM Sequential example
1. Presentation
2. Intallation
3. Language structure overview
4. DIY
Developer Guide
General architecture
Components documentation
1. Commons
2. GEMOC framework
2.1. Execution Framework
2.2. Framework Commons
2.3. XDSML Framework
3. Simulation model animation framework
4. Trace framework
5. Execution engines
5.1. Java Execution
5.1.1. Java XDSML
5.1.2. Java Engine
Contributing
1. Compilation of the complete GEMOC Studio
1.1. Introduction
1.2. Usage
1.3. Advanced usage using docker
1.3.1. Description of the docker env
2. Developing new features
2.1. Developing new Addons
2.2. Developing new engines
3. Distributing new features
4. Documentation
Appendix
Bibliography
Glossary
1. Index
Index

List of Figures

1. Gemoc Workbenches Global Picture
2. Screenshot of the GEMOC Language Workbench showing the design of a Timed Finite State Machine (TFSM) example.
3. Screenshot of the First graphical level of Edition in MoCCML.
4. Screenshot of the Second graphical level of Edition in MoCCML (Constraint Implementation).
5. Model debug RTD using aspect annotation in k3fsm.ecore.
6. Aspect annotation effect in Modeling workbench.
7. Add language specific Engine Addon on DSL
8. The exploration and verification flow in Gemoc
9. Using T1 Tranformation
10. Overview of the approach.
11. Wizard of the examples of coordination.
12. Windows Problems when languages are not correctly deployed.
13. Correct deployment of languages and BCOoL operators in the language workbench.
14. Runtime workbench launch configuration
15. Screenshot of GEMOC Studio Modeling Workbench on the TFSM example (execution and animation).
16. Selection of addons in the launch configuration tab
17. Engine View
18. CCSLJava addition to Engine View
19. Manual activation/deactivation of a Sirius animation layer
20. Example of Sirius animation on a FSM DSL.
21. Debug view
22. Debug and Variable views with the sequential engine
23. Breakpoints view
24. Omniscient debug commands overview
25. Multibranch timeline with Java engine
26. Sirius debug stack highlighting
27. Xtext debug stack highlighting
28. Wizard of the examples of coordination for the modeling workbench.
29. BFLoW specification of the coffee machine by using the TFSM and SigPML languages.
30. Debug Configuration of the Gemoc Coordinated eXecutable Models.
31. Debug Configuration of the Gemoc Coordinated eXecutable Models with launchers.
32. Step by step execution of the coordinated models.
33. Xdsml Wizard
34. Discovery
35. Discovery Components
36. Discovery Clocksystem
37. Approve licensing
38. Exploration Graph for an Instance
39. K3FSM Metamodel classes and K3 aspects classes.
40. FSM Syntaxic domain.
41. Language relations, packages and classes view.
42. GEMOC Studio General Architecture - Main Features
43. Components overview
44. ExecutionEngine overview
45. ExecutionEngine typical flow
46. Execution Framework API Interfaces overview
47. PlainK3ExecutionEngine overview
48. ExecutionEngine typical flow
49. New Extension for Engine Addon screenshot
50. EngineAddon extension point details screenshot
51. Add language specific Engine Addon on DSL