1 Technisch Ontwerp VISSIM-PPA Koppeling Revisie Versie Datum Omschrijving 1.0 25 juli 2013 Initiële versie 1.1 26 juli 2013 Toevoeging van TDI regeltoestand. Toevoeging van bestandsnaam filtering. 1.2 29 juli 2013 Toevoeging van (deug) Logging. 1.3 1 augustus 2013 Conversie naar BPS code. Referenties Nr. Document [1] Memo Koppeling PPA-bus met VISSIM v1.docx [2] RTD12003_PPAW_Interface_TDI_regeling_v0.2.docx [3] RTD12003_PPAW_Interface_VRI_regeling_v1.0.docx [4] RTD12003_PPAW_Interface_Tenuki_v0.2.docx [5] Inventarisatie Ontwikkelingen Simulatieomgeving PPA v1.8.docx (bijlage 3) [6] VISSIM-PPA_Koppeling_Functioneel_Ontwerp_v1.0.pdf Afkortingen Afk. BLOL BPS HTTP JSON URL WOL XML Betekenis Baan Oriëntatie Lijn Beschrijvende Plaatsaanduiding Systematiek Hypertext Transfer Protocol JavaScript Object Notation Uniform Resource Locator Weg Oriëntatie Lijn extensible Markup Language
1. Class Diagram In Figuur 1 wordt het class diagram weergegeven van de basisfunctionaliteit van de VISSIM-PPA Koppeling. Hierin worden de use cases uit het functioneel ontwerp [6] gemodelleerd. Figuur 1: Class Diagram 2
1.1 Class mapping In de volgende tabel wordt uitgelegd welke class welke verantwoordelijkheid heeft en welke use case hiermee behandeld wordt. Class Omschrijving Use Case MainApplication Dit is de class die de initialisatie en Start applicatie. het opstarten van de applicatie verzorgt. ShutdownHandler Dit is een inner-class die de juiste Stop applicatie. afsluitprocedure afhandelt. Configuration Deze class stelt de configuratie Configureer applicatie. (indirect) voor. Hierin staat o.a. de URL van de PPA-bus. SystemData Deze class stelt de configuratie van Configureer applicatie. (indirect) een directory voor. Alle benodigde conversie informatie bevind zich in deze class. SystemType Dit is de enumeratie van de Configureer applicatie. (indirect) beschikbare systemen; TDI-MV, TDI-RT, VRI en MTM. FileHandler Dit is de interface beschrijving voor Poll directory. het afhandelen van een bestand. DirectoryWatcher Deze class is verantwoordelijk voor Poll directory. het in de gaten houden van een directory. En implementeert ook de FileHandler interface. FileWatcher Deze class controleert of een Poll directory. bestand nog verandert alvorens de verwerking te starten. DataProcessor Dit is een abstract class die de Verwerk bestand. basis vormt voor het verwerken en converteren van bestandsgegevens. MVProcessor DataProcessor implementatie voor Verwerk bestand. van MV-bestanden. RTProcessor DataProcessor implementatie voor Verwerk bestand. van tekstbestanden met regeltoestand TDI. MTMProcessor DataProcessor implementatie voor Verwerk bestand. van tekstbestanden met MTM data. Orientation Dit is een enum inner-class om het Verwerk bestand. gedeelte van de WOL en BOL in de BPS-code te bepalen. VLogProcessor DataProcessor implementatie voor van Vlog_ASCII-bestanden. Verwerk bestand. 3
Class Omschrijving Use Case Message Deze class stelt een JSON bericht POST bericht. voor wat op de PPA-bus gezet moet worden. MessageSender Deze class is verantwoordelijk voor het uitvoeren van de HTTP POST actie. POST bericht. 4
2. Configuratie 2.1 XML Schema Het root-element van de configuratie is een <configuratie> element met namespace []. Dan moet er een <ppawegkant> element volgen met als waarde de URL van de PPA-bus. Dan volgt het <data> element waarin de systemen met bijbehorende directory's worden geconfigureerd. Elk type systeem heeft een corresponderend element; <tdi>, <vri> en <mtm>. Dit element heeft een attribuut met de naam id wat als (unieke) identificatie dient. De waarde van het element is het (absolute) pad van de directory waar de bestanden in terecht komen. Figuur 2: Configuratie XML Schema (vissim-ppa.xsd) 5
2.2 Voorbeeld Figuur 3: Configuratie XML-bestand (voorbeeld) 2.3 Applicatie instellingen Het aantal 'opnieuw verzenden' pogingen kan worden ingesteld middels de systeemeigenschap 'message.retrycount' (op de command-line: -Dmessage.retryCount=<integer>). Standaard heeft deze een waarde van 0 (nul), wat betekend dat er maar eenmalig geprobeerd wordt een bericht te versturen. Staandaard verwacht de applicatie de configuratie-bestanden in de relatieve directory genaamd conf. Wanneer de configuratie-bestanden in een andere directory staan kan deze directory opgegeven worden middels de systeemeigenschap 'ppawegkant.conf' (op de command-line: -Dppawegkant.conf=<path>). 2.4 Log4J instellingen Standaard wordt er gelogd op DEBUG niveau naar zowel standaard output, als naar logbestand. Bij afwezigheid van de console wordt loggen naar standaard output automatisch uitgeschakeld. Figuur 4: Log4J instellingen Java properties-bestand 6