|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 # T4 U* s' {6 \! o3 J
7 {) D, c+ O1 x. {& R+ x- Y' w* S
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21& |1 [% t$ f9 t% R, u. L
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.+ M6 k- f3 {- c* Y
swarm.SignatureNotFoundException! y: s( p7 j" P) _. Q4 z: @1 I5 Z2 c
at swarm.Selector.<init>(Selector.java:76)
# e0 m" ?1 ~9 X5 ~7 `# d0 H- n at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
( `2 f* q" z5 @) `/ L6 Q) D3 N at ActionGroupDemo.main(ActionGroupDemo.java:67)5 t( L9 @! _, s, A
, f/ k+ o5 l5 G: b6 L# R" Y
& ?* h; M W: b: q- Ximport swarm.objectbase.SwarmImpl;6 P$ z8 @0 V+ }, Y4 G3 a2 P) q" Z( r
import swarm.objectbase.Swarm;
, B1 D$ {* [+ ^import swarm.activity.ScheduleImpl;/ W8 l$ j2 Q7 O7 c$ |
import swarm.activity.Activity; O j4 @5 a$ t+ A
import swarm.activity.ActionGroupImpl;4 `1 p% Y! G' w1 Y; x- e& f
import swarm.collections.ListImpl;& e! [) p6 n& j. `
import swarm.defobj.Zone;
% J" J- o4 x8 v2 y( Z Rimport swarm.Globals;' o |! Z$ T! g- ^7 T/ |5 }- N, x
import swarm.Selector;
$ W: f1 R* A) |, Oimport swarm.activity.ActionGroup;
% n5 ]9 W6 A. [- yclass Agent {( L% R4 ?. t% j3 X' S
char id;- i" I( z- g+ u, c2 D5 B' @
% |. _# v' Z$ u7 i, J9 ~* s6 N
Agent(char id) {
& X; D7 H9 c2 h' G this.id = id;
" U; T- s* v5 A( D0 U. g }
( ]& A! W. Y" K( n0 v6 s' I# x% _
r4 k8 p3 U% g/ u. w7 j8 a public void agentStep() {
/ t Z# k& C1 p* c4 r) |" t. B( |% W System.out.println(id + ":" + Globals.env.getCurrentTime());- n6 }1 i- S/ J Q, }. P# P
}# s$ r$ A3 V0 X7 [
}
8 k# i- ]7 j3 p: S( O2 g0 [7 h
6 I9 @+ z# e* z! W! e; \# e# U2 Upublic class ActionGroupDemo extends SwarmImpl {6 h' u% s" e2 w' O& }: P
ScheduleImpl schedule;
+ V0 |, v* S8 V ActionGroupImpl actionGroup;6 m6 |" ~" z, Z( q! U3 h
ListImpl list;' g# q% t0 f# `* a! Q
char Id = 'a';
& X! ~$ a' s2 x% ?+ z
' U0 B% r, r- M ActionGroupDemo(Zone aZone) {/ D8 H, q% \5 N; J k2 F6 w& N! C6 h
super(aZone);
5 k/ v( \ n& w, V, C2 K list = new ListImpl(aZone);$ ]3 c7 \; I( [$ ?0 t' W
swarmSetp();; d/ d* y& ~( ?! j. p3 B7 X; [, E
actionGroup = new ActionGroupImpl(aZone);. \1 M* X4 q# o2 {3 d8 E, x$ L ]. \# B
schedule = new ScheduleImpl(aZone);4 |, c' T7 g9 G, p5 ]
try {
: }8 M4 x3 G+ h6 b5 N! f7 Y2 T' _ Selector agentSel = new Selector(Agent.class, "agentStep", false);
% S5 w8 R8 v( D( P Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
- i& [9 d, }& ? & R7 S1 K; A, ?% @; P
actionGroup.createActionForEach$message(list, agentSel);! s" Q5 ~5 k& b8 e% k/ p6 w
actionGroup.createActionTo$message(this, swarmSel);
8 Z& k1 w J" s7 _& u schedule.at$createAction(0, actionGroup);
2 g! a: k/ f2 ^2 h8 h3 l schedule.at$createAction(1, actionGroup);
; p" Y0 v9 n$ |! I& W schedule.at$createAction(2, actionGroup);
' }0 S2 Q3 F# E2 C
$ J: y0 `& C, h: w7 [ P } catch (Exception e) {/ i4 }7 Z5 y+ p) O2 t, p
e.printStackTrace(System.err);
2 c. x$ b: r0 t //System.out.println(e);
1 ?4 m5 e1 M, K* `% f System.exit(1);, S5 S8 @; e& I/ x9 y' D" i0 y. A
}4 V/ W+ L5 M9 v, R9 U2 a& G4 n+ N
; [7 X! K8 B* T0 n' I% a1 O( y ]+ P7 |) e* Q; A
}
- Z y' |3 k" w1 I3 D2 a& m
/ O0 _9 d$ m( v+ { private void swarmSetp() {% E6 @- ?+ e* R' c2 q' c# {
list.addLast(new Agent(Id));, _7 y( }. ~9 p( T' E" A. Y# E( K
Id++;& `1 _+ |; F+ ^- H3 @: q4 p1 S
}/ v8 h5 V q+ a/ w
2 s U/ c9 h6 H1 ^3 k0 N public Activity activateIn(Swarm context) {
1 J3 ?+ v, m) J- N+ t& }4 q- W/ c4 n' ] super.activateIn(context);. d1 F* X- M6 d, R
schedule.activateIn(this);
5 {4 |2 K! X& o9 b d' H return getActivity();' V- K; P' V' v9 Q* ^
}
. n Z3 q! T( G/ @1 X; I) B' e6 i2 {# _0 }& v' z7 A
public static void main(String[] args) {- h/ e; S! @" B9 p4 L* p) o
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
! s7 O: ]" U7 w( D+ Y Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
, Z2 ]( Q7 i( a2 ?! D2 J1 i swarms.buildObjects();5 `; M: ~, D( A
swarms.buildActions();
: I6 }6 E6 h2 ~$ k! v# M swarms.activateIn(null).run();, b5 ~1 \6 @. W b1 ]6 B1 v
}
* G. N( I9 q7 l7 W0 O8 ^8 E$ Z
} |
|