Project Title

GLOSE Demonstrator

Deliverable Type

Software and document

Deliverable Number

DP3.1

Title of Deliverable

Source model for the case studies

Version

1.0

Contractual Delivery Date

T0+14, May. 2020

Author

Didier Vojtisek <didier.vojtisek@inria.fr>

Reviewer

Benoit Combemale <benoit.combemale@irisa.fr>

Latest version

https://gitlab.inria.fr/glose/flight-controller-language-demonstrator/tree/master/documentation

logo cnrs
logo inria
logo safran

Please look at https://gitlab.inria.fr/glose/flight-controller-language-demonstrator for all the software sources, model example and this document sources.

The version used while producing this document is available at https://gitlab.inria.fr/glose/flight-controller-language-demonstrator/-/tags/2020-04.

The latest (possibly updated) online version of this document is also available as html or as pdf

This document presents the demonstrator illustrating the technologies involved in the WP2 of the GLOSE project and the associated use case language.

The demonstrator provides generals guidelines about how to use GEMOC technologies in order to design and implement a modeling language and its corresponding modeling environment.

The modeling environment provided by the demonstrator covers several concerns such as:

  • Model edition (including textual and graphical edition)

  • Model execution (including model debugging).

The document: DP1.1: Modeling environment for Flight Control Management, focuses on how to develop and use a modeling environment. The document DP1.2: Simulation and Compilation Environment for Flight Control Management focuses on model execution, model debugging, model animation, and compilation. The document DP2.1: Execution and Simulation Environment for Flight Control Management with concurrent execution extends DP1.2 with concurrency concerns. This document DP3.1: Source model for the case studies presents example Flight Control Language models.


The demonstrator is illustrated on a realistic language: a language for designing drone flight controllers.

As explained in https://download.eclipse.org/gemoc/docs/nightly/index.html , building the modeling environment for a language involves two mains roles: language engineers and modelers.

  • Language engineers design executable DSLs using metalanguages and implement modeling environments.

  • Modelers are the users of the resulting modeling environment. They build models using the modeling language,and they analyze and execute them using the other tools of the environment.

The GEMOC Studio used to develop the demonstrator offers dedicated workspaces and tooling for each of these roles that are referenced as GEMOC Language workbench for the tools for language engineers and GEMOC Modeling Workbench for the tools for modelers.

1. Deliverables

Deliverables of this demonstrator are produced as a set of videos, a git repository and a summary document. As they contribute to a global demonstration, they are presented globally instead of trying to strictly map to the D.1.1, D1.2, D2.1, D3.1 structure.

1.1. Videos

The videos of the demonstrator are split as follow:

  • Video Part 1. Building Editors, (for DP1.1 and DP3.1)

  • Video Part 2. Specifying Behavior, (for DP1.2)

  • Video Part 3. Animation/Debugging, (for DP1.2)

  • Video Part 4. Advanced Behavior with Concurrency, (for DP2.1)

  • Video Part 5. Model-specific Views, (complement for DP1.2)

1.2. Git repository

See https://gitlab.inria.fr/glose/flight-controller-language-demonstrator#user-content-repository-content for a list of all major folders in the git repository, an overview of their content and use in the deliverables.

The tagged repository used for writing this document is available at the following url:

2. Deliverable items specifically done for D3.1

This section identifies the parts relative to this deliverable D3.1 in the Videos and the git repository

The Video Part 1. Building Editors was specifically designed to explain the syntax and some use case model examples. Howver, all the other videos use these models.

The following folders in the git repository contains the code used for D3.1

.
├── model_examples
│   │     # model examples and test models (for DP3.1 but also used in
│   │     # several of the videos of the other DP)
│   ├── bare-unity
│   ├── dummy-quadcopter-simulator
│   ├── fr.inria.glose.miniquadcopter_01.flightcontroller
│   ├── fr.inria.glose.miniquadcoptercontroller.demo_v0
│   │      # example used in the video Part 5.
│   ├── medium-fcl
│   ├── minimal-fcl
│   ├── minimal-fcl-with-delayed-loop
│   ├── miniquadcopter
│   │      # main example used in all the videos
│   ├── miniquadcopter_k3
│   ├── miniquadcopter_k3_debug_moccml
│   ├── miniquadcopter_no-fmu_ale
│   ├── miniquadcopter_no-fmu_k3
│   ├── miniquadcopter_unity_no-fmu_k3
│   ├── smallest-fcl-model
│   ├── small-fcl
│   │      # example used in the video Part 1.
│   ├── test-quad-bare-fmu
│   │      # example used in the video Part 5.