480 likes | 663 Views
SunGuide SM Software Development Project Software Design Review May 12, 2004. Agenda. High-Level Design Concepts Dellenback / Heller Subsystems XML based ICDs Core Processes: Dellenback Status Logger Executive Handler Notify Manager GUI Strain Generic Subsystem Moczygemba
E N D
SunGuideSM Software Development ProjectSoftware Design ReviewMay 12, 2004
Agenda • High-Level Design Concepts Dellenback / Heller • Subsystems • XML based ICDs • Core Processes: Dellenback • Status Logger • Executive Handler • Notify Manager • GUI Strain • Generic Subsystem Moczygemba • Data Bus Moczygemba • DMS Randolph • CCTV Randolph • TSS Randolph • Incident Management Dellenback • Overall SDD Discussion Dellenback Software Design Review
High-Level Design Concepts Software Design Review
Subsystem Concept Robust Extensible Flexible Scalable Configurable Proven Software Design Review
XML ICD Concept • Goals: • Provide real time status • Distribute commands • List of ICDs: • CCTV Driver • CCTV Client • CCTV Switch Driver • TSS Driver • TSS Client • DMS Client • HAR Client • IM Client • Data Bus Client • Data Bus Provider Template Software Design Review
Software Scalability • Highly scalable / extensible, many configurations possible • RTMC (Regional Transportation Management Center): • Multiple server based • “Owns” equipment • Many users • STMC (Satellite/Secondary) Transportation Management Center): • Local servers to host equipment • Utilize “Data Bus” of an associated RTMC • User interface hosted in the RTMC • VTMC (Virtual Transportation Management Centers): • No code locally installed • Utilize browser interface • PTMC (Portable Transportation Management Centers): • Laptop based • Database limiting factor • Network connections required (to access devices) Software Design Review
Core Processes Software Design Review
Status Logger and Executive Handler Implementation Software Design Review
Status Logger:High Level Design Concept Software Design Review
Status Logger:Detailed Design Information • Centralized message logging • TCP/IP socket based • User-defined content in optional message fields • Three primary components • Status Logger Server • Windows Service • Multi-client • Several log file archiving options • Control Panel applet configurable • Status Log Viewer • Supports remote log file access • Comprehensive message filtering • Efficient log file refreshing • Client Access Library • Supports .NET, Win32/MFC, and Java clients • Registry-based or client-supplied connect info Software Design Review
Executive Handler:High Level Design Concept Software Design Review
Executive Handler:Detailed Design Information • Supports application control from central location • Supports control of distributed applications • By server • By sub-system • Supports update of client application logging level • Four primary components • Executive Handler Server • Windows Service • Supports multiple controlled processes • Supports connections from multiple EH Viewers • Supports error notification via Notify Manager • Executive Handler Editor • Supports Services and Applications • Supports parameter and sub-system definition • Executive Handler Viewer • Supports connections to multiple EH Servers • View process status by host or by sub-system • Control processes by groups or individually • Client Access Library • Supports .NET and Win32/MFC clients • Supports asynchronous notifications Software Design Review
Notify Process:High Level Design Concept Software Design Review
Notify Process:Detailed Design Information • Supports SMTP-based notifications from central location • TCP/IP socket based • XML message based • Supports severity-based recipient lookup from SunGuide database • Two primary components • Notify Manager Server • Windows Service • Multi-client • Executive Handler compatible • Configurable SMTP host • Client Access Library • Supports .NET clients • Registry-based or client-supplied connect info Software Design Review
Generic Subsystem Software Design Review
Generic Subsystem:High Level Design Concept Software Design Review
Generic Subsystem:Detailed Design Information • Main Process – Core controller of the system – Extended and customized by each subsystem • Database –Single access point to SunGuide database – Customized code for each provider • XML Interface –Asynchronous XML over TCP/IP sockets – Listeners manage client and driver connections – XML forwarded to the appropriate handlers • Authenticate Handler • Default Handler • Properties Handler • Subsystem-specific Handlers XML Interface Data Flow Software Design Review
Generic Subsystem:Detailed Design Information - continued If the request is something that needs to be sent to the driver, a request will be returned. Otherwise, the handler performs whatever data actions should occur (add to database and current system data) and returns a response. When a response is sent to the handler, the handler performs any data actions that need to occur (add to database and current system data) and forwards the response on for the client. Software Design Review
Generic Subsystem:Detailed Design Information - continued • Status Logger –Single access point to SunGuide StatusLogger – Configurable logging levels • Service and Heartbeat –Generic framework supports services – A built-in Executive Handler client heartbeats to the Executive Handler – Configurable logging via the Executive Handler is supported within this framework • User Permissions – System issues a security token for each authenticated user – User subscriptions are tracked – Security controller supports permission checking • Config File –XML file stores port and server settings – System supports configurable XML handlers Software Design Review
Data Bus Software Design Review
Data Bus:High Level Design Concept Software Design Review
Data Bus:High Level Design Concept - continued • Common access point to provider subsystems – fewer socket connections – location transparency – increases flexibility of the deployed system – reduces network traffic for status distribution Software Design Review
Data Bus:Detailed Design Information • Inherits and extends generic subsystem functionality • The Data Bus Main Process initializes main components: – Command Distributor – Status Collector – Status Distributor – Data Bus XML Interface • Provider Template ICD standardizes the system’s provider interface to ensure schema compatibility – Allows Data Bus to easily expand to support new provider subsystems • Configuration file used to determine providers, their subscriptions, and their status updates Software Design Review
Data Bus:Detailed Design Information - continued Command and Control Software Design Review
Data Bus:Detailed Design Information - continued • Status Collector – Data snapshot stored for each new resource type – Providers push status updates to the Data Bus – Status trees are modified as appropriate Software Design Review
Data Bus:Detailed Design Information - continued • Status Distributor – Clients can retrieve data types from the system – Status may be requested on demand – Updates are sent to subscribed clients Software Design Review
GUI Software Design Review
GUI / MAP:High Level Design Concept Software Design Review
GUI / Map:Detailed Design Information • Browser based operator interface • Rationale • Workstation configuration management • Potential of remote use • Uses open standards • Key technologies • PHP (PHP Hypertext Preprocessor) • SVG (Scalable Vector Graphics) • JavaScript (also known as: ECMAScript - European Computer Manufactures Association Script) Software Design Review
GUI / Map:Detailed Design Information - continued • Browser to server communication • Browser environment • HTTP • Synchronous client request • SunGuide environment • XML over TCP/IP • Asynchronous, bidirectional messaging • Data sources • Typically static data (geography, roadways) • Built from shapefiles • Typically dynamic data (equipment, events) Software Design Review
GUI / Map:Detailed Design Information - continued • Dynamic updates • Icons placed by latitude and longitude • Updates regularly retrieved from system • Equipment status indications • Color or shape change of icons • Detailed information in dialogs • User interaction • Validity checking performed in GUI • Commands sent to system immediately • Some commands, like CCTV control, may be buffered to avoid overloading network • System messages placed in message window Software Design Review
DMS Software Design Review
DMS:High Level Design Concept Software Design Review
DMS:Detailed Design Information • Existing system • Minor modifications needed • Generic subsystem design based on DMS • Drivers • Existing driver framework • New commands added • Mark IV • NTCIP Florida MIB Software Design Review
CCTV Software Design Review
CCTV:High Level Design Concept Software Design Review
CCTV:Detailed Design Information • Inherits Generic Subsystem functionality • Handlers for configuration • Locks • Equipment group • Video tours • Handlers forwarding to camera driver • Camera configuration • Camera control • Handlers forwarding to switch driver • Monitor configuration • Switch configuration • Camera connection Software Design Review
CCTV:Detailed Design Information - continued • Camera locks • Expire after a configurable time period • Can be overridden with permission • Equipment may be dynamically added • Active video tours resume on system restart • Camera presets • Locations are saved in camera • Descriptions of the preset stored in database • Blackout mode—cannot connect input/output • Restricted monitor • Blacked out camera Software Design Review
TSS Software Design Review
TSS:High Level Design Concept Software Design Review
TSS:Detailed Design Information • Inherits Generic Subsystem functionality • Handlers for configuration • Detector mapping • Handlers forwarding to driver • Detector configuration • Detector status changes (Active/Out of Service) • Handlers receiving data from driver • Detector updates Software Design Review
TSS:Detailed Design Information - continued • Detector mapping • Contains links/lanes • Maps links/lanes to highways • Equipment may be dynamically added • Detector updates • Converter to link/lane updates • Compared to alarm threshold • Thresholds set for time frames • Smoothing algorithm (rolling average) • Triggers alarms if less than threshold Software Design Review
Incident Management Software Design Review
Incident Management :High Level Design Concept Both a Client and Provider Software Design Review
Incident Management:Detailed Design Information • Design based on Maryland’s Chart system • Communications Infrastructure – Manages client connections over TCP/IP – Abstracts communication with the client via XML – Supports compression and XML validation • XML Handlers: – Configuration handler • Processes event changes • User can specify radius to search for devices – Route handler • Determines alternate routes for an incident – Incident Management handler • Manages a database of incident data • Pulls data from other SunGuide providers • Supports the creation of events • Client can activate/deactivate response plans • Handles planned roadwork and weather events – Plan handler • Manages pre-defined response plans Software Design Review
Overall SDD Discussion Software Design Review
Software Design Document:Appropriate Format and Content? • Impressions: • Level of Detail • Usefulness • Traceability • Updates to occur: • As subsystems are added • End of release • Hardcopies: hard to produce due to HTML technology • Any FDOT requests? Software Design Review
Questions? Software Design Review