|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
6 y; I* A7 b% R0 I$ h8 \3 Z
. q% n9 j' @: q本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21; ]2 a, Q# l p, o
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激. T/ r8 B' x% _! e7 t2 M7 C
swarm.SignatureNotFoundException7 |1 L# Q$ S$ R. S/ s: ?' q
at swarm.Selector.<init>(Selector.java:76)
# ~' B' Q) Y3 F2 @* H9 [ at ActionGroupDemo.<init>(ActionGroupDemo.java:37) `. ]4 }8 g/ S3 F) x! B2 t2 @" I
at ActionGroupDemo.main(ActionGroupDemo.java:67)+ U+ m9 t) k( E! g) E( c/ M5 N# b0 P: c
n2 F! D$ r8 z. n; u" c% l$ K0 R( u0 R* B( M" ]) I
import swarm.objectbase.SwarmImpl;
8 {6 r6 n U! L ]0 eimport swarm.objectbase.Swarm;0 V) M# \# ^( I4 c! G
import swarm.activity.ScheduleImpl;* T" A" T. {9 Z& m
import swarm.activity.Activity;
7 U- G) `/ r; V& z1 yimport swarm.activity.ActionGroupImpl;1 r$ a: Z$ c4 Y4 n @
import swarm.collections.ListImpl;
9 V4 v! v$ u. C+ m2 v2 E$ ximport swarm.defobj.Zone;
/ f+ h& P! \" m- l% D' bimport swarm.Globals; A' a A k) f; |1 N( k0 s
import swarm.Selector;
" V* w: k+ |/ X; F- K5 X% eimport swarm.activity.ActionGroup;
/ P7 ?; m+ ?: f( B# Hclass Agent {" ?' t5 [0 f( K w0 a! `- Q2 |
char id;
- h$ d9 W# F5 c$ b8 R) Q7 ]% ]: m; v0 g) m- T* }6 u$ P6 a
Agent(char id) {
0 y8 g& Y8 y6 e) e this.id = id;
$ `8 s7 O3 U2 `8 m4 P0 c+ q W& v. |2 ~ }! X' M @7 i/ O" M: I( n
" e: o$ U: L1 O# h/ Q public void agentStep() {
* _ A; O9 t5 S& V/ N% K System.out.println(id + ":" + Globals.env.getCurrentTime());4 [' A, ^7 i" g+ l6 `2 k
}8 z( O: S: }0 ~" B8 s) ?
}( b2 G9 |) f. m; d1 `
/ w" W' x. ]" O4 B4 j' A
public class ActionGroupDemo extends SwarmImpl {% S# e5 P' [5 x
ScheduleImpl schedule;
0 R, E& e% `; [* f# i' l$ ], G9 { ActionGroupImpl actionGroup;$ c/ ^* P% E& s q6 W( W9 ~2 g
ListImpl list;9 p5 F3 h2 n- q* Y0 C
char Id = 'a';$ H2 q! G4 X" Y& t( s% @7 W5 K
! B- D7 L9 Q# s0 f1 ~+ Z ActionGroupDemo(Zone aZone) {
# t' \3 o% _: K7 p& n" O% q' i super(aZone);
3 k4 n7 K: {4 S( A( Z list = new ListImpl(aZone);5 _0 Q5 U! v* f/ ~
swarmSetp();
& B" ?+ X9 I' a! u7 J9 e H actionGroup = new ActionGroupImpl(aZone);; ^7 b* b! m+ ~; ?4 ]
schedule = new ScheduleImpl(aZone);
0 b" B5 v% y0 X try {
" ?: b: k9 D3 d0 d l Selector agentSel = new Selector(Agent.class, "agentStep", false);
9 i7 [, g4 X2 ?+ ~7 a0 I A& w Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
+ R" d* `. u" R! g7 L$ N9 J( } - l J6 R) v3 z5 F# f, f
actionGroup.createActionForEach$message(list, agentSel);
. T0 d; T9 |& T- f2 V0 \/ ] actionGroup.createActionTo$message(this, swarmSel);
$ l! ^5 ]3 z( N$ p2 C" I9 B schedule.at$createAction(0, actionGroup);
. i- Y$ ?$ v. W( N2 n. _/ F# o schedule.at$createAction(1, actionGroup);
, o% K5 i7 t7 n& z schedule.at$createAction(2, actionGroup);- e% B0 [+ J2 O, Y7 j
) c+ l. n; n# I! I, b/ z' n/ D( W } catch (Exception e) {& Y& P7 F0 C+ Z0 b
e.printStackTrace(System.err);
1 o1 Q4 Q: ~7 o! U/ Z9 G4 Y" ^$ P //System.out.println(e);6 x4 X0 b3 h$ _) P
System.exit(1);& ?6 g6 h+ Y Z# x; X3 _: c" }
}
% ~, B; W9 j1 e$ a( j+ d- ~2 ]7 o4 U# f
5 w' P% T( p" O' u' ~
}
# P' x" ^2 Z% S( E+ ~5 R- F8 Y! F7 z9 _6 O$ c
private void swarmSetp() {
3 S4 q; `- l. h* k% N list.addLast(new Agent(Id));( O: g9 A3 @2 R& O6 v- ]
Id++;3 ?- f) |8 d' Y: R4 }5 x% f+ x
}
. K3 a' k7 P y Y W! E9 t8 ~9 X
4 x( P3 ]& \* m& V/ R public Activity activateIn(Swarm context) {! s$ t/ a; q/ F( v3 X0 z
super.activateIn(context);$ O7 F5 j8 _. i/ w& ?" A5 v6 L' u
schedule.activateIn(this);& V! Y' i1 y, ?
return getActivity();) L9 B8 w; @8 g8 n: Y9 Z
}
* {* }1 ], G. Y' }9 `( C
2 T4 g- s H t public static void main(String[] args) {
+ ]" g4 H) |3 R! D Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
7 r% Z/ W: R" h& {- l6 w Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);# d! h$ f3 L) K& O( f- U5 o
swarms.buildObjects();
9 E2 u& y$ i# J7 u- @0 q swarms.buildActions();" l$ L& s. @5 N0 I! |3 N9 P* O
swarms.activateIn(null).run();
! U9 y+ t5 I; z! J& j! }, q }
3 Z6 S4 G; J* q% q( r' @
4 E( f/ O' }* ^) W& n& I} |
|