Files
organism/winnertakeall/BHE-WTA.md
T

88 lines
2.7 KiB
Markdown
Raw Normal View History

2026-03-11 10:01:15 +01:00
# BEH-WTA.md
## BEH-WTA: Container
2026-03-13 11:09:09 +01:00
**Winner Take All**: Questo e' il nuovo tipo di espansione che permette di specificare un "circuito" di possibilita'.
2026-03-14 10:31:32 +01:00
A differenza di BD che espande PRE implicitamente e trattando PRE tutti allo stesso modo. Qui estendiao il concetto di espansion:
2026-03-14 10:31:32 +01:00
- espandiamo 2 tipi di container per ora: BEH-EXT e BEH-INH
2026-03-13 11:09:09 +01:00
- dichiara NEU-x i neuroni
- dichiara AST-x gli astrociti
- collega un NEU-x con un altro NEU-y e con un AST-x
2026-03-12 18:46:05 +01:00
- specifica che tipologia: excitation o inhibition
2026-03-13 11:09:09 +01:00
- se inhibition il TRG e'SOMA, se exhitation il TRG e' BDx
- specifica il BEH-EXH, ad esempio, che e' il comportamento di ciascuna riga espansiva. E serve a gestire l'accoppiamento atttuale fra NEU-x, NEU-y e AST-x.
specifica INC-x, OUT-x, @ che sono dei placeholders per neuroni e astrorcita che verranno specificati da un'espansione piu' in alto, tipo BEH-ORG.
- i template servono solo a semplificare l'espressione dell'espansione, senza appesantirla troppo.
2026-03-12 18:46:05 +01:00
- posso pensare di produrre il circuito in ambiente visuale tipo DrawIO, e avere un parser che me lo trasforma in questa sintassi.
2026-03-12 18:46:05 +01:00
---
2026-03-13 11:09:09 +01:00
**When parser sees**:
2026-03-12 18:58:10 +01:00
- boundary-inh-001: NEU-003, OUT-001, @
2026-03-12 18:46:05 +01:00
Template lookup:
2026-03-12 18:58:10 +01:00
- boundary-inh-001: BEH-INC, {SRC}.BEH-AXO -[inhibits]-> {TGT}.BEH-SOMA ~{AST}
2026-03-12 18:46:05 +01:00
Substitution:
2026-03-12 18:58:10 +01:00
- behaviour = BEH-INC # loaded from BEH-INC.md
- {SRC} = NEU-003 # presynaptic neuron
- {TGT} = OUT-001 # outgoing port
- {x} = not required # template targets SOMA, no {x}
- {AST} = @ # unknown, specified from above
2026-03-12 18:46:05 +01:00
Result:
2026-03-12 18:58:10 +01:00
- NEU-003.BEH-AXO -[inhibits]-> OUT-001.BEH-SOMA ~@
behaviour: BEH-INC from BEH-INC.md
```Gen
2026-03-12 18:46:05 +01:00
container: BEH-WTA
2026-03-12 18:46:05 +01:00
include:
- BEH-EXT.md
- BEH-INH.md
- BEH-INC.md
- BEH-OUT.md
2026-03-13 11:09:09 +01:00
components:
templates:
elements:
NEU-001: BEH.N from N.md
NEU-002: BEH.N from N.md
NEU-003: BEH.N from N.md
NEU-004: BEH.N from N.md
AST-001: AST from AST.md
AST-002: AST from AST.md
incoming_elements:
INC-001 # Neurone che sara' specificato piu' in "alto" perche' alla frontiera
INC-002
outgoing_elements:
OUT-001 # Neurone che sara' specificato piu' in "alto" perche' alla frontiera
OUT-002
2026-03-12 18:46:05 +01:00
expansion:
2026-03-14 10:31:32 +01:00
# stiamo espandendo: BEH-EXT e BEH-INH. Ciascuna riga e' un'espansione specifica e actual.
# INTERNAL-AREA-001
- NEU-001.BEH-AXO -[BEH-EXH]-> NEU-003.BEH-BD(1) ~AST-001
- NEU-002.BEH-AXO -[BEH-INH]-> NEU-003.BEH-SOMA ~AST-002
2026-03-12 18:46:05 +01:00
2026-03-14 10:31:32 +01:00
# INTERNAL-AREA-002
- NEU-003.BEH-AXO -[BEH-EXH]-> NEU-003.BEH-BD(3) ~AST-001
- NEU-004.BEH-AXO -[BEH-EXH]-> NEU-002.BEH-BD(1) ~AST-002
2026-03-12 18:46:05 +01:00
2026-03-14 10:31:32 +01:00
# INCOMING-001
- INC-001.BEH-AXO -[BEH-EXH]-> NEU-001.BEH-BD(1) ~@
2026-03-12 18:46:05 +01:00
2026-03-14 10:31:32 +01:00
# OUTGOING-001
- NEU-003.BEH-AXO -[BEH-INH]-> OUT-001.BEH-SOMA ~@
```