srts rcmp project overview by jerry d. garcia. outline project details & description analysis ...
TRANSCRIPT
![Page 1: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/1.jpg)
SRTS RCMP Project Overview
By Jerry D. Garcia
![Page 2: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/2.jpg)
Outline
Project Details & Description Analysis Development Delivery Conclusion
![Page 3: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/3.jpg)
Motivation
Students training to learn flight and operation procedures at Tinker AFB for the E3 AWACS fleet of aircraft use simulation suite called SRTS
System was old, outdated, unmaintained, difficult to manage and slow
Needed update
![Page 4: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/4.jpg)
Definitions – E3 AWACS Airborne Warning and
Control System Basically a giant,
flying mobile radar Systems used to
detect aircraft, ships and vehicles at a distance
Useful for command control and battle management
![Page 5: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/5.jpg)
Definitions - SRTS Surveillance Radar Training Set Air Force trainer designed to provide
maintenance/operations procedures for E3 AWACS Surveillance Radar Prime Mission Equipment
Located at Tinker AFB, OK Sets consist of one…
IOS – Instructor Operator Station (1) SWDF – Simware Development Facility (1) SWS – Student Work Station (SWS) (6)
![Page 6: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/6.jpg)
Definitions: SRTS DiagramSWS
![Page 7: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/7.jpg)
Definitions – CAT Console Computer Aided Training Console Controls and drives the SRTS simulation
software on SWS Receives notifications over network
regarding user inputs, changes in switches and gauges, commands from Instructor Operator Station, updates simulation accordingly
Communicates and sends update commands to other components
![Page 8: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/8.jpg)
Definitions: SRTS Diagram
CAT Console
SWS
![Page 9: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/9.jpg)
Definitions - RCMP Radar Control Maintenance Panel Simulator for RCMC P91 console on AWACS airship Interactive, menu-driven radar display interface Utilized to acquaint students with all aspects of RCMC
operation FIT – Fault Isolation Test Procedures RCMP Menu and Selection Navigation PPI – Plan Position Indicator FFT – Fast Fourier Transform
Situated on right hand side of SWS
![Page 10: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/10.jpg)
Definitions: SRTS Diagram Con’t
RCMP
Left/RightRCDU
Custom Keyboard
CustomTrackball
Windows 95Computer
![Page 11: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/11.jpg)
Project Purpose Port original RCMP Windows 95 Visual C
codebase into C++11 on openSUSE Linux Rewrite for improved performance,
readability, portability, intuitiveness Maintain parity with original system
behavior and functionality Parallel effort with Tinker AFB team
translating CAT simulation driving software 1 year project
![Page 12: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/12.jpg)
NCI & ATC Collaboration
Work for ATC (Prime) in Altus, OK Work at NCI (Sub) in San Antonio, TX
Chad SkeetersTechnical Lead
Fred ClutzProject Manager
Richard McGinleyDirector of Engineering
![Page 13: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/13.jpg)
Skills Required C++11 Linux Cairo Graphics, GTK, XLib Libraries Some network/socket communication Agile development Mercurial versioning system Familiarity with radar systems Familiarity with Windows 95 MFC
![Page 14: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/14.jpg)
Skills I Possessed C++11 Linux Cairo Graphics, GTK, XLib Libraries Some network/socket communication Agile development Mercurial versioning system Familiarity with radar systems Familiarity with Windows 95 MFC
![Page 15: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/15.jpg)
Skills I Possessed Redux Bachelors of Science in Computer Science
at UTSA (3.9 GPA) Object Oriented Language Programming
(Java) PHP, CSS, HTML, XHTML, XML, W3C
compliancy Some C, C# experience Some relational database experience with
Oracle/MySQL/JDBC Wordpress CMS PROBLEM SOLVING SKILLS!
![Page 16: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/16.jpg)
Why Did They Hire Me?
Good Problem Solving Skills Flexibility and Adaptability Quick Learner Good Communication Integrity More affordable than the next guy
![Page 17: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/17.jpg)
Analysis Begins
Get acquainted with project details Pour through existing documentation Analyze existing files, relationships Formulate plan of attack
![Page 18: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/18.jpg)
SWS RCMP Software What it actually does
Receives and processes Simware Directives from nearby CAT computer
Parses resource files for window generation Processes keyboard and mouse actions Based on above, updates left/right display
panels to show dialog menus and radar displays How it does it
Developed in Visual C++ 5.0 Microsoft Developer Studio
Built on Microsoft Foundation Classes (MFC) Framework
![Page 19: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/19.jpg)
Major Coding Areas
RCMPSrvr PPIDLL APISrv
![Page 20: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/20.jpg)
RCMPSrvr Primary entry into program (RCMPSrvrDlg.cpp) CAT computer communicates back and forth over
network with RCMP through RCMPSrvr Responsibilities
Startup and initialization Event Timing Socket Communication Processing Simware Directives Parsing Dialog Resource Files to build menus and
associating to panels Communication to keyboard LED’s Keyboard/mouse processing Communication to PPIDLL/APISrv
Basically the locus of control for all RCMP activity
![Page 21: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/21.jpg)
RCMPSrvr Overview
![Page 22: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/22.jpg)
PPIDLL Code area that manages both the PPI and FFT radar
displays Receives and processes commands from RCMPSrvr on
how to build the PPI and FFT displays, and their respective display objects (targets, strobes, bitmaps, movies, etc.)
Synchs with RCMPSrvr for timed update events of the displays
Communicates with APISrvr to create display primitives, and associates these to proper subwindows for proper display
![Page 23: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/23.jpg)
PPIDLL Con’t Multiple display types
PPI Display Types PPI_A PPI_G PPI_Plots PPI_Reports PPI_REPORTS_EX
FFT Display Types Range vs. Range (RR) 1 Range Gate vs. All Doppler Filters 3 Range Gates vs. All Doppler Filters 1 Doppler Filter vs. All Range Gates 3 Doppler Filters vs. All Range Gates
![Page 24: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/24.jpg)
PPIDLL Con’t
Uses helper classes to manage state information used for primitive objects belonging to each display type CmdChgSymbol Targets Strobes ECCM
![Page 25: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/25.jpg)
PPIDLL Overview
![Page 26: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/26.jpg)
APISrv Graphical server that builds a variety of
drawing primitives using MFC Device Contexts
Receives requests from RCMPSrvr and PPIDLL to build the drawing primitives
Responsible for generating, managing and deleting all primitives
Stores every drawing primitive object created, and maintains their relationships through complex hierarchy of arrays
![Page 27: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/27.jpg)
Drawing Primitives Drawing Primitives Include…
Frame, Subwindow, Clip Rectangle Bar Plot, Bitmap, Bitmap Definition, Bitmap Movie Mark, ECCM Slider, Strobe, Filled Rectangle Line, Lubber Line PPI_A, PPI_G Circle Plot, Line Plot, Plot Definition Target, Target Definition Text
All primitives implement “Primitive” parent class As a result, every primitive stores an array of
subprimitives
![Page 28: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/28.jpg)
APISrv Overview
![Page 29: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/29.jpg)
Primitive Hierarchy
![Page 30: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/30.jpg)
Ex. PPI_A Display
![Page 31: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/31.jpg)
High Level Summary
![Page 32: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/32.jpg)
Concerns Huge codebase
Difficult to trace logic Difficult to tell how parts worked together Time-consuming to read
Unmaintained Badly formatted Mixed logic Deprecated logic
Old language on old system Over a decade old (Windows 95) MFC Variants, Device Contexts, Timer threads, Void Pointers, AFX
Threads Complex, unintuitive design Manuals general, no documentation Redundancy Previous contractor efforts Less than one year
![Page 33: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/33.jpg)
Solution
+ =
Lots of coffee Intravenous Drip Results!
![Page 34: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/34.jpg)
Actual Approach High level conceptual design Prepare Development Environment Major Refactoring Effort Build development tools
![Page 35: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/35.jpg)
High Level Conceptual Design
![Page 36: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/36.jpg)
Development Environment Work from Gnome command line terminal
on openSUSE Linux Coded in GVIM editor with SPF-13 plugin Code changes constantly checked into
Mercurial repository on NCI MTS Server Connected development computers directly
over Ethernet cables to test on SWS
![Page 37: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/37.jpg)
Refactoring effort Clean up original code Unpeel spaghetti
Strip out mixed functionality to relevant areas Implement manager software to concentrate
major areas of functionality Rework MFC logic
Device Context logic to Cairo code Startup, shutdown and timer functionality
Remove layers of redundancy (container classes, primitive arrays, comment histories, etc.)
Revision and simplification of networking code to use BSD Sockets (Berkley sockets)
Overhaul keyboard, LED and mouse handling Slow process of cleanup/reworking/tweaking
![Page 38: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/38.jpg)
Tools Developed RCMP Packet Sniffer
Records all communication between CAT and RCMP
Keeps timestamp information CAT Playback Tool
Plays back recorded data to serve as dummy simulator of CAT
Options to Adjust Timing Revised by Technical Lead
Better API Simultaneous read/playback to both original
RCMP display and local testing computer
![Page 39: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/39.jpg)
High Level Code Overview
![Page 40: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/40.jpg)
Results of Process
Major Improvements to… Usability Readability Portability Size Performance Version control
![Page 41: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/41.jpg)
Delivery
11th hour tweaks and preparations to head to Tinker AFB
9 hour drive up to Oklahoma
![Page 42: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/42.jpg)
Delivery Con’t
Onsite setup, integration and testing Ongoing development of unfinished
CAT simulation driver software Bug fixes, miscellaneous Success!
![Page 43: SRTS RCMP Project Overview By Jerry D. Garcia. Outline Project Details & Description Analysis Development Delivery Conclusion](https://reader035.vdocuments.net/reader035/viewer/2022062301/56649eff5503460f94c145b1/html5/thumbnails/43.jpg)
Wrapup, Questions, Comments