ãã«ããšãŒãžã§ã³ãããŒã¿ãããŒããã°ã©ãã³ã°
Multi-agent dataflow programmming.
Concurrency ã解決ããããã®ãããããªãã©ãã€ã ã®ãªãã§, æ匷ã®ãã©ãã€ã ãããã ãšããŒã¿ãŒãã³ãã€ããã¯ãã.
ãªããªã, Deterministic Dataflow Programming ãããŒã¹ã«, NonDeterminism ã®å¶åŸ¡ãæ©èœè¿œå ãããã.
Deterministic Dataflow Programming ã«, Port ãšããæ瀺çç¶æ ããããã
Distributed System ãšããã.
CTMCP, Chapter 5
ãã«ããšãŒãžã§ã³ãããŒã¿ãããŒã®åºç€æŠå¿µ
Port
ããŒã. Named Steram.ååã®ã€ããããã¹ããªãŒã .
以äžã®æäœããã€, Abstruct Data Structure.
- Port Creation
- Message Sending
- Asyncronize
- Syncronize
Agents
éä¿¡ã¢ãã«ã¯å€§ãã 2 ã€ã«åãããã.
- Client-Server Architectures
- Pear-to-Pear Architectures
Client,Server,Pear ã Agent ãšãã.
以äžã®æ§æèŠçŽ ããã€.
- have identity ⊠mail address
- recieve messages ⊠mailbox
- process messeges ⊠orderd mailbox
- reply to messeges ⊠pre-addressed return letter
ãšãŒãžã§ã³ãã¯ç¬ç«å®äœã§, èªèº«ã®å±æçãªç®çãç®æããŠä»äºããã. çžäºäœçšãé©åã«èšèšãããŠããã°ãšãŒãžã§ã³ãã¯å€§å±çä»äºãéæãã.
CTMCP, Chapter 5 ãã.
Agent ããã¡ããããã°ã©ãã³ã°ã, Object-Oriented Programming ãšå¯Ÿæ¯ãããŠ, Agent-Oriented Programming ãšããããšããã.
ãã ã, Agent ã¯å¿ ããã Object ã§ãªããŠããã. 2 ã€ã®ãã¡ã®ã©ã¡ãã.
- Object
- Transition state-functions
Coordinator
Agent ã®ãªãã§ã»ãã® Agent ããŸãšãã Agent ã Coordinator ãšãã. 以äžã®æ§è³ªããã€.
- 代çæ§ ã»ã»ã»ä»ã® Agent ã®ä»£çãããŠåŠçããããªã. åŠçã®çµæã Agent ã«éç¥.
- ç¥æ§ ã»ã»ã» ä»ã® Agent ããæ å ±ããã€ãã代衚ããŠå€æãäžã.
- 移åæ§ ã»ã»ã»ä»ã® Agent ã代衚ããŠå€æãäžã.
Master (Coordinator)-Slave Archtecture.
Stateless Agent
ããã¡ãã»ãŒãžãåä¿¡ãããšãã«, ãã®ã¡ãã»ãŒãžã«å¿ããŠã¢ã¯ã·ã§ã³ããšã Agents. ã¢ã¯ã·ã§ã³ã¯åä¿¡ã¡ãã»ãŒãžã«äŸåãã.
Agent ã¯ã²ãšã€ã®ã¹ã¬ãããšè€æ°ã®ããŒãããã€. ããŒãã¯æ瀺çå€æ° (Cell) ãšå矩.
ãã® Port 以å€ã¯ Immutable ãªããŒã¿æ§é . Port ã®ã¿ãã¡ã¢ãªäžã«ç¢ºä¿ããã.
State with Agent
ããŒãã®ä»ã« State (æ瀺çç¶æ ) ããã€ããšããã.
åŠçã®å®è¡èªäœã¯ Stream ããŒã¿æ§é ã«å ¥ã£ã function ã®ããã·ãŒãžã£ããšã«å®æœãã(Immutable and incremental) ã, State ã«ãã£ãŠ Reply ã®æ¹æ³ãå€ãã.
Protocol
Message ã®éä¿¡ãšåä¿¡ã®ã«ãŒã«.
- éä¿¡ãããã³ã« - Wikipedia
ãããã³ã«ã«ããããããšã§, ãããããã¯ãé²ã.
BroadCast
ä»ã®è€æ°ã®ãšãŒãžã§ã³ã (Multi-Agent) ã«éä¿¡ãéã.
Contract Net
å¥çŽããããããã³ã«.
Ozma
Multi-agent dataflow programmming ãå®çŸããããã®èšèª. Scala ãš Oz ãåäœããã.
ããŒã¿ãŒãã³ãã€ããçŽã ã®èª¬æåç»ã¯ä»¥äžã§èŠãã.
github repository. sjrd/ozma
Active Objects Programming(Object-Based Agent)
ãªããžã§ã¯ãæåã«ããããªããžã§ã¯ãã, èªãå€æãåŠçã§ããæ©èœãæã£ããšãŒãžã§ã³ããšåŒã°ããã¢ãžã¥ãŒã«ã«çœ®ãæãããã®.
Object-Oriented Programming ãš Multi-Agent Programming ã® 2 ã€ã®ãã©ãã€ã ãåäœãããŠã§ãããã©ãã€ã .
ãªããžã§ã¯ãã®å±æ§ã§ã¯ãªããŠæ¯ãèããéèŠèŠããã.
English ã® Wikipedia ã« OOP ãš AOP ã®å¯Ÿå¿æ¯èŒè¡šããã.