Changes for page Simulation (KiSim)
Last modified by Richard Kreissig on 2023/09/14 11:07
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -16,11 +16,11 @@ 16 16 17 17 Within KIELER a single state of a simulation is represented as a //Data Pool//. A data pool can have multiple models. Each model can have multiple variables. Thus a representation of a complete run of a simulation can be implemented as list of data pools. 18 18 19 -== UsingtheSimulation ==19 +== Starting a Simulation == 20 20 21 21 Besides the explicit configuration of a simulation using a kisim file, it is possible to start simulations directly on models, executables or trace files. This will start a pre-defined configuration depending on the selected files. The following table shows which files can be started as simulation and what simulation configuration is created for it. 22 22 23 -(% class="relative-table wrapped" style="width: 99.9453%;" %)23 +(% class="relative-table" style="width: 99.9453%;" %) 24 24 |=((( 25 25 Selection 26 26 )))|=(% colspan="1" %)(% colspan="1" %) ... ... @@ -92,37 +92,14 @@ 92 92 The current pool of the simulation is written as JSON object to the simout file. 93 93 ))) 94 94 95 -=== Playing the Simulation === 96 - 97 -Besided manually stepping through the simulation tick after tick, it is possible to let the simulation play automatically. In play mode, a macro tick is performed after a given time, which can be defined in the data pool view (e.g. to perform a tick every 200ms). 98 - 99 -=== Stepping Back in the Simulation === 100 - 101 -When clicking the //Step Back// button, the values of a former tick are set in the data pool view as user values, which will be assigned to the model before the next tick is executed. 102 - 103 -This it is possible to revert a model to a previous state if all variables that define the current state of this model are recorded in the data pool. 104 - 105 -=== The Data Pool View === 106 - 107 -The current data pool can be seen in the Data Pool View (Window > Show View > Other > KIELER Simulation > Data Pool View). 108 - 109 -In the view, the variable values can be modified by the user via clicking the column //User Value//. If a user value is specified for a variable, the corresponding row is highlighted and marked with an asterisk ( * ) . The value is applied to the variable and send to the model before the next tick is performed. 110 - 111 -When using traces in the simulation, a trace mismatch of a variable will be highlighted in the data pool view. A tooltip on the //Current Value// column shows details about the mismatch. The trace mismatch is kept between ticks. To clear a mismatch, use the menu of the view and select //Clear Trace Mismatches//. 112 - 113 -When the data pool view is selected, stepping through the simulation can be done using the right arrow on the keyboard, which is often more useful than clicking the corresponding button in the toolbar. 114 - 115 115 == Data Handlers == 116 116 117 -A simulation consists of a list of //data handlers//, that can read or write the current data pool. A macro tick in the simulation thenconsists of theexecution of the read or write actions on thesedata handlers.Performingasingle action onadata handleris calleda//subtick// and typically not necessarybut can beusefulto see the effect of singleatahandlersonthedata pool.97 +A simulation consists of a list of //data handlers//, that can read or write the current data pool. Which handlers are available are explained in the following. 118 118 119 -Which handlers are available are explained in the following. 120 - 121 121 === Executable === 122 122 123 123 For instance, there exists a data handler for the simulation of an executable. The write operation of this data handler will send the inputs of the model as JSON object on stdin of the process. Afterwards the tick is triggered, and finally the data pool is updated with the JSON object received from stdout of the running process. 124 124 125 -(% class="wrapped" %) 126 126 |=((( 127 127 Attribute 128 128 )))|=(% colspan="1" %)(% colspan="1" %) ... ... @@ -152,7 +152,6 @@ 152 152 153 153 Multiple models may interact with each other as some can have inputs that are generated as outputs of other models. To implement this behaviour in the simulation, the redirect data handler has been created. It sets the inputs of a model to the outputs of some other model in the data pool. Thus the outputs of a some model A can be used as inputs of some model B. 154 154 155 -(% class="wrapped" %) 156 156 |=((( 157 157 Attribute 158 158 )))|=((( ... ... @@ -193,7 +193,6 @@ 193 193 * Perform the tick of the model A 194 194 * Compare the outputs of the trace and the model A 195 195 196 -(% class="wrapped" %) 197 197 |=((( 198 198 Attribute 199 199 )))|=((( ... ... @@ -279,7 +279,7 @@ 279 279 280 280 Simulation input files can also be used to feed the simulation with data to be visualized via the simulation visualization. 281 281 282 -(% class="relative-table wrapped" style="width: 81.5545%;" %)257 +(% class="relative-table" style="width: 81.5545%;" %) 283 283 |=((( 284 284 Attribute 285 285 )))|=((( ... ... @@ -314,7 +314,7 @@ 314 314 315 315 This data handler writes the output of the model in the simulation to the specified file. 316 316 317 -(% class="relative-table wrapped" style="width: 81.7734%;" %)292 +(% class="relative-table" style="width: 81.7734%;" %) 318 318 |=((( 319 319 Attribute 320 320 )))|=((( ... ... @@ -345,7 +345,7 @@ 345 345 346 346 == KiSim == 347 347 348 -Which data handlers are used and which actions are performed on them for each macro tick can be configured using a DSL, namely **KiSim**.323 +Which data handlers are used and which actions are performed on them can be configured using a DSL, namely **KiSim**. 349 349 350 350 A kisim file contains two main parts: 351 351
- Confluence.Code.ConfluencePageClass[0]
-
- Id
-
... ... @@ -1,1 +1,1 @@ 1 -3116249 71 +31162495 - URL
-
... ... @@ -1,1 +1,1 @@ 1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/3116249 7/V2 Simulation1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/KIELER/pages/31162495/V2 Simulation