|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
* z- l0 e" h5 |* d; f9 m8 s0 q2 b3 B5 X
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21+ k" _7 V, D0 _
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.' h% k u$ O, n l3 e. d1 U) @
swarm.SignatureNotFoundException
6 m6 \4 b- O& D, F2 ` at swarm.Selector.<init>(Selector.java:76)! G- o: i- e# j+ `( @
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
' w$ J8 p6 ~# h$ l at ActionGroupDemo.main(ActionGroupDemo.java:67)/ g$ y7 W) X4 M3 k" g. F- K
]# S" R" B. K) @, _# T* d9 p g- F! j% a( T1 y
import swarm.objectbase.SwarmImpl;" ]2 r1 B; ~- N* h1 v8 T+ k
import swarm.objectbase.Swarm;% [4 V9 @2 L" z0 i- u+ y2 k' p) o
import swarm.activity.ScheduleImpl;5 Q2 L0 x/ S& q" S
import swarm.activity.Activity;
) j. U$ l% W; ]0 Dimport swarm.activity.ActionGroupImpl;, R/ p. @" s2 X5 o0 R
import swarm.collections.ListImpl;# C9 c: o+ I, T6 @
import swarm.defobj.Zone; 9 {1 p' A/ [) s5 S8 ], }
import swarm.Globals;. I; a1 }8 U+ s) a. F9 E9 ^$ }
import swarm.Selector;1 G' ^; I6 _* I I9 h) M: c9 D' @
import swarm.activity.ActionGroup; . W) V3 I/ p' u, ~, z
class Agent {4 E7 ~- s2 l) `- _) r7 k' o
char id;2 t, S+ w# O9 U0 c) _; N$ g4 y8 @' A% a
8 Q4 J3 k; s7 a- K- G9 Z% m2 Y& a Agent(char id) {
. ~- Z2 ~* R2 F3 G this.id = id;7 ^0 N J+ Q4 m
}
6 \0 N# R3 k! x- X) c! Z" ?$ s( J6 `
! s( u! p- i2 x: G. {, [* H public void agentStep() {( J$ Y! p0 f: _4 C# e) B- E. N
System.out.println(id + ":" + Globals.env.getCurrentTime());. g4 u- ^" z, I+ v
}/ ?' {) O- q) H8 w) o5 p
}" q- D. e- Y" ]4 }
" n" F, Y7 s ]& p8 t6 Mpublic class ActionGroupDemo extends SwarmImpl {
8 R+ h. D) _/ C ScheduleImpl schedule;
) p: k0 @/ g! J4 P ActionGroupImpl actionGroup;
. S; g! z+ i$ E( M ListImpl list;
! L( c1 h3 @1 q P- v char Id = 'a';9 P/ \+ G$ q' K3 D% C3 p$ G& v( k
& R! Z& Q8 M$ ?8 c
ActionGroupDemo(Zone aZone) {8 f4 }6 N+ U0 Q3 l
super(aZone);
$ x% x. t3 C4 q list = new ListImpl(aZone);0 Y/ y( i. D* U, \' b0 o3 A( \
swarmSetp();
h+ Q4 G* w8 B1 Y. D A actionGroup = new ActionGroupImpl(aZone);+ N7 n* {( o) X' ^" P# K) m( M
schedule = new ScheduleImpl(aZone); E6 H w; h" v$ i3 E' r
try {
- N/ R, `+ w4 P; c5 q Selector agentSel = new Selector(Agent.class, "agentStep", false);
% E* A9 m' T# D1 s. J7 A Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行3 F8 ?. S) X5 F7 y2 r5 X# e: I
) @ Q$ `6 z# S
actionGroup.createActionForEach$message(list, agentSel);+ k, B) \. d& `; y
actionGroup.createActionTo$message(this, swarmSel);
- t+ m6 u, V; m0 o/ Y schedule.at$createAction(0, actionGroup);
. r* O4 O6 Q; A9 y) b schedule.at$createAction(1, actionGroup);0 _) d6 Q" o) {9 e) v& I
schedule.at$createAction(2, actionGroup);
0 r$ `$ B+ J5 j
, F( N! P, A1 @ } catch (Exception e) {
! @* {/ J- Q9 K; l e.printStackTrace(System.err);
3 V5 }" k) l# W //System.out.println(e);* [+ K+ ^2 h& Z) j5 q7 f* L! g- l% h5 V
System.exit(1);
8 y5 Y u- B2 ]/ C+ W. a }* _6 N& a0 v5 A5 _2 d1 u
0 S+ k3 x( P# {" _; J0 f$ h9 V0 X0 t x, G) s
}2 e2 u$ r' f8 ~+ Y2 S$ G9 i( `
# ]9 V' o" [6 y A* x+ z( m- s- @
private void swarmSetp() {
! f8 H$ j, W! o% q. x4 S6 Z list.addLast(new Agent(Id));
5 a0 ~) t, Q( n/ w6 T' l9 d Id++;* Q% X, X$ _2 r9 k% t4 Q, U3 a
}8 d$ r3 p( o- S4 W
1 v% \3 C5 z7 i V7 T6 @ public Activity activateIn(Swarm context) {
- V! `0 D8 R* f! C$ S( P% E" i super.activateIn(context);
0 E# q* ^1 R4 p( I schedule.activateIn(this);% f: V+ y& n4 h+ m
return getActivity();
" w' ]3 [& a' I+ A" }3 u }
% D9 w* A3 k s3 f: @! K. P
1 |+ a, k/ h6 [- x' p public static void main(String[] args) {
* }0 G/ j0 O8 \ Z9 O7 l Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);8 A9 M+ f1 `2 X2 n# k
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);# D2 t) x! E$ \8 P5 v1 T
swarms.buildObjects();
2 ]+ ^- D, d% X# E+ r6 w swarms.buildActions();( A! x7 Q* ]( X3 A
swarms.activateIn(null).run();! v8 D% \- E+ c8 j' r& m# @4 J
}8 @& v6 F6 z% s
% d* J0 S% r* X3 f- n. I} |
|