Welcome

This documentation provides a comprehensive guide to the ASA Agent-Based Model v2, a high-performance simulation framework for studying Attraction-Selection-Attrition (ASA) dynamics in organizations.

0.1 Overview

The ASA ABM v2 is designed to simulate how organizations evolve over time through the interplay of:

  • Attraction: How individuals are drawn to organizations based on fit
  • Selection: How organizations choose new members
  • Attrition: How and why members leave organizations

0.2 Key Features

  • High Performance: Built on data.table for efficient large-scale simulations
  • Modular Architecture: Easy to extend and customize
  • Comprehensive Metrics: Track organizational dynamics over time
  • Flexible Parameters: Highly configurable simulation scenarios
  • Future-Ready: Designed for network and hierarchical extensions

0.3 Documentation Structure

This documentation is organized into the following sections:

  1. Getting Started: Installation and quick start guide
  2. Theoretical Background: Understanding the ASA framework
  3. Architecture Overview: System design and components with architecture decision log
  4. User Guide: Running simulations, configuring parameters, and deep metrics analysis
  5. ODD Protocol: Formal model specification following the ODD standard
  6. API Reference: Detailed function documentation
  7. Examples: Practical simulation scenarios and case studies
  8. Model Recipe Book: Ready-to-use configurations for common research questions
  9. Contributor’s Guide: Step-by-step walkthrough for developers and contributors
  10. Quick Reference: Concise parameter and function reference card

0.4 Quick Example

# Load the simulation engine
source("simulation/engine.R")

# Run a basic simulation
results <- run_asa_simulation(
  n_steps = 260,
  initial_size = 100,
  params = list(growth_rate = 0.02),
  verbose = TRUE
)

# Analyze results
summary(results$metrics)

0.5 Support and Contributing

  • Issues: Report bugs or request features on our GitHub repository
  • Contributing: We welcome contributions! See our contributing guide
  • Contact: Reach out to the development team

0.6 License

This project is licensed under the MIT License - see the LICENSE file for details.