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
Headless engine user guide IconeGemocModel 16
Headless engine overview
1. Eclipse specific options overview
2. GemocStudioHeadless options overview
Prepare language
1. Create deployable jars using Eclipse UI
2. Create deployable jars using Maven
Install language
1. Installing jars in dropins folder
2. Installing jars using the p2 director
3. Installing jars using the --installLanguage option
4. Debugging language deployment issues
Run model
1. Example: Install K3FSM language in GEMOC headless and run a sample model
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
MelangeK3FSM Sequential example
1. Presentation
2. Installation
3. Language structure overview
4. DIY
MelangeK3FSM Sequential example
1. Presentation
2. Installation
3. Language structure overview
4. DIY
MOCCML SigPML Example
1. Presentation
2. Installation
2.1. Installing using the example deployer wizard
2.2. Installing from git
3. Language Designer documentation IconeGemocLanguage 16
3.1. Organization of the code
3.2. Overview of the metamodel
4. Model Designer documentation IconeGemocModel 16
5. Additional resources and related links
Developer Guide
General architecture
Components documentation
1. Commons
2. Simulation model animation framework
2.1. Debugger
2.2. Debug model presentation
3. GEMOC framework
3.1. Execution Framework
3.1.1. Execution Framework Debugger
3.1.2. Debug model presentation
3.2. Framework Commons
3.3. XDSML Framework
4. Trace framework
5. Execution engines
5.1. Java Execution
5.1.1. Java XDSML
5.1.2. Java Engine
5.2. ALE Execution
5.2.1. ALE XDSML
5.2.2. ALE Interpreted 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. Language relations, packages and classes view.
43. SigPML metamodel overview
44. Agents in SigPML metamodel
45. HW Resources in SigPML metamodel
46. GEMOC Studio General Architecture - Main Features
47. Components overview
48. Base debugger presentation overview
49. Base debug model presentation overview
50. ExecutionEngine overview
51. ExecutionEngine typical flow
52. Execution framework debugger overview
53. Execution framework debug model presentation overview
54. Execution Framework API Interfaces overview
55. PlainK3ExecutionEngine overview
56. ExecutionEngine typical flow
57. ALE Interpreter ExecutionEngine overview
58. New Extension for Engine Addon screenshot
59. EngineAddon extension point details screenshot
60. Add language specific Engine Addon on DSL