Technisch Ontwerp VISSIM-PPA Koppeling
Revisie Versie 1.0 1.1
Datum 25 juli 2013 26 juli 2013
1.2 1.3
29 juli 2013 1 augustus 2013
Omschrijving Initiële versie Toevoeging van TDI regeltoestand. Toevoeging van bestandsnaam filtering. Toevoeging van (deug) Logging. Conversie naar BPS code.
Referenties Nr. [1] [2] [3] [4] [5] [6]
Document Memo Koppeling PPA-bus met VISSIM v1.docx RTD12003_PPAW_Interface_TDI_regeling_v0.2.docx RTD12003_PPAW_Interface_VRI_regeling_v1.0.docx RTD12003_PPAW_Interface_Tenuki_v0.2.docx Inventarisatie Ontwikkelingen Simulatieomgeving PPA v1.8.docx (bijlage 3) 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
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 MainApplication ShutdownHandler Configuration SystemData
SystemType FileHandler DirectoryWatcher
FileWatcher DataProcessor
MVProcessor RTProcessor
MTMProcessor
Orientation VLogProcessor
Omschrijving Dit is de class die de initialisatie en het opstarten van de applicatie verzorgt. Dit is een inner-class die de juiste afsluitprocedure afhandelt. Deze class stelt de configuratie voor. Hierin staat o.a. de URL van de PPA-bus. Deze class stelt de configuratie van een directory voor. Alle benodigde conversie informatie bevind zich in deze class. Dit is de enumeratie van de beschikbare systemen; TDI-MV, TDI-RT, VRI en MTM. Dit is de interface beschrijving voor het afhandelen van een bestand. Deze class is verantwoordelijk voor het in de gaten houden van een directory. En implementeert ook de FileHandler interface. Deze class controleert of een bestand nog verandert alvorens de verwerking te starten. Dit is een abstract class die de basis vormt voor het verwerken en converteren van bestandsgegevens. DataProcessor implementatie voor de afhandeling van MV-bestanden. DataProcessor implementatie voor de afhandeling van tekstbestanden met regeltoestand TDI. DataProcessor implementatie voor de afhandeling van tekstbestanden met MTM data. Dit is een enum inner-class om het gedeelte van de WOL en BOL in de BPS-code te bepalen. DataProcessor implementatie voor de afhandeling van Vlog_ASCII-bestanden.
3
Use Case Start applicatie. Stop applicatie. Configureer applicatie. (indirect) Configureer applicatie. (indirect)
Configureer applicatie. (indirect) Poll directory. Poll directory.
Poll directory. Verwerk bestand.
Verwerk bestand. Verwerk bestand.
Verwerk bestand.
Verwerk bestand. Verwerk bestand.
Class Message MessageSender
Omschrijving Deze class stelt een JSON bericht voor wat op de PPA-bus gezet moet worden. Deze class is verantwoordelijk voor het uitvoeren van de HTTP POST actie.
4
Use Case POST bericht. POST bericht.
2. Configuratie 2.1 XML Schema Het root-element van de configuratie is een
element met namespace []. Dan moet er een element volgen met als waarde de URL van de PPA-bus. Dan volgt het element waarin de systemen met bijbehorende directory's worden geconfigureerd. Elk type systeem heeft een corresponderend element; , 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=). 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