Upload
kristian-siggers
View
217
Download
0
Tags:
Embed Size (px)
Citation preview
Experience Report:Development of a Distributed
Cross-Platform Simulator
Thom BrookeTitan Corporation
SIGAda 2002December 10, 2002
Overview
The System
Satellite communications
Terminal Control
Simulator design
Tools and environment
Architecture
Application
Observations
Some images © 2002 by Riverdeep, inc., and its licensors. All rights reserved.
Satellite Communications
Used For
Wide Area Network
No terrestrial assets
Terminals
Several types
Access points
Network Topology
TCP/IP backbone
Point-to-Point links
Conference nets
Gateway
Terminal Functions
Access point
Functional Areas
Antenna control
Network control
Resource monitoring
Terminal Control
Laptop
Planning tool
Terminal Control
RS-232 Interface
Commands
Automated
Operator initiated
Terminal
TC
Terminal Protocols
Communications
RS-232Serial
PPP
Alternating bit
Message based
Command
Response(s)
TC Terminal
Setup Net 1Setup CompleteACKNet 1 Active
The Problem
Testing
Training
No
Satellite
Terminal(s)Terminal
TC
Script-Based Tool
Features
Default responses
Dynamic responses
Good for
Exceptional cases
But
No state information
Order dependent
Wrong answer is “right”
Messages
Protocols
Scripts
Simulator: TSim
Needs to model
Satellite
Local terminal
Remote terminal(s)
System state
Interface to TC
IR&D project
Proof of Concept
Further than expected
TC
TSim
Resulting Architecture
TSim(s) partition
Server
Satellite
“Virtual” terminals
TSim(t) partition
Client
Terminal
Multiple clients TC
TSim(t)
TSim(s)
TC
TSim(t)
Chronology
1 TerminalCLI
n Terminals
GUI
Distributed
Development Tools
GNAT
The Ada95 Booch Components
AdaSockets
TASH; Tcl/Tk
RAPID
GLADE (Distributed Systems Annex)
TSim Server
Satellite
Logon
Antennas
Virtual terminals
Notification
UI
SatelliteVT
PayloadMessage
Terminal
TSim Client
Terminal
Logon
Notification
TC Interface
UI
Terminal EIF
PayloadMessage
TCMessage
TCSatellite
Terminal Notification
Monolithic
Access type
Distributed
Remote_Types
Satellite
TerminalTerminal
VT
Satellite
Root_Terminal
Notify()
Root_Payload
Terminal_Ptr
Virtual_Terminal Terminal
Move Revoke
Message Interface
EIF
Part of Terminal
Manages protocols
Specialized links
Report
Terminal
Root_EIF
Send()
Satellite
PPP_EIFSerial_EIF
Assign
Root_Message EIF_Ptr
Cross-Platform
Mix-and-Match (mostly)
Simulator/TC, OS, and platform(s)
TSim(t)
TSim(s)
TSim
Linux Win32
Configurations
TSim
Testing
TSim(t)
TSim(s)
TSim(t)
TSim(s)
Training (Individual)
TSim(t)
TSim(s)
TSim(t)
Training (Group)
Observations
Good support
Tools
Components
Portability: just dumb luck?
Distribution need not be difficult
Nearly identical to non-distributed
Tool Support
AdaSockets
Platform availability
Changes: 1 line (different version)
TASH/RAPID
Good combination
RAD
but not “industrial” strength
The Ada95 Booch Components
Many structures; many “forms”
Better than rolling your own
but the STL is still easier to use
Allocation
Layered instantiation
Iterators
Portable (?)
We experienced OS Portability
ix86 architecture only
GNAT only
We didn't try:
Other HW architecturesSPARC/68k/PPC
Other compilers
Distribution Effort
Converting a monolithic application
Issues:
Categorization pragmas
Unexpected behavior(GNAT specific?)
Questions&
Answers