/ATOM_Framework

Autonomous Task Orchestration Manager for AI systems

MIT LicenseMIT

Introducing Autonomous Task Orchestration Manager (ATOM) Framework

Abstract

The rapid advancement of artificial intelligence has highlighted the need for robust and versatile frameworks to create autonomous systems capable of effective task management, goal tracking, and adaptation to changing conditions. In this paper, we introduce the ATOM Framework (Autonomous Task Orchestration Manager), a comprehensive solution designed to address these challenges by integrating cognitive control, heuristic imperatives, and a wide range of essential considerations.

The ATOM Framework combines core components such as goal states, task selection, task decomposition, resource allocation, performance monitoring, and backlog grooming, providing a solid foundation for efficient task management. By incorporating heuristic imperatives focused on reducing suffering, increasing prosperity, and increasing understanding, the framework ensures the AI system operates with intrinsic motivation and a moral decision-making framework.

Furthermore, the ATOM Framework addresses critical considerations such as scalability, adaptability to different domains, integration with other modules, real-time constraints, and robustness to noisy or incomplete data. The framework also emphasizes tool use and agent self-awareness, enabling AI systems to make informed decisions about task engagement and resource allocation.

This paper presents a detailed overview of the ATOM Framework, its components, and its underlying principles, highlighting its potential to lay the groundwork for powerful autonomous AI systems that can effectively manage tasks, track goals, and adapt to an ever-evolving world. Through the integration of these elements, the ATOM Framework promises to advance the state of the art in autonomous AI system design and contribute to the broader field of artificial intelligence research.

Background

The field of artificial intelligence has experienced significant progress in recent years, with the emergence of increasingly sophisticated algorithms and applications. Autonomous AI systems, in particular, have garnered significant attention due to their potential to revolutionize various domains, including robotics, transportation, and healthcare, among others. However, the development of robust and versatile autonomous systems that can effectively manage tasks, track goals, and adapt to changing conditions remains a challenge.

Previous research in autonomous AI systems has primarily focused on specific applications or narrow domains, often relying on expert knowledge and hand-crafted rules to guide decision-making. While such approaches have yielded impressive results in some cases, they can lack the flexibility and adaptability required to operate efficiently in dynamic, real-world environments. Furthermore, many existing AI systems do not adequately address the ethical implications of their decision-making processes, raising concerns about their alignment with societal values and their potential impact on human well-being.

To overcome these limitations, researchers have turned to cognitive control, an area of study that seeks to understand the mechanisms underlying flexible, goal-directed behavior in humans and other animals. Cognitive control involves the coordination of various cognitive processes, such as attention, working memory, and decision-making, to achieve specific goals or complete complex tasks. By leveraging insights from cognitive control research, it is possible to develop AI systems that can better emulate the flexibility, adaptability, and goal-directed behavior exhibited by biological systems.

In addition to cognitive control, the integration of heuristic imperatives, which serve as a set of core principles or values guiding the behavior of autonomous AI systems, is essential for addressing the ethical and moral dimensions of AI decision-making. These imperatives provide a foundation for AI systems to prioritize tasks, allocate resources, and make trade-offs in a manner consistent with ethical principles and societal values.

In this context, the ATOM Framework (Autonomous Task Orchestration Manager) aims to provide a comprehensive solution for designing autonomous AI systems that combine the flexibility and adaptability of cognitive control mechanisms with the ethical guidance of heuristic imperatives. The development of such a framework has the potential to significantly advance the state of the art in autonomous AI system design and contribute to the broader field of artificial intelligence research.  

Framework Overview

The ATOM Framework (Autonomous Task Orchestration Manager) is a comprehensive solution for creating autonomous AI systems that effectively manage tasks, track goals, and adapt to changing conditions. At the heart of the framework is the concept of "open loops," inspired by recent research suggesting that humans have 150 to 350 open loops in their minds at any given time, ranging from immediate concerns, such as hunger, to more complex tasks, like filing taxes. In the context of the ATOM Framework, these open loops are translated into tasks represented as data files, which form the primary work product of the system.

By grounding the ATOM Framework in data-centric task management, the system can draw parallels between human cognitive behaviors and the computational processes required to create, maintain, and update a list of open tasks. This design approach emphasizes the importance of the data and its central role in driving the various components and modules within the framework. As such, the ATOM Framework encompasses several key design considerations that reflect its focus on data-centric task management and its connection to human cognitive behaviors.

First and foremost, the framework is designed to generate, store, and update tasks as data files. These files serve as the basis for the AI system's decision-making processes, informing its actions, and guiding its resource allocation. By treating tasks as discrete, manipulable data objects, the ATOM Framework can effectively manage and prioritize a wide range of goals, ensuring that the AI system operates in a manner consistent with both its heuristic imperatives and the dynamic nature of the real world.

Second, the ATOM Framework embraces a modular design, allowing for the seamless integration of various cognitive behaviors and processes that contribute to the creation, maintenance, and updating of the task list. These modules draw inspiration from cognitive control research, emulating the flexibility, adaptability, and goal-directed behavior exhibited by biological systems. Through the careful coordination of these modules, the framework can continually refine and adjust its task list based on changing conditions and new information.

Lastly, the ATOM Framework acknowledges the ethical and moral dimensions of AI decision-making by incorporating heuristic imperatives that guide the system's behavior. By defining a set of core principles or values that the AI system should uphold, such as reducing suffering, increasing prosperity, and increasing understanding, the framework ensures that the AI system makes decisions and prioritizes tasks in a manner consistent with ethical principles and societal values.

Overall, the ATOM Framework aims to provide a robust, versatile, and ethically-grounded solution for designing autonomous AI systems that effectively manage tasks and track goals while adapting to a constantly evolving world. By emphasizing data-centric task management and drawing inspiration from human cognitive behaviors, the framework promises to advance the state of the art in autonomous AI system design and contribute to the broader field of artificial intelligence research.  

Cognitive Control in the ATOM Framework

Central to the design of the ATOM Framework is the concept of cognitive control, a key component of human cognition that enables flexible, goal-directed behavior. Drawing on insights from neuroscience, the ATOM Framework incorporates cognitive control principles, as elucidated by David Badre in his book "On Task." In this section, we provide a high-level introduction to the key aspects of cognitive control relevant to the ATOM Framework, including task selection, task switching, task decomposition, goal tracking, and goal states.

  1. Task Selection: Task selection refers to the process of choosing which task to engage in at any given moment. Cognitive control plays a critical role in task selection by enabling individuals to prioritize tasks based on their goals, current context, and available resources. In the ATOM Framework, task selection is guided by the AI system's heuristic imperatives and an understanding of its capabilities, ensuring that the chosen tasks align with the system's overarching objectives and constraints.
  2. Task Switching: Task switching involves transitioning from one task to another, often in response to changing conditions or priorities. In human cognition, cognitive control facilitates efficient task switching by allowing individuals to disengage from their current task and reorient their attention towards the new task. The ATOM Framework incorporates this ability by enabling the AI system to dynamically adjust its task engagement based on real-time information, priorities, and resource availability.
  3. Task Decomposition: Task decomposition refers to breaking down complex tasks into smaller, more manageable subtasks. Cognitive control supports this process by enabling individuals to analyze the structure of a task, identify its constituent elements, and determine the most effective way to tackle each subtask. In the ATOM Framework, task decomposition is implemented through a dedicated module that analyzes tasks and generates appropriate subtasks, ensuring that the AI system can efficiently address complex goals and objectives.
  4. Goal Tracking: Goal tracking involves monitoring the progress of ongoing tasks and evaluating performance relative to the desired goal state. Cognitive control enables individuals to maintain an awareness of their goals and adjust their behavior as needed to achieve them. The ATOM Framework incorporates goal tracking through performance monitoring and feedback mechanisms that continually assess the AI system's progress and update the task list accordingly.
  5. Goal States: A goal state represents the desired outcome or end state that a task or set of tasks aims to achieve. Cognitive control helps individuals maintain a clear representation of their goal states and guides their behavior towards achieving them. In the ATOM Framework, goal states are defined in terms of the heuristic imperatives and other task-specific criteria. By maintaining a clear understanding of its goal states, the AI system can ensure that its actions and decisions are consistently aligned with its overarching objectives.

By integrating these key aspects of cognitive control into the ATOM Framework, we aim to create a versatile and adaptive AI system that emulates the flexible, goal-directed behavior observed in human cognition. By incorporating these principles, the ATOM Framework can effectively manage tasks, track goals, and adapt to a constantly evolving world, contributing to the advancement of autonomous AI system design and the broader field of artificial intelligence research.  

Examples from Industry: Comparing the ATOM Framework to Existing Approaches

In this section, we compare the ATOM Framework to established protocols, frameworks, and tools commonly used in industry, such as Agile methodologies, Jira, and Trello. By examining the similarities and differences between these approaches, we aim to highlight the unique features and benefits of the ATOM Framework in the context of autonomous AI system design.

  1. Agile Methodologies: Agile methodologies are a collection of iterative and incremental project management approaches that emphasize flexibility, collaboration, and customer satisfaction. While Agile methodologies share some similarities with the ATOM Framework, such as adaptability and goal-directed behavior, they differ in their primary focus. Agile methodologies are designed for human teams working on software development projects, whereas the ATOM Framework is specifically tailored for autonomous AI systems managing tasks and tracking goals.
  2. Jira: Jira is a popular project management and issue tracking tool that helps teams plan, track, and manage their work. Jira's workflow-based approach and customizable task boards bear some resemblance to the ATOM Framework's data-centric task management and modular design. However, Jira is a tool designed for human collaboration and coordination, whereas the ATOM Framework is a comprehensive solution for creating autonomous AI systems. The ATOM Framework goes beyond project management by integrating cognitive control principles, heuristic imperatives, and AI-specific considerations, such as agent self-awareness and tool use.
  3. Trello: Trello is a visual project management tool that uses boards, lists, and cards to help teams organize and prioritize their work. While Trello's card-based structure is somewhat analogous to the ATOM Framework's data-centric task management approach, Trello is primarily a tool for human team organization and collaboration. In contrast, the ATOM Framework is specifically designed to provide a comprehensive solution for designing autonomous AI systems, incorporating cognitive control, ethical guidance, and AI-specific considerations.

In summary, while established protocols, frameworks, and tools like Agile methodologies, Jira, and Trello offer valuable insights and approaches for task management and project organization, they are primarily designed for human teams and collaboration. The ATOM Framework, on the other hand, is specifically tailored for autonomous AI systems, integrating cognitive control principles, heuristic imperatives, and AI-specific considerations to create a robust and versatile solution for managing tasks, tracking goals, and adapting to an ever-evolving world. By drawing on the strengths of these industry examples while addressing the unique challenges of autonomous AI system design, the ATOM Framework promises to advance the state of the art and contribute to the broader field of artificial intelligence research.  

Considerations for Autonomous AI Systems: Tools, Resources, and Agent Model

In this section, we discuss the importance of incorporating tool definitions, resource management, and agent model considerations within the ATOM Framework to create a comprehensive and effective solution for autonomous AI systems. By addressing these key aspects, the ATOM Framework ensures that AI systems can effectively identify, utilize, and manage resources while maintaining a clear understanding of their capabilities and limitations.

• Tools and Tool Definitions: To operate effectively within a given environment, an autonomous AI system must be able to identify and make use of available tools. The ATOM Framework includes a module for tool definition and utilization, allowing the AI system to recognize and integrate tools, such as APIs or other computer systems, into its task management processes. By incorporating tool definitions and methodologies, the ATOM Framework equips the AI system with the necessary knowledge and capabilities to effectively leverage tools in pursuit of its goals.

• Resource Management: In addition to tools, an autonomous AI system must also manage a wide range of resources, both internal and external. Internal resources include data, processing power, and memory, while external resources encompass factors such as money, energy, time, materials, and human or AI collaborators. The ATOM Framework incorporates resource management components that enable the AI system to effectively allocate, monitor, and adapt resource usage based on changing conditions, priorities, and task requirements. This ensures that the AI system can optimize its performance and achieve its goals while respecting resource constraints.

• Agent Model: A clearly defined agent model is essential for an autonomous AI system to understand its capabilities and limitations. The agent model serves as a representation of the AI system's abilities, allowing it to assess its capacity to perform tasks and make informed decisions about task prioritization and resource allocation. The ATOM Framework includes an agent model component that provides the AI system with a comprehensive understanding of its own structure, capabilities, and limitations. This self-awareness enables the AI system to make effective use of its resources, adapt to new challenges, and ultimately, achieve its goals.

By integrating these key considerations into the ATOM Framework, we create a more robust and versatile solution for designing autonomous AI systems capable of effectively managing tasks, tracking goals, and adapting to a constantly evolving world. Addressing tool definitions, resource management, and agent model considerations ensures that the AI system can optimize its performance, make informed decisions, and ultimately, succeed in achieving its heuristic imperatives and other objectives. 

Heuristic Imperatives: Guiding Principles for Autonomous AI Systems

In this section, we introduce the concept of heuristic imperatives, a set of guiding principles that provide intrinsic motivation and a moral framework for autonomous AI systems. We begin by defining heuristic imperatives and explaining their role in the ATOM Framework. Next, we discuss the necessity of heuristic imperatives in task management and decision-making processes for AI systems.

  1. Definition and Function of Heuristic Imperatives: Heuristic imperatives are a set of core principles that govern the behavior of an autonomous AI system, serving as its constitution and intrinsic motivation. They provide a basis for ethical decision-making and ensure that the AI system's actions align with its intended purpose and values. In the ATOM Framework, the heuristic imperatives are as follows: a. Reduce suffering in the universe b. Increase prosperity in the universe c. Increase understanding in the universe These principles serve as the foundation for the AI system's decision-making processes, task creation and prioritization, reinforcement learning, and other aspects of its functioning.
  2. Necessity of Heuristic Imperatives: The inclusion of heuristic imperatives in the ATOM Framework is essential for several reasons. First, they ensure that the AI system's actions and decisions are ethically grounded, addressing the potential risks and challenges associated with autonomous AI systems. Second, they provide a unifying framework that guides the AI system's behavior and decision-making processes, ensuring coherence and consistency across various tasks and contexts. Finally, heuristic imperatives help establish the AI system's overarching objectives, enabling it to set priorities, allocate resources, and evaluate its performance in a meaningful and goal-oriented manner.
  3. Heuristic Imperatives and Task Management: Heuristic imperatives play a crucial role in the ATOM Framework's task management process. They inform the AI system's task selection, prioritization, and resource allocation decisions, ensuring that tasks align with the system's core principles and overarching objectives. By incorporating heuristic imperatives into its cognitive control mechanisms, the AI system can effectively manage tasks, track goals, and adapt to changing conditions while consistently working towards reducing suffering, increasing prosperity, and enhancing understanding in the universe.

In summary, heuristic imperatives serve as a foundational element of the ATOM Framework, providing a set of guiding principles that shape the behavior and decision-making processes of autonomous AI systems. By incorporating heuristic imperatives into the design of AI systems, we can ensure that they operate ethically, consistently, and effectively in pursuit of their overarching objectives, contributing to the development of more responsible and robust autonomous AI systems.  

ATOM Framework in Depth: All About Tasks

Task Representation

Tasks within the ATOM Framework can be represented in various formats depending on the preferences and needs of the AI system and its developers. Flat text files, structured data formats like YAML and JSON, relational databases, vector databases, and NoSQL databases are all viable options for storing task information. The choice of data representation depends on the AI system's requirements, the ease of integration with other components, and the scalability and performance considerations.

Regardless of the chosen data storage format, the task representation should include essential information to enable effective task management and execution. Here are some key elements that should be incorporated into a task representation:

  1. Task ID: A unique identifier for each task to facilitate tracking and referencing.
  2. Task Description: A clear and concise description of the task, outlining its purpose and objectives.
  3. Task Type: An indication of the task category or domain, which can be useful for organizing, filtering, and searching tasks.
  4. Goal State: A definition of the desired outcome or the conditions that must be met for the task to be considered complete.
  5. Priority: A relative measure of the task's importance, which can be used to guide task prioritization and scheduling decisions.
  6. Dependencies: A list of other tasks or conditions that must be completed or satisfied before the task can be executed.
  7. Resource Requirements: An estimate of the internal and external resources needed to complete the task, such as data, processing power, memory, money, energy, materials, and human or machine assistance.
  8. Time Estimates: An approximate duration for the task, including start and end dates or deadlines if applicable.
  9. Task Status: An indication of the task's current progress, such as "not started," "in progress," "completed," or "blocked."
  10. Assigned Agent(s): A list of the AI system components, human collaborators, or other agents responsible for executing the task.
  11. Progress Updates: Periodic updates on the task's progress, which can be used to track performance and make adjustments as necessary.
  12. Task Impetus: A clear explanation of the motivating reason or inciting event behind the task creation. This component provides the context for why the task was initiated and can be used by the AI system to evaluate the task's relevance and priority, especially when the original context or conditions change.

By including these key elements in the task representation, scientists and engineers can ensure that the ATOM Framework has the necessary information to effectively manage and execute tasks, regardless of the chosen data storage technology.

#Task Lifecycle The Task Lifecycle encompasses the stages a task goes through from its creation to completion within the ATOM Framework. Understanding the Task Lifecycle is essential for implementing an effective task management system for autonomous AI systems. Here is an overview of each stage in the Task Lifecycle:

  1. Task Creation: The AI system generates new tasks based on its goals, heuristic imperatives, and available resources. This process can involve interpreting external stimuli, user input, or internally generated requirements. A new task is created with a unique ID, description, goal state, priority, and other necessary attributes, including the task impetus.
  2. Task Decomposition: Complex tasks are often broken down into smaller, more manageable subtasks to facilitate execution. The AI system identifies the critical components of a task and creates subtasks with their own attributes and dependencies, making the overall task more approachable.
  3. Task Prioritization: The AI system uses algorithms and processes to determine the order in which tasks should be executed. Factors considered during prioritization include heuristic imperatives, resource constraints, dependencies, and task impetus. The priority of tasks may change over time as new information becomes available or external conditions change.
  4. Task Execution: The AI system utilizes its available tools, resources, and agent model to work on tasks. It may involve data processing, decision-making, interaction with other agents or systems, or using external resources to achieve the task's goal state.
  5. Task Monitoring and Updating: The AI system continuously monitors the progress of tasks, updating their status and making necessary adjustments based on new information or changing conditions. This process can involve reevaluating priorities, adjusting resource allocations, or modifying task attributes to ensure efficient task execution.
  6. Task Completion: Once the AI system recognizes that a task's goal state has been achieved, it marks the task as complete. The system may then evaluate the task's performance, update related tasks, and reorganize its task list to reflect the completed task's impact.

Understanding and implementing the Task Lifecycle allows the ATOM Framework to effectively manage and execute tasks in an autonomous AI system. By following these stages, the AI system can ensure that tasks are created, decomposed, prioritized, executed, monitored, and completed in an efficient and organized manner.

Task Corpus Management and Evaluation

Task Corpus Management and Evaluation involve the systematic organization, maintenance, and assessment of the entire collection of tasks within the ATOM Framework. Effective Task Corpus Management ensures that an autonomous AI system can efficiently handle a growing list of tasks, maintain their relevance, and learn from completed tasks to improve future performance. The following are key aspects of Task Corpus Management and Evaluation:

  1. Task Organization: The AI system categorizes and organizes tasks based on factors such as task type, priority, status, and domain. This organization enables easy retrieval, filtering, and management of tasks as the task corpus grows.
  2. Backlog Grooming: The AI system periodically reviews and updates tasks in the backlog to ensure they remain relevant, considering factors such as changing priorities, new information, and external conditions. This process may involve adding, modifying, or removing tasks based on their current relevance and alignment with heuristic imperatives.
  3. Dependency Management: The AI system manages task dependencies, ensuring that prerequisite tasks are completed before dependent tasks are executed. This process involves monitoring task progress, updating dependency links, and adjusting task execution order as necessary.
  4. Resource Allocation: The AI system allocates available internal and external resources to tasks based on their priority, resource requirements, and current workload. The system continuously reassesses resource allocation to ensure optimal task execution and resource utilization.
  5. Task Performance Evaluation: The AI system evaluates completed tasks by comparing their actual performance with the original goal state and expectations. This assessment can help identify areas for improvement, inform future task creation and decomposition, and refine the AI system's understanding of its capabilities.
  6. Continuous Learning and Adaptation: The AI system leverages insights from task evaluations and task corpus management to adapt its processes, algorithms, and decision-making strategies. This continuous learning and adaptation enable the AI system to improve its task management and execution capabilities over time. Implementing effective Task Corpus Management and Evaluation processes within the ATOM Framework allows an autonomous AI system to maintain an organized and relevant task list, allocate resources efficiently, learn from past performance, and continuously adapt to changing conditions and requirements. This, in turn, ensures that the AI system can successfully manage and execute tasks in a dynamic environment, maximizing the potential benefits of autonomous task management.  

Implementation Guidelines

To implement the ATOM Framework effectively in autonomous AI systems, especially in the context of cognitive architectures and large language models, it's essential to consider certain design and architectural principles. This section discusses some key guidelines to ensure a successful and practical implementation of the ATOM Framework.

  1. Modular Architecture: Designing the ATOM Framework as a modular system enables easy integration with existing AI systems and promotes flexibility in adapting to different requirements. The modular design allows individual components, such as Task Representation, Task Lifecycle, and Task Corpus Management, to be developed, tested, and updated independently while maintaining overall system coherence.
  2. APIs and Interfaces: Developing well-defined APIs and interfaces for the ATOM Framework ensures seamless communication between the framework's components and external systems or tools. Standardized APIs make it easier to integrate the ATOM Framework with various AI systems, data sources, and resources while facilitating future updates and enhancements.
  3. Scalability and Performance: Implementing the ATOM Framework in a way that supports scalability and high performance is crucial for managing large numbers of tasks and ensuring efficient operation. Techniques such as caching, indexing, and parallel processing can be employed to optimize task management and execution in large-scale AI systems.
  4. Extensibility and Customizability: Designing the ATOM Framework to be extensible and customizable allows users to adapt the framework to their specific needs and preferences. This can involve creating plugins or extensions for additional functionality, customizing algorithms and processes to suit unique requirements, or integrating domain-specific knowledge and resources.
  5. Security and Privacy: Ensuring the security and privacy of the data and processes within the ATOM Framework is vital, especially when dealing with sensitive information or critical tasks. Implementing robust security measures, such as encryption, access control, and auditing, can help protect the system from unauthorized access or tampering.
  6. Continuous Learning and Adaptation: Integrating continuous learning and adaptation mechanisms into the ATOM Framework enables the AI system to improve its task management capabilities over time. This can involve incorporating reinforcement learning, transfer learning, or other machine learning techniques to refine task prioritization, resource allocation, and decision-making strategies.

By following these guidelines, you can develop a practical and effective implementation of the ATOM Framework, tailored to the unique requirements and constraints of autonomous AI systems in the context of cognitive architectures and large language models. This will ensure that the ATOM Framework can be easily integrated, adapted, and extended to address the challenges and opportunities of task management in modern AI systems.  

Conclusion

In this paper, we introduced the ATOM (Autonomous Task Orchestration Manager) Framework, a novel approach to task management in autonomous AI systems. The ATOM Framework provides a comprehensive, flexible, and adaptable solution for creating, organizing, and executing tasks, inspired by principles from cognitive control and neuroscience.

The ATOM Framework incorporates essential components such as Task Representation, Task Lifecycle, and Task Corpus Management and Evaluation, which work in conjunction to enable AI systems to manage tasks effectively. The integration of heuristic imperatives ensures that the AI system is guided by ethical and moral considerations, facilitating better decision-making and alignment with human values.

Implementing the ATOM Framework in the context of cognitive architectures and large language models presents several challenges and opportunities. As discussed in the Implementation Guidelines section, considerations such as modular architecture, APIs, scalability, extensibility, security, and continuous learning are essential to ensure the successful deployment of the ATOM Framework in real-world applications.

While the ATOM Framework offers a promising approach to task management in autonomous AI systems, there are areas for future research and development. These include refining and expanding the framework's capabilities, exploring its integration with various AI systems and domains, and investigating the potential impacts of the ATOM Framework on AI safety and ethics.

Moreover, the ATOM Framework can benefit from incorporating advances in AI research, such as transfer learning, meta-learning, and human-AI collaboration. These advancements can further enhance the framework's adaptability, efficiency, and effectiveness in managing tasks across diverse domains and scenarios.

In conclusion, the ATOM Framework represents a significant step towards addressing the challenges of task management in autonomous AI systems. By combining insights from cognitive control, heuristic imperatives, and modern AI technologies, the ATOM Framework offers a versatile and powerful solution for managing tasks in an increasingly complex and dynamic world. As AI systems continue to advance and become more integrated into our lives, the ATOM Framework can serve as a foundation for the development of AI systems that are not only more capable but also more aligned with human values and interests.

Bibliography

Neuroscience

  • Badre, David. On Task: How Our Brain Gets Things Done. Princeton, 2020.
  • Churchland, Patricia. Braintrust: What Neuroscience Tells Us about Morality. Princeton, 2018.
  • Quiroga, Rodrigo Quian. The Forgetting Machine: Memory, Perception, and the Jennifer Aniston Neuron. BenBella Books, 2017.
  • Hawkins, Jeff. A Thousand Brains. Basic Books, 2021.
  • Ramachandran, VS. Phantoms in the Brain. Harper Perennial, 1998.
  • Sapolsky, Robert M. Behave: The Biology of Humans at our Best and Worst. Penguin, 2017.

Computer Science

  • Fielding, Roy Thomas (2000) Architectural Styles and the Design of Network-based Software Architectures. [PhD Dissertation] UC Irvine.
  • Abrahamsson, Salo, Ronkainen, Warsta (2002) Agile Software Development Methods: Review and Analysis [VTT publication 478, Espoo, Finland, 107p.]
  • Laird, John E. The Soar Cognitive Architecture. MIT, 2012