Development:Anforderungen Global Schnittstellen: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| (5 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 11: | Zeile 11: | ||
Überlegung: Fernsteuerung ist "Men in the middle", die erkennt, welche Daten zwischen Stelltisch und Relaisanlage ausgetauscht werden. Wenn alle Adern in den Leitungen schon vor der Datenübertragung festgelegt werden, kann man hier auch einen Editor platzieren, der z.B die Festlegung von Prioritäten bei der Datenübertragung o.ä. erlaubt. | Überlegung: Fernsteuerung ist "Men in the middle", die erkennt, welche Daten zwischen Stelltisch und Relaisanlage ausgetauscht werden. Wenn alle Adern in den Leitungen schon vor der Datenübertragung festgelegt werden, kann man hier auch einen Editor platzieren, der z.B die Festlegung von Prioritäten bei der Datenübertragung o.ä. erlaubt. | ||
|} | |} | ||
= Zu überlegen = | |||
* Kompatibilitätsprüfung beim Verbinden zweier Schnittstellen (Schnittstelle definiert Leitungen von Gegenstelle als optional oder verpflichtend, Typprüfung) | |||
= Beschlüsse = | |||
* Leitungen sind typisiert (int, double, string). Ggf. werden auch structs benötigt (Blinken o.ä.). Zu prüfen: Soll Schnittstelle als template realisiert werden? | |||
* Leitungen können zu einem Stecker zusammengefasst werden | |||
* Leitungen zwischen zwei Schnittstellen können durchgeschaltet werden (ggf. auch skriptgesteuert aktivier/deaktivierbar, z.B. bei Weichen, die je nach Weichenlage in die eine oder andere Richtung durchschalten) | |||
* Die ehemaligen Begriffe ''sendSignal'' bzw. teilweise auch ''Impuls'' werden durch den Begriff '''Ereignis''' ersetzt. | |||
= Neuformulierung = | |||
Ich habe mal überlegt, das neue Konzept von StellSi mal versuchen, in neue Worte zu fassen. | |||
Die Verarbeitung der Logik erfolgt über folgende drei Konzepte: | |||
* Zustände | |||
* Automaten | |||
* Ereignisse | |||
* Jeder Zustand hat ein '''Zustandsscript''', das den Wert des Zustandes aus Automaten oder den vorherigen Zuständen ermitteln kann. | |||
* Der Automat wird von einem '''Ereingisscript''' angesteuert, dass im Prinzip einfach einen neuen Wert auf den Automaten setzt. Das Ereignisscript kann außerdem Ereignisse (auch die Änderung von Zuständen) empfangen und freie Ereignisse senden. | |||
= Ergänzung = | |||
* Stelltisch: Mindesttastendruckdauer für Tastaturen kürzen und für bestimmte Spezialstellwerke erhöhen. Erfordert einen automatischen Rückkanal für Freie Ausgangslogiken. | |||
[[Kategorie:Anforderungen]] | [[Kategorie:Anforderungen]] | ||
[[Kategorie:Umbauplanung_Boris]] | |||
Aktuelle Version vom 15. August 2023, 18:00 Uhr
| Themengebiete |
|---|
| Für Performanceverbesserung: Vorbereitung darauf, intern zur Datenweitergabe (also "Addressierung") Enums o.ä. statt den "Adernamen" zu verwenden, um teure Stringvergleiche zu vermeiden. Strings sollten nur bei der Abonnierung von eingehenden Daten o.ä. sowie bei der Netzwerkkommunikation verwendet werden. |
| Wert bei der Datenübertragung Schnittstelle sollte ein komplexer Datentyp werden, der schlank gestaltet sein muss (Performance), aber Platz für Erweiterungen bietet (Flags, Daten zum Blinken etc) |
| Fernsteuerung muss sich einklinken können in die Kommunikation zwischen Stelltisch und Relaisanlage
Überlegung: Fernsteuerung ist "Men in the middle", die erkennt, welche Daten zwischen Stelltisch und Relaisanlage ausgetauscht werden. Wenn alle Adern in den Leitungen schon vor der Datenübertragung festgelegt werden, kann man hier auch einen Editor platzieren, der z.B die Festlegung von Prioritäten bei der Datenübertragung o.ä. erlaubt. |
Zu überlegen
- Kompatibilitätsprüfung beim Verbinden zweier Schnittstellen (Schnittstelle definiert Leitungen von Gegenstelle als optional oder verpflichtend, Typprüfung)
Beschlüsse
- Leitungen sind typisiert (int, double, string). Ggf. werden auch structs benötigt (Blinken o.ä.). Zu prüfen: Soll Schnittstelle als template realisiert werden?
- Leitungen können zu einem Stecker zusammengefasst werden
- Leitungen zwischen zwei Schnittstellen können durchgeschaltet werden (ggf. auch skriptgesteuert aktivier/deaktivierbar, z.B. bei Weichen, die je nach Weichenlage in die eine oder andere Richtung durchschalten)
- Die ehemaligen Begriffe sendSignal bzw. teilweise auch Impuls werden durch den Begriff Ereignis ersetzt.
Neuformulierung
Ich habe mal überlegt, das neue Konzept von StellSi mal versuchen, in neue Worte zu fassen.
Die Verarbeitung der Logik erfolgt über folgende drei Konzepte:
- Zustände
- Automaten
- Ereignisse
- Jeder Zustand hat ein Zustandsscript, das den Wert des Zustandes aus Automaten oder den vorherigen Zuständen ermitteln kann.
- Der Automat wird von einem Ereingisscript angesteuert, dass im Prinzip einfach einen neuen Wert auf den Automaten setzt. Das Ereignisscript kann außerdem Ereignisse (auch die Änderung von Zuständen) empfangen und freie Ereignisse senden.
Ergänzung
- Stelltisch: Mindesttastendruckdauer für Tastaturen kürzen und für bestimmte Spezialstellwerke erhöhen. Erfordert einen automatischen Rückkanal für Freie Ausgangslogiken.