From 75739ec53620cc6ec3b17efab7234b5939e8d7ca Mon Sep 17 00:00:00 2001 From: Patrick Laskowski Date: Thu, 31 Aug 2023 18:22:04 +0200 Subject: [PATCH] docs: Fix links --- docs/getting_started.md | 7 +++---- docs/glossary.md | 4 ++-- docs/index.md | 8 ++++---- docs/optimaflow/glossary.md | 24 ++++++++++++------------ docs/optimaflow/introduction.md | 2 +- docs/sola/component_implementations.md | 6 +++--- minhton/docs/algorithms/bootstrap.md | 2 +- minhton/docs/algorithms/join.md | 2 +- 8 files changed, 27 insertions(+), 28 deletions(-) diff --git a/docs/getting_started.md b/docs/getting_started.md index 35aff94a..00e02544 100644 --- a/docs/getting_started.md +++ b/docs/getting_started.md @@ -7,7 +7,7 @@ An instruction to install all dependencies with Ubuntu 22.04 is given below. Some dependencies are already included in the SOLA repository and are not listed here. -**Be advised that DAISI depends on all other components and all components depend on SolaNet.** +**Be advised that DAISI depends on all other components and all components depend on SolaNet.** | External dependency | DAISI | MINHTON | natter | SolaNet | @@ -65,7 +65,6 @@ For example to only build the MINHTON library (and all its internal dependencies ``` cmake --build . --target minhton_core_node - ``` ### Build with ns-3 integration @@ -101,5 +100,5 @@ To execute a ns-3 simulation or integrating components (SOLA, MINHTON, natter) i * [Execute DAISI simulation](daisi/using.md) * [Using SOLA](sola/usage.md) -* [Using MINHTON](management_overlay/getting_started.md) -* [Using natter](natter_lib/using.md) +* [Using MINHTON](management_overlay/using.md) +* [Using natter](natter/using.md) diff --git a/docs/glossary.md b/docs/glossary.md index 04cc5daa..cb4d9c97 100644 --- a/docs/glossary.md +++ b/docs/glossary.md @@ -2,9 +2,9 @@ [MINHTON](management_overlay/glossary.md) -[NATTER](natter_lib/glossary.md) +[NATTER](natter/glossary.md) -[ns-3 Integration](ns3-integration/glossary.md) +[ns-3 Integration](daisi/glossary.md) [Applications](applications/glossary.md) diff --git a/docs/index.md b/docs/index.md index da32c76e..c25aad81 100644 --- a/docs/index.md +++ b/docs/index.md @@ -13,7 +13,7 @@ **SOLA** is a framework providing Service Discovery, Publish-Subscribe and unicast networking (e.g., UDP) functionalities. Different components can be used to implement these functionalities. -Initially SOLA was used with distributed peer-to-peer network structures and algorithms as the components, like [MINHTON](management_overlay/introduction.md) and [MINHCAST](natter_lib/introduction.html). +Initially SOLA was used with distributed peer-to-peer network structures and algorithms as the components, like [MINHTON](management_overlay/introduction.md) and [MINHCAST](natter/index.md). Hence, it omits the need for a dedicated communication instance like a message broker. But due to the flexibility of SOLA, centralized approaches are supported as well. All supported components and their SOLA-specific implementations ("connectors" between the components and SOLA) are described [here](sola/component_implementations.md). @@ -36,12 +36,12 @@ For instructions on how to build and run SOLA and its components, see [Getting S The SOLA repository contains multiple subprojects: - **SOLA (Standalone)** is the framework that initializes and uses different components to offer a Service Discovery, Publish-Subscribe and unicast networking API. -- **[MINHTON](management_overlay/introduction.md)** is a peer-to-peer management overlay which organizes peers in an optimized tree structure. MINHTON is a SOLA component for service discovery. -- **[natter](natter_lib/introduction.md)** is a framework for peer-to-peer Publish-Subscribe algorithms. +- **[MINHTON](management_overlay/introduction.md)** is a peer-to-peer management overlay which organizes peers in an optimized tree structure. MINHTON is a SOLA component for service discovery. +- **[natter](natter/index.md)** is a framework for peer-to-peer Publish-Subscribe algorithms. The MINHCAST algorithm to broadcast a message to all nodes in a MINHTON network is included in natter. natter is a SOLA component for Publish-Subscribe. - **SolaNet** is a basic asynchronous UDP networking and utility library. -- **[OptiMaFlow](applications/optimaflow/getting_started.md)** is an application in the domain of intralogistics that uses SOLA to schedule transport tasks to autonomous mobile robots. +- **[OptiMaFlow](optimaflow/introduction.md)** is an application in the domain of intralogistics that uses SOLA to schedule transport tasks to autonomous mobile robots. - **[DAISI](daisi/introduction.md)** provides the integration of the aforementioned components into the network simulator ns-3, a discrete-event network simulator for Internet systems. We are using ns-3 as the development and simulation environment for SOLA and its components. diff --git a/docs/optimaflow/glossary.md b/docs/optimaflow/glossary.md index 780a8e06..722ab454 100644 --- a/docs/optimaflow/glossary.md +++ b/docs/optimaflow/glossary.md @@ -5,18 +5,18 @@ ## A **Action Order**:
-See [Material Flow](./optimaflow/material_flow.md#structure) +See [Material Flow](participants/material_flow.md#structure) **Action Order Step**:
-See [Material Flow](./optimaflow/material_flow.md#structure) +See [Material Flow](participants/material_flow.md#structure) **Autonomous Mobile Robot (AMR)**:
-See [Autonomous Mobile Robot](./optimaflow/amr.md#autonomous-mobile-robot-amr) +See [Autonomous Mobile Robot](participants/amr.md#autonomous-mobile-robot-amr) ## F **Functionality**:
-See [Functionality](./optimaflow/amr.md#functionality) +See [Functionality](participants/amr.md#functionality) ## M @@ -24,26 +24,26 @@ See [Functionality](./optimaflow/amr.md#functionality) See [Topology](#t) **Material Flow**:
-See [Material Flow](./optimaflow/material_flow.md) +See [Material Flow](participants/material_flow.md) **Move Order**:
-See [Material Flow](./optimaflow/material_flow.md#structure) +See [Material Flow](participants/material_flow.md#structure) **Move Order Step**:
-See [Material Flow](./optimaflow/material_flow.md#structure) +See [Material Flow](participants/material_flow.md#structure) ## O **Order**:
-See [Material Flow](./optimaflow/material_flow.md#structure) +See [Material Flow](participants/material_flow.md#structure) **Order Step**:
-See [Material Flow](./optimaflow/material_flow.md#structure) +See [Material Flow](participants/material_flow.md#structure) ## T **Task**:
-See [Task](./optimaflow/material_flow.md#task) +See [Task](participants/material_flow.md#task) **Topology**:
A Topology is used for navigation. @@ -52,7 +52,7 @@ The dimensions are the borders of the traversable area. The nodes of the graph are positions on the traversable area. **Transport Order**:
-See [Material Flow](./optimaflow/material_flow.md#structure) +See [Material Flow](participants/material_flow.md#structure) **Transport Order Step**:
-See [Material Flow](./optimaflow/material_flow.md#structure) +See [Material Flow](participants/material_flow.md#structure) diff --git a/docs/optimaflow/introduction.md b/docs/optimaflow/introduction.md index 6bb7718b..66bc29a1 100644 --- a/docs/optimaflow/introduction.md +++ b/docs/optimaflow/introduction.md @@ -4,7 +4,7 @@ ## Getting started -To run OptiMaFlow please download and build the repository as described [here](../../docs/getting_started.md). +To run OptiMaFlow please download and build the repository as described [here](../getting_started.md). Afterwards follow the instructions for [OptiMaFlow](../../daisi/docs/optimaflow-ns3/introduction.md) in the ns3-Integration tab. ### Intralogistics diff --git a/docs/sola/component_implementations.md b/docs/sola/component_implementations.md index 84f4206c..4f796145 100644 --- a/docs/sola/component_implementations.md +++ b/docs/sola/component_implementations.md @@ -25,14 +25,14 @@ A description on how the Service Discovery with MINHTON works will be published The API for Publish-Subscribe component implementations is documented [here](https://iml130.github.io/sola/doxygen/classsola_1_1EventDissemination.html). ### MINHCAST -The MINHCAST algorithm is integrated into the [natter](../natter_lib/introduction.md) framework. +The MINHCAST algorithm is integrated into the [natter](../natter/index.md) framework. It uses the MINHTON structure to send messages to all nodes in the tree by using unicasts. -Futher information about the concept of MINHCAST can be found [here](../natter_lib/programmers/minhcast.md). +Futher information about the concept of MINHCAST can be found [here](../natter/programmers/minhcast.md). The component implementation ``EventDisseminationMinhcast`` creates separate MINHTON networks (separate trees) for every topic in the Publish-Subscribe environment. As only nodes interested in a particular topic are part of a topic tree, only they are receiving messages published for this topic. The connection between nodes in the MINHTON topic trees are forwarded to MINHCAST together with the corresponding topic and are used for publishing the message. -By invoking the method ``subscribeTopic(..)``, the component implementation must also pass its own node info (MINHTON level and number) for its topic tree node. +By invoking the method ``subscribeTopic(..)``, the component implementation must also pass its own node info (MINHTON level and number) for its topic tree node. The connection information (IP address and port) of node in the topic tree must be known to join into an existing MINHTON topic tree (see [MINHTONs Join Procedure](../management_overlay/algorithms/join.md)). The component implementation uses the Service Discovery to discover these information. By using the Service Discovery like a key-value database, the component implementation searches for a key with the name of the topic. diff --git a/minhton/docs/algorithms/bootstrap.md b/minhton/docs/algorithms/bootstrap.md index d1c68f2a..3056ac97 100644 --- a/minhton/docs/algorithms/bootstrap.md +++ b/minhton/docs/algorithms/bootstrap.md @@ -9,5 +9,5 @@ The new node will then continue to join the network using the node of the first Currently, three modes can be used which define which nodes will be "bootstrap nodes". - **All nodes**: All nodes will become bootstrap nodes. This will likely cause much network traffic! (k_MULTICAST_STRATEGY = 0) -- **Prio-Nodes**: All [prio-nodes](../other/glossary.md) become bootstrap nodes (k_MULTICAST_STRATEGY = 1) +- **Prio-Nodes**: All [prio-nodes](../glossary.md) become bootstrap nodes (k_MULTICAST_STRATEGY = 1) - **Nodes with free children**: Nodes with place for new childs become bootstrap nodes (k_MULTICAST_STRATEGY = 2) diff --git a/minhton/docs/algorithms/join.md b/minhton/docs/algorithms/join.md index 97be4526..a67c6556 100644 --- a/minhton/docs/algorithms/join.md +++ b/minhton/docs/algorithms/join.md @@ -10,7 +10,7 @@ The node that receives a JOIN Message executes the processJoin method. A node wh ## Finding the correct position Figure 1 illustrates how the MINHTON algorithm consists of three parts in sequence to find the correct position for a joining node. -First, a null node (compare [glossary](../other/glossary.md)) has to be found. +First, a null node (compare [glossary](../glossary.md)) has to be found. When the first reached node is not a null node, we use the adjacent to reach a null node with a single hop. Second, based on the routing table entries we determine whether we arrived on the last level or the one before it. Additional hops may be necessary to finish this process.