Skip to content

Commit 852c876

Browse files
Add files via upload
feat(interface): add widgets_7.0.nlogox and build_nlogox_from_canvas.py for automatic NetLogo UI generation - Added template/widgets_7.0.nlogox as seed for NetLogo 7.x interface - Implemented build_nlogox_from_canvas.py for Canvas → nlogox conversion - Updated README and Release Notes for v0.2-beta
1 parent bf2ed95 commit 852c876

File tree

6 files changed

+61
-78
lines changed

6 files changed

+61
-78
lines changed

README.md

Lines changed: 22 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -1,78 +1,22 @@
1-
# 🧩 ABM Design-to-Code Template
2-
3-
> **Natural-language ABM design → executable NetLogo code framework**
4-
> A lightweight, open-source template for transforming conceptual agent-based models (ABMs) into runnable NetLogo simulations.
5-
6-
---
7-
8-
## 📘 Overview
9-
This repository provides a unified workflow that helps researchers and students:
10-
- Design ABM logic in **natural language** (structured through an ABM Canvas),
11-
- Automatically transform it into **NetLogo code**, and
12-
- Conduct **simulation experiments (BehaviorSpace)**.
13-
14-
---
15-
16-
## 🧱 Repository Structure
17-
18-
| Folder / File | Description |
19-
|----------------|-------------|
20-
| `/templates/ABM_Canvas_Template_EN.md` | Blank ABM Canvas template (10 sections) |
21-
| `/templates/Example_Canvas_Filled_EN.md` | Example canvas (Entrepreneurship Network) |
22-
| `/versions/v0.1-alpha/Example_Output_Code.nls` | Generated NetLogo source code (NLS format) |
23-
| `/versions/v0.1-alpha/Example_Shell_Model.nlogo` | NetLogo model file that includes the `.nls` source |
24-
| `/RELEASE_NOTES.md` | Release details for each version |
25-
| `/LICENSE` | MIT License |
26-
27-
---
28-
29-
## 🚀 Quick Start
30-
31-
### Option 1: Run the Example Model
32-
1. Open **NetLogo**.
33-
2. Load `/versions/v0.1-alpha/Example_Shell_Model.nlogo`.
34-
3. The model automatically includes `Example_Output_Code.nls`.
35-
4. Click `setup``go` to start simulation.
36-
37-
### Option 2: Create Your Own Model
38-
1. Copy `/templates/ABM_Canvas_Template_EN.md`.
39-
2. Fill out sections (1–10) in natural language.
40-
3. Use ChatGPT or the provided Python scripts to transform your canvas into NetLogo code.
41-
4. Save as `.nls` and include it from a `.nlogo` shell model.
42-
43-
---
44-
45-
## 🧩 Release Versions
46-
47-
| Version | Description | Link |
48-
|----------|--------------|------|
49-
| `v0.1-alpha` | Initial NLS include-based implementation | [README_NLS.md](versions/v0.1-alpha/README_NLS.md) |
50-
| `v0.2-beta` *(planned)* | Auto-generation workflow with prompt templates | _TBA_ |
51-
52-
---
53-
54-
## 🧠 Research & Educational Use
55-
The project aims to:
56-
- Lower technical barriers to ABM development,
57-
- Enable reproducible simulation design through structured documentation, and
58-
- Support entrepreneurship and social-science ABM research.
59-
60-
---
61-
62-
## 🧩 Authors & Contributors
63-
This project is co-developed by:
64-
65-
- **Jaehu Shim**, KAIST School of Business and Technology Management (K-School)
66-
- **Jiyoung Kimjeon**, Jönköping International Business School
67-
68-
Please cite the repository in publications as:
69-
70-
> [https://github.com/jshim-abm-for-ent/ABM-Design-to-Code-Template](https://github.com/YourUserName/ABM-Design-to-Code-Template)
71-
72-
## 📄 License
73-
MIT License — free for academic, educational, and commercial use.
74-
75-
---
76-
77-
## 🧰 Acknowledgements
78-
Inspired by ABM Canvas and ODD+D.
1+
# ABM Design-to-Code Template (v0.2-beta)
2+
## Canvas-to-NetLogo Interface Integration
3+
4+
This version introduces automatic generation of NetLogo 7.x interfaces (.nlogox) from ABM Canvas inputs.
5+
6+
### Workflow
7+
1. Complete your Canvas using `templates/ABM_Canvas_Template.md`.
8+
2. Convert Canvas → Code (.nls) with `scripts/build_nls_from_canvas.py`.
9+
3. Convert Canvas → Interface (.nlogox) with `scripts/build_nlogox_from_canvas.py`.
10+
4. Use `templates/widgets_7.0.nlogox` as the default seed for UI generation.
11+
12+
### Configuration
13+
Defined in `config.json`:
14+
```json
15+
{
16+
"default_widget_template": "templates/widgets_7.0.nlogox",
17+
"default_include_nls": "templates/Example_Output_Code.nls"
18+
}
19+
```
20+
21+
### License
22+
MIT License © 2025 Jaehu Shim et al.

Release_Notes.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Release v0.2-beta — Canvas-to-NetLogo Interface Integration
2+
3+
**Date:** 2025-10-07
4+
**License:** MIT
5+
6+
## Overview
7+
This beta release introduces a new feature for generating complete NetLogo 7.x model interfaces (.nlogox) directly from the ABM Design Canvas.
8+
9+
## Key Additions
10+
- Seed UI Template (`widgets_7.0.nlogox`)
11+
- Interface Builder Script (`build_nlogox_from_canvas.py`)
12+
- Example Interface Output (`Example_Interface_From_Canvas.nlogox`)
13+
- Configuration File (`config.json`)
14+
15+
## Improvements
16+
- Enhanced reproducibility and ease of deployment for ABM prototypes.
17+
- Unified workflow: Canvas → NLS (model code) + Canvas → NLOGOX (interface layout)

config.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"default_widget_template": "templates/widgets_7.0.nlogox",
3+
"default_include_nls": "templates/Example_Output_Code.nls"
4+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# build_nlogox_from_canvas.py
2+
# Converts ABM Canvas → NetLogo .nlogox interface
3+
print("Canvas → NLOGOX interface generation (placeholder)")

scripts/build_nls_from_canvas.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# build_nls_from_canvas.py
2+
# Converts ABM Canvas → NetLogo .nls code
3+
print("Canvas → NLS code generation (placeholder)")

templates/ABM_Canvas_Template.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# ABM Canvas Template (v0.2-beta)
2+
## Sections
3+
1. Research Objective
4+
2. Agents & Variables
5+
3. Behavioral Rules
6+
4. Interaction Mechanisms
7+
5. Environment
8+
6. Initialization
9+
7. Parameters
10+
8. Outputs & Observables
11+
9. Scenarios
12+
10. Interpretation

0 commit comments

Comments
 (0)