|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
; g2 j0 u' O- r6 S2 M2 S) P' M `- r: w2 H" v5 W3 o
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
, L" N! l( j4 Y3 m以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.4 M, V/ i! G+ v( d$ J7 r7 o
swarm.SignatureNotFoundException
( o7 \1 X, P" N, a7 j5 R at swarm.Selector.<init>(Selector.java:76)
+ u7 q8 ~* q* y/ ~ e |8 { at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
A5 j" U% p7 k: Q2 W' ? at ActionGroupDemo.main(ActionGroupDemo.java:67)* {5 F2 e& z# t
* [. O! {# v* Z, t; T( V
X4 c& x4 `" n- l' S- w3 `! A
import swarm.objectbase.SwarmImpl;' S* }0 J% F* o+ P; f
import swarm.objectbase.Swarm;+ }+ a6 y9 M, _
import swarm.activity.ScheduleImpl;! x2 f* R8 x2 G4 G0 Y
import swarm.activity.Activity;6 @' i8 \2 n7 ^+ k4 f' X2 _
import swarm.activity.ActionGroupImpl; s2 f7 d ^) B1 r% W O
import swarm.collections.ListImpl;+ W+ `# z9 r/ T( {* p
import swarm.defobj.Zone;
+ ~9 P: F0 O5 m: e g7 aimport swarm.Globals;
3 B+ w0 _3 d& H& F. _import swarm.Selector;! ?* w6 H9 a0 [" b- M3 U3 E6 j1 q
import swarm.activity.ActionGroup;
3 ^" q! E& I- U6 ~# g* ]class Agent {3 G3 f; b+ J' v) f+ h7 e
char id;2 ~) D* y, T" c6 G& Y
) W. k" W3 e5 i5 q$ S7 X+ v Agent(char id) {/ L, N$ {! O# A4 B
this.id = id;
1 q; y# m; C! i' y; S }7 ]% ]! X: @1 @" d2 H, \0 d5 q
# |/ {0 s/ K2 \ public void agentStep() {
2 S( D( j. C% ~; x( y3 }$ }$ u/ u System.out.println(id + ":" + Globals.env.getCurrentTime());
1 P) }; I, F4 ^$ S }
1 R& _! a' d: k7 O; Y}) j3 ]2 h3 r1 R9 l" C
$ v! G" a; l' G3 A' g) w9 ?6 ]5 @& `- y/ Ppublic class ActionGroupDemo extends SwarmImpl {
) T8 [7 t+ j i* {3 A& R% Z ScheduleImpl schedule;
& V! z) u7 P2 k+ v3 r ActionGroupImpl actionGroup;
0 I1 X( F$ A4 Q/ J ListImpl list;6 E# |) X4 V7 C' M' Y% @) g
char Id = 'a';+ @# V' d# J* p7 H C: Y9 E
: [- \( s. t0 p: I" [6 ` ActionGroupDemo(Zone aZone) {
) @5 E" z3 c! a# o7 k- G8 I super(aZone);
' h$ f% u/ d- l+ M6 w list = new ListImpl(aZone);
7 _( X# u1 F( |5 q swarmSetp();8 A5 G; v" G! H$ W' E
actionGroup = new ActionGroupImpl(aZone);; c, h0 A/ a* S
schedule = new ScheduleImpl(aZone);. @; H5 X' \" R1 c7 ~ n9 } _& b
try {
5 u% c, O; P3 |2 r& \3 ]* d3 O5 P Selector agentSel = new Selector(Agent.class, "agentStep", false);
8 J' N3 l8 d" ]) R* B1 Z Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行, Y" R9 A( u# W1 V$ r# }
! P& j3 X' `* f
actionGroup.createActionForEach$message(list, agentSel);6 y4 P" K: q- `6 i0 P2 ?
actionGroup.createActionTo$message(this, swarmSel);
# @9 Y( ?. v% k6 }* z7 u t% X schedule.at$createAction(0, actionGroup);
; U3 X3 {4 }" x. R schedule.at$createAction(1, actionGroup);
# y8 ?( w1 K8 u schedule.at$createAction(2, actionGroup);
4 N/ B) d0 ?1 K W1 j) I S0 y% v+ ^% Y1 D* r5 L% S. g
} catch (Exception e) {
6 K' c* N# W7 b6 A- G e.printStackTrace(System.err);4 d* K1 c. K% N4 B+ n$ x
//System.out.println(e);
& T& O7 E/ g8 b3 S System.exit(1);
, i; }7 Y7 w0 G }- t; q: _/ Z/ C. G
0 z7 V+ U6 U1 I2 X
( O- K8 n( F" B }/ w; H: C' F) O5 c& c F1 p! _
1 F5 h' [9 K! ]" l' x" v. _6 s
private void swarmSetp() {
$ }; e1 E" {7 B) ? list.addLast(new Agent(Id));1 A: S" o" l1 X) R
Id++;' M9 f( f- h) i4 w* n
}8 s+ Z4 D, a. P" f4 _
* V9 l. \2 D* i' c& H% n- r+ e public Activity activateIn(Swarm context) {
& @8 |$ h r+ K0 c0 i4 m! P5 ? super.activateIn(context);, F: D7 w+ r) s; L/ M
schedule.activateIn(this);
/ x/ N$ X7 z+ G f return getActivity();1 N- }% h! d2 S( \
}
1 B* E; b* t3 _0 _4 K% _+ X# h- b! J# x
public static void main(String[] args) {
3 N$ a$ ?& z' Z. H: Z9 N/ r+ d" J4 V Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
6 {6 [4 h9 Z$ v Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);8 ?6 ^! w1 B o/ T
swarms.buildObjects();! l1 m+ ` P' _1 g4 s
swarms.buildActions();& s( |- ^% s _" o8 g0 n) c
swarms.activateIn(null).run();
+ f T6 b' T; e% j }
+ D( Z2 z( p6 V, h2 M
1 ]% j. P) ~1 [5 F6 g} |
|