Experience Report: Development of a Distributed Cross-Platform Simulator Thom Brooke Titan...

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

Transcript of Experience Report: Development of a Distributed Cross-Platform Simulator Thom Brooke Titan...

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