Professional Documents
Culture Documents
Communications For Integrated Modular Avionics
Communications For Integrated Modular Avionics
Richard L. Alena
Richard.L.Alena@nasa.gov
John P. Ossenfort IV, SAIC
Kenneth I. Laws, QSS
Andre Goforth
NASA Ames Research Center
Moffett Field, CA 94035
Fernando Figueroa, NASA Stennis Space Center
TABLE OF CONTENTS
Abstract—The aerospace industry has been adopting
avionics architectures to take advantage of advances in
computer engineering. Integrated Modular Avionics (IMA), 1. INTRODUCTION ..................................................... 1
as described in ARINC 653, distributes functional modules 2. INTEGRATED MODULAR AVIONICS...................... 2
into a robust configuration interconnected with a “virtual 3. NETWORKS FOR AEROSPACE ............................... 4
backplane” data communications network. Each avionics 4. MISSION COMPUTER DESIGN ............................... 8
module’s function is defined in software compliant with the 5. LAB EVALUATION ............................................... 12
APEX Application Program Interface. The Avionics Full- 6. CONCLUSIONS ..................................................... 16
Duplex Ethernet (AFDX) network replaces the point-to- REFERENCES........................................................... 17
point connections used in previous distributed systems with BIOGRAPHY ............................................................ 18
“virtual links”. This network creates a command and data
path between avionics modules with the software and 1. INTRODUCTION
network defining the active virtual links over an integrated
physical network. In the event of failures, the software and Recent advances in software architecture and data
network can perform complex reconfigurations very communications can benefit modern aerospace avionics
quickly, resulting in a very robust system. systems by increasing capability and improving reliability.
In particular, network-oriented standards offer high
In this paper, suitable architectures, standards and bandwidth and flexible support for modern devices and data
conceptual designs for IMA computational modules and the types. Specifically, advances in computational capability,
virtual backplane are defined and analyzed for applicability software interfaces and time deterministic networks can
to spacecraft. The AFDX network standard is examined in improve system architecture and facilitate software
detail and compared with IEEE 802.3 Ethernet. A reference development for modern aerospace avionics systems. The
design for the “Ancillary Sensor Network” (ASN) is ARINC 653 “Avionics Application Software Standard
outlined based on the IEEE 1451 “Standard for a Smart Interface” operating system specification incorporates
Transducer Interface for Sensors and Actuators” using real- partitions for separating critical and non-critical functions.
time operating systems, time deterministic AFDX and Its Integrated Modular Avionics (IMA) concept relies on
wireless LAN technology. Strategies for flight test and functional isolation between operating system partitions to
operational data collection related to Systems Health limit propagating failure modes within avionics software;
Management are developed, facilitating vehicle ground and to simplify software validation and verification (V&V).
processing. Finally, a laboratory evaluation defines IMA replaces point-to-point cabling with a “virtual
performance metrics and test protocols and summarizes the backplane” data communications network. The network
results of AFDX network tests, allowing identification of connects software-configurable computing modules that can
design issues and determination of ASN subsystem adapt to changes in operating modes or respond to an
scalability, from a few to potentially thousands of smart and avionics system fault. There is a potential path between any
legacy sensors.12 of these modules, with the software and network defining
the active Virtual Links to support effective partitioning. In
the event of failures, the system can quickly reconfigure its
software functions (in pre-determined ways), resulting in a
very robust system.
1
U.S. Government work not protected by U.S. copyright.
2
IEEEAC Paper #1230, Version 1.3, Updated December 27, 2006
1
next generation of commercial aircraft. Although space-
IMA requires robust yet flexible data communications. This qualified parts are not currently available, use of AFDX in
paper focuses on the Airbus Avionics Full-Duplex Ethernet certain roles aboard spacecraft can simplify cabling, leading
(AFDX) and ARINC 664 Aircraft Data Network Part 7 to a significant reduction in cable weight and volume. Other
time-deterministic network Standards in order to determine significant advantages include simplified software design
completeness of the Standards, maturity of commercial and network management, ease of reconfiguration and
products, acceptance and adoption by the aerospace extension, and compliance with industry network standards.
industry, and appropriate role on-board spacecraft. AFDX
uses the physical layer widely used in the computer industry The team from Ames Research Center has significant
as specified in the IEEE 802.3 Switched Ethernet Standard. experience in spacecraft data systems and communications,
This is a “star” topology, with the switch forming the center, providing key analysis for the Space Station Freedom
routing data only to specified destinations and thereby Command and Data Handling System. In 1995, the Wireless
minimizing network contention. The AFDX switch enforces Network Experiment aboard Shuttle and Mir led to the
timing and policies, limiting fault propagation and ensuring adoption of wireless network technology for the
time determinism. International Space Station (ISS). Subsequently, the team
developed the Databus Analysis Tool, a MIL-STD 1553B
Dual-redundant AFDX networks are used for reliability. data-bus monitor space-qualified during STS 85 and used
The physical medium is generally shielded twisted pair for ISS Control Momentum Gyro checkout during STS 92.
copper cables, although optical fiber can also be used.
Bandwidth is 10 Mbits per second (Mbps), 100 Mbps, and
even 1000 Mbps. AFDX creates Virtual Links (VLs), which 2. INTEGRATED MODULAR AVIONICS
are point-to-multipoint time-division multiplexed
connections. Also, time-synchronous delivery of critical The aerospace industry has been moving from “distributed”
data streams can be guaranteed, with a timing jitter of at and “federated” avionics architectures to “modular”
most 0.5 msec for any VL. AFDX uses the concept of architectures, and is adopting other advances in computer
Bandwidth Allocation Gap (BAG) to distribute the data engineering such as networks and Internet Protocol (IP).
stream into timed packets, with the BAG value determining These advances promise to increase the performance and
the time interval between packets on a given VL. reliability of avionics systems while simplifying the
development and certification of flight software and
Primary benefits of AFDX are a reduction of cable weight avionics hardware.
and volume, an increase in bandwidth and data volume, and
greater flexibility in software design and V&V. AFDX The International Space Station (ISS) exemplifies a
complements ARINC 653 software architectures, serving as distributed architecture. The ISS avionics system is built
the virtual backplane. AFDX provides compatibility with with a large number of relatively small Orbital Replaceable
network-oriented data communication formats. AFDX can Units (ORUs)—identical in concept to aircraft Line-
support additional sensors for flight test and monitoring Replaceable Units (LRUs)—interconnected with multiple
capability upgrades. The Ancillary Sensor Network is MIL-STD 1553B data buses.[1] The units typically have
proposed for such use, to support up to 10,000 sensors at very specific functions that do not change over time
high data rates and resolutions, supporting smart sensors (although a unit’s operating mode within a redundant
compliant with the IEEE 1451 Standard, simplifying configuration may change). An example of federated
calibration and maintenance. architecture is the Boeing 767 aircraft, which has dedicated
LRUs responsible for specific functions such as engine
The Ancillary Sensor Network (ASN) was prototyped using control interconnected by ARINC 429 data buses.
up to four end stations. A total of 120 VLs were used to
move large amounts of data in a time-deterministic manner Such architectures have several drawbacks. The multiplicity
suitable for sensor-data acquisition. Packet-to-packet of specific modules requires a large and complex
“bandwidth allocation gap” (BAG) timing was measured for development effort, plus the maintenance of a similar
every packet generated by the traffic generator according to multiplicity of spare parts. Each component on a
recipes that simulated various target functions. Average synchronous data bus must interoperate with all the other
packet-to-packet timing for each VL was determined, along components, so software changes in one may require
with standard deviation and minimum and maximum corresponding changes in the others. Experience has shown
packet-to-packet timing intervals. These were compared to such systems to be slow as well as difficult to develop and
the AFDX jitter specification of 0.5 msec maximum. Lost, to upgrade. On the plus side, the architecture can be fairly
missing, or delayed packets were detected and reported. robust. Each module can be designed to function
independently despite failures at other points in the system.
AFDX is a key technology for installing time-deterministic
networks aboard aerospace vehicles. A survey of aerospace The Boeing 777 Aircraft Information Management System
use showed that Airbus and Boeing are both adopting (AIMS) exemplifies integrated avionics, with design
AFDX and ARINC 653 for flight-critical roles aboard the starting in the mid 1990s. Most of the computation takes
2
place in large cabinets of processors. Data communication is partitioning can help limit these effects. This software
via point-to-point data buses such as ARINC 429 or standard and its associated certification processes allows
ARINC 629, augmented by fiber optic cables for display each component to be certified to the level of criticality
and maintenance interfaces.[2] LRUs and data associated with that component, producing major cost and
communication cables are duplicated for reliability. The schedule savings.
processing boards have dedicated functions (again in
redundant configurations), but may aggregate functions ARINC 653 supports Avionics Full Duplex Ethernet
formerly distributed among several LRUs in the older (AFDX) by means of Queuing and Sampling (Q&S) Ports.
designs. This saves weight and power, and may simplify The APEX API defines the calls to such ports, and the use
software development and integration. However, this of an AFDX data communications system nicely
architecture requires long cable runs for interconnecting complements the logical constructs for Q&S ports. The
distant LRUs that increase weight and may introduce concept of a Queuing Port is similar to a First In-First Out
reliability issues. (FIFO) buffer, with transmit and receive timing similar to
TCP/IP streams. With AFDX providing bounded-time
Integrated Modular Avionics (IMA) replaces the point-to- latency, the delay in stream reception is also bounded.
point cabling with a “virtual backplane” data However, the FIFO buffer, whose size is set as a parameter
communications network.[3] The network connects in the AFDX configuration, will produce some variable
software-configurable LRUs that can adapt to changes in delay as it is filled or emptied at different rates. See Figure 1
network functioning or operating modes. There is a potential for a graphical description of Q&S ports. A sampling port,
path between any of the LRUs, with the software and by contrast, overwrites the previous value in a single packet
network defining the active Virtual Links in real-time. In the buffer and updates a “freshness” parameter with a
event of failures, the system can quickly reconfigure, timestamp indicating when the data was written. This buffer
resulting in a very robust system. The ARINC 653 Standard can then be read by the receiving application either once or
“Avionics Application Software Standard Interface” multiple times. This mode is very useful for reading sensor
describes an application program interface and operating data where the exact time of the sensor value is of critical
system for producing a flight-critical avionics system that importance. Most ports used in ARINC 653 flight
partitions critical and non-critical functions so that they implementations are sampling ports.
cannot interfere with each other.[4] Not only does this
simplify software design and implementation, it allows
more flexibility in software V&V. It is the result of years of
need by airframe manufacturers and their suppliers to have a
practical way to build avionics systems that may be certified
for human-rated or safety-critical applications within a
reasonable cost, and to allow upgrades to their equipment so
as to stay competitive and profitable. The first part of the
standard refers to a specific Application Program Interface
(API) called APEX, implemented in real-time operating
systems (RTOSs) used for avionics control systems. The
second part extends the APEX API by specifying the file
system, port data structures, and scheduler, while the third
part deals with APEX test compliance. XML configuration
files are used to define the system hardware and software Figure 1. Queuing and Sampling Ports
configuration.
5
Figure 2. AFDX Frame Definition station will regulate its transmission of packets to one for
each specified BAG interval, thereby providing traffic at a
AFDX places certain requirements on the 802.3 PHY constant and deterministic rate. Aggregations of carefully
interface: the interface must transmit even with the cable timed and bandwidth-limited transmitting end stations
disconnected, and must support the full 100-Mbps rate in should ensure that the entire AFDX produces and preserves
full-duplex mode. This is to prevent transient cable time-determinism.
disconnects from backing data up through the network, and
to support the full data rate. Ethernet can be used without a The allowed AFDX BAG values are 1, 2, 4, 8, 16, 32, 64,
protocol in a raw-packet transfer mode, but data-transfer and 128 milliseconds (msec). In order to properly allocate
reliability requires a protocol and AFDX specifies the use of bandwidth, the different BAGs are given maximum data-
either Transmission Control Protocol (TCP) or User payload sizes that are proportional to the BAG rates. That is,
Datagram Protocol (UDP) in all cases. the 1 msec BAG is typically allowed only 64 bytes per
frame of data, while the 128 msec group is allowed the
Key properties of an AFDX network are Virtual Links (VL), maximum 1518 bytes per frame. A network traffic timeline
Bandwidth Allocation Gap (BAG), Maximum Frame Size for several VLs with differing BAGs is shown in Figure 3.
(LMax), Sequence Number (SN), data Integrity
Management (IM), and Redundancy Management (RM).
The Virtual Link (VL) provides a logical-addressing
structure within the network, simulating a virtual set of
ARINC 429 point-to-multipoint data links. That is, each
source and multiple receivers create a permanently defined
virtual circuit with guaranteed delivery of data, even though
the physical and logical transport is over a star-topology,
peer-to-peer network fabric.
6
physical cables needed for ARINC 429 are replaced by a packets (usually contained in a specified buffer size) can
single network cable plant containing the same circuits, but also disrupt temporal behavior.
now implemented in time-division multiplexed VLs—
saving much weight, volume, and wiring complexity. AFDX solves the potential problems by using UDP, which
is similar to broadcasting packets. Although ARINC 664
The receiver maintains data integrity by checking that each Part 7 specifies either TCP/IP or UDP, in practice only UDP
packet arrives within the specified time interval (BAG) for a is used. UDP requires no protocol acknowledgement and
given VL and its SN matches the next expected value. therefore limits network load by eliminating
Frames for a given VL must be transmitted and received in acknowledgement packets, meshing nicely with SN and
order, for the SN to stay sequential and out-of-order packets BAG concepts. AFDX thus relies on the MAC frame
are rejected. Furthermore, the receiver checks data integrity delivery mechanism, using BAG to limit network bandwidth
using cyclical redundancy check (CRC) error detection. The and SN to track data integrity.
implication is that packet retries and acknowledgements are
not the primary mechanism for ensuring data integrity. Packet loss can be a significant performance issue for
Rather, very low packet loss—with data integrity and timing AFDX. The Study Team investigated mechanisms for
determined by SN and CRC methods—is needed for time packet loss, since this would be a major problem for critical
determinism. Errors are rejected rather than corrected applications. By its nature, Ethernet 802.3 is asynchronous,
because timing conformance is as important as data integrity with each end station able to transmit at any time. There is
in real-time control systems, an inherent design tradeoff. no global time synchronization mechanism. Ethernet 802.3
relies on the switch to prevent significant packet loss.
Other data integrity methods can be instituted at the However, Ethernet 802.3 allows packet loss. Any given
application layer, but the AFDX network will provide a switch has limited buffering capability, and in the event of
sequential stream of data at the defined time intervals with a overload will drop packets. The use of TCP/IP prevents
very high degree of error detection. Network errors look like packet loss from becoming data loss by retransmitting the
missing data for AFDX, but look like delayed data for lost packets. UDP, by contrast, simply allows dropped
Ethernet. The Integrity Management (IM) parameter packets to become data loss and never retransmits missing
determines whether the receiver uses the SN or ignores SN packets. AFDX using UDP has a similar policy; missing
errors. One might notice that data integrity and temporal packets translate to missing data and therefore missing
integrity are a design tradeoff in data communications; one sensor values or missing control parameters when applied to
can improve data integrity by acknowledgement or a flight-critical avionics system.
redundancy, but at the expense of complicating the timing
(and vice versa). The primary mechanism for packet loss is collisions. In an
Ethernet 802.3 network, this loss is in the switch. Since each
The protocol (PROT) layer is very important in maintaining end station-to-switch connection is full-duplex, packets
data integrity. ARINC 664 Part 7 also defines the AFDX cannot be lost on that network segment. For most avionics
network protocol layers based on TCP/IP and User use, network utilization is so far below capacity that
Datagram Protocol (UDP). Ethernet simply forms and overload in end station-to-switch segments is unlikely.
transmits packets, but leaves the data accounting, and Recall that AFDX purposely limits network utilization by
therefore data integrity to the PROT layer, usually staggering all packets by BAG. However, an end station
implemented as TCP/IP for most networks to be compatible with many VLs can experience a coincidence of all VLs,
with the Internet. therefore resulting in many frames being transmitted or
received concurrently. For example, in Figure 3 above, VL
TCP/IP requires acknowledgement packets to be sent by the 10 will interfere with VL 20 every other frame and with VL
receiving station for packets successfully received. TCP/IP 30 every fourth frame. If all these VLs originate from the
also tracks packet sequence and retransmits packets lost in same end station, the end station scheduler can stagger the
the network, allowing out-of-order transmission and receipt frame transmission and avoid contention.
of packets as necessary. All of this acknowledgement and
retransmission takes time and bandwidth, resulting in
temporal non-determinism for Ethernet and TCP/IP
networks. The TCP/IP protocol also arranges packets in the
correct order prior to passing them to the application layer.
Therefore, a missing packet can interject a significant delay,
since all data is delayed until successful receipt of a
retransmitted packet. On a heavily loaded network, packet
loss can be significant and packet delay and retransmission
can produce significant and highly variable latency.
Furthermore, the use of TCP/IP “windows” where a single
acknowledgement suffices to cover a number of transmitted
7
both networks provide the same packets to two independent
While the timing for a single VL can be maintained easily, receiver ports. The algorithm for accepting data is to accept
when many end stations are used to form a real AFDX the first received packet. In the case of unequal transit times
network the AFDX switch is responsible for solving through the switch, the first packet wins—which favors
contention caused by collisions. In this case, the collisions better time determinism by reducing jitter. By specifying
are between simultaneous packets issued from multiple, redundancy on a per VL basis, other non-time-critical data
asynchronous end stations. The network switch will buffer could be transmitted on either port, useful for single
the simultaneous packets and send them to the destinations avionics modules that are only in close proximity to one
after a brief queuing delay, thus introducing time jitter into network’s physical route through the vehicle.
the AFDX network. The maximum timing jitter is defined
and enforced for each BAG rate for every VL in the
network, to maintain maximum bounded latency for all 4. MISSION COMPUTER DESIGN
network traffic. The maximum jitter is equal to half the
minimum BAG, or at most 0.5 msec. If the switch or end The “Mission Computer” is a concept for an on-board
station cannot handle many concurrent VLs due to buffer general-purpose computer for spacecraft mission support
limitations, there will be packet loss. functions. The use of an ARINC 653-compliant real-time
operating system (RTOS) would be ideal for the Mission
The AFDX Switch is a critical component of an AFDX Computer (MC), allowing multiple applications to have
network, providing the MAC-layer routing function from access to all flight vehicle data and state information. This
one end station to another. It is also responsible for AFDX data exchange would be one way: the Mission Computer
policy enforcement for addressing and timing. Most can read the vehicle parameter information but cannot alter
Ethernet switches are learning types that determine a it. The high-priority partition would be used to run the real
destination MAC address—of the end station connected to time tasks—such as reading the AFDX network, buffering,
each switch port—using the Logical Link Control and writing the entire data stream to the Flight Data
Discovery Protocol. Once the first Ethernet packet is Recorder (FDR) and for performing telemetry and
successfully sent through the switch port, that MAC communication-link protocol formatting.
addresses is stored in the switch address buffer. This process
implies that the first time a packet is routed through the The central concept is to separate the flight-critical
switch, the discovery process and switch learning time will functions from mission-critical functions by running them
delay that packet for an indeterminate interval. This cannot on different platforms. The MC would be able to host
be tolerated in a time deterministic network, so the AFDX application programs needed for certain specific phases of
switch contains a static address-switching table configured flight. The use of ARINC 653 would allow transient
during initialization and remaining constant during applications, to be loaded only when needed. Allowing
operation. This means that the network cannot be physically dynamic use of programs enables very effective use of the
reconfigured during operation, unlike Ethernet. However, Mission Computer functional capability. Of course, each of
reconfiguration can be easily achieved by updating the these “dynamic” programs would be fully certified as
switch table explicitly. appropriate for its function prior to running it aboard
spacecraft. The use of ARINC 653 allows each program to
The AFDX switch validates addresses and routes data to the be validated and verified independently since the RTOS
correct switch port using the static configuration table. It provides adequate partitioning. The AFDX network ensures
also enforces BAG timing by monitoring the bandwidth that data communications can be conducted in a time-
utilization and packet timing of a specific VL. If a specific deterministic manner. Compliance with the ARINC 653
VL is malfunctioning by jabbering and jamming the guidelines on functional separation and AFDX network
network, the switch will block those faulty packets from usage further supports robust partitioning.
going any further. The AFDX switch is therefore a key
element in containing fault propagation in an AFDX A reference software architecture for the Mission Computer
network, by detecting and isolating babbling end stations. can be based on ARINC 653, taking advantage of fault
Of course, there would be a total loss of the VLs involved in containment provided by the partitions. The tau 0, time-
such policy violations. Therefore, data integrity is priority partition runs the main data-handling function,
maintained at the PHY layer using cyclical redundancy which receives flight-data parameters, processes them, and
check (CRC) for each frame (providing excellent error stores them in the FDR, built as a large array of flash
detection) and Sequence Numbers (SN) for VLs to track memory. In addition, it selects parameters for downlink,
data packets. manages the multiple parallel communication resources, and
provides the main interface to space-based network
AFDX also defines the use of dual-redundant networks. communications. It can host ancillary data acquisition
Redundancy management is performed on a VL basis, using functions, storing these parameters in the FDR and even
the Redundancy Management (RM) parameter. If set, both down linking them upon request. It could act as a command
AFDX ports transmit the same packet at the same time and arbitration interface, determining which specific
communication link had priority—important for supporting
8
concurrent legacy, network-compliant and proximity similar to TCP/IP streaming sockets, except that AFDX
communication links. It could host machine-vision allows definition of a fixed queuing first-in-first-out (FIFO)
applications for automated rendezvous and docking and buffer size, preventing most buffer overruns and
even Vehicle System Management (VSM) functions, underflows. Generally, the queuing FIFO size is specified as
exclusive of critical failover. the number (not bytes) of AFDX packets in the FIFO, also
leading to more control over the potential length of time
A classic example of advanced VSM function would be the delays caused by the FIFO buffer backing up. Proper setting
reconfiguration of a critical system after a failover. The of internal RTOS and AFDX parameters can ensure that the
automatic failover may be suboptimal, therefore, a queuing FIFO buffers will not experience problems.
subsequent reconfiguration could optimize against
subsequent additional failures. It could also optimize The ARINC 653 sampling ports have no buffer at all, but do
resource use such as power, acting as an on-board overall indicate parameter freshness through the use of a timestamp.
power manager. Such functions could be performed on the In this case, a read or write of a sampling port is the
ground, as in current practice, or could be migrated to the equivalent of reading a sensor connected directly to the
MC later to provide more autonomy for future missions. computer: each read will read the last sensor value
The flight critical computer (FCC) would reject any communicated on the network. Multiple reads will read the
inappropriate input from the Mission Computer, providing same parameter, but can use the freshness parameter to
the final safety check (as appropriate for flight control identify stale data. The design of AFDX, requiring
functions). predefinition of VLs, sampling and queuing ports, and other
runtime parameters can eliminate many of the buffer-
management issues involved in Ethernet networks.
ARINC 653 defines queuing and sampling ports in the
APEX API, and AFDX extends this concept to time-
deterministic network operation. Queuing ports are very
MISSION MISSION
COMPUTER - 1 COMPUTER - 2
FDR FDR
FLIGHT CRITICAL
Cockpit
COMPUTER 1 Displays
AFDX
Switch Crew I/F
AFD
Display-1
AFDX Display-2
Switch
Display-3
FLIGHT CRITICAL
COMPUTER 2
AFD S-BAND A
Comms S-BAND B
&
S-BAND C
Track
PROX A
PROX B
FLIGHT CRITICAL Ancillary KU-BAND
COMPUTER 3 Sensor
Network Space
AFD Telecoms
We will assume that the Ancillary Sensor Network needs to The overall ASN design is shown in Figure 6 consisting of a
be single-fault tolerant and provides time-synchronous dedicated pair of AFDX switches for ASN use that connect
delivery of sensor data to the Mission Computer. In to the main AFDX Mission Computer switches. This
compliance with standard data communications practice, example provides four smart-sensor ports for the spacecraft.
one network runs down the right side of the vehicle and one AFDX will support mixes of single and dual-redundant
network runs down the left side of the vehicle. The goal is to network traffic.
allow new “smart sensors” to be added to the ASN in a
plug-and-play fashion with minimal reconfiguration
required. Smart sensors can be new sensor modules or
“virtual sensors” which use legacy sensors with additional Partition 1 Partition 2 Partition 3
processing in software providing ease of configuration, Data Transfer APEX API ASN
identification and data validation. The smart-sensor modules DAQ
include network-connected interfaces to multiple sensors
adhering to IEEE 1451.1 standards for data, information,
and knowledge management across networks [11]; RTOS System Library
transducer electronic data sheets (TEDS)—IEEE 1451.2—
and health-related information as specified in Health Partition ARINC Console ARINC App
Electronic Data Sheets (HEDS). [12] Use of AFDX Mgmnt Q-Ports S-Ports Loader
sampling ports rather than Ethernet will allow setting up
different time-synchronous rate groups for sampling the
RTOS Scheduler, Device Drivers, Network
sensor data, with time stamping of each data point.
Stack
The use of smart sensors (virtual-using legacy sensors, or
physical-with embedded processing) provides a number of Micro Kernel
benefits. Smart sensors provide configuration data and
information via TEDS and HEDS, which describe details Processor Platform Interface
regarding sensor operational state, calibration status, serial
number and other meta data relevant to validating sensor
values in critical systems. [13] An analogous approach
could define component electronic data sheets (CEDS), to
include (virtual) smart components such as valves, tanks, Figure 5. ASN Software Architecture
10
Sensor Pod P1 ASN P1 Sensor Pod
Switch 1
1 3
P2 P2
AFDX Network
The packets were captured and the data set analyzed for
5. LAB EVALUATION absolute timing, timing jitter, VL consistency, and errors.
Deviations were identified and analyzed before proceeding
The AFDX ASN laboratory evaluation measured the to the next testbed configuration. Our data analysis tracked
performance of commercial AFDX products to determine SNs for each VL, independently flagging missing packets to
conformance to the Airbus AFDX and ARINC 664 understand the mechanisms of packet loss in AFDX
Standards using a representative ASN configuration. The networks. Key metrics used to characterize AFDX
evaluation focused on time determinism and network performance are BAG timing variables (such as average
throughput in the packet domain. Statistical analysis was packet-to-packet time), their standard deviations, and the
used to quantify the capability of ADFX to provide time- minimum and maximum values observed for each VL under
deterministic messaging during testing over a broad range of test. Additional metrics included any packet errors observed,
operating configurations. The network was deliberately the skew between two redundant channels, and the total
overloaded and the resultant error modes observed. sustained bandwidth for each VL and for the AFDX
network as a whole.
A key requirement for the evaluation was the ability to
generate a rich set of test vectors containing different At full load, the AFDX network produced thousands of
network packets with various BAG time rates, packet data packets per second, producing many thousands and even
sizes, and number of VLs. A second key requirement was millions of packets for analysis, producing good timing
the ability to capture and analyze the packet traffic of a fully statistics. Since each run could include tens of thousands of
loaded network at the full network speed of 100 Mbps. data capture records—each packet record having more than
Setting up the evaluation protocols to conform to current 40 data fields—this examination of the data had to be
aerospace practice has required consultation with experts on automated. The analysis process required sorting the full
AFDX. They have indicated that all AFDX implementations packet capture dataset by VL and also by channel for
use UDP as the chosen protocol, given that it can provide
12
redundant data sets. A key requirement was to identify any creation of virtual LANs (VLANs), isolating AFDX traffic
missing or dropped packets. by statically configuring the switch to reduce collisions.
This is very similar to the predefined AFDX switch
The analysis program Panorama V was used to validate the configuration table. Collisions are prevented and packet loss
data sets and to perform statistical analysis of the captured is minimized since traffic is steered only to ports active in
packet data to produce BAG timing, jitter timing, and the test. This is important, because we wish to observe
redundant-channel timing statistics. The team chose to use packet loss due to AFDX end-station malfunction,
Panorama, a "personal computer" database/spreadsheet difficulties in VL scheduling, traffic overload, and other
application from ProVUE Development (www.provue.com) phenomena that require the switch to work properly for
because of its excellent tools for exploratory data analysis. AFDX emulation.
Panorama includes a powerful scripting language for both
database manipulation and interface development. It also The following tests were used to quantify Cisco 2900 switch
offers exceptional data processing speed. Using its database latency. The reference end station system was used with the
features, the captured records could be easily parsed, Cisco switch in one segment and a direct connection in the
augmented, sorted, selected, summarized, and displayed. other segment. In this configuration, Channel A-to-Channel
Using the scripting language, the team captured these B skew represents absolute switch latency.
manipulations as screening routines for validating data.
Subtle anomalies buried in the data could thus be brought to The Cisco switch latency scales with packet size and not
attention, enhancing the team's understanding of the with VL or BAG values. A full packet (1518 bytes) incurs a
generating processes and preventing errors from appearing latency of about 132 µsec, while a 512-byte packet incurs
in the statistics. roughly one-third that value, or 52 µsec. At the low end, a
64-byte packet requires 16 µsec, which is not quite linear.
The Cisco switch is about 30% slower than the AFDX
Switch Latency Data Analysis switch specification allows.
The first task of the laboratory evaluation was to The Cisco switch uses an 8 MB buffer global to all ports.
characterize the switch. The evaluation used commercial This will introduce an aggregate of 640 msec of delay for all
Ethernet switches (Catalyst 2900) from Cisco. Aerospace packets being buffered in the switch. It will also be able to
AFDX product vendors recommend using such switches for accommodate at least 4000 packets before overrun and
testing, since actual AFDX switches are very expensive, packet loss. The basic difference between various switches
only built to custom order, and may block the errors and is the total amount of latency they can introduce into a
other phenomenon we were trying to measure. network and also the point (in terms of stored packets) at
Theoretically, the switch should present fixed time latency which they begin to drop packets. The Cisco is able to
for network traffic if lightly loaded, with a simple constant handle a significantly larger number of packets in its buffer
timing delay for each packet. With testbed timing accuracy than other switches, resulting in much longer delays prior to
better than 1 µsec, we were able to confirm that hypothesis packet loss.
showing that latency scaled with packet length, validating
The switch should learn the MAC addresses of end stations
the test setup and accuracy of each packet monitor. It should
connected to each port and then use them to switch the
be mentioned that an AFDX switch is statically configured,
Ethernet frames to the correct port. Our analysis revealed
with each VL and BAG defined prior to use. Furthermore,
that the switch was broadcasting to all ports, and that
there is to be a maximum of 100 µsec of packet delay, and
simultaneous packet delivery to multiple ports (even ports
buffer sizes need to be scaled to the AFDX network to
not involved in the VL data transfer) was resulting in extra
prevent packet loss.
“collisions” leading to packet delay and possible loss. In this
A Cisco Catalyst 2900 was statically configured to support mode, all packet traffic was affecting all active switch ports.
the current test setup. The Cisco Catalyst 2900 allows the Proper operation would have the packet traffic switched to
user to “tie” two or more switch ports together with the only those switch ports that were active in the VL, resulting
T a b le 2 . C is c o S w itc h L a te n c y D a ta A n a ly s is S u m m a ry
VL BAG P k t S iz e B A G A v e B A G S D B A G M in B A G M a x S k e w B W E rro rs
m s e c b y te s m sec µsec m sec m sec µsec M bps
10 128 1518 1 2 8 .0 0 0 .2 9 1 2 8 .0 0 0 1 2 8 .0 0 1 132 0 .1 0
11 64 1518 6 4 .0 0 0 .2 1 6 4 .0 0 0 6 4 .0 0 1 132 0 .2 0
12 8 512 8 .0 0 0 .1 1 8 .0 0 0 8 .0 0 1 52 0 .5 3 0
13 1 64 1 .0 0 0 .0 4 1 .0 0 0 1 .0 0 1 1 6 .2 0 .6 7 0
14 1 64 1 .0 0 0 .0 5 1 .0 0 0 1 .0 0 1 1 6 .2 0 .6 7 0
15 1 64 1 .0 0 0 .0 4 1 .0 0 0 1 .0 0 1 1 6 .2 0 .6 7 0
T o ta ls 2 .8 4 0
13
in lower traffic rates at each port. This switch works in a Ancillary Sensor Network Test Vectors
broadcast mode until it is able to fill out its switch table;
then it starts buffering packets and routing them to the The following test vectors were used to incrementally build
correct ports based on MAC addresses. Further study and test an AFDX configuration to simulate the Ancillary
revealed that most 802.3 switches learn the MAC address of Sensor Network (ASN). Traffic patterns that could be
connected end stations by capturing the MAC address of produced by sets of sensors at the prescribed rate groups
each transmitting station. This works fine for Ethernet, were generated, with each test vector adding more sensor
where all ports have a unique MAC address and also channels and loading the network more fully. Two end-
transmit at some time, allowing this algorithm to reliably fill stations running traffic generation and packet capture
out the switch table. software were setup and were designated AIM-1 and AIM-
2. The tests were run unidirectional, from AIM-1 to AIM-2
Each end station was connected to the switch using a full- in a dual redundant configuration using the Cisco 2900
duplex cable connection, which eliminated any chance of switch. The first test vector (TV32) used 60 VLs and the
collisions on this network segment, but packet collisions second test vector was run with 120 VLs to determine the
could still occur internal to the switch. For example, when effects on packet timing caused by more collisions in the
two end stations send a packet to the same receiving end switch due to increased network load.
station at the same time, the two packets must be staggered
by delaying one until the other has been successfully Test Vector 32 (TV32), set up 15 VLs each at the 128-msec,
received. Ethernet 802.3 switches have sufficient buffer 32-msec, 8-msec and 1-msec BAG values, for a total of 60
capability and data transfer speed to be able to do this for at VLs. The packet sizes were 512, 256, 128 and 64 bytes
least a half-dozen packets per port. Moreover, the switch respectively. This test was run unidirectional in dual-
should use the MAC address to steer each packet to its redundant mode. The following chart shows the data for
destination port and no others, reducing contention. Test Vector 32 on a scatter plot showing average measured
packet BAG values and maximum BAG values. All values
match up, indicating conformance to the AFDX jitter
130
120
110
BAG Time Interval (msec)
100
90
BAG Maximum
BAG Average
80
70
60
50
40
30
20
10
0
0 10 20 30 40 50 60
130
120
110
BAG Time Interval (msec)
100
90
BAG Maximum
80
BAG Average
70
60
50
40
30
20
10
0
0 20 40 60 80 100 120
Virtual Link Number
15
relative phase of the network traffic from each port. isolation and configuration management. It is
Pressing a GUI button starts packet traffic from each AIM potentially sensitive to timing variations due to partition
system; so all VLs start at the same time from that AIM unit swapping.
but start asynchronously between AIM-1 and AIM-2 • The ARINC 653 “Avionics Application Software
systems. There may also be minor timing differences Standard Interface” application program interface (API)
between Channel A and Channel B, which may have an and partitioned operating system is being adopted for
effect on collisions. Therefore, collisions in the switch flight control and should simplify software design and
resulting in packet delay will be different depending upon validation and verification.
the phase difference between transmitting end stations. The
switch must reconcile highly variable contention as phase • AFDX is well suited for IMA, providing good
differences between transmitting end stations varies. The integration with ARINC 653 Queuing and Sampling
worst case collision rate occurs when many VLs all transmit Ports and the use of XML system-configuration
at the same time, necessitating buffering of most packets. methods.
• AFDX and similar network standards can dramatically
Collisions in the switch—which leads directly to variable reduce the number, weight, and volume of cable
latency for packets traversing the switch, increasing the interconnects required for a spacecraft.
jitter and disturbing AFDX network timing is the primary
design issue for AFDX networks. If all end stations generate • AFDX can provide much higher data throughput than
packets like clockwork, the only real source of jitter is in the most aircraft control data buses. It can provide reliable
switch. It is the central component that absorbs the timing time determinism and fault tolerance suitable for
uncertainties by correctly distributing the variable latencies mission-critical applications.
between the packets in order to prevent BAG timing • AFDX network functionality of the Ancillary Sensor
violations on all VLs. It is clear that switch delay (in cases Network was well established in laboratory evaluation,
where many packets are issued simultaneously, and buffered providing significant risk reduction for adoption of
in the switch) is the main reason this test configuration— AFDX for Flight Test Instrumentation.
representative of a full-up ASN—has timing problems. A
faster switch would help mitigate this timing problem. The • Laboratory evaluation of ASN AFDX configurations
Cisco switches are slower than the AFDX specification, showed that they could scale well to about 30% of full
which is 100 µsec maximum per packet. The Cisco switches 100 Mbps transmit rate before high standard deviation
exceed this by about 30%. This example fully demonstrates of BAG timing and violations of the AFDX jitter
the importance of switch design, even in an AFDX network specification became apparent.
loaded to only 28 percent. This ASN would comply with the • The major factor for AFDX timing violations and
AFDX specification and ARINC 664 P7 if the delay packet loss was overload of network switch buffers
through the switch were less. An AFDX-compliant switch caused by too many packets arriving simultaneously.
actually regulates total packet delay to prevent such issues. Staggering the packets from each end station can
Therefore, an ASN design similar to this would be feasible mitigate this loss.
with the proper AFDX switch. • The AFDX network switch is a critical component and
characterization of switch function and latency and the
effect of collisions and packet loss on AFDX networks
6. CONCLUSIONS was determined.
• A real AFDX network prevents timing variations and
The Aerospace Industry has developed a series of new
packet losses by defining network VL timing
standards and components that would be suitable for high-
characteristics and packet length during the design
bandwidth data acquisition and information processing.
phase. Careful selection of switch buffer size can then
There are significant advantages to adopting ARINC 653
eliminate most loss and delay exceeding the jitter
and AFDX communication standards for use aboard
specification.
spacecraft. Our ASN design study has revealed some
important lessons regarding IMA design:
16
REFERENCES
17
BIOGRAPHY André Goforth is a Computer
Engineer in the Intelligent Systems
Division at NASA Ames. Mr. Goforth
Richard L. Alena is a Computer has twenty-five years of experience
Engineer in the Intelligent Systems in application of computer
Division at NASA Ames. Mr. Alena technologies to NASA missions. He
was the co-lead for the Advanced has worked on a number of
Diagnostic Systems for International intelligent systems projects ranging
Space Station (ISS) Project, from supercomputing systems to avionics and flight
developing model-based diagnostic software and integrated health management systems for
tools for space operations. He was the chief architect of a ground and flight systems. He worked on the development of
flight experiment conducted aboard Shuttle and Mir using processing requirements for NASA Ames’ Numerical
laptop computers, personal digital assistants and servers in Aerodynamic Simulator (NAS) supercomputer computing
a wireless network for the ISS. He was also the technical and communication requirements; the prototyping of high
lead for the Databus Analysis Tool for International Space speed links for the NAS networking backbone; avionics
Station on-orbit diagnosis. He was group lead for requirements for the support of telerobotic operations for
Intelligent Mobile Technologies, developing planetary NASA’s Flight Telerobotic Servicer flight article;
exploration systems for field simulations. Mr. Alena holds development of the Space-Borne VLSI Multi-processor
an M.S. in Electrical Engineering and Computer Science System (SVMS) processor, a VLSI-based parallel processor
from the University of California, Berkeley. He is the for support of artificial intelligence (AI) applications. He
winner of the NASA Silver Snoopy Award in 2002, a NASA led the research and development for use of parallel Ada
Group Achievement Award in 1998 for his work on the ISS technologies for AI applications and was part of the Ada 9X
Phase 1 Program Team and a Space Flight Awareness effort sponsored by the DoD for which he received a DoD
Award in 1997. Certificate of Appreciation for Valuable Contributions.
Recently, he served as the project manager for the Crew
John Ossenfort is an employee of Exploration Vehicle Integrated Systems Health Management
SAIC at NASA Ames Research (CEV ISHM) project at Ames and received a NASA Group
Center, currently working on several Achievement Award for his contributions in the development
projects including the Advanced of the Advanced Diagnostics and Prognostics Testbed
Diagnostic and Prognostic Testbed (ADAPT) at Ames. Mr. Goforth is a member of IEEE and
(ADAPT) and the Systems Autonomy has served on program and organization committees of
for Vehicles and Habitats (SAVH) IEEE Hot Chips and Compcon conferences. In addition, he
project. In the past, he has been has served as NASA’s representative to the W3C and OMG
responsible for administration of multiple lab networks and standards organizations.
participated in several field simulations, assisting in all
aspects of wired and wireless network design, deployment, Fernando Figueroa holds a B.S.
troubleshooting and maintenance. John has a dual BA Degree in Mechanical Engineering
degree in Anthropology and East Asian Studies from from the University of Hartford, CT,
Washington University in St. Louis. and M.S. and Ph.D. degrees in
Mechanical Engineering from Penn
Kenneth I. Laws is a computer State University. In 1988, He joined
scientist with QSS Group, Inc., the faculty of Tulane University, New
providing support to the Intelligent Orleans; and was on the faculty of the
Systems Division at NASA Ames. At University of New Brunswick,
USC, he developed texture energy Canada, from 1995 to 1997. He joined NASA Stennis Space
measures for image texture Center in 2000. His areas of interest encompass
classification. After seven years at development of Integrated System Health Management
SRI International’s Artificial (ISHM) capability for ground and space systems, Intelligent
Intelligence Center, Dr. Laws served Systems, Intelligent Sensors, Networked Distributed
for two years as NSF’s Program Director for Robotics and Intelligence, Robotics, Sensors and Instrumentation,
Machine Intelligence. He moderated the AIList Arpanet Controls. He has led multi-center, multi-entity, large-scale
discussion list (at SRI), then founded Computists projects focused on implementation of ISHM capability on
International and published the Computists’ Communique rocket engine test stands, the International Space Station
for ten years. and future components of NASA’s Constellation Program.
18