GEMOC Studio Documentation


Navigation overview

[1]

Shortcut to main activities in the user guide sections:

Gemoc Workbenches Global Picture

Table of Contents

Introduction
1. Language Workbench overview IconeGemocLanguage 16
2. Modeling workbench overview IconeGemocModel 16
3. General concerns and prerequisite
I. Language workbench user guide IconeGemocLanguage 16
1. Language workbench overview
2. Create a language / Define syntaxes
2.1. xDSML project (TODO rename GEMOC Project)
2.1.1. Purpose
2.1.2. Creating the xDSML Project
2.1.3. Editing the xDSML Project
2.1.4. xDSML perspective
2.1.5. GEMOC Language menu
2.1.6. Melange menu
2.1.7. Melange editor
2.1.7.1. Syntax
2.1.7.2. Content assist
2.1.7.3. Outline
2.1.7.4. Plugin.xml
2.2. Define a domain model project
2.2.1. Purpose
2.2.2. Creating the Domain Model Project
2.2.3. Editing the Domain Model Project
2.3. Define a concrete syntax
2.3.1. Defining a Concrete Syntax with Xtext
2.3.2. Defining a Concrete Syntax with Sirius
2.3.3. Defining a Concrete Syntax with EMF
3. Make language executable
3.1. Make a sequential executable language
3.1.1. Defining the Domain-Specific Actions (DSA) Project for Sequential language
3.1.1.1. Purpose
3.1.1.2. Creating the DSA Project
3.1.1.3. Editing the DSA Project
3.1.1.3.1. Defining the Execution Data
3.1.1.3.2. Defining the Execution Functions
3.1.1.3.3. Defining the control flow
3.1.1.3.4. Defining the entry point
3.1.2. Defining the initialization function
3.2. Make a concurrent executable language
3.2.1. Defining the Domain-Specific Actions (DSA) Project for concurrent language
3.2.1.1. Purpose
3.2.1.2. Creating the DSA Project
3.2.1.3. Editing the DSA Project
3.2.1.3.1. Defining the Execution Data
3.2.1.3.2. Defining the Execution Functions
3.2.1.4. Defining the initialization function
3.2.1.5. Testing the Domain-Specific Actions
3.2.2. Defining a Model of Concurrency and Communication (MoCC)
3.2.2.1. Introduction
3.2.2.2. The ECL approach to identify DSE and constraints
3.2.2.2.1. Overview of ECL
3.2.2.2.2. Creation of an ECL model GEMOC Studio
3.2.2.2.3. How to use ECL
3.2.2.3. The MoCCML approach to define constraints
3.2.2.3.1. Creating a MoCCML model in the GEMOC Studio
3.2.2.3.2. Overview de MoCCML
3.2.2.3.3. Presentation of the MoCCML Editor
3.2.2.3.4. Example-Driven use of MoCCML
4. Provide language with tools
4.1. Define model debug support
4.1.1. Define model debug step information
4.1.2. Define model debug RTD information
4.1.3. Defining MultiDimentional Trace support
4.2. Define editor specific debug support
4.2.1. Define a debug representation and commands for Sirius
4.2.1.1. The debug representation wizard
4.2.1.1.1. Create a debug diagram description
4.2.1.1.2. Extend an existing diagram description
4.2.1.1.3. Add a debug layer to an existing diagram description
4.2.1.2. Implementation details
4.2.1.2.1. Debugger services
4.2.1.2.2. Debug layer
4.3. Define model animation
4.3.1. Define an animation representation for Sirius
4.3.2. Define an animation representation using an engine addon
4.3.3. Define an animation representation using calls in the semantics
4.4. Exhaustive Exploration and Verification at Language Design Time
4.4.1. Generating inputs for Exhaustive Exploration tools : T1 at Language Level
5. Define composition of languages
5.1. Coordination of Languages with BCOoL
5.1.1. What is BCOoL?
5.1.2. Deploy a BCOoL project by using the wizard
5.1.3. Create a BCOoL project from scratch
6. Deploy language
6.1. Deployment of languages for the Language designer
6.2. Distribution of languages to the Model designer
II. Modeling workbench user guide IconeGemocModel 16
7. Modeling workbench overview
8. Edit models
8.1. Editing model with Sirius
8.1.1. Debug specific
8.2. Editing model with EMF Tree Editor
8.3. Editing model with XText
9. Execute, animate and debug models
9.1. Execute a model
9.1.1. Launch a model execution
9.1.1.1. Sequential Engine Launch Configuration
9.1.1.1.1. Sequential general options
9.1.1.1.2. Sequential Run mode
9.1.1.1.3. Sequential Debug mode
9.1.1.2. Concurrent Launch configuration
9.1.1.2.1. Concurrent General options
9.1.1.2.2. Concurrent Run mode
9.1.1.2.3. Concurrent Debug mode
9.1.2. Configure engines addons (Frontend/backend)
9.1.3. Control engine execution
9.1.3.1. Engine View
9.1.3.1.1. CCSLJava addition to Engine View
9.1.3.2. Logical step view
9.1.3.3. Stimuli manager view
9.2. Animate a model
9.2.1. Animate a model using representation provided by Sirius
9.2.2. Animate a model using representation provided an engine addon
9.2.3. Animate a model using representation provided by semantics calls
9.3. Debug a model
9.3.1. Debug view
9.3.2. Variables view
9.3.3. Breakpoints view
9.3.4. Debug commands
9.3.5. Timelines
9.3.5.1. Multidimentional timeline view
9.3.5.1.1. Java engine specific support for multidimentional timeline
9.3.5.2. Multibranch timeline view
9.3.5.2.1. Java engine specific support for multibranch timeline
9.3.5.3. Timeline diff view
9.3.5.4. Timeline diff view
9.3.6. Editor debug integration
9.3.6.1. Sirius specific debug integration
9.3.6.2. Xtext specific debug integration
10. Coordinate models
10.1. Coordinating Model Execution with BCOoL
10.1.1. Deploy an example project by using the wizard
10.1.2. Description of a BFloW specification
10.1.2.1. Launching the coordinated execution
11. V&V and other tools
11.1. Exhaustive Exploration and Verification at Model Design Time
11.1.1. Generating inputs for Exhaustive Exploration tools : T2 at Modeling Level
11.1.2. ClockSystem
11.1.2.1. Description
11.1.2.2. Using ClockSystem
11.1.3. Defining Properties
11.1.3.1. Expressing Properties (CDL Formalization)
11.1.3.2. OBP example
III. Headless engine user guide IconeGemocModel 16
12. Headless engine overview
12.1. Eclipse specific options overview
12.2. GemocStudioHeadless options overview
13. Prepare language
13.1. Create deployable jars using Eclipse UI
13.2. Create deployable jars using Maven
14. Install language
14.1. Installing jars in dropins folder
14.2. Installing jars using the p2 director
14.3. Installing jars using the --installLanguage option
14.4. Debugging language deployment issues
15. Run model
15.1. Example: Install K3FSM language in GEMOC headless and run a sample model
IV. Tutorials
16. Tuto 1
V. Examples
17. K3FSM Example
17.1. Presentation
17.2. Installation
17.3. Language structure overview
17.4. DIY
17.4.1. Create the Language project
17.4.2. Create the Domain concepts
17.4.3. Add Semantics data and Tree Editor
17.4.4. Add Textual Editor
17.4.5. Add Semantics operations
17.4.6. Add Graphical Editor
17.4.7. Add Animation and Debug capabilities to the graphical editor
18. MelangeK3FSM Sequential example
18.1. Presentation
18.2. Installation
18.3. Language structure overview
18.4. DIY
19. MelangeK3FSM Sequential example
19.1. Presentation
19.2. Installation
19.3. Language structure overview
19.4. DIY
20. MOCCML SigPML Example
20.1. Presentation
20.2. Installation
20.2.1. Installing using the example deployer wizard
20.2.2. Installing from git
20.3. Language Designer documentation IconeGemocLanguage 16
20.3.1. Organization of the code
20.3.2. Overview of the metamodel
20.4. Model Designer documentation IconeGemocModel 16
20.5. Additional resources and related links
VI. Developer Guide
21. General architecture
22. Components documentation
22.1. Commons
22.2. Simulation model animation framework
22.2.1. Debugger
22.2.2. Debug model presentation
22.3. GEMOC framework
22.3.1. Execution Framework
22.3.1.1. Execution Framework Debugger
22.3.1.2. Debug model presentation
22.3.2. Framework Commons
22.3.3. XDSML Framework
22.4. Trace framework
22.5. Execution engines
22.5.1. Java Execution
22.5.1.1. Java XDSML
22.5.1.2. Java Engine
22.5.2. ALE Execution
22.5.2.1. ALE XDSML
22.5.2.2. ALE Interpreted Engine
23. Contributing
23.1. Compilation of the complete GEMOC Studio
23.1.1. Introduction
23.1.2. Usage
23.1.3. Advanced usage using docker
23.1.3.1. Description of the docker env
23.2. Developing new features
23.2.1. Developing new Addons
23.2.2. Developing new engines
23.3. Distributing new features
23.4. Documentation
A. Appendix
Bibliography
Glossary
A.1. Index
Index

List of Figures

1. Gemoc Workbenches Global Picture
1.1. Screenshot of the GEMOC Language Workbench showing the design of a Timed Finite State Machine (TFSM) example.
3.1. Screenshot of the First graphical level of Edition in MoCCML.
3.2. Screenshot of the Second graphical level of Edition in MoCCML (Constraint Implementation).
4.1. Model debug RTD using aspect annotation in k3fsm.ecore.
4.2. Aspect annotation effect in Modeling workbench.
4.3. Add language specific Engine Addon on DSL
4.4. The exploration and verification flow in Gemoc
4.5. Using T1 Tranformation
5.1. Overview of the approach.
5.2. Wizard of the examples of coordination.
5.3. Windows Problems when languages are not correctly deployed.
5.4. Correct deployment of languages and BCOoL operators in the language workbench.
6.1. Runtime workbench launch configuration
7.1. Screenshot of GEMOC Studio Modeling Workbench on the TFSM example (execution and animation).
9.1. Selection of addons in the launch configuration tab
9.2. Engine View
9.3. CCSLJava addition to Engine View
9.4. Manual activation/deactivation of a Sirius animation layer
9.5. Example of Sirius animation on a FSM DSL.
9.6. Debug view
9.7. Debug and Variable views with the sequential engine
9.8. Breakpoints view
9.9. Omniscient debug commands overview
9.10. Multibranch timeline with Java engine
9.11. Sirius debug stack highlighting
9.12. Xtext debug stack highlighting
10.1. Wizard of the examples of coordination for the modeling workbench.
10.2. BFLoW specification of the coffee machine by using the TFSM and SigPML languages.
10.3. Debug Configuration of the Gemoc Coordinated eXecutable Models.
10.4. Debug Configuration of the Gemoc Coordinated eXecutable Models with launchers.
10.5. Step by step execution of the coordinated models.
11.1. Xdsml Wizard
11.2. Discovery
11.3. Discovery Components
11.4. Discovery Clocksystem
11.5. Approve licensing
11.6. Exploration Graph for an Instance
17.1. K3FSM Metamodel classes and K3 aspects classes.
17.2. FSM Syntaxic domain.
18.1. Language relations, packages and classes view.
19.1. Language relations, packages and classes view.
20.1. SigPML metamodel overview
20.2. Agents in SigPML metamodel
20.3. HW Resources in SigPML metamodel
21.1. GEMOC Studio General Architecture - Main Features
22.1. Components overview
22.2. Base debugger presentation overview
22.3. Base debug model presentation overview
22.4. ExecutionEngine overview
22.5. ExecutionEngine typical flow
22.6. Execution framework debugger overview
22.7. Execution framework debug model presentation overview
22.8. Execution Framework API Interfaces overview
22.9. PlainK3ExecutionEngine overview
22.10. ExecutionEngine typical flow
22.11. ALE Interpreter ExecutionEngine overview
23.1. New Extension for Engine Addon screenshot
23.2. EngineAddon extension point details screenshot
23.3. Add language specific Engine Addon on DSL