|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
4 Z8 S$ N0 r5 K! W. Y+ i; g' T, J+ J+ @
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
0 P& h7 P& ?. F1 B以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.' i; T4 u0 Z5 i% M
swarm.SignatureNotFoundException! i1 N% W4 D& C7 J7 F2 h/ Y
at swarm.Selector.<init>(Selector.java:76)1 C4 ]$ i) H2 L7 m( B
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)4 V- j3 K- w4 |2 X3 k6 J
at ActionGroupDemo.main(ActionGroupDemo.java:67). e4 P- u4 [1 P% m6 t% y
$ R& [# C5 s3 l
3 ?! p q) _- A6 bimport swarm.objectbase.SwarmImpl;2 Y. `- Y" \5 N, z6 G
import swarm.objectbase.Swarm;1 V6 k6 [7 i/ [
import swarm.activity.ScheduleImpl;
9 `! u/ T7 Y$ j( o2 T$ r/ q: iimport swarm.activity.Activity;& E: f4 C$ z% n7 z4 f
import swarm.activity.ActionGroupImpl;
' L& V8 s: n; [+ Z# `4 n8 Limport swarm.collections.ListImpl;
* \4 W. _+ ^, \- z, v+ \4 m8 \import swarm.defobj.Zone; ! R2 V- a" ~: q! U3 U6 x
import swarm.Globals;/ |1 ^, y, b3 o1 V+ h
import swarm.Selector;
0 }5 X, U; q1 K. b9 S! jimport swarm.activity.ActionGroup;
6 p( L1 M- Q4 A% q" j8 J0 Y8 b" wclass Agent {
. x `# S* q& E* k char id;
: k' f7 | M5 Y1 k8 p; n" g- n8 z3 o) H6 D; M6 p; A- w' w+ }( O/ B; b; \
Agent(char id) {# q' G$ P- J {
this.id = id;
# n0 g1 }. Z/ R8 W* R* k }' d1 D7 y6 ~! Y! D
3 `1 E! z2 P4 H! Z public void agentStep() {( L6 D' F, y4 ] A) ]+ T
System.out.println(id + ":" + Globals.env.getCurrentTime());9 z U& N6 T( c" h3 \6 l2 D* a* q; a
}9 U( p& ^( L' f% O4 G3 I
}
+ k, h3 N- |- u5 x" A5 o6 Y f/ }0 i( [5 e! g' J
public class ActionGroupDemo extends SwarmImpl {
# O! v- _* _$ N, y7 q2 f& L) A ScheduleImpl schedule; b* ~6 O# k! L
ActionGroupImpl actionGroup;% [- b" I. t w C" _
ListImpl list;
5 F; g- z! c7 |7 f char Id = 'a';3 s1 i" C$ j3 S1 W0 B
( v0 @( u: z; p+ q p+ o: h, ?
ActionGroupDemo(Zone aZone) {& i/ }1 R$ a! {/ p
super(aZone);) B+ y1 F( y3 P8 A# y6 Q
list = new ListImpl(aZone);6 z5 t! | U, |, M( I: e0 c5 u( ]
swarmSetp();2 [5 R$ E- j5 K. W" T+ D+ H3 W
actionGroup = new ActionGroupImpl(aZone);; p3 f& b+ s2 |0 T
schedule = new ScheduleImpl(aZone);4 k2 m5 `3 c I; d+ f
try {
: x# l) C: ] z3 G" t Selector agentSel = new Selector(Agent.class, "agentStep", false);
; r% D# e' j3 O$ T k; e# B. j Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行$ k" W5 r/ o# O( r! k% K
' D0 G" s7 Y! X3 O
actionGroup.createActionForEach$message(list, agentSel);
! Q2 N3 ^: y3 ~) v. [ actionGroup.createActionTo$message(this, swarmSel);5 r% Z& t$ v2 h X4 H1 h: d
schedule.at$createAction(0, actionGroup); i: {4 {1 Q i, r) Y# F* b
schedule.at$createAction(1, actionGroup);/ @8 A! W6 y2 g/ f) Y; N2 t
schedule.at$createAction(2, actionGroup);9 P# P6 S3 b+ W
$ H4 O G5 ` r } catch (Exception e) {
$ e; P3 A r* L+ r- R7 Z e.printStackTrace(System.err);
, Q5 N6 w( T B: m w3 S //System.out.println(e);
% ~& `( @3 r3 b( _6 c9 X; J System.exit(1);
/ E, [4 a+ G/ _4 F ]5 f }
c, q: F( ~3 v" r0 G( W* r7 E/ k/ j3 m+ n+ |1 t
" ?1 |, w$ T. e' W/ K) k
}
+ G" {: N2 g) j1 A ]$ U& Z
7 C2 t5 }/ V- ?# y! e private void swarmSetp() {
' }6 S& u8 H5 E5 L5 r- h: z list.addLast(new Agent(Id));
Q' s% @: ?5 o/ Q' P( I. V Id++;
& b' C7 H, P/ b+ R; n" [ }& V' M. }. C, C' a3 Y2 H3 P6 V
5 z6 m4 n9 e$ ?" }3 N# y
public Activity activateIn(Swarm context) {
+ [! p1 k4 s3 w# U( o: N4 O# q$ b super.activateIn(context);
* _8 }( H9 c, R, n1 G0 [& s schedule.activateIn(this);
- E1 D5 `+ y5 v' h+ N& E return getActivity();
, J3 `, \2 R5 |8 l# h } }& ^# W( U6 O& {& k0 a" z* ?
0 M3 o% k' f6 g( ~' E( M
public static void main(String[] args) {
4 f; P3 e; F7 {0 p" n& U" `4 }2 f Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);5 x- ]3 D( h) u5 b& R9 x: |
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);# G! i% c' l7 @9 }" |, |* a' Y% B
swarms.buildObjects();
9 T t" N' H; V9 v7 `, h swarms.buildActions();. m: T& F5 i/ \: W
swarms.activateIn(null).run();
. b- @( C5 Q& X, ^6 ^" ]. _ }
' r2 H# o$ f' m# Y
5 o( M \7 r1 m1 m} |
|