diff --git a/SECURITY.md b/SECURITY.md index 5a8857a4b..91aed179a 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -6,7 +6,7 @@ We are currently providing security updates for: | Version | Supported | | ------- | ------------------ | -| 0.2.0 | :white_check_mark: | +| 0.3.0 | :white_check_mark: | | 0.2.0 | :x: | | 0.1.0 | :x: | diff --git a/docs/admin/overview.md b/docs/admin/overview.md index 2b0fca10a..2650dc8c4 100644 --- a/docs/admin/overview.md +++ b/docs/admin/overview.md @@ -1,12 +1,12 @@ # Overview -## What is the goal +## What is the goal? The goal is to set up the DTaaS infrastructure in order to enable your users to use the DTaaS. As an admin you will administrate the users and the servers of the system. -## What are the requirements +## What are the requirements? ### OAuth Provider @@ -30,7 +30,7 @@ with _http://foo.com_ in [OAuth registration](./client/auth.md). Other installation configuration remains the same. -## What to install +## What to install? The DTaaS can be installed in different ways. Each version is for different purposes: @@ -41,4 +41,4 @@ The DTaaS can be installed in different ways. Each version is for different purp - Seperater Packages: [client website](client/CLIENT.md) and [lib microservice](servers/lib/LIB-MS.md) -Following the installation that fit your usecase. +Follow the installation that fits your usecase. diff --git a/docs/index.md b/docs/index.md index 8eb4f20cc..8b75d5a52 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -# What is DTaaS +# What is DTaaS? The Digital Twin as a Service (DTaaS) software platform is useful to **Build, Use and Share** digital twins (DTs). diff --git a/docs/user/examples/drobotti-rmqfmu/README.md b/docs/user/examples/drobotti-rmqfmu/README.md index f42d938cc..014b9dd31 100644 --- a/docs/user/examples/drobotti-rmqfmu/README.md +++ b/docs/user/examples/drobotti-rmqfmu/README.md @@ -40,7 +40,7 @@ The distance FMU is responsible for calculating the distance between _(0,0)_ and _(x,y)_. The RMQ FMU and distance FMU exchange values during co-simulation. -## Configuration of assets +## Digital Twin Configuration This example uses two models, one tool, one data, and two scripts to create mock physical twin. The specific assets used are: @@ -57,9 +57,11 @@ mock physical twin. The specific assets used are: This DT has many configuration files. The `coe.json` and `multimodel.json` are two DT configuration files used for executing the digital twin. +You can change these two files to customize the DT to your needs. +The RabbitMQ access credentials need to be provided in `multimodel.json`. The `rabbitMQ-credentials.json` provides RabbitMQ access credentials -for mock PT python scripts. +for mock PT python scripts. Please add your credentials in both these files. ## Lifecycle Phases @@ -74,7 +76,7 @@ for mock PT python scripts. To run the example, change your present directory. ```bash -cd workspace/examples/digital_twins/drobotti_rmqfmu +cd /workspace/examples/digital_twins/drobotti_rmqfmu ``` If required, change the execute permission of lifecycle scripts @@ -98,8 +100,10 @@ lifecycle/create ### Execute -Run the python scripts to start mock physical twin. Also run the co-simulation for -the digital twin. +Run the python scripts to start mock physical twin. +Also run the the Digital Twin. Since this is a co-simulation based +digital twin, the Maestro co-simulation tool executes co-simulation +using the two FMU models. ```bash lifecycle/execute @@ -108,7 +112,7 @@ lifecycle/execute #### Examine the results The results can be found in the -_workspace/examples/digital\_twins/drobotti\_rmqfmu directory_. +_/workspace/examples/digital\_twins/drobotti\_rmqfmu directory_. ### Terminate phase @@ -120,6 +124,10 @@ lifecycle/terminate ## References +The [RabbitMQ FMU](https://github.com/INTO-CPS-Association/fmu-rabbitmq) +github repository contains complete documentation and source code of +the rmq-vhost.fmu. + More information about the case study is available in: ```txt diff --git a/docs/user/examples/drobotti-rmqfmu/dt-structure.png b/docs/user/examples/drobotti-rmqfmu/dt-structure.png index a79bc1587..61996df83 100644 Binary files a/docs/user/examples/drobotti-rmqfmu/dt-structure.png and b/docs/user/examples/drobotti-rmqfmu/dt-structure.png differ diff --git a/docs/user/examples/examples.drawio b/docs/user/examples/examples.drawio index 843cc7d81..91072df68 100755 --- a/docs/user/examples/examples.drawio +++ b/docs/user/examples/examples.drawio @@ -1,6 +1,6 @@ - + - + @@ -262,59 +262,59 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -323,79 +323,79 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/docs/user/examples/index.md b/docs/user/examples/index.md index 77475805c..744715590 100644 --- a/docs/user/examples/index.md +++ b/docs/user/examples/index.md @@ -25,5 +25,6 @@ to use the examples in the following order. 1. [Mass Spring Damper](./mass-spring-damper/README.md) 1. [Water Tank Fault Injection](./water_tank_FI/README.md) 1. [Water Tank Model Swap](./water_tank_swap/README.md) +1. [Desktop Robotti and RabbitMQ](./drobotti-rmqfmu/README.md) :material-download: [DTaaS examples](https://github.com/INTO-CPS-Association/DTaaS-examples) diff --git a/docs/user/examples/mass-spring-damper/README.md b/docs/user/examples/mass-spring-damper/README.md index f9e2290eb..2b07aba2a 100644 --- a/docs/user/examples/mass-spring-damper/README.md +++ b/docs/user/examples/mass-spring-damper/README.md @@ -20,7 +20,7 @@ the two masses is computed. ![Mass Spring Damper Structure](dt-structure.png) -## Configuration of assets +## Digital Twin Configuration This example uses two models and one tool. The specific assets used are: @@ -32,6 +32,7 @@ This example uses two models and one tool. The specific assets used are: The `co-sim.json` and `time.json` are two DT configuration files used for executing the digital twin. +You can change these two files to customize the DT to your needs. ## Lifecycle Phases @@ -46,7 +47,7 @@ are two DT configuration files used for executing the digital twin. To run the example, change your present directory. ```bash -cd workspace/examples/digital_twins/mass-spring-damper +cd /workspace/examples/digital_twins/mass-spring-damper ``` If required, change the execute permission of lifecycle scripts @@ -68,11 +69,9 @@ lifecycle/create ### Execute -Run the co-simulation. Generate the co-simulation output.csv file -at `data/mass-spring-damper/output/output.csv`. - -There are also debug and maestro log files stored in -`data/mass-spring-damper/output` directory. +Run the the Digital Twin. Since this is a co-simulation based +digital twin, the Maestro co-simulation tool executes co-simulation +using the two FMU models. ```bash lifecycle/execute @@ -81,10 +80,10 @@ lifecycle/execute #### Examine the results The results can be found in the -_workspace/examples/data/mass-spring-damper/output directory_. +_/workspace/examples/data/mass-spring-damper/output directory_. You can also view run logs in the -_workspace/examples/digital_twins/mass-spring-damper_. +_/workspace/examples/digital_twins/mass-spring-damper_. ### Terminate phase @@ -103,3 +102,7 @@ case study are available in: Gomes, Cláudio, et al. "Co-simulation: State of the art." arXiv preprint arXiv:1702.00686 (2017). ``` + +The source code for the models used in this DT are available in +[mass spring damper](https://github.com/INTO-CPS-Association/example-mass_spring_damper) +github repository. diff --git a/docs/user/examples/water_tank_FI/README.md b/docs/user/examples/water_tank_FI/README.md index 73ded5492..b82edb20c 100644 --- a/docs/user/examples/water_tank_FI/README.md +++ b/docs/user/examples/water_tank_FI/README.md @@ -11,7 +11,7 @@ In this co-simulation based DT, a watertank case-study is used; co-simulation consists of a tank and controller. The goal of which is to keep the level of water in the tank between ```Level-1``` and ```Level-2```. The faults are injected into output of the water tank -controller (**Watertankcontroller-c.fmu**) +controller (__Watertankcontroller-c.fmu__) from 12 to 20 time units, such that the tank output is closed for a period of time, leading to the water level increasing in the tank beyond the desired level (```Level-2```). @@ -24,7 +24,7 @@ increasing in the tank beyond the desired level (```Level-2```). ![Water Tank Structure](dt_structure.png) -## Configuration of assets +## Digital Twin Configuration This example uses two models and one tool. The specific assets used are: @@ -37,8 +37,9 @@ The specific assets used are: The `multimodelFI.json` and `simulation-config.json` are two DT configuration files used for executing the digital twin. +You can change these two files to customize the DT to your needs. -:fontawesome-solid-circle-info: The faults are defined in **wt_fault.xml**. +:fontawesome-solid-circle-info: The faults are defined in __wt_fault.xml__. ## Lifecycle Phases @@ -53,7 +54,7 @@ are two DT configuration files used for executing the digital twin. To run the example, change your present directory. ```bash -cd workspace/examples/digital_twins/water_tank_FI +cd /workspace/examples/digital_twins/water_tank_FI ``` If required, change the execute permission of lifecycle scripts @@ -95,10 +96,10 @@ lifecycle/analyze #### Examine the results The results can be found in the -_workspace/examples/data/water_tank_FI/output directory_. +_/workspace/examples/data/water_tank_FI/output directory_. You can also view run logs in the -_workspace/examples/digital_twins/water_tank_FI_. +_/workspace/examples/digital_twins/water_tank_FI_. ### Terminate phase @@ -118,3 +119,12 @@ L. Esterle, "Fault Injecting Co-simulations for Safety," 2021 5th International Conference on System Reliability and Safety (ICSRS), Palermo, Italy, 2021. ``` + +The fault-injection plugin is an extension to the Maestro co-orchestration +engine that enables injecting inputs and outputs of FMUs in an FMI-based +co-simulation with tampered values. +More details on the plugin can be found in +[fault injection](https://github.com/INTO-CPS-Association/fault-injection-maestro) +git repository. The source code for this example is also in the same github +repository in a +[example directory](https://github.com/INTO-CPS-Association/fault-injection-maestro/blob/development/fi_example/README.md). diff --git a/docs/user/examples/water_tank_swap/README.md b/docs/user/examples/water_tank_swap/README.md index 494d8a02e..7ae790a73 100644 --- a/docs/user/examples/water_tank_swap/README.md +++ b/docs/user/examples/water_tank_swap/README.md @@ -51,7 +51,7 @@ The following table shows the configuration files and their purpose. To run the example, change your present directory. ```bash -cd workspace/examples/digital_twins/water_tank_swap +cd /workspace/examples/digital_twins/water_tank_swap ``` If required, change the permission of files you need to execute, for example: @@ -123,6 +123,9 @@ lifecycle/terminate ## References +The complete source of this example is available on +[model swap](https://github.com/hejersbo/dtaas-wt-swap) github repository. + The runtime model (FMU) swap mechanism demonstrated by the experiment is detailed in the paper: