|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
: Y0 n$ G' h7 ~, {- [5 g. w
2 L/ ]; d- D# A" \7 {本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update217 `" z' ^2 _% R3 ?
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
" Z$ a8 S. Q- w: C, Z* ^8 Mswarm.SignatureNotFoundException% ]( U' B; ]$ E$ w& t+ h5 r
at swarm.Selector.<init>(Selector.java:76)
1 i, {) o: _3 B' E! J+ ~9 Q. V$ E at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
' ]8 s _; K/ {3 h. K6 @ ? at ActionGroupDemo.main(ActionGroupDemo.java:67)
% I9 ? j$ S. @; j4 x
5 l" ^: S# j$ U/ O" L4 [; H# y0 ^' l4 L8 b3 g: h* w
import swarm.objectbase.SwarmImpl;$ g* g7 T3 i8 n5 B3 \
import swarm.objectbase.Swarm;
, ^) ^9 E8 c8 Uimport swarm.activity.ScheduleImpl;- F; [. ~" l# L) O! |
import swarm.activity.Activity;/ m+ a* q H2 B! _) k
import swarm.activity.ActionGroupImpl;
8 @9 I+ {. z! R; I Z6 ^import swarm.collections.ListImpl;0 B2 [0 b. s3 H4 ?) s9 H# x& G
import swarm.defobj.Zone; 0 | h- o; v$ C$ h' i
import swarm.Globals;. U' v( D# Y# T0 Z
import swarm.Selector;8 |7 y* p- V3 G% g {8 @* q
import swarm.activity.ActionGroup;
) L+ e4 T3 ~' O$ L. ^2 \, ~3 ]class Agent {; k9 p3 T4 [/ V7 R
char id;8 r& E# ?# }7 m4 E
: w+ {: N1 t$ A+ S {" i% B Agent(char id) {3 z# M o, m3 ^, f+ d* S# }7 J% S
this.id = id;# H, d$ c$ R0 N& W5 ~$ D8 W+ f
}
- t) A; x3 R" \/ |5 Y) q9 R3 \- L' p! `1 \6 U5 D8 b8 P
public void agentStep() {
. L2 C, c5 R' B/ A, B& V) h System.out.println(id + ":" + Globals.env.getCurrentTime());
7 e* |, W' H C }& i3 e* V+ k' q; X7 U& B' W
}
; N3 {' _$ T6 x) Z: B8 S( i* @0 r6 W" V" Z% Q4 Y6 i
public class ActionGroupDemo extends SwarmImpl {
# ?5 Y" g# I; w' r ScheduleImpl schedule;
+ F3 j, ]' Q; @: Z& r* T ActionGroupImpl actionGroup;
s) ?4 B. h1 V* L ListImpl list;/ N* x6 j& D1 T
char Id = 'a';
- W7 u. r P" z+ I
7 U. V: k. s# {+ X ActionGroupDemo(Zone aZone) {) P9 C2 W9 Z$ d
super(aZone);
1 a' F& v, ]4 ?! f, k, n' ~ list = new ListImpl(aZone);1 _, `5 E- E, T: _
swarmSetp();& z; v7 L: @9 g. U8 z2 h
actionGroup = new ActionGroupImpl(aZone);* u- F, X; [. @# q( r2 b/ J
schedule = new ScheduleImpl(aZone);
9 C; @! O1 B# m4 i3 n! w9 i; Q x try {- P1 W" J- e: R U
Selector agentSel = new Selector(Agent.class, "agentStep", false);# s. N$ H8 t5 J6 }3 d# l4 {( p
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行" s8 V( L" @3 H& |* J( w7 O
* d% @7 h( T- S$ \: Z% O5 b actionGroup.createActionForEach$message(list, agentSel);
" f) L8 t9 r, h) ^5 @* W1 i actionGroup.createActionTo$message(this, swarmSel);
: K# F" g' h& b" z& V& m0 m) z schedule.at$createAction(0, actionGroup);
, m8 |: h5 f3 b8 |/ r1 C schedule.at$createAction(1, actionGroup);, f) Y, B) p/ K1 H- C
schedule.at$createAction(2, actionGroup);$ s- `% y O! t5 Q! J' e
2 y4 H# t* W4 ^8 L8 e' W } catch (Exception e) {& Q& P6 o' I1 E0 b* D% t# s6 r( T
e.printStackTrace(System.err);
/ Z# \6 u2 u; q //System.out.println(e);' K- Z; S( ?: |& i; u) t
System.exit(1);; G: O" \5 c8 i( D) s+ G x+ D1 p+ F6 J
}, m) f* Z+ j% K5 u& E
9 N9 b& I- t% Z: n ^3 x. L, v2 w; Z7 ^- ~! ^; L9 i
}% f. U- M: {# H j. X( J
2 W) {: h Z# _5 r7 m, o2 H4 N
private void swarmSetp() {) ^1 D8 _2 B# F. W1 A
list.addLast(new Agent(Id));
- y! Y. U- h- K+ @' K Id++;$ A! N z- P) s: J
}
, S2 B e9 Q0 r0 S; p+ J, V! f
/ j1 U7 ~( d$ u! I8 V) |& i4 e public Activity activateIn(Swarm context) {
P3 x8 x( H3 D* e2 [7 M+ ?: N super.activateIn(context);2 I6 q- L2 b8 h9 a# o$ V+ ]
schedule.activateIn(this);
4 d5 x- J2 w3 J0 w# ~ return getActivity();
! v1 L6 O; a# T! I0 ?5 l! y$ d }
& F+ }. x/ ] m
- K [& L: W, F* T& @0 | public static void main(String[] args) {/ t- [# T" n. b: ?
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
c7 r# |( ?# n7 X Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
~; h4 C' X: {) }1 H% X9 V0 L swarms.buildObjects();
# |; `8 h- D3 C4 I: t- E: u4 _ swarms.buildActions();5 ~. g5 p Z6 C9 a. d+ ?
swarms.activateIn(null).run();
7 b8 _0 }: _5 [7 S$ L+ j9 w! D }
9 E& Y1 V( l0 S. L: T3 l- [6 d8 j& U7 \/ z: p1 r7 T( ?
} |
|