# BEH-WTA.md ## BEH-WTA: Container **Winner Take All**: Questo e' il nuovo tipo di espansione che permette di specificare un "circuito" di possibilita'. A differenza di BD che espande PRE implicitamente e trattando PRE tutti allo stesso modo. L'espansione: - dichiara NEU-x i neuroni - dichiara AST-x gli astrociti - collega un NEU-x con un altro NEU-y e con un AST-x - specifica che tipologia: excitation o inhibition - 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. - posso pensare di produrre il circuito in ambiente visuale tipo DrawIO, e avere un parser che me lo trasforma in questa sintassi. --- **When parser sees**: - boundary-inh-001: NEU-003, OUT-001, @ Template lookup: - boundary-inh-001: BEH-INC, {SRC}.BEH-AXO -[inhibits]-> {TGT}.BEH-SOMA ~{AST} Substitution: - 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 Result: - NEU-003.BEH-AXO -[inhibits]-> OUT-001.BEH-SOMA ~@ behaviour: BEH-INC from BEH-INC.md ```Gen container: BEH-WTA include: - BEH-EXT.md - BEH-INH.md - BEH-INC.md - BEH-OUT.md components: templates: internal-exh-001: BEH-EXT, {SRC}.BEH-AXO -[excites]-> {TGT}.BEH-BD({x}) ~{AST} internal-inh-001: BEH-INH, {SRC}.BEH-AXO -[inhibits]-> {TGT}.BEH-SOMA ~{AST} boundary-exh-001: BEH-EXT, {SRC}.BEH-AXO -[excites]-> {TGT}.BEH-BD({x}) ~{AST} boundary-inh-001: BEH-INC, {SRC}.BEH-AXO -[inhibits]-> {TGT}.BEH-SOMA ~{AST} 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 expansion: # AREA-001 - internal-exh-001: NEU-001, NEU-003.(1), AST-001 - internal-inh-001: NEU-002, NEU-003, AST-002 # AREA-002 - internal-exh-001: NEU-003, NEU-003.(3), AST-001 - internal-exh-001: NEU-004, NEU-002.(1), AST-002 # AREA-003 - boundary-exh-001: INC-001, NEU-001.(1), @ - boundary-inh-001: NEU-003, OUT-001, @ ```