Prototyping NASA ANTS with ASSL
|
|
|
|
 |
An Artist's Concept of ANTS Credit: W. Truszkowski, M. Hinchey, J. Rash, C. Rouff,
“NASA's swarm missions: The challenge of building
autonomous software”, IT Professional, 6(5), 2004. |
The Autonomous Nano-Technology Swarm (ANTS)
concept sub-mission PAM (Prospecting Asteroids Mission) is a novel approach to asteroid-belt resource exploration. ANTS provides
extremely high autonomy, minimal communication requirements to Earth, and a set of very small explorers with a few consumables.
The explorers forming the swarm are pico-class, low-power, and low-weight spacecraft, yet capable of operating as fully autonomous
and adaptable agents. Each spacecraft is equipped with a solar sail, thus it relies primarily on power from the sun, using only tiny
thrusters to navigate independently. Moreover, each spacecraft also has onboard computation, artificial intelligence, and heuristics
systems for control at the individual and team levels. There are three classes of spacecraft - rulers, messengers
and workers. By grouping them following exploration goals, ANTS forms teams that explore particular asteroids.
The internal organization of a swarm depends on the global task to be performed and on the current environmental conditions.
In general, a swarm consists of several sub-swarms, which are temporal teams organized to perform a particular task. Each swarm team
has a team leader (ruler), one or more messengers, and a number of workers carrying a specialized instrument. The messengers
are needed to connect the team members when they cannot connect directly, due to a long distance or a barrier.
|
|
ANTS must afford autonomous operation without intervention from Earth, while operating under harsh conditions in space.
ANTS poses many challenges related to its heterogeneous architecture, the need of continuous re-planning, re-configuration,
and re-optimization. Thus, considering the hostile environment in which it must survive, we need to design and implement
ANTS as a system able to perform an arbitrary number of in-space exploration tasks over multiple years and also able to
autonomously manage itself, by integrating at least the baseline AC self-management policies: self-configuring, self-healing,
self-optimizing and self-protecting. Therefore, the need for prototyping, and formal modeling, which will aid in the design and
implementation ANTS, is becoming increasingly necessary and important as the urgent need for high levels of assurance
regarding correctness and autonomic behavior persists in the ANTS requirements. Moreover, an evaluation of the effectiveness
of the approach under consideration should be performed in the context of a comprehensive study about ANTS, thus including
architecture, objectives, and operational environment.
This research emphasizes the ASSL formal development approach to autonomic systems. We experiment with
ASSL to prove that it may be successfully applied to the development of experimental models for space-exploration missions
integrating autonomic features. We use ASSL to develop experimental models for NASA missions in a stepwise manner (feature
by feature) and generate a series of prototypes, which we evaluate in simulated conditions.
|
ASSL Specification & Code Generation
|
|
In our endeavor to specify ANTS with ASSL, we have emphasized modeling ANTS self-management policies such as self-configuring,
self-healing, self-scheduling, and emergent self-adapting. In addition, we have developed specification models for the ANTS safety
requirements.
One of the specification models developed in the course of this project and the generated Java code can be downloaded here:
»
ASSL Specification: ANTS Self-healing
»
ASSL-generated Code: ANTS Self-healing
|
|
|