<
From version < 9.1 >
edited by Alexander Schulz-Rosengarten
on 2014/08/20 13:49
To version < 11.1 >
edited by csp
on 2023/07/13 12:23
>
Change comment: Renamed from xwiki:SS14Railway.C Controller

Summary

Details

Page properties
Parent
... ... @@ -1,0 +1,1 @@
1 +Documentation
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.als
1 +XWiki.csp
Content
... ... @@ -52,10 +52,8 @@
52 52  statemonitor.h statemonitor.c
53 53  {{/noformat}}
54 54  
55 -The state monitor component allows a thread-safe communication between connected GUIs and the running controller. This communication is also tick-safe meaning that changes are only applied at tick-borders.
55 +The state monitor component allows a thread-safe communication between connected GUIs and the running controller. This communication is also tick-safe meaning that changes are only applied at tick-borders. In addition to that the communication is mutual excluded without blocking the controller thread and thus the controller remains a reactive system.
56 56  
57 -In addition to that the
58 -
59 59  Furthermore it allows the generation of the current state of the controller in JSON format.
60 60  
61 61  == GUI Server ==
... ... @@ -64,6 +64,12 @@
64 64  guiserver.h guiserver.c
65 65  {{/noformat}}
66 66  
65 +The GUI server allows multiple GUI clients concurrently connecting to the controller. The number of available slots is defined in the guiserver header.
66 +
67 +The communication is established via TCP and the message format is JSON. Each client can request the current status of the controller and interact with some commands changing most of the important properties of each train, especially the schedule. The detailed communication format and capabilities are documented in the [[doc:TCP Communication]] section.
68 +
69 +Most controls are performed delayed and thread-safe with the state monitor, some are directly performed via the hostcode component. Changes of the same property from different clients is processed with first-come-first-serve-principle which may cause lost update writes but will not affect the integrity of the controller.
70 +
67 67  = Interaction =
68 68  
69 69  == GUI ==
components.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.XWikiGuest
Size
... ... @@ -1,0 +1,1 @@
1 +124.5 KB
Content
Confluence.Code.ConfluencePageClass[0]
Id
... ... @@ -1,1 +1,1 @@
1 -9471734
1 +9471698
URL
... ... @@ -1,1 +1,1 @@
1 -https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/SS14Railway/pages/9471734/C Controller
1 +https://rtsys.informatik.uni-kiel.de/confluence//wiki/spaces/SS14Railway/pages/9471698/C Controller