25
Experience Report: Development of a Distributed Cross-Platform Simulator Thom Brooke Titan Corporation SIGAda 2002 December 10, 2002

Experience Report: Development of a Distributed Cross-Platform Simulator Thom Brooke Titan Corporation SIGAda 2002 December 10, 2002

Embed Size (px)

Citation preview

Page 1: Experience Report: Development of a Distributed Cross-Platform Simulator Thom Brooke Titan Corporation SIGAda 2002 December 10, 2002

Experience Report:Development of a Distributed

Cross-Platform Simulator

Thom BrookeTitan Corporation

SIGAda 2002December 10, 2002

Page 2: Experience Report: Development of a Distributed Cross-Platform Simulator Thom Brooke Titan Corporation SIGAda 2002 December 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.

Page 3: Experience Report: Development of a Distributed Cross-Platform Simulator Thom Brooke Titan Corporation SIGAda 2002 December 10, 2002

Satellite Communications

Used For

Wide Area Network

No terrestrial assets

Terminals

Several types

Access points

Page 4: Experience Report: Development of a Distributed Cross-Platform Simulator Thom Brooke Titan Corporation SIGAda 2002 December 10, 2002

Network Topology

TCP/IP backbone

Point-to-Point links

Conference nets

Gateway

Page 5: Experience Report: Development of a Distributed Cross-Platform Simulator Thom Brooke Titan Corporation SIGAda 2002 December 10, 2002

Terminal Functions

Access point

Functional Areas

Antenna control

Network control

Resource monitoring

Page 6: Experience Report: Development of a Distributed Cross-Platform Simulator Thom Brooke Titan Corporation SIGAda 2002 December 10, 2002

Terminal Control

Laptop

Planning tool

Terminal Control

RS-232 Interface

Commands

Automated

Operator initiated

Terminal

TC

Page 7: Experience Report: Development of a Distributed Cross-Platform Simulator Thom Brooke Titan Corporation SIGAda 2002 December 10, 2002

Terminal Protocols

Communications

RS-232Serial

PPP

Alternating bit

Message based

Command

Response(s)

TC Terminal

Setup Net 1Setup CompleteACKNet 1 Active

Page 8: Experience Report: Development of a Distributed Cross-Platform Simulator Thom Brooke Titan Corporation SIGAda 2002 December 10, 2002

The Problem

Testing

Training

No

Satellite

Terminal(s)Terminal

TC

Page 9: Experience Report: Development of a Distributed Cross-Platform Simulator Thom Brooke Titan Corporation SIGAda 2002 December 10, 2002

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

Page 10: Experience Report: Development of a Distributed Cross-Platform Simulator Thom Brooke Titan Corporation SIGAda 2002 December 10, 2002

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

Page 11: Experience Report: Development of a Distributed Cross-Platform Simulator Thom Brooke Titan Corporation SIGAda 2002 December 10, 2002

Resulting Architecture

TSim(s) partition

Server

Satellite

“Virtual” terminals

TSim(t) partition

Client

Terminal

Multiple clients TC

TSim(t)

TSim(s)

TC

TSim(t)

Page 12: Experience Report: Development of a Distributed Cross-Platform Simulator Thom Brooke Titan Corporation SIGAda 2002 December 10, 2002

Chronology

1 TerminalCLI

n Terminals

GUI

Distributed

Page 13: Experience Report: Development of a Distributed Cross-Platform Simulator Thom Brooke Titan Corporation SIGAda 2002 December 10, 2002

Development Tools

GNAT

The Ada95 Booch Components

AdaSockets

TASH; Tcl/Tk

RAPID

GLADE (Distributed Systems Annex)

Page 14: Experience Report: Development of a Distributed Cross-Platform Simulator Thom Brooke Titan Corporation SIGAda 2002 December 10, 2002

TSim Server

Satellite

Logon

Antennas

Virtual terminals

Notification

UI

SatelliteVT

PayloadMessage

Terminal

Page 15: Experience Report: Development of a Distributed Cross-Platform Simulator Thom Brooke Titan Corporation SIGAda 2002 December 10, 2002

TSim Client

Terminal

Logon

Notification

TC Interface

UI

Terminal EIF

PayloadMessage

TCMessage

TCSatellite

Page 16: Experience Report: Development of a Distributed Cross-Platform Simulator Thom Brooke Titan Corporation SIGAda 2002 December 10, 2002

Terminal Notification

Monolithic

Access type

Distributed

Remote_Types

Satellite

TerminalTerminal

VT

Satellite

Root_Terminal

Notify()

Root_Payload

Terminal_Ptr

Virtual_Terminal Terminal

Move Revoke

Page 17: Experience Report: Development of a Distributed Cross-Platform Simulator Thom Brooke Titan Corporation SIGAda 2002 December 10, 2002

Message Interface

EIF

Part of Terminal

Manages protocols

Specialized links

Report

Terminal

Root_EIF

Send()

Satellite

PPP_EIFSerial_EIF

Assign

Root_Message EIF_Ptr

Page 18: Experience Report: Development of a Distributed Cross-Platform Simulator Thom Brooke Titan Corporation SIGAda 2002 December 10, 2002

Cross-Platform

Mix-and-Match (mostly)

Simulator/TC, OS, and platform(s)

TSim(t)

TSim(s)

TSim

Linux Win32

Page 19: Experience Report: Development of a Distributed Cross-Platform Simulator Thom Brooke Titan Corporation SIGAda 2002 December 10, 2002

Configurations

TSim

Testing

TSim(t)

TSim(s)

TSim(t)

TSim(s)

Training (Individual)

TSim(t)

TSim(s)

TSim(t)

Training (Group)

Page 20: Experience Report: Development of a Distributed Cross-Platform Simulator Thom Brooke Titan Corporation SIGAda 2002 December 10, 2002

Observations

Good support

Tools

Components

Portability: just dumb luck?

Distribution need not be difficult

Nearly identical to non-distributed

Page 21: Experience Report: Development of a Distributed Cross-Platform Simulator Thom Brooke Titan Corporation SIGAda 2002 December 10, 2002

Tool Support

AdaSockets

Platform availability

Changes: 1 line (different version)

TASH/RAPID

Good combination

RAD

but not “industrial” strength

Page 22: Experience Report: Development of a Distributed Cross-Platform Simulator Thom Brooke Titan Corporation SIGAda 2002 December 10, 2002

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

Page 23: Experience Report: Development of a Distributed Cross-Platform Simulator Thom Brooke Titan Corporation SIGAda 2002 December 10, 2002

Portable (?)

We experienced OS Portability

ix86 architecture only

GNAT only

We didn't try:

Other HW architecturesSPARC/68k/PPC

Other compilers

Page 24: Experience Report: Development of a Distributed Cross-Platform Simulator Thom Brooke Titan Corporation SIGAda 2002 December 10, 2002

Distribution Effort

Converting a monolithic application

Issues:

Categorization pragmas

Unexpected behavior(GNAT specific?)

Page 25: Experience Report: Development of a Distributed Cross-Platform Simulator Thom Brooke Titan Corporation SIGAda 2002 December 10, 2002

Questions&

Answers