ð€Sotware Agentsã®å調ã«ããã·ã¹ãã .
ð¥ãšãŒãžã§ã³ãæåããã°ã©ãã³ã°(AOP)
Agent-Oriented Programming. Multi-Agent Programming. ããã°ã©ãã³ã°ãã©ãã€ã .
ç¹åŸŽ
- èªåŸæ§ - ãšãŒãžã§ã³ãã¯å€éšããã®çŽæ¥å¶åŸ¡ãªãã«èªåèªèº«ã®è¡åãæ±ºå®ã§ããŸã
- ç€ŸäŒæ§ - ãšãŒãžã§ã³ãå士ãçžäºäœçšããå調ã»äº€æžã»ç«¶äºãªã©ãè¡ããŸã
- åå¿æ§ - ç°å¢ã®å€åã«å¯ŸããŠé©åã«åå¿ããèœåãæã¡ãŸã
- èœåæ§ - ç®æšéæã®ããã«èªçºçã«è¡åãèµ·ãããŸã
- BDI - ãšãŒãžã§ã³ãã®ãã€ç¥è.
BDI
BDIïŒBelief-Desire-IntentionïŒã¢ãã«.
- å²åŠè Bratmanãæå±(1987)
- 人éã®ç®çéæã«åããŠã®è¡çºéžæã®èª¬æ. æå³ã®çè«.
å€ãã®ãšãŒãžã§ã³ãã·ã¹ãã ã§ã¯ã信念ïŒç°å¢ã«é¢ããç¥èïŒã欲æ±ïŒéæãããç®æšïŒãæå³ïŒå®è¡ããèšç»ïŒãšããæŠå¿µãçšããããŸã.
- 信念(belief)
- 顿(desire)
- æå³(intention)
Active Objects Programming(Object-Based Agent)
ãªããžã§ã¯ãæåã«ããããªããžã§ã¯ãã, èªã倿ãåŠçã§ããæ©èœãæã£ããšãŒãžã§ã³ããšåŒã°ããã¢ãžã¥ãŒã«ã«çœ®ãæãããã®.
Object-Oriented Programming ãš Multi-Agent Programming ã® 2 ã€ã®ãã©ãã€ã ãåäœãããŠã§ãããã©ãã€ã .
ãªããžã§ã¯ãã®å±æ§ã§ã¯ãªããŠæ¯ãèããéèŠèŠããã.
English ã® Wikipedia ã« OOP ãš AOP ã®å¯Ÿå¿æ¯èŒè¡šããã.
ð¥ãã«ããšãŒãžã§ã³ãããŒã¿ãããŒããã°ã©ãã³ã°
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