# akashragrawal/kaboom architecture

> Architecture diagram of the GitHub repository akashragrawal/kaboom, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/akashragrawal/kaboom
- Repository: https://github.com/akashragrawal/kaboom

## Overview

KABOOM is a Python agent-based model for studying how engineers’ KAI cognitive styles and solution-sharing affect team performance on design problems. The principal workflow configures a simulation, forms agents and subteams, lets agents explore and collaborate, evaluates candidate designs, and reports team performance and interaction counts. README-documented branches include abstract, car, and beam design, parallel runs, and IDETC studies; the tree also contains design-science studies. Source excerpts are partial, so uncertain internal wiring is omitted.

Main entry points: [`kaboom/kaboom.py`](https://github.com/akashragrawal/kaboom/blob/master/kaboom/kaboom.py) (Simulation runner), [`kaboom/agent.py`](https://github.com/akashragrawal/kaboom/blob/master/kaboom/agent.py) (Search agent), [`kaboom/team.py`](https://github.com/akashragrawal/kaboom/blob/master/kaboom/team.py) (Team coordination), [`kaboom/carMakers.py`](https://github.com/akashragrawal/kaboom/blob/master/kaboom/carMakers.py) (Car problem runner)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_simulation["Simulation Core"]
  node_params["Model parameters<br/>[params.py]"]
  node_runner["Simulation runner<br/>[kaboom.py]"]
  node_team["Team coordination<br/>[team.py]"]
  node_solution["Solution history<br/>[solution.py]"]
  node_model["Model functions<br/>[modelFunctions.py]"]
end

subgraph group_cognition["Agent Cognition"]
  node_agent["Search agent<br/>[agent.py]"]
  node_kai["KAI style model<br/>[kaiStyle.py]"]
end

subgraph group_problems["Design Problems"]
  node_car_runner["Car problem runner<br/>[carMakers.py]"]
  node_car_agent["Car designer<br/>[CarDesigner.py]"]
  node_car_objective["Car objectives<br/>[carObjective.py]"]
  node_car_data["SAE design data<br/>[paramDBreduced.csv]"]
  node_beam_runner["Beam problem runner"]
  node_beam_designer["Beam designer<br/>[BeamDesigner.py]"]
end

subgraph group_research["Research Studies"]
  node_idet_studies["IDETC experiments"]
  node_design_studies["Design-science studies"]
  node_car_experiments["Car experiments"]
end

node_user(("Library user"))

node_user -->|"configures"| node_params
node_user -->|"starts"| node_runner
node_user -->|"starts"| node_car_runner
node_user -->|"starts"| node_beam_runner
node_params -->|"configures"| node_runner
node_runner -->|"creates and runs"| node_team
node_team -->|"steps and coordinates"| node_agent
node_agent -->|"uses style"| node_kai
node_agent -->|"records solutions"| node_solution
node_agent -->|"evaluates abstract problem"| node_model
node_team -->|"reads best solutions"| node_solution
node_car_runner -->|"runs car simulation"| node_car_agent
node_car_agent -->|"evaluates design"| node_car_objective
node_car_objective -->|"uses design parameters"| node_car_data
node_beam_runner -->|"runs beam simulation"| node_beam_designer
node_idet_studies -->|"runs documented studies"| node_runner
node_design_studies -->|"runs study simulations"| node_runner
node_car_experiments -->|"runs car experiments"| node_car_runner

click node_params "https://github.com/akashragrawal/kaboom/blob/master/kaboom/params.py"
click node_runner "https://github.com/akashragrawal/kaboom/blob/master/kaboom/kaboom.py"
click node_team "https://github.com/akashragrawal/kaboom/blob/master/kaboom/team.py"
click node_solution "https://github.com/akashragrawal/kaboom/blob/master/kaboom/solution.py"
click node_model "https://github.com/akashragrawal/kaboom/blob/master/kaboom/modelFunctions.py"
click node_agent "https://github.com/akashragrawal/kaboom/blob/master/kaboom/agent.py"
click node_kai "https://github.com/akashragrawal/kaboom/blob/master/kaboom/kaiStyle.py"
click node_car_runner "https://github.com/akashragrawal/kaboom/blob/master/kaboom/carMakers.py"
click node_car_agent "https://github.com/akashragrawal/kaboom/blob/master/kaboom/CarDesigner.py"
click node_car_objective "https://github.com/akashragrawal/kaboom/blob/master/kaboom/carObjective.py"
click node_car_data "https://github.com/akashragrawal/kaboom/blob/master/kaboom/SAE/paramDBreduced.csv"
click node_beam_runner "https://github.com/akashragrawal/kaboom/blob/master/kaboom/runBeamDesigners.py"
click node_beam_designer "https://github.com/akashragrawal/kaboom/blob/master/kaboom/BeamDesigner.py"
click node_idet_studies "https://github.com/akashragrawal/kaboom/tree/master/kaboom/IDETC_studies"
click node_design_studies "https://github.com/akashragrawal/kaboom/tree/master/kaboom/designScienceStudies"
click node_car_experiments "https://github.com/akashragrawal/kaboom/tree/master/kaboom/carTests"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_params,node_runner,node_team,node_solution,node_model,node_user toneBlue
class node_agent,node_kai toneAmber
class node_car_runner,node_car_agent,node_car_objective,node_car_data,node_beam_runner,node_beam_designer toneMint
class node_idet_studies,node_design_studies,node_car_experiments toneRose
```

## Components

### Simulation Core

- [Model parameters](https://github.com/akashragrawal/kaboom/blob/master/kaboom/params.py): `kaboom/params.py`
- [Simulation runner](https://github.com/akashragrawal/kaboom/blob/master/kaboom/kaboom.py): `kaboom/kaboom.py`
- [Team coordination](https://github.com/akashragrawal/kaboom/blob/master/kaboom/team.py): `kaboom/team.py`
- [Solution history](https://github.com/akashragrawal/kaboom/blob/master/kaboom/solution.py): `kaboom/solution.py`
- [Model functions](https://github.com/akashragrawal/kaboom/blob/master/kaboom/modelFunctions.py): `kaboom/modelFunctions.py`

### Agent Cognition

- [Search agent](https://github.com/akashragrawal/kaboom/blob/master/kaboom/agent.py): `kaboom/agent.py`
- [KAI style model](https://github.com/akashragrawal/kaboom/blob/master/kaboom/kaiStyle.py): `kaboom/kaiStyle.py`

### Design Problems

- [Car problem runner](https://github.com/akashragrawal/kaboom/blob/master/kaboom/carMakers.py): `kaboom/carMakers.py`
- [Car designer](https://github.com/akashragrawal/kaboom/blob/master/kaboom/CarDesigner.py): `kaboom/CarDesigner.py`
- [Car objectives](https://github.com/akashragrawal/kaboom/blob/master/kaboom/carObjective.py): `kaboom/carObjective.py`
- [SAE design data](https://github.com/akashragrawal/kaboom/blob/master/kaboom/SAE/paramDBreduced.csv): `kaboom/SAE/paramDBreduced.csv`
- [Beam problem runner](https://github.com/akashragrawal/kaboom/blob/master/kaboom/runBeamDesigners.py): `kaboom/runBeamDesigners.py`
- [Beam designer](https://github.com/akashragrawal/kaboom/blob/master/kaboom/BeamDesigner.py): `kaboom/BeamDesigner.py`

### Research Studies

- [IDETC experiments](https://github.com/akashragrawal/kaboom/tree/master/kaboom/IDETC_studies): `kaboom/IDETC_studies`
- [Design-science studies](https://github.com/akashragrawal/kaboom/tree/master/kaboom/designScienceStudies): `kaboom/designScienceStudies`
- [Car experiments](https://github.com/akashragrawal/kaboom/tree/master/kaboom/carTests): `kaboom/carTests`

### Other components

- **Library user**

## Connections

- Library user → Model parameters: configures
- Library user → Simulation runner: starts
- Library user → Car problem runner: starts
- Library user → Beam problem runner: starts
- Model parameters → Simulation runner: configures
- Simulation runner → Team coordination: creates and runs
- Team coordination → Search agent: steps and coordinates
- Search agent → KAI style model: uses style
- Search agent → Solution history: records solutions
- Search agent → Model functions: evaluates abstract problem
- Team coordination → Solution history: reads best solutions
- Car problem runner → Car designer: runs car simulation
- Car designer → Car objectives: evaluates design
- Car objectives → SAE design data: uses design parameters
- Beam problem runner → Beam designer: runs beam simulation
- IDETC experiments → Simulation runner: runs documented studies
- Design-science studies → Simulation runner: runs study simulations
- Car experiments → Car problem runner: runs car experiments
