|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
1 P7 T1 [$ U/ _, g, q$ J
) _; W% ^/ t7 f- M( [% ]5 n0 Q本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
' x2 N8 D9 E1 W以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.- r! C/ N4 _$ D" ?0 Z6 T9 i
swarm.SignatureNotFoundException' t2 B: ]6 N$ {, r
at swarm.Selector.<init>(Selector.java:76)
. {- c! V7 t5 g" A at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
( f# n; t( T5 E at ActionGroupDemo.main(ActionGroupDemo.java:67)0 M8 J' j1 E' a
1 M6 R* [/ `) T" N( Y+ q
- W* l8 P( E: B, Z, b7 pimport swarm.objectbase.SwarmImpl;- i1 j D$ t$ Q9 W1 C5 S0 \
import swarm.objectbase.Swarm;: a4 h3 U1 O( Q% P
import swarm.activity.ScheduleImpl;
/ W* _( C( `2 i3 q6 `2 _% Qimport swarm.activity.Activity;' {. n; k& S) z
import swarm.activity.ActionGroupImpl;
O6 [2 ?% ?7 M. p4 `! Limport swarm.collections.ListImpl;. H; Z0 W% A* i) m4 E6 \
import swarm.defobj.Zone; $ F# P, P I. c- l/ d, q2 O! W
import swarm.Globals;
$ |! p/ v6 H5 W9 K8 R" E+ himport swarm.Selector;
+ K& S1 Q9 G, |- A( rimport swarm.activity.ActionGroup; % w+ U9 i* y/ y: w
class Agent {8 [7 k( a' m- z) h
char id;% I/ B9 Z9 K/ ^, ^* _9 O
M" Q. f& z& K6 z+ y
Agent(char id) {
0 l2 v, ]: I2 H) v8 L) I this.id = id;! c: {' X* }* `4 h( o: i
}
# W" {; J3 `. p3 z' b* ]9 R, i) f8 g+ G4 I* Y/ `! ?3 W
public void agentStep() {" s7 R4 ^0 u7 D# U+ _. s: Z
System.out.println(id + ":" + Globals.env.getCurrentTime());. d/ Q7 f$ o( {. }9 P. {) w& ~
}
+ _. F+ n5 Q+ D2 e& l9 F* ?}
6 g3 F! O @0 ^+ R/ a
" _! P) T; ~4 ]6 cpublic class ActionGroupDemo extends SwarmImpl {
9 a9 X0 `+ [+ \0 K ScheduleImpl schedule;
& p6 s: f. e6 j4 }! A9 b7 p ActionGroupImpl actionGroup;
/ s8 o3 N* o2 z& `2 W& ~ ListImpl list;
0 G: H6 n: K: X7 C; D5 d char Id = 'a';
2 |2 V4 g$ I" K6 P, \- V4 o: f: f& K) v7 D4 E
ActionGroupDemo(Zone aZone) {- P: ^$ y, O1 O% [3 N
super(aZone);
% E. Z/ C6 K, f list = new ListImpl(aZone);
9 Y- K7 H7 R! r, }: H/ a8 U+ s swarmSetp();
# V& c* y" y6 t, ?% J actionGroup = new ActionGroupImpl(aZone);: r" |$ v+ G( T% a2 @4 L5 T ?
schedule = new ScheduleImpl(aZone);
0 q9 ]& y% C5 B3 O J% C6 o4 W try {
% Z0 w8 k6 H9 B a. N* @ Selector agentSel = new Selector(Agent.class, "agentStep", false);& P. w$ k1 w$ r% C
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行5 D h$ s, n# _
, l3 m3 K. o3 j8 s actionGroup.createActionForEach$message(list, agentSel);
0 {! A' j: M) Q; `; H actionGroup.createActionTo$message(this, swarmSel);
* ~8 {" G- b" h7 t/ {$ U p2 n schedule.at$createAction(0, actionGroup);
; x- _3 L. W T7 T% P schedule.at$createAction(1, actionGroup);1 A7 n: u$ v& O
schedule.at$createAction(2, actionGroup);9 N* G0 f) |) r: V
1 T5 Q) j- o1 V
} catch (Exception e) {
6 R/ M$ ?) C* G' q; N e.printStackTrace(System.err);
/ l; L, @' q5 _) y$ i \ //System.out.println(e);
6 S& B, E3 S! @ System.exit(1);- }6 `* L" r, \
}
7 G! G% j) w+ \; Z
: O# y/ e, Z _3 j; n" K" [/ f( \9 E3 V+ ]# |. D! L {# g
}) k$ b# y6 v G& x" {* {
, U! ]4 f$ f! U2 ^
private void swarmSetp() {% N8 I$ q2 G3 W7 T% j! |* z# C4 w8 ? z
list.addLast(new Agent(Id));
" X& V ?4 L/ K/ Y: ?. k, N Id++;4 {- Q# d m( {* |
} w& m! |$ i: S: y' O7 m/ C
& |8 v7 w3 V" ?- @) S+ G public Activity activateIn(Swarm context) {
. n5 }5 y1 D7 G4 `, I0 q9 E; H9 M! R" i super.activateIn(context);( \4 C+ y& [. @: O
schedule.activateIn(this);, L5 B* m( e0 V; W5 e8 }: `
return getActivity();+ V1 b. R# E6 e; d
}) N$ W+ _. T; V: g, Y; A; l- V
) i, \; w' L3 e. V5 _% L, j public static void main(String[] args) {
; x; G1 j+ h# u Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);( a0 K3 ^- j+ D) o% Q% f
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
! ^2 P" R5 _4 f! K3 |# P6 D swarms.buildObjects();* n5 X8 d1 H# w! Y
swarms.buildActions();( w- ?4 }, R& I1 c
swarms.activateIn(null).run();8 Y9 o/ y- u/ Q2 e! j
}
( Y: \% _7 D6 I9 }" _: t* q1 t# }- \7 _5 ` C2 ~( A0 g
} |
|