Skip to content

Commit

Permalink
Merge pull request #7 from convince-project/fix/layout
Browse files Browse the repository at this point in the history
Layout overview picture
  • Loading branch information
MKlauck authored May 16, 2024
2 parents da9e834 + 2686475 commit 75ef549
Show file tree
Hide file tree
Showing 4 changed files with 79 additions and 68 deletions.
45 changes: 41 additions & 4 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
@@ -1,22 +1,44 @@
CONVINCE Toolchain Overview
===========================


Welcome to the CONVINCE toolchain documentation.
The goal of the `CONVINCE project <https://convince-project.eu/>`_ is to provide an open source toolchain to improve robust robot deliberation with the help of planning, learning, and model checking techniques.

This is the entry-point for the CONVINCE toolchain documentation. It provides an overview of all the individual components which are part of the large toolchain. Those components can be used standalone and also linked together as required for individual use cases.

The CONVINCE toolchain works as depicted in the :doc:`interactive overview picture <../overview_plantuml>`. The individual repos and documentations are linked from there.
.. uml:: overview.plantuml
:caption: CONVINCE Toolchain Overview
:alt: CONVINCE Toolchain Overview

The CONVINCE toolchain works as depicted above. The individual repos and documentations are linked from there.

In the following the CONVINCE toolchain components are briefly described. For more details please check out the individual repositories with their documentation and tutorial pages.

sit-aw
------
`convince-project/sit-aw <https:///github.com/convince-project/sit-aw>`_

To be filled by CEA.


coverage-plan
-------------
`convince-project/coverage-plan <https:///github.com/convince-project/coverage-plan>`_

.. .. uml::

.. agent "\nSkill Layer\n" as rskill #LightYellow
.. agent coverageplan #PaleGreen [
.. [[https:///github.com/convince-project/coverage-plan COVERAGE-PLAN]]
.. ....
.. WP3 / UoB
.. ]
.. rskill . coverageplan
COVERAGE-PLAN is an online tool for *lifelong area coverage in dynamic and uncertain environments*.

The current release of COVERAGE-PLAN operates on discrete grid environments.
Expand All @@ -33,6 +55,8 @@ The documentation contains a tutorial demonstrating the coverage planner.

refine-plan
-----------
`convince-project/refine-plan <https:///github.com/convince-project/refine-plan>`_

REFINE-PLAN is an offline tool for *refining hand-designed behaviour trees (BTs)* to attain robustness under uncertainty, improving performance.


Expand All @@ -49,38 +73,51 @@ The documentation contains a tutorial demonstrating the current functionality.

active-plan
-----------
`convince-project/active-plan <https:///github.com/convince-project/active-plan>`_

To be filled by UoB.

simulate-plan
-------------
`convince-project/simulate-plan <https:///github.com/convince-project/simulate-plan>`_

To be filled by UoB.

scan
----
`convince-project/scan <https:///github.com/convince-project/scan>`_

To be filled by UniGe.

moon
----
`convince-project/moon <https:///github.com/convince-project/moon>`_

To be filled by UniGe.

mc-toolchain-jani
-------------------
-----------------
`convince-project/mc-toolchain-jani <https:///github.com/convince-project/mc-toolchain-jani>`_

This is a toolbox for converting all specifications of components of a robotic system under investigation into a format which can be given as input to model checkers for verifying the robustness of the system functionalities. The resulting format used for model checking is `JANI <https://jani-spec.org>`_.

The toolbox, which can be found `here <TODO>`_, consist of a script to convert models describing the system and its environment together, given in the CONVINCE robotics JANI flavor as specified in the `data model repository <https://github.com/convince-project/data-model>`_, into `plain JANI <https://jani-spec.org>`_ accepted as input by model checkers.
The second part of the provided toolchain components centers around system specifications given in ScXML and how to convert them into a plain Jani file for model checking. This comprises property specification in temporal logic, currently given in Jani, a behavior tree in XML, plugins and nodes in ScXML, and an environment specification in ScXML.

model2code
----------
`convince-project/model2code <https:///github.com/convince-project/model2code>`_

To be filled by IIT.

smc-storm
---------------
---------
`convince-project/smc_storm <https:///github.com/convince-project/smc_storm>`_

This is a statistical model checking engine for DTMC models given in Jani, which has been implemented as an extension to the famous `Storm model checker <https://stormchecker.org>`_. The tool and its documentation can be found in this `repository <https://github.com/convince-project/smc_storm>`_.


.. toctree::
:hidden:

overview_plantuml
tutorials
83 changes: 38 additions & 45 deletions docs/source/overview.plantuml
Original file line number Diff line number Diff line change
Expand Up @@ -32,40 +32,30 @@ file "Model" as m {
mfunc --> menv
}

m -[hidden]> r

renv -[hidden]> menv
rdelib -[hidden]> mdelib

database "Knowledge Model\n" as k

' renv -[hidden]> k
' k -[hidden]> menv

' WP2

' rectangle WP2 #line.dashed{
agent sitaw #LightGreen [
[[https:///github.com/convince-project/sit-aw SIT-AW]]
[[https://convince-project.github.io/overview/#sit-aw SIT-AW]]
....
WP2 / CEA
]
' }

sitaw -[hidden]> rskill
renv -[hidden]> sitaw
rskill .. sitaw
sitaw <-> k : OWL

' WP3

' rectangle WP3 #line.dashed {
agent refineplan #PaleGreen [
[[https://github.com/convince-project/refine-plan REFINE-PLAN]]
[[https://convince-project.github.io/overview/#refine-plan REFINE-PLAN]]
....
WP3 / UoB
]
agent coverageplan #PaleGreen [
[[https:///github.com/convince-project/coverage-plan COVERAGE-PLAN]]
[[https://convince-project.github.io/overview/#coverage-plan COVERAGE-PLAN]]
....
WP3 / UoB
]
Expand All @@ -79,71 +69,74 @@ agent simulateplan #PaleGreen [
....
WP3 / UoB
]
refineplan -[hidden]-> simulateplan
simulateplan -[hidden]-> activeplan
' }

coverageplan .. rskill
rskill .. coverageplan
rfunc -[hidden]> coverageplan
activeplan <-> simulateplan : root-cause
mdelib -> refineplan : "BT.cpp XML"
mdelib -> refineplan : "\nBT.cpp XML"
refineplan -> rdelib : "BT.cpp XML"
rdelib -> simulateplan : "BT.cpp XML"
k -> simulateplan : OWL
k -> simulateplan : "\nOWL"
k -> activeplan : OWL

' WP4

' rectangle WP4 #line.dashed {
agent moon #TECHNOLOGY [
[[https:///github.com/convince-project/moon MOON]]
[[https://convince-project.github.io/overview/#moon MOON]]
....
WP4 / UniGe
]
' together {
' agent scan #TECHNOLOGY [
' [[https:///github.com/convince-project/scan SCAN]]
' ....
' WP4 / UniGe
' ]
agent storm #TECHNOLOGY [
[[https:///github.com/convince-project/smc_storm SMC-STORM]]
agent stormscan #TECHNOLOGY [
[[https://convince-project.github.io/overview/#smc_storm SMC-STORM]]
....
WP4 / Bosch

----
[[https:///github.com/convince-project/scan SCAN]]
[[https://convince-project.github.io/overview/#scan SCAN]]
....
WP4 / UniGe
]
' scan -[hidden]-> storm
' }
' together {
agent jani #TECHNOLOGY [
[[https:///github.com/convince-project/mc-toolchain-jani MC-TOOLCHAIN-JANI]]
[[https://convince-project.github.io/overview/#mc-toolchain-jani MC-TOOLCHAIN-JANI]]
....
WP4 / Bosch
]
agent modeltocode #TECHNOLOGY [
[[https:///github.com/convince-project/modeltocode MODEL2CODE]]
[[https://convince-project.github.io/overview/#model2code MODEL2CODE]]
....
WP4 / IIT
]
' }
' activeplan -[hidden]-> jani
activeplan -[hidden]-> modeltocode

' moon -[hidden]> scan
moon -[hidden]-> rdelib

moon <-- r : ROS Communication

m -> storm : "JANI / SCXML"
' m -> storm : "SCXML"
stormscan -[hidden]-> mdelib
stormscan <-- m : "JANI / SCXML\n"

r -> jani : "SCXML"
jani -> m : "JANI"
jani -> m : "JANI\n"
rskill <- modeltocode : "CPP"
modeltocode <- mskill : "SCXML"
modeltocode <- mskill : "SCXML\t\t\t"
coverageplan -[hidden]> modeltocode

refineplan -[hidden]-> modeltocode


rectangle Legend as legend {
agent a [
]
agent b [
]
a -> b : "data flow"

agent c [
]
agent d [
]
c . d : "contained in"
}

renv -[hidden]-> legend

refineplan -[hidden]> jani
@enduml
4 changes: 0 additions & 4 deletions docs/source/overview_plantuml.rst

This file was deleted.

15 changes: 0 additions & 15 deletions docs/source/test.md

This file was deleted.

0 comments on commit 75ef549

Please sign in to comment.