sois workshop the sois communication service architecture chris plummer
TRANSCRIPT
SOIS Workshop
The SOIS Communication Service Architecture
Chris Plummer
Presentation
• Understanding the problem• Understanding the onboard buses• The SOIS communication services• How the services stack up
Understanding the problem
The goal of SOIS communication services is to enable ad hoc, asynchronous communications between flight software applications.
Ad hoc?Communications are not pre-planned in respect of:
• Source/destination
• Amount of data
Asynchronous?Communications occur when the users decide, and not in
accordance to a pre-determined schedule
Understanding the problem
The sticking points
• Spacecraft systems (and software) must be extremely reliable• The response to meet this need is to develop fully deterministic
systems• The traditional way of achieving full determinism is to use
synchronous, scheduled systems• Spacecraft systems have therefore evolved to support this
paradigm• Synchronous operation of software based on underlying bus timing
• All transfers of data pre-planned in respect of source/destination, size, and scheduling
Understanding the problem
Two problems
• Overcome behavioural resistance to a new software paradigm
Somebody else's problem
• Need to provide for ad hoc, asynchronous communications over systems currently designed to operate scheduled synchronous communications
A SOIS problem
Understanding the buses
Three different buses are already being used onboard
• MIL-STD-1553B• Most common at the moment• Long space heritage• Well suited to command and control in centralized systems• Not well suited for distributed systems or ad hoc, asynch operation
• CAN bus• Contender for direct replacement of 1553• Similar throughput as 1553• But actually has completely different operational philosophy• Well suited to ad hoc asynchronous communications• Bit tricky to use for centralized command and control applications
Understanding the buses
• SpaceWire• Significantly better throughput (2 orders magnitude over 1553/CAN)
• Actually a point-to-point link
• But can be made to look like a bus using routing switches
• Could have extensive use in future spacecraft
Several other buses are also being developed for spacecraft including:
• IEEE-1394
• Ethernet
• RF wireless (802.11 and others)
• Optical wireless
Understanding the busesThree radically different buses:
MIL-STD-1553B1Mbps signaling, about 400kbps dataMax 64-octets per transferSynchronous operationSingle master, multiple slaveAll transactions fully controlled by masterNo standard mechanism for slave to initiate a transfer
CAN bus1Mbps signaling, about 400kbps dataMax. 8-octets per transferContention (any node can transmit at any time)Lossless CDMA based on message priorityBuilt-in multiple retry (non-deterministic)Content labeling (i.e. no node addressing)
SpaceWire100 to 400Mbps signaling, about the same data!Unlimited number of octets per transfer!Point-to-point links formed into meshesWide range of topologies possibleNo data link functionality defined yet
SOIS communication services
1. Generic data link service
The trick is to make all of these buses appear to provide exactly the same functionality, namely:
To transfer a variable length unit of data…
between any two nodes on the bus…
on demand
So implementations of this service must deal with all of the problems coming from the choice of bus
SOIS communication services
2. Intra-networking service
Provides for protocol multiplexing and the proper handling of different grades of service across a single subnetwork
So implementations of this service must deal with the explicit transfer of protocol identity and grade-of-service information across a single subnetwork so that the data is handled appropriately at the receiving end of the communication
SOIS communication services3 Inter-networking service:
While current spacecraft are connected like this:
We want future spacecraft to be connected like this:
So the inter-networking service must provide the capability of transferring spacecraft data across multiple, possibly heterogeneous subnetworks
MainComp.
Nav.Comp.
PayloadComp.
Spacecraft bus
MainComp.
Nav.Comp.
PayloadComp.
P/LLAN
Nav.LAN
SysLAN
GW GW
SOIS service stack