|
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. |
0 commit comments