Anunnaki: A Modular Framework for Developing Trusted Artificial Intelligence
Abstract
1 Introduction
2 Background
2.1 Uncertainties in Deep Learning
2.2 Domain Adaptation
2.3 Service-oriented Architecture for Robot Control
2.4 Goal-based Modeling
2.5 Uncertainty-aware Requirements Specification Languages
RELAX Operator | Description |
---|---|
Modal | |
SHALL | A requirement must hold. |
MAY...OR | A requirement specifies one or more alternatives. |
Temporal | |
EVENTUALLY | The requirement that must hold eventually. |
UNTIL | A requirement must hold until a future position. |
BEFORE/AFTER | A requirement must hold before or after a particular event. |
AS EARLY AS POSSIBLE | A requirement specifies something that should hold as soon as possible. |
AS LATE AS POSSIBLE | A requirement specifies something that should be delayed as long as possible. |
AS CLOSE AS POSSIBLE TO [frequency t] | A requirement specifies something that happens repeatedly, though the frequency may be relaxed. |
Ordinal | |
AS FEW/MANY AS POSSIBLE | A requirement specifies a countable quantity, though the exact count may be relaxed. |
AS CLOSE AS POSSIBLE TO [quantity q] | A requirement specifies a countable quantity, though the exact count may be relaxed. |
2.6 Self-managing Systems
3 Methodology
3.1 Goal Modeling
3.1.1 Constructing Goal Models.
3.1.2 RELAX-ing Requirements.
3.2 Resiliency Through Predictive Behavior
3.3 Robustifying Learning Models
3.4 Run-time Monitoring and Management
4 Demonstration
4.1 Autonomous Rover Case Study
4.1.1 Implementation of Autonomous Rover.
4.1.2 Creating Behavior Oracles for Autonomous Rover.
4.1.3 Creating Robustified Learning Models for Autonomous Rover.
4.1.4 Implementing Anunnaki Services for Autonomous Rover.
ID | Guideline | Realization |
Communication and networking (C) | ||
C1 | Use standardized ROS message formats, possibly supporting also their legacy versions. | ✓ |
C2 | ROS nodes should be agnostic of underlying communication mechanisms. | ✓ |
C5 | Nodes that potentially produce/consume large amounts of messages should be configurable in terms of their publish/subscribe rates. | ✓ |
C6 | Selectively limit the data exchanged between nodes to provide only the information that is strictly necessary for completing tasks. | ✓ |
C8 | Develop adapter components when data exchanged between nodes is not compatible (semantically), incorrect, out-of-order, or redundant. | ✓ |
C9 | Use services when starting up robots (instead of publishing to topics) so that the status of the system can be checked before operation. | ✓ |
C11 | Frequent messages should be exchanged either via services with persistent connections or via topic-based communication. | Frequent messages use topics. |
C12 | Run multiple nodes in a single process when the overhead due to interprocess communication is too high both in terms of frequency of messages and payload. | ✓ |
C13 | Manage topics to avoid unnecessary publishing and subscribing. | ✓ |
Node responsibilities within the system (N) | ||
N1 | Group nodes and interfaces into cohesive sets, each with its own responsibilities and well-defined dependencies. | ✓ |
N2 | Each ROS package should be responsible for one and only one feature of the system or robot capability and provide a well-defined interface. | Packages are separated for Utu and terrestrial rover. |
N3 | Decouple nodes with responsibilities that naturally work at different rates and use different rates for different purposes. | Nodes can be configured at different rates independently. |
N4 | By design, limit unnecessary computationally-heavy operations by carefully analyzing the execution scenarios across ROS nodes. | ✓ |
N5 | Transform data only when it is used, for efficiency in terms of computation and bandwidth. | ✓ |
N6 | Design each single node so that it is runnable (and testable) in isolation. | ✓ |
N8 | Use a dedicated node to store and represent globally-relevant data (e.g., the physical environment where the system operates) and use it as the single source of truth for all the other nodes in the system. | The Knowledge Manager (see Figure 4, Step 3a) stores global information. |
N9 | Keep the number of nodes as low as possible to support the basic execution scenarios and extend the architecture for managing corner cases. | ✓ |
Internal behavior of the nodes (B) | ||
B2 | Nodes with high-frequency operations should be configurable so that they can operate according to available computational resources. | ✓ |
B5 | Nodes with configuration errors should fail explicitly at bringup time. | ✓ |
B6 | If a node is computationally expensive, then ensure that it only executes when it is strictly needed. | ✓ |
Interface to external users and third-party developers (I) | ||
I1 | Assign meaningful names to architectural elements and group them by adopting standard prefixes/suffixes. | ✓ |
I2 | When possible, core algorithms, libraries, and other generic software components should be ROS-agnostic. | Core algorithms (e.g., Enki, Enlil) are ROS-agnostic. |
I6 | Logging should be standardized across the project and follow well-defined guidelines. | ✓ |
Interaction with hardware and other lower-level entities (H) | ||
H1 | Nodes interacting with simulators and hardware devices should provide identical ROS messaging interfaces to the rest of the system. | ✓ |
H2 | When possible, design the system to be hardware-independent. | ✓ |
Safety-critical concerns (S) | ||
S1 | ROS nodes should be resilient with respect to the amount and frequency of data received by sensors. | ROS nodes will only process data at configured data rates, set upon instantiation. |
S2 | Use different communication channels and different (hardware and software) platforms depending on the criticality and real-time requirements of the nodes. | Deployment topology can be configured as necessary. |
S4 | Provide at least one globally-reachable node capable of receiving run-stop messages and stopping/resetting the whole system. | ✓ |
Data persistence (P) | ||
P1 | Avoid persisting raw data if only part of it will be used. | Media is compressed to reduce overhead, also not persistent. |
P3 | Use a dedicated node for persisting and querying long-term data. | ✓ |
4.2 Autonomous Unmanned Aerial Vehicle Case Study
Feature | Rover | UAV |
Platform | Jetson Nano | WEBOTS Robot |
Object Detector | RetinaNet | YoloV5 |
Training Data | Custom | VisDrone |
Application Type | Terrestrial | Aerial |
Multi-domain Training | Enki | Enki |
Domain Detection | Enlil | Enlil |
Autonomic Manager | Utu | Utu |
4.2.1 Creating Behavior Oracles for Autonomous UAV.
4.2.2 Creating Robustified Learning Models for Autonomous UAV.
4.2.3 Implementing Anunnaki Services for Autonomous UAV.
5 Discussion
5.1 (RQ1) Modular Approach for Trusted AI
5.2 (RQ2) Data and Model-agnostic Approach to Robustness and Resilience
6 Related Work
6.1 Trustworthy AI
6.2 Configurable Frameworks and Learning-enabled Systems
6.3 Threats to Validity
7 Conclusion
Footnotes
References
Index Terms
- Anunnaki: A Modular Framework for Developing Trusted Artificial Intelligence
Recommendations
Artificial intelligence
AbstractArtificial intelligence (AI) is the Science and Engineering domain concerned with the theory and practice of developing systems that exhibit the characteristics we associate with intelligence in human behavior. Starting with a brief history of ...
Toward Trustworthy Artificial Intelligence (TAI) in the Context of Explainability and Robustness
From the innovation, Artificial Intelligence (AI) materialized as one of the noticeable research areas in various technologies and has almost expanded into every aspect of modern human life. However, nowadays, the development of AI is unpredictable with ...
Modern software cybernetics
Classify software cybernetics as Software Cybernetics I and II.Identify the transition from Software Cybernetics I to Software Cybernetics II.Indicate that some new research areas are related to Software Cybernetics II.Highlight new research trends of ...
Comments
Please enable JavaScript to view thecomments powered by Disqus.Information & Contributors
Information
Published In
Publisher
Association for Computing Machinery
New York, NY, United States
Publication History
Check for updates
Author Tags
Qualifiers
- Research-article
Funding Sources
- National Science Foundation (NSF)
- Air Force Research Laboratory (AFRL)
Contributors
Other Metrics
Bibliometrics & Citations
Bibliometrics
Article Metrics
- 0Total Citations
- 875Total Downloads
- Downloads (Last 12 months)875
- Downloads (Last 6 weeks)301
Other Metrics
Citations
View Options
Get Access
Login options
Check if you have access through your login credentials or your institution to get full access on this article.
Sign in