Nr. | Name | Prio | Tage | Projekt | ||
---|---|---|---|---|---|---|
1 | Property-Beschreibung mit XML und Code-Generierung | |||||
2 | Umstellung von Geräte-Software auf V09 mit XML-Beschreibung | |||||
3 | Devman | |||||
4 | Nameservice and Access Rights | |||||
5 | Subscription-Service | |||||
6 | Userface | |||||
7 | KE3CG08 | |||||
8 | Kleinigkeiten | |||||
9 | eventuell zusätzlich noch | |||||
9.5 | Alle | 2 | Vorschlag für Bibliotheks-Directories (z.B. $libasl ) im Produktionszweig $PROOT erarbeiten. |
|||
6.2 | GSch | 1 | guckt nach (Linux-) Servern auf mehreren Hosts | |||
6.3 | GSch | 1 | entsprechende Operating-Programme mit Userface gelinkt | |||
6.4 | GSch | 1 | Prüfung MOPS-/DevMan-Gerät (mit cache) verfeinern | |||
6.5 | GSch | 1 | kein Exit bei Störungen der Kommunikation mit dem UFCServer, Neustart | |||
6.6 | GSch | 2 | Mitliefern des Username für Nameserver mit Access Rights | |||
6.9 | GSch | 1 | Versionskontrolle zwischen client und server | |||
6.10 | GSch | 1 | Docu u.a. für die Rufbereitschaft vervollständigen. | |||
6.11 | GSch | 1 | Exe des Produktions-UfcServers nach $libasl . |
|||
2.4 | Kain | 1 | Erweiterungen im Device-Implementation-Interface, damit eine USR auf den DPR-Bereich eines anderen Gerätes zugreifen kann. | |||
3.3 | Kain | 1 | Mehrfaches Linken von z.B. vmedevice.so.x.y.z abfangen | |||
8.1 | Kain | 1 | AccDevFatalException parallel zu AccDevException erfinden | |||
2.1 | KHer | 1 | DI: USRs und EQMs | |||
1.1 | KHoe | 1 | Adapter für Elementzugriff via Elementnamen | |||
1.4 | KHoe | 1 | Erweiterung der XML-Property-Beschreibung. | |||
1.5 | KHoe | 1 | XSD- und XSLT-Dateien kommen zum Projekt uti und werden beim Make nach $uti kopiert. |
|||
1.8 | KHoe | 1 | USR-Adapter: Parameter-Check auf para.size() > max. | |||
3.1 | KHoe | 1 | Persistant IORs: Endpoint implementiert. | |||
3.2 | KHoe | 1 | Automatisches generieren der Dateien devman-version-*.hh |
|||
4.8 | KHoe | 1 | Nameserver per service GSInameserver startbar |
|||
6.12 | KHoe | 1 | xinetd : Produktions-UfcServer von $libasl starten. |
|||
8.11 | KHoe | 2 | Keine Log-Ausgaben des Devman usw. nach /var/log/messages . |
|||
1.3 | LH | 1 | Erweiterung des Konstruktors der Klasse Usr um einen Parameter, der die Kennzeichnung als kritische Property erlaubt. |
|||
1.3.1 | LH | 1 | Vorschlag für Erweiterung der Klasse Usr. | |||
1.3.2 | LH | 1 | Implementierung der Erweiterung der Klasse Usr. | |||
1.3.3 | LH | 1 | Vorschlag für neue Methode der Klasse Usr zum nachträglichen Einschränken des Zugriffsrechts. | |||
1.3.4 | LH | 1 | Default-Property PROPDESC um Property-Access-Parameter erweitern. |
|||
2.3 | LH | 1 | DGX: USRs und EQMs | |||
2.6 | LH | 1 | Default-USR EQMError bleibt, NODAL-Programm anpassen. | |||
3.4 | LH | 2 | Script zum Freigeben des Devman, reldevman . erstellen |
|||
3.10 | LH | 1 | 'Tagging' aller Quellen im Repository nach Tests Mitte/Ende Februar. | |||
4.11 | LH | 1 | Neue Methoden limitPropertyAccess() für Usr und UsrSet einbauen. |
|||
4.12 | LH | 2 | CORBA-Nameserver aus (C++) Nameservice für Clients rausnehmen. | |||
5.1 | LH | 1 | ohne Timeout-Handling | |||
5.2 | LH | 1 | inklusive Timeout-Handling | |||
5.5 | LH | 2 | Eventkonnektierung inklusive Pulszentralenkennung. Im Subscription-Service-API drin, aber bisher ohne Funktion. | |||
7.1 | LH | 1 | PPC-GuP und 5 SEs für KE3CG08 bereit stellen. | |||
7.2 | LH | 1 | Schnelles Ethernet für PPC-GuP bereit stellen. | |||
7.3 | LH | 1 | M68k-GuP, Eth, V08-SEs und Watchdog-Karte als Rückfallposition gut aufheben! Auch das 10MBit Ethernet darf nicht entsorgt werden! | |||
7.4 | LH | 2 | Terminalserverports (KE3CT01) mit KE3CG08-GuP und -SEs verbinden. | |||
7.5 | LH | 1 | Alle 5 SEs: Init des Therapiespeichers (EQM 210). | |||
7.6 | LH | 1 | Therapieteilnehmer zu MEDMEMBers erklären. |
|||
8.2 | LH | 1 | Alle cerr-Outputs durch logmsg(LOG_DEBUG,...) , alle cout-Outputs durch logmsg(LOG_INFO,...) ersetzen. |
|||
8.3 | LH | 1 | alle .settings usw. mit ins SVN-Repository einchecken |
|||
8.4 | LH | 1 | Klasse Device erweitern um Methode const String& nomen(); |
|||
8.5 | LH | 1 | Parallele für Property DEVDESC , die Userface konvertieren kann. DEVDESC2 mit Nomen, Eqmod, GuP- und SE-Name für Vme- und X86Device. |
|||
8.9 | LH | 1 | Eine schnelle Möglichkeit finden, das exitNoSend() unter Device Access nachzubilden. |
|||
9.10 | LH | 2 | Neues Projekt tests erstellen, das u.a. client.cc , subsvc-test.cc , das Python-Testprogram von Peter usw. enthält. |
|||
2.2 | NN | 1 | DF: USRs und EQMs. Entfällt, Gerätemodell wird nicht mehr gebraucht. | |||
4.9 | NN | 2 | Überlegen, wie Cosylab mit (neuem) Nameserver umgeht. | |||
8.7 | NN | 1 | Kleines Kochbuch erstellen (online), wie man rausbekommt, ob Devman, Nameserver und Ufc-Server laufen, wie man sie starten kann, wo ihre Logs zu finden sind usw. Braucht die Rufbereitschaft! | |||
3.5 | SMa | 1 | GSI-eigenen Nameservice benutzen | |||
3.6 | SMa | 2 | GSI-eigenen Nameservice inklusive Access Rights benutzen | |||
3.7 | SMa | 1 | DevMan akzeptiert Option -c fuer die Auswahl des Nameservers (-c für CORBA) (s. 4.9)) |
|||
3.8 | SMa | 1 | DevMan akzeptiert Option -s servername fuer Suche des Nameservers |
|||
3.9 | SMa | 1 | 3.8 wurde gestrichen und durch Umgebungsvariablen ersetzt: zum Debuggen lokal die Umgebungsvariable NA_SERV_PORT auf eine andere Portnummer setzen (nicht 52315) setzen | |||
4.1 | SMa | 1 | GSI-eigener Nameserver | |||
4.3 | SMa | 1 | Austragen der Devices aus Nameservice im Destruktor des Devman | |||
4.4 | SMa | 1 | Klären, ob man statt TCP/IP besser via CORBA kommuniziert. | |||
4.10 | SMa | 1 | Aussagefähigere Namen für die beiden Nameserver-Dateien erfinden | |||
4.13 | SMa | 2 | Nameservice sollte Verbindung zum GSI-Nameserver nicht permanent offen halten. Nach sinnvoller Timeoutzeit (5-10 sec) Verbindung schliessen. | |||
4.17 | SMa | 1 | Docu u.a. für die Rufbereitschaft vervollständigen. | |||
9.11 | SMa | 2 | Dem Nameserver das Loglevel als Kommandozeilenparameter mitgeben | |||
4.6 | UK | 1 | Client-API für Java: Erste Version funktionsfähig | |||
4.7 | UK | 1 | Client-API für Python im Modul devacc |
|||
4.7a | UK | 2 | Client-API für Python: Integration in Makefiles |
Nr. | Bemerkung |
---|---|
3.3 | USR-Dateien (z.B. md.so) können mit verschiedenen vmedevice.so.x.y.z-Dateien gelinkt sein. Dann gibt es den VME-Bustreiber-Singleton zweimal und nur einer kann auf den VME-Bus zugreifen. Wie kann man das Vermeiden bzw. beim Laden der so-Dateien erkennen? Das Errorhandling in Devman/vme_std-Treiber wird so erweitert, dass der Devman beendet wird, wenn VME-Bus-Zugriffe nicht möglich sind. Bei "service devman [re]start" muss man dann ein "[FAILED]" bekommen. |
3.4 | * Tut bereits für VME, für ASL bedarf es noch der Klärung einiger Randbedingungen (cpu-spezifische Directories, Logfile-Directories, ...). * Zur Zeit wird nur devman.so.1.2.3 freigegeben. Was mit den anderen Bibliotheken ist, z.B. accdata.so oder vmedevice.so, muss noch geklärt werden. * Makefile.nigthly darf dann generierte shared objects nicht mehr einfach nach $libvme bzw. $libasl kopieren. |
4.4 | Wir bleiben bei TCP/IP |
4.8 | Nameserver soll zunächst auf asl711 laufen. Das Exe liegt auf $libasl . Perspektivisch soll der Server auf ausfallsicheren Rechnern laufen. Die Clients sollen dann den Ort des Servers vom DNS und aus /etc/services erfahren. Das erfordert nochmal eine Änderung des Nameservice-Codes! |
4.9 | Devman-Option -c benutzen, siehe 3.7. |
4.12 | Im Moment werden Geräte aus dem GSI-Nameserver wieder ausgetragen, aus dem CORBA-Nameserver aber nicht. Das schafft Verwirrung beim Userface. Entweder wird die Client-Nachfrage beim CORBA-Nameserver weggelassen, oder der Devman muss Geräte auch aus dem CORBA-Nameserver wieder austragen. Bedenken bei der Entscheidung: Cosylab sowie Access Rights. |
4.13 | Wird ein GSI-Nameserver gestoppt, wenn noch ein Client Verbindung zu ihm hat, ist ein folgender Restart nicht sofort möglich, weil der Port zum Client noch eine gewisse Zeit belegt ist. Entweder wird die Verbindung vom Client (in nameservice-gsi.cc?) nach einer Anfrage sofort wieder geschlossen, oder es wird ein Timer aufgesetzt, der nach einer bestimmten Zeit ohne weitere Aktivität zwischen Client und Server die Verbindung automatisch schließt. |
5.5 | Wenn in naher Zukunft jede SE ihr eigenes Timing empfangen kann (Einsatz der neuen VME-Crates), dann muss die Spezifizierung einer Eventkonnektierung auch die Pulszentralenkennung enthalten. Würde ein "-1", das für "PZ ist egal" stünde, Sinn machen? Wenn wir das einführen, bedarf es Änderungen bzw. Erweiterungen der Software * im Subscription-Service, * in den Klassen Device und AccDevice und * auf der VME-Ebene. |
6 | Wenn das Multithreading auch unter VMS 8.3 klemmen sollte, Userface mit QIO statt Sockets realisieren. |
6.3 | Dabei wird zu prüfen sein, ob die Operating-Programme, die ja dazu mit dem Switch multithreaded kompiliert und gelinkt werden müssen, in ihrem Resourcenverbrauch unter VMS 8.3 wieder einigermaßen vertretbare Ausmaße annehmen. Auch auf die CPU-Auslastung auf den dann neuen Alphas muss geachtet werden. Sollten die Ergebnisse nicht zufriedenstellend sein, muss über Alternativen nachgedacht werden. |
6.6 | Fertig und getestet, aber noch nicht implementiert. |
7 | KE3CG08 ist der Ersatzrahmen für KUECG4D. Der UNILAC-Rahmen muss tatsächlich am 2. Jan. 2008 einsatzbereit sein! Das SIS geht, für Beschleunigertests, erst einen Monat später in Betrieb. Der eigentliche Betrieb beginnt Ende Februar. |
7.2 | Die Ports der Switsches müssen auf auto stehen. Dann handeln sowohl der alte Transceiver als auch das PPC-Board die passende Bandbreite aus. Es ist also nur ein Eth-Anschluss nötig. |
8.2 | Siehe Linux Man Pages für die verschiedenen Levels. Der Default-Loglevel auf den Linux-Maschinen muss also LOG_INFO sein! |
9.5 | Zum Beispiel würden unter $PROOT/asl/lib/v01 nur Produktions-Shared-Objects liegen, die explizit freigegeben wurden (siehe auch 3.4). Programme im täglichen Betrieb würden diese Shared-Objects benutzen und hätten keine (Kompatibilitäts-) Probleme mit upgedateten Shared-Objects auf $DROOT/lib/asl/v01 . |
Nr. | Name | Prio | Tage | Projekt | |
---|---|---|---|---|---|
1 | Devman | ||||
1.1 | Kain | 2 | Gerät online auf SE, aber offline beim GuP | ||
1.2 | Kain | 2 | Event-Konnektierungen an einzelne VrtAccs (statt an alle) tun nicht | ||
1.3 | Kain | 1 | Lockfile wird nicht immer gelöscht, z.B. wenn es beim Einlesen der DBS-Datei Probleme gibt. | ||
1.4 | Kain | 2 | Projekt 'cpu87': Fehlermeldungen macros.h: No such file or directory dito für global-types.h. |
||
1.5 | Kain | 1 | EcInfoPPC::getStatus() liefert falschen Gerätestatus. |
||
1.6 | Kain | 1 | Nomenklaturen, die mit >> beginnen, z.B. >>RES42 , sollen nicht als Objekte angelegt werden. |
||
1.7 | Kain | 1 | VmeDevice::getStatus() liefert Returnstatus, aber RDefStatus<T>::read() wertet ihn nicht aus. Folge: User bekommt keinen Wert und keinen Fehler. |
||
1.8 | Kain | 1 | Keine Alarme von nicht-existenten SEs verschicken. | ||
2 | Scripte | ||||
2.1 | KHoe | 1 | Makefile.nightly muss bei Compile-Fehlern sofort abbrechen. | ||
3 | Nameservice | ||||
3.1 | LH | 1 | Callbacks (konnektierte Aufträge) tun mit neuem Nameservice nicht mehr. | ||
3.2 | SMa | 1 | logmsg-Ausgaben, die Fehler berichten, immer mit LOG_ERR ausgeben, nicht mit LOG_DEBUG . (korrigiert in nsrvclient, nsrvtcpip und nameserver) |
||
3.3 | SMa | 1 | In nameservice-gsi.cc die 2 Methoden createDeviceReference() nicht zweimal komplett implementieren. Evtl. mit default Parameter user . |
||
4 | Subscriptionservice | ||||
4.1 | LH | 1 | Anwendung schmiert in shared_ptr.hh, Zeile 24 (++*_count; ) mit Segmentaion Fault ab, anscheinend dann, wenn nach unsubscribe() noch Nachzügler kommen. (Nicht reproduzierbar.) |
||
4.2 | LH | 1 | In Collector::insert() tut der Vergleich if (trgtime < _sentTime) nicht, wenn map.empty(), _sentTime = 23:55 und trgtime = 0:02 ist! |
||
4.3 | LH | 2 | Die Trigger-Eventstamp liefert TIF als Pulszentralen-ID, die Eventstamps der Einzelgeräte aber SWPZ , wenn man TL1MU1 (in KP1CS042) usw. subscribiert. Die SE hängt an der SWTIME3E. |
||
5 | Allgemein | ||||
5.1 | LH | 1 | Beim Zugriff von 2 Clients auf die selbe Property eines Gerätes kommen zum Teil mehr Daten zurück als die USR verschickt. Tritt nicht mehr auf. Tests am 4.12.07. | ||
5.2 | KHer | 1 | EC-Property DIAGNOSE liefert falsche Daten für den Eventpuffer. Siehe Menüpunkt 30 in NODAL comp_test. |
||
5.4 | LH | 1 | accdata.hh: virtual aus Deklaration von type() rausnehmen |
||
5.5 | LH | 1 | accdevice: Usr::read() wirft alle Exceptions, AccDevice::read() aber nur AccDevExceptions , ebenso alle anderen Methoden. |
||
5.7 | Kain | 2 | GuP trägt seine Knotennummer nicht bei den SEs ein. Nummer sollte aus den letzten beiden Bytes der IP-Adresse gebildet werden. | ||
5.8 | Kain | 2 | Default-USR EQMERROR sollte nicht xErrIndex liefern, sondern die jeweilige size() des Puffers. |
||
5.10 | UK | 1 | NODAL WAIT-T tut unter VMS 8.3 nicht. |