Development & Integration

DSoft Technology has the ability to perform the following types of analyses to provide engineering and technical analysis support for your satellite and space control mission. Examples of analysis that we have performed in the past include:

Standardized Astrodynamic Algorithms (SAA) Unit and Integration Testing


DSoft Technology provided support to AFSPC, now SPoC, in conducting unit and V&V testing and documentation for the release of new Standardized Astrodynamic Algorithm Library (SAAL) versions. AFSPC personnel created a unit testing framework usingTeam City's built-in unit testing capabilities to test the SAA DLLs and associated language wrappers. The creation of unit tests for each SAA DLL was assigned to subject matter experts (SMEs). DSoft worked with these SMEs, often in pair-programming situations, providing the SMEs with assistance in unit testing strategies, framework expertise and C# syntax. This collaboration allowed the SMEs to create quality unit tests without being burdened by programming and framework issues that are not related to their core mission. The resulting unit tests have already identified some long-standing issues with the SAAL code and will provide a lasting benefit to the SAA program by allowing the unit tests to quickly identify many types of issues before the more labor intensive verification and validation (V&V) tests are run.

Standardized Astrodynamic Algorithms (SAA) Documentation

DSoft Technology revised and updated the documentation provided to users as part of the Standardized Astrodynamic Algorithm Library (SAAL) distribution. In previous versions, the documentation for each algorithm was split into multiple parts with conflicting information. DSoft Technology revised the documentation structure to consolidate all the documentation in the CHM files. The API remarks and examples from a variety of word and pdf documents that contained explanatory information, use cases, astrodynamic formulas and data format descriptions were added. Additional information was moved into specially-formatted comments in the algorithm source code so they could be extracted as part of generating the CHM version of the API documentation. This eliminated the need for the redundant DOC API documentation, eliminated the possibility that the two versions of API documentation would differ, and put the remarks and examples in the source code where they will be most easily maintained by the programmers as changes are made. The additional content provided in the DOC files was converted to GhostDoc custom content pages and included in the CHM files. This effort puts the documentation in a format more easily maintained by AFSPC and provides SAA users with a single source of documentation for each module.

Standardized Astrodynamic Algorithms (SAA) Distribution on Space/Cyberspace Analysis Resource Portal


Space Operations Center distributes the International Traffic in Arms Regulations (ITAR) controlled Standardized Astrodynamic Standard Library (SAAL) on the Space/Cyberspace Analysis Resource Portal (SARP) website. These include SGP4, SP/SPETH, LAMOD, COMBO, BatchDC, FoV, AoF, ROTAS and IOMOD/OpsObs. The request process follows a detailed workflow that complies with AFSPC Instruction 17-105 and ITAR. Automation of the request process has reduced the time for requests to be approved and provides an easy mechanism for users to download the approved software. DSoft Technology designed, developed and deployed the SAAL distribution in the SARP application which includes a detailed workflow from a user requesting software, technical review of the request requirements, approval by SpOC and distribution to users (download). As new releases of the SAAL are provided, these are uploaded into SARP and notifications are sent to users who had requested earlier releases. Users with access to NIPRNet with a CAC, can access SARP at

Automated Testing Framework

The Automated Testing Framework (ATF) is utility tool used to easily test and verify any algorithm in the SAAL. It provides a very intuitive user interface where the user can create and manage various test cases and group multiple test cases together in bundles. Tests can then be run against any and/or all cases in a specific bundle. Verification of the test results is performed by comparing output results versus baseline output files. A separate tool called VERDICT is used for this comparison and can be configured as to which accuracy the results have to match. Test cases, bundles and results are stored in XML format so they can be easily shared with other users. The tool can be easily extended to include other types of algorithms.



The Space Analysis INtegration Toolkit (SAINT) is a toolkit and framework that allows a user to create a new application by combining SAINT components, assemblies, and applications. A key element of the framework is the inclusion of the SAAL and other algorithms developed by AFSPC, not SpOC. Currently SAINT includes components and assemblies for SGP4 - Satellite General Perturbations 4, SP - Specialized Perturbations, LAMOD - Look Angle Module, SimOrb - Orbit simulation, Decay - Satellite decay & lifetime using King-Hele and BLUE - Bob's Launch Update Ensemble. COMBO - Computation of Miss Between Orbits and ROTAS - Report/Observation Association) algorithms are being added this year. SAINT is the ideal toolkit for building space analysis applications as it is flexible and facilitates the development of tailored applications in a short period (approximately one to three days depending upon the complexity of the application). Built-into the toolkit are data utilities to persist data inputs and outputs in a variety of formats including eXtensible Markup Language (XML) and Microsoft™ Excel. Also included are 2D and 3D visualization components that can be connected to the output of the ASAL components to display sensor coverage and satellite orbits. SAINT can be obtained by making an official request on the Space/Cyberspace Analysis Resource Portal (SARP) hosted on the AF NIPRNet (CAC required). See



SATRAK (v7) is the replacement for SATRAK (v6), a legacy DOS application. SATRAK generates ground site look angles and ground traces of earth orbiting satellites. The new version provides a modern and interactive user interface suited for current Windows operating systems. SATRAK (v7) was created using the Space Analysis INtegration Toolkit (SAINT), which demonstrated the complexity of tools that can be built and deployed with SAINT. The new version allows analysts to exercise various Astrodynamic Standards (SGP4 - Satellite General Perturbations 4, LAMOD - Look Angle Module, SimOrb - Orbit simulation, Decay - Satellite decay & lifetime using King-Hele, BLUE - Bob's Launch Update Ensemble, Sensor Coverage) and view the results on 2D & 3D maps, as plain text and/or as tabular data. The tabular data provides advanced sorting, filtering, and grouping capabilities as well as rules based conditional formatting. A graphing tool was also integrated into SATRAK to evaluate changes to a particular satellite's orbit or to perform statistical analysis on the satellite catalogue using Two Line Element (TLE) data. SATRAK has now been approved for installation on Air Force networks (NIPRNet and SIPRNet). SATRAK can be obtained by making an official request on the Space/Cyberspace Analysis Resource Portal (SARP) hosted on the AF NIPRNet (CAC required). See



The Breakup Analysis Model (BAM) tool is a software application created by the Air Force Space Command (AFSPC) to model the effects of satellite collisions and breakups. DSoft has created a functionally-equivalent, cross platform version of the AFSPC BAM tool to provide this functionality to analysts running Linux workstations. DSoft's version of the BAM tool uses the Standardized Astrodynamic Algorithm Library BAM module for the core computations and uses the open source Mono framework to create a cross-platform application with a rich graphical user interface (GUI) and the capability to display both tabular and graphical charts of the calculation output. It was developed on Windows using Microsoft Visual Studio, C#, the .NET framework, and the open-source project ZedGraph. The resulting code can then be built into a stand-alone Linux application using the Mono framework. This development approach leveraged existing code resources to minimize development time and provided the space system analysts with the tools they needed to enhance their operational capability. BAM can be obtained by making an official request on the Space/Cyberspace Analysis Resource Portal (SARP) hosted on the AF NIPRNet (CAC required). See



SPySE (Simulation in Python with Space Entities) is a Python-based Modeling and Simulation (M&S) tool. The current M&S and analytical decision-support tools lack the flexibility to integrate astrodynamics engagement models inside of a scenario. This effort will use a combination of astrodynamics functions and 3D display capabilities developed in Python and OpenGL along with agent-based modeling and game theory concepts to help answer the "what if" and adversary response questions currently proposed by senior leaders. This work will complement the current efforts using Finite State Machine (FSM) agent-based modeling and simulation by providing an open source framework that can be used by any government entities in a Python Environment. SPySE will provide a simulation engine for the Modeling and Simulation Analysis Framework (MSAF). SPySE will be interoperable with the current capabilities of System Effectiveness Analysis Simulation (SEAS), Advance Framework for Simulation, Integration and Modeling (AFSIM), Threat Modeling & Analysis Program (TMAP) models and other models currently used by the Air Force. In addition to an interactive scenario mode, a batch mode supporting Monte-Carlo type parameters is available that can run multiple scenarios at once on a local/remote computing cluster using a distributed tasking framework.

Space Brawler/ Maneuver Detection and Recovery (MDR)


The Maneuver Detection and Recovery (MDR) is a MATLAB-based set of stand-alone programs that interfaces with Space Brawler to perform explicit frequent revisit, catalogue maintenance, and maneuver detection/recovery on tactically monitored objects. Sensor lists and objects are sent from Space Brawler initially, and when satellite maneuvers take place new position vectors are also sent (these constitute “truth” data). MDR receives these data and, at each time step, schedules the satellites for tracking; determines whether tracking in fact took place, uses the tracking data to perform maneuver detection, and then performs element set differential corrections either to update the standing element set or to begin the maneuver recovery process. The updated states, along with maneuver detection information, are sent back to MDR after each time step; these files constitute “perception” of the situation.

The programs take account of sensor outages, weather outages, probability of detection of targets, sensor priorities, and scheduling limitations (in a simplified manner). They use the AFSPC/A9 Astrodynamic Standards for determining look angles (LAMOD) (and thus unnoised sensor observations), observation association (OBS), calculation of residuals for each observation against the associated element set that determines whether a maneuver has occurred (ROTAS) and batch differential correction (BATCH DC). Because these programs are generic with regard to sensors and satellites used (these items being specified in input files), they can be used for maneuver detection/recovery for either red or blue systems.

The first iteration of MDR in Space Brawler incorporated older versions of the Astrodynamic Standards standalone executables which proved to be problematic as they were slow and didn’t take into account updates made to fix inaccuracies or logic incorporated into new versions of the algorithms. DSoft Technology made significant enhancements to the MDR module in Space Brawler by incorporating the Space Analysis INtegration Toolkit (SAINT) Dynamic Link Libraries (DLLs). The LAMOD executable was replaced with the SAINT LAMOD DLL with significant improvement in performance. The function in BatchDC that generates osculating elements from mean elements was replaced with a call to the SAINT AstroFunc DLL that significantly improved accuracy. The integration of SAINT DLLs into a MATLAB based program proved that the SAINT DLLs could be integrated into applications other than .Net Framework ones.

Future enhancements to MDR include the replacement of OBS, ROTAS and BatchDC standalone executables with the SAINT DLLs.

Covariance Matrix Visualization (CMV)


Covariance Matrix Visualization (CMV) is a standalone Windows Forms control developed by DSoft Technology that allows the user to visualize one or more covariance matrices of the same or different satellite as three-dimensional (3D) ellipsoids. The 3 axes of the ellipsoid represent the XYZ or UVW eigenvalues / eigenvectors derived from each covariance matrix. The ellipsoid can also be scaled based on a user-defined sigma value that will increase/decrease the ellipsoids radius. Calculation of the covariance matrix itself is outside of the scope of the user control but can be accomplished using Astrodynamic Standards suite of DLLs.

The CMV user control has a very simple architecture. The 3D rendering of the ellipsoid is implemented using OpenTK, a free open source .Net library that wraps around OpenGL. The translation of the covariance matrix into ellipsoid parameters is handled by a custom math class in order to separate user interface logic from business logic.