SCHEMA Lichtsignalanlage;

REFERENCE FROM Historisierung (historisches_Objekt);

REFERENCE FROM Allgemeine_Objekte (oertliche_Zuordnung, Meter, Anzahl, Datum);

ENTITY Lichtsignalanlage;
--- Attribute :
--- Relationen :
    hat_Rotlichtueberwachung: SET [1: ?] OF Rotlichtueberwachung;
    hat_Angaben_zum_Knotenpunkt: SET [1: ?] OF Angaben_zum_Knotenpunkt_LSA;
    hat_Grundl_u_Inbetriebn_daten: SET [1: ?] OF Grundlage_und_Inbetriebn_daten;
    hat_Angaben_zu_Verkehrsdaten: OPTIONAL SET [1: ?] OF Angaben_zu_Verkehrsdaten;
    hat_oertliche_Zuordnung: oertliche_Zuordnung;
    hat_Softwarekomponenten: SET [1: ?] OF Softwarekomponenten;
    hat_Hardwarekomponenten: SET [1: ?] OF Hardwarekomponenten;
    hat_uebergeordnete_Zentrale: OPTIONAL SET [1: ?] OF uebergeordnete_Zentrale;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Rotlichtueberwachung
SUBTYPE OF (historisches_Objekt);
--- Attribute :
    Ueberwachung: BOOLEAN;
    Fahrtrichtung: OPTIONAL STRING(50);
--- Relationen :
INVERSE
    von_Lichtsignalanlage: SET [0: ?] OF Lichtsignalanlage FOR hat_Rotlichtueberwachung;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Angaben_zum_Knotenpunkt_LSA
SUBTYPE OF (historisches_Objekt);
--- Attribute :
    Name: STRING(50);
    Zahl_der_Knotenarme: OPTIONAL Anzahl;
    Hauptrichtung: STRING(50);
    Markierungspfeile: OPTIONAL SET [1: ?] OF Markierungspfeile;
--- Relationen :
INVERSE
    von_Lichtsignalanlage: SET [0: ?] OF Lichtsignalanlage FOR hat_Angaben_zum_Knotenpunkt;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Markierungspfeile;
--- Attribute :
    Kennung: INTEGER;
    Langtext: STRING;
--- Relationen :
UNIQUE
    Kennung_eindeutig: Kennung;
END_ENTITY;


(* zulaessige Werte, in der Form (Kennung,Langtext):

   (1,'Rechtabbiegepfeil')
   (2,'Linksabbiegepfeil')
   (3,'Geradeauspfeil')
   (4,'Geradeaus und Links')
   (5,'Geradeaus und Rechts')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Grundlage_und_Inbetriebn_daten
SUBTYPE OF (historisches_Objekt);
--- Attribute :
    Einsatzzeiten: Einsatzzeiten;
    Nummer: INTEGER;
    Nummer_Nachbar_LSA: OPTIONAL SET [1: 4] OF INTEGER;
    Baulasttraeger: STRING(50);
    Stoerungsstelle: OPTIONAL STRING(50);
    Datum_Installation: Datum;
    Wartungszyklus: STRING(99);
    Datum_Zwischenzeitmatrix: OPTIONAL Datum;
    Datum_VZ_Plan: OPTIONAL Datum;
    Datum_Signalprogramme: OPTIONAL Datum;
--- Relationen :
INVERSE
    von_Lichtsignalanlage: SET [0: ?] OF Lichtsignalanlage FOR hat_Grundl_u_Inbetriebn_daten;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Einsatzzeiten;
--- Attribute :
    Kennung: INTEGER;
    Langtext: STRING;
--- Relationen :
UNIQUE
    Kennung_eindeutig: Kennung;
END_ENTITY;


(* zulaessige Werte, in der Form (Kennung,Langtext):

   (1,'24-Stunden-Anzeige')
   (2,'Nachtabschaltung')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Angaben_zu_Verkehrsdaten
SUBTYPE OF (historisches_Objekt);
--- Attribute :
    Datum_VZ: Datum;
    Verkehrsstroeme: OPTIONAL SET [1: ?] OF STRING(99);
    OePNV_Frequenzen: OPTIONAL STRING(99);
    Fussgaengerzaehlung: OPTIONAL STRING(99);
--- Relationen :
INVERSE
    von_Lichtsignalanlage: SET [0: ?] OF Lichtsignalanlage FOR hat_Angaben_zu_Verkehrsdaten;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Softwarekomponenten;
--- Attribute :
    Hersteller: OPTIONAL STRING(50);
--- Relationen :
    hat_Signalprogrammparameter: SET [1: ?] OF Signalprogrammparameter;
    hat_hinterlegte_Programme: SET [1: ?] OF hinterlegte_Programme;
INVERSE
    von_Lichtsignalanlage: SET [0: ?] OF Lichtsignalanlage FOR hat_Softwarekomponenten;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Signalprogrammparameter
SUBTYPE OF (historisches_Objekt);
--- Attribute :
    Zwischenzeit: STRING(99);
    maximale_Freigabezeit: OPTIONAL STRING(99);
    Umlaufzeit: STRING(99);
    maximale_Wartezeit: OPTIONAL STRING(99);
    Zeitluecke_Belegung: OPTIONAL STRING(99);
    Berechnungsverfahren: OPTIONAL STRING(99);
    Mindestfreigabezeit: OPTIONAL STRING(99);
    Versatzzeit: OPTIONAL STRING(99);
    Radfahrerberuecksichtigung: OPTIONAL BOOLEAN;
    OePNV_Beruecksichtigung: OPTIONAL BOOLEAN;
--- Relationen :
INVERSE
    von_Softwarekomponenten: SET [0: ?] OF Softwarekomponenten FOR hat_Signalprogrammparameter;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY hinterlegte_Programme
SUBTYPE OF (historisches_Objekt);
--- Attribute :
    Steuerungsverfahren: OPTIONAL STRING(50);
    Anzahl: Anzahl;
    Auswahlverfahren: Auswahlverfahren;
    Art_der_Programme: OPTIONAL STRING(50);
    OePNV_Berechtigung: OePNV_Berechtigung;
    Darstellung: OPTIONAL STRING(50);
--- Relationen :
INVERSE
    von_Softwarekomponenten: SET [0: ?] OF Softwarekomponenten FOR hat_hinterlegte_Programme;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Auswahlverfahren;
--- Attribute :
    Kennung: INTEGER;
    Langtext: STRING;
--- Relationen :
UNIQUE
    Kennung_eindeutig: Kennung;
END_ENTITY;


(* zulaessige Werte, in der Form (Kennung,Langtext):

   (1,'zeitplanabhängiges Verfahren')
   (2,'verkehrsabhängiges Verfahren')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY OePNV_Berechtigung;
--- Attribute :
    Kennung: INTEGER;
    Langtext: STRING;
--- Relationen :
UNIQUE
    Kennung_eindeutig: Kennung;
END_ENTITY;


(* zulaessige Werte, in der Form (Kennung,Langtext):

   (0,'ohne')
   (1,'bedingt')
   (2,'weitgehend')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Hardwarekomponenten;
--- Attribute :
    Hersteller: STRING(50);
    Signalgruppen: OPTIONAL STRING(99);
--- Relationen :
    hat_akust_o_taktile_Signalgeb: OPTIONAL SET [1: ?] OF akust_oder_taktile_Signalgeber;
    hat_Angaben_zum_Steuergeraet: SET [1: ?] OF Angaben_zum_Steuergeraet;
    hat_Angaben_zur_Verkabelung: SET [1: ?] OF Angaben_zur_Verkabelung;
    hat_Angab_z_Aufstellvorrichtg: SET [1: ?] OF Angaben_z_Aufstellvorrichtung;
    hat_optische_Signalgeber: SET [1: ?] OF optische_Signalgeber;
    hat_Erfassungseinrichtungen_IV: OPTIONAL SET [1: ?] OF Erfassungseinrichtungen_IV;
    hat_Erfassungseinrichtungn_OeV: OPTIONAL SET [1: ?] OF Erfassungseinrichtungen_OeV;
INVERSE
    von_Lichtsignalanlage: SET [0: ?] OF Lichtsignalanlage FOR hat_Hardwarekomponenten;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY akust_oder_taktile_Signalgeber
SUBTYPE OF (historisches_Objekt);
--- Attribute :
    Anzahl_1: Anzahl;
    Anzahl_2: Anzahl;
    Position_1: Position_SG;
    Position_2: Position_SG;
--- Relationen :
INVERSE
    von_Hardwarekomponenten: SET [0: ?] OF Hardwarekomponenten FOR hat_akust_o_taktile_Signalgeb;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Position_SG;
--- Attribute :
    Kennung: INTEGER;
    Langtext: STRING;
--- Relationen :
UNIQUE
    Kennung_eindeutig: Kennung;
END_ENTITY;


(* zulaessige Werte, in der Form (Kennung,Langtext):

   (1,'seitlich')
   (2,'überkopf')
   (3,'beide Varianten')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Angaben_zum_Steuergeraet
SUBTYPE OF (historisches_Objekt);
--- Attribute :
    Geraetebezeichnung: STRING(50);
    max_Programmzahl: Anzahl;
    max_SG_Anzahl_Kfz: Anzahl;
    max_SG_Anzahl_Fussgaenger: Anzahl;
    max_SG_Anzahl_OeV: Anzahl;
    max_SG_Anzahl_Zusatzsignalgeb: Anzahl;
    max_Anzahl_Kanaele: OPTIONAL Anzahl;
    Programmierbarkeit: BOOLEAN;
    Spannungsversorgung: OPTIONAL STRING(50);
    Anordnung: OPTIONAL STRING(50);
    Verkehrszaehlspeicher: OPTIONAL STRING(50);
    Schliesssystem: OPTIONAL STRING(50);
    Handbedienteil: OPTIONAL BOOLEAN;
    BUeSTRA: BOOLEAN;
    Koordinierung: OPTIONAL Koordinierung;
    Telefonbuchse: OPTIONAL BOOLEAN;
    Messschreiberanschluss: OPTIONAL BOOLEAN;
    Heizung_Luefter: OPTIONAL BOOLEAN;
--- Relationen :
INVERSE
    von_Hardwarekomponenten: SET [0: ?] OF Hardwarekomponenten FOR hat_Angaben_zum_Steuergeraet;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Koordinierung;
--- Attribute :
    Kennung: INTEGER;
    Langtext: STRING;
--- Relationen :
UNIQUE
    Kennung_eindeutig: Kennung;
END_ENTITY;


(* zulaessige Werte, in der Form (Kennung,Langtext):

   (0,'Funkuhr')
   (1,'Koordinierungskabel')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Angaben_zur_Verkabelung
SUBTYPE OF (historisches_Objekt);
--- Attribute :
    Rohrbelegung: BOOLEAN;
    Verbindung_NK: Verbindung_NK;
--- Relationen :
INVERSE
    von_Hardwarekomponenten: SET [0: ?] OF Hardwarekomponenten FOR hat_Angaben_zur_Verkabelung;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Verbindung_NK;
--- Attribute :
    Kennung: INTEGER;
    Langtext: STRING;
--- Relationen :
UNIQUE
    Kennung_eindeutig: Kennung;
END_ENTITY;


(* zulaessige Werte, in der Form (Kennung,Langtext):

   (0,'keine Verbindung zum Nachbarknoten')
   (1,'Verbindung zum Nachbarknoten vorhanden')
   (2,'Verbindung zu mehreren Nachbarknoten ' ||
    'vorhanden')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Angaben_z_Aufstellvorrichtung
SUBTYPE OF (historisches_Objekt);
--- Attribute :
    Art: STRING(50);
    Anzahl: Anzahl;
    Ausleger_Laenge: OPTIONAL Meter;
    Ausleger_Anzahl: OPTIONAL Anzahl;
    Gruendung: OPTIONAL STRING(50);
--- Relationen :
INVERSE
    von_Hardwarekomponenten: SET [0: ?] OF Hardwarekomponenten FOR hat_Angab_z_Aufstellvorrichtg;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY optische_Signalgeber
SUBTYPE OF (historisches_Objekt);
--- Attribute :
    Anzahl: Anzahl;
    Durchmesser: OPTIONAL STRING(50);
    Blendensymbol: STRING(99);
    Position: Position_SG;
--- Relationen :
INVERSE
    von_Hardwarekomponenten: SET [0: ?] OF Hardwarekomponenten FOR hat_optische_Signalgeber;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Erfassungseinrichtungen_IV
SUBTYPE OF (historisches_Objekt);
--- Attribute :
    Art_der_Erfassung: STRING(99);
    Anzahl_1: Anzahl;
    Anzahl_2: OPTIONAL Anzahl;
    zu_erkennende_Fz: OPTIONAL STRING(50);
    Funktion: OPTIONAL STRING(99);
    Gestaltung: OPTIONAL STRING(99);
--- Relationen :
INVERSE
    von_Hardwarekomponenten: SET [0: ?] OF Hardwarekomponenten FOR hat_Erfassungseinrichtungen_IV;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Erfassungseinrichtungen_OeV
SUBTYPE OF (historisches_Objekt);
--- Attribute :
    Art_der_Erfassung: STRING(50);
    Anzahl: Anzahl;
    Position: OPTIONAL STRING(50);
    Funktion: STRING(50);
    Verbindung: BOOLEAN;
--- Relationen :
INVERSE
    von_Hardwarekomponenten: SET [0: ?] OF Hardwarekomponenten FOR hat_Erfassungseinrichtungn_OeV;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY uebergeordnete_Zentrale
SUBTYPE OF (historisches_Objekt);
--- Attribute :
    Lage: STRING(50);
    Schnittstellendef_bekannt: BOOLEAN;
    Typ: Typ_UeZ;
    Eingriffsmoeglichkeit: Eingriffsmoeglichkeit;
    Hersteller_des_Steuerrechners: OPTIONAL STRING(50);
    Typ_des_Steuerrechners: OPTIONAL STRING(50);
--- Relationen :
INVERSE
    von_Lichtsignalanlage: SET [0: ?] OF Lichtsignalanlage FOR hat_uebergeordnete_Zentrale;
END_ENTITY;

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Typ_UeZ;
--- Attribute :
    Kennung: INTEGER;
    Langtext: STRING;
--- Relationen :
UNIQUE
    Kennung_eindeutig: Kennung;
END_ENTITY;


(* zulaessige Werte, in der Form (Kennung,Langtext):

   (1,'RBL')
   (2,'Verkehrsrechner')
   (3,'gemeinsame Leitzentrale IV/ÖV')
   (4,'getrennte Leitzentralen IV/ÖV')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION >>

ENTITY Eingriffsmoeglichkeit;
--- Attribute :
    Kennung: INTEGER;
    Langtext: STRING;
--- Relationen :
UNIQUE
    Kennung_eindeutig: Kennung;
END_ENTITY;


(* zulaessige Werte, in der Form (Kennung,Langtext):

   (0,'nur Visualisierung')
   (1,'mit Steuereingriff')

*)

-- SCHEMA - OKSTRA - INDEX - VERSION >>

END_SCHEMA; -- Lichtsignalanlage