sunguide sm software development project software design review may 12, 2004

48
SunGuide SunGuide SM SM Software Development Project Software Development Project Software Design Review Software Design Review May 12, 2004 May 12, 2004

Upload: erna

Post on 12-Jan-2016

36 views

Category:

Documents


2 download

DESCRIPTION

SunGuide SM Software Development Project Software Design Review May 12, 2004. Agenda. High-Level Design ConceptsDellenback / Heller Subsystems XML based ICDs Core Processes:Dellenback Status Logger Executive Handler Notify Manager GUIStrain Generic SubsystemMoczygemba - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: SunGuide SM  Software Development Project Software Design Review May 12, 2004

SunGuideSunGuideSMSM Software Development Project Software Development Project

Software Design ReviewSoftware Design ReviewMay 12, 2004May 12, 2004

Page 2: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 2

AgendaAgenda

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

Page 3: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 3

High-Level Design Concepts

Page 4: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 4

Subsystem ConceptSubsystem Concept

Robust

Extensible

Flexible

Scalable

Configurable

Proven

Page 5: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 5

XML ICD ConceptXML 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

Page 6: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 6

Software ScalabilitySoftware 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)

Page 7: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 7

Core Processes

Page 8: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 8

Status Logger and Executive Status Logger and Executive Handler ImplementationHandler Implementation

Page 9: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 9

Status Logger:Status Logger:High Level Design ConceptHigh Level Design Concept

Page 10: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 10

Status Logger:Status Logger:Detailed Design InformationDetailed 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

Page 11: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 11

Executive Handler:Executive Handler:High Level Design ConceptHigh Level Design Concept

Page 12: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 12

Executive Handler:Executive Handler:Detailed Design InformationDetailed 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

Page 13: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 13

Notify Process:Notify Process:High Level Design ConceptHigh Level Design Concept

Page 14: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 14

Notify Process:Notify Process:Detailed Design InformationDetailed 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

Page 15: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 15

Generic Subsystem

Page 16: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 16

Generic Subsystem:Generic Subsystem:High Level Design ConceptHigh Level Design Concept

Main Process

XMLInterface

UserPermissions

Service andHeartbeat

StatusLogger

DatabaseAccess

Config File

Page 17: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 17

Generic Subsystem:Generic Subsystem:Detailed Design InformationDetailed 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

Queue

Queue

request

request

request

request

sendrequest

response

response

response

sendresponse

response

Client

Client Manager

Device Manager

Interface Manager

Device Driver

XML Interface Data Flow

Page 18: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 18

Generic Subsystem:Generic Subsystem:Detailed Design Information - continuedDetailed 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.

XMLInterfaceManager

Handler

SendsXML

Request

Returns requestor response

Forwards toappropriate

handler

Client

Send Requestor Response

Database

Sends Requestto Device Driver

DeviceDriver

Returns Response

Stored Data

ReturnsResponse

Forwards toappropriate

handler

Returns response

Returns Response

Page 19: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 19

Generic Subsystem:Generic Subsystem:Detailed Design Information - continuedDetailed 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

Page 20: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 20

Data Bus

Page 21: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 21

Data Bus:Data Bus:High Level Design ConceptHigh Level Design Concept

DATABUS

Data Archiving

EmergencyEvacuation

Web Server

Inventory andMaintenance

Travel Time

IncidentManagement

GUI

C2C Plugin

Commands

Status

Status

Executive Handler

Status Logger

AllSunGuideProcesses

Provider1Subsytem

.

.

.

.

.

.

.

ProviderNSubsystem

DMSCCTVTSSHARRampRWISIMP

GUIPC2CP

AdministrativeEditorDatabase

Page 22: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 22

Data Bus:Data Bus:High Level Design Concept - continuedHigh 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

Data Bus

Provider A

Client AProvider B

Provider C

Provider D

Client B

(n x m connections removed)

Data Bus

Provider A

Client AProvider B

Provider C

Provider D

Client B

Page 23: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 23

Data Bus:Data Bus:Detailed Design InformationDetailed 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

Page 24: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 24

Data Bus:Data Bus:Detailed Design Information - continuedDetailed Design Information - continued

Provider 1 Subsytem

ProviderType 1Thread

<providerType1-cache> <subsystem name=”subName”> <providerType1> <id> </id> <status> </status> </providerType1> . . . </subsystem></providerType1-cache>

DATA BUS

.

.

.

.

.

.

.

.

.

.

Subscription Code

modify, delete, status update

Subscription Code

modify, delete, st

atus update

C2C Plugin

Data Archiving

ClientICD

Provider N Subsystem

EmergencyEvacuation

Web Server

Inventory andMaintenance

GUI

Travel Time

IncidentManagement

RealtimeDistribution

Thread

ProviderType NThread

<providerTypeN-cache> <subsystem name=”subName”> <providerTypeN> <id> </id> <status> </status> </providerTypeN> . . . </subsystem></providerTypeN-cache>

Commands

Status

XML

XML

CommandThread

CommandThread

CommandThread

DistributeRequest/Response

Process Command/Response

Provider

ICD

Data Bus Configuration File

Provider

ICD

DMSCCTVTSSHARRampRWISIMP

GUIPC2CPTvTP

Database

Command and Control

Page 25: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 25

Data Bus:Data Bus:Detailed Design Information - continuedDetailed 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

<dms-cache> <subsystem name=”dms1”> <dms> <id providerName=”dms1” resourceType=”dms” centerId=”Tampa”>7</id> <status> . . . </status> </dms> . . . <dms> <id providerName=”dms1” resourceType=”dms” centerId=”Orlando”>8</id> <status> . . . </status> </dms> </subsystem> . . . <subsystem name=”dmsN”> <dms> <id providerName=”dmsN” resourceType=”dms” centerId=”Tampa”>1</id> <status> . . . </status> </dms> . . . <dms/> </subsystem></dms-cache>

Page 26: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 26

Data Bus:Data Bus:Detailed Design Information - continuedDetailed 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

<cctv> <host>descartes</host> <port>40009</port> <maxConnections>20</maxConnections> <compressionSize>200</compressionSize> <commTolerance>3</commTolerance> <lockTimeout>120</lockTimeout> <handlers> <gov.its.cctv.xml.CctvLockHandler/> <gov.its.cctv.xml.CctvPresetHandler/> </handlers> <subscriptions> <cameraStatus/> <monitorStatus/> </subscriptions> <statusUpdates> <camera> <changeCameraStateResp/> <changeVideoBlackoutStateResp/> <lockCameraResp/> <deleteCameraResp/> </camera> <monitor> <changeMonitorRestrictedStateResp/> <updateConnectionsMsg/> <deleteMonitorResp/> </monitor> </statusUpdates>

.

.

.

Page 27: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 27

GUI

Page 28: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 28

GUI / MAP:GUI / MAP:High Level Design ConceptHigh Level Design Concept

Page 29: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 29

GUI / Map:GUI / Map:Detailed Design InformationDetailed 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)

Page 30: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 30

GUI / Map:GUI / Map:Detailed Design Information - continuedDetailed 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)

Page 31: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 31

GUI / Map:GUI / Map:Detailed Design Information - continuedDetailed 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

Page 32: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 32

DMS

Page 33: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 33

DMS:DMS:High Level Design ConceptHigh Level Design Concept

DMS Driver

Database

DMSConfiguration

Handler

DMS Polling

DMS ControlHandler

XML Interface

DMS Subsystem Components

DMS Main

DMS ConfigureMessageHandler

DMS RetrieveDMS InfoHandler

. . . nthHandler

Page 34: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 34

DMS:DMS:Detailed Design InformationDetailed 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

Page 35: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 35

CCTV

Page 36: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 36

CCTV:CCTV:High Level Design ConceptHigh Level Design Concept

Camera Driver

Database

CameraConfiguration

Handler

MonitorConfiguration

Handler

CameraConnection

Handler

SwitchConfiguration

Handler

Switch Driver

CameraControlHandler

CCTV Main

Camera LockHandler

Video TourHandler

EquipmentGroup

ConfigurationHandler

CCTV Subsystem Components

Page 37: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 37

CCTV:CCTV:Detailed Design InformationDetailed 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

Page 38: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 38

CCTV:CCTV:Detailed Design Information - continuedDetailed 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

Page 39: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 39

TSS

Page 40: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 40

TSS:TSS:High Level Design ConceptHigh Level Design Concept

TSS Driver

Database

TSSConfiguration

Handler

DetectorMappingHandler

TSS Subsystem Components

DetectorStatus Handler

TSS Main

DetectorUpdateHandler

Database

Page 41: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 41

TSS:TSS:Detailed Design InformationDetailed 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

Page 42: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 42

TSS:TSS:Detailed Design Information - continuedDetailed 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

Page 43: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 43

Incident Management

Page 44: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 44

Incident Management :Incident Management :High Level Design ConceptHigh Level Design Concept

IMSubsystem DATA

BUS

Data Archiving

EmergencyEvacuation

Web Server

Inventory andMaintenance

Travel Time

IncidentManagement

GUI

C2C Plugin

ExecutiveHandler

AdministrativeEditor

Status LoggerCommands

Status

Status

Database

Both a Client and Provider

Page 45: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 45

Incident Management:Incident Management:Detailed Design InformationDetailed 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

Communications Framework

Business Logic Objects

PluggableRequestHandler

PluggableRequestHandler

PluggableRequestHandler

Request Handler Framework

EventManager

PlanManager

ResponseResourceManager

RouteManager

Plan ResourceEvent Route

Client

XML XML

Java Object(Request)

Java Object(Response)

Java Method Calls

JDOM

Page 46: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 46

Overall SDD Discussion

Page 47: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 47

Software Design Document:Software Design Document:Appropriate Format and Content?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?

Page 48: SunGuide SM  Software Development Project Software Design Review May 12, 2004

May 12, 2004Software Design Review 48

Questions?