|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
3 y' G9 l( r6 D5 w& c6 c* ]; e- ~( Q0 V* o
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21' ?; A! J8 e$ Q$ F% D2 j" F: I
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.2 p2 b! k* S( w
swarm.SignatureNotFoundException" I% d0 X3 r, z, ~0 S+ {! `
at swarm.Selector.<init>(Selector.java:76)2 p: i- v6 H% s7 @+ N; V
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)( g+ ` i; d2 J: @/ G
at ActionGroupDemo.main(ActionGroupDemo.java:67). Q% `) A5 D5 n1 K3 h0 Y$ q# m, A. S
7 M7 G- I/ ^8 O4 \+ Q, n [7 V; \" y$ J8 B9 w
import swarm.objectbase.SwarmImpl;: C" G# F! Q9 D4 a7 G
import swarm.objectbase.Swarm;
: j+ J) ?2 S; |% I. @4 ?- eimport swarm.activity.ScheduleImpl;
! l1 F0 R: B3 C- Fimport swarm.activity.Activity;* d; g9 }1 W5 \2 d* [4 \
import swarm.activity.ActionGroupImpl;" D) ~7 E0 T) ]
import swarm.collections.ListImpl;
, w3 C7 _: D; O) Z& }0 P: Pimport swarm.defobj.Zone; $ ?/ n, ?: V( ]& e; V. z$ Y8 E
import swarm.Globals;
- z5 X4 {# n: m1 `2 G/ oimport swarm.Selector;
: e# w& ^; B5 Rimport swarm.activity.ActionGroup;
# w& s3 N; {+ n: c6 S& _7 J% bclass Agent {
* g" @3 u u' F/ t- E, a3 E char id;% b8 L6 Z- H2 Q/ s( v# r6 M
# H( f9 ^- L% R, X- K0 ?. L Agent(char id) {! e* w" z |5 S8 K! @2 i
this.id = id;
; w S: G# D8 y }
. l( J& T3 `2 w/ a/ y P. o g8 l0 n& T1 O& v
public void agentStep() {
4 c# y. Z0 J. B4 L' @, N' o5 [ System.out.println(id + ":" + Globals.env.getCurrentTime());
: s/ e3 z% C W }
0 w$ B! I$ K* k: n/ ^% t}
' G: E, k; c, Q' a. [1 d+ o5 u2 I8 `/ h% M. B$ v
public class ActionGroupDemo extends SwarmImpl {
+ t" N8 o1 l5 a W I ScheduleImpl schedule;3 Z' |3 |0 ^2 g1 f
ActionGroupImpl actionGroup;/ a F! C. J: Y) {
ListImpl list;4 a! P P+ d( L+ E+ z% {5 @" ?& s- x, }- t
char Id = 'a';' W& f, V" v$ W! }
7 C1 a4 {) C" Y# G4 } ActionGroupDemo(Zone aZone) {
( i7 B% f0 r' l1 n+ H$ i super(aZone);+ p" f% c& ~! x* u
list = new ListImpl(aZone);6 Z6 s) K- T8 [, j* m
swarmSetp();1 N5 z9 { w, F/ p) _2 r/ D
actionGroup = new ActionGroupImpl(aZone);; L# Q! i: A' x; Y, J% a' O
schedule = new ScheduleImpl(aZone);- {1 X4 a. U0 M' B
try {
: X3 k0 X0 X0 y! f Selector agentSel = new Selector(Agent.class, "agentStep", false);: G5 m$ T5 F$ h
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行8 x6 k6 j; R: p2 v7 C. m7 S6 L
- B# s M# u- R$ [. v& y1 W actionGroup.createActionForEach$message(list, agentSel);
: G/ V2 S: l/ Q% q! L$ x actionGroup.createActionTo$message(this, swarmSel);! Q* p/ `8 u7 D. ]$ h' I2 Q. t
schedule.at$createAction(0, actionGroup);
' S5 A Q. |( f0 H schedule.at$createAction(1, actionGroup);
0 A' k7 m$ g, H schedule.at$createAction(2, actionGroup);
- O$ j/ _4 ]* h( _, d0 R. M: c' T( X; l4 ~$ U1 V# P; \$ R0 Z
} catch (Exception e) {
+ m$ N5 m9 B2 v% |1 t( p1 } e.printStackTrace(System.err);6 a; Z, Y4 a/ L8 z, R% Y6 V
//System.out.println(e);" \7 ]# v( j/ W$ X+ J* H+ O
System.exit(1);: X# D5 B; \7 U9 l/ Q6 U
}
7 \, o- T- D0 E* \0 N
& A' b) B W- K) N, R- x- E6 ]2 P% o V
}
% @# P; c& L0 w8 M' q7 o7 y( t- A; J. I' t5 r
private void swarmSetp() {% b7 ?& P- V! S/ L+ ~1 w
list.addLast(new Agent(Id));0 e$ Y% s" L: r; f, v' A# I3 N+ N
Id++;
+ q" z2 w7 @* B: i$ h; B }
$ [) p( K: y5 q2 K) r5 d+ B3 \5 l. h8 H6 q
public Activity activateIn(Swarm context) {
! U6 C- K0 O- _: p- ] super.activateIn(context);
2 X1 [# T4 H: f) Z6 R4 Y: k schedule.activateIn(this);
9 @& H# W& s8 }5 |3 w- d return getActivity();
5 `8 p* o" U0 l } }$ U; V6 |- A& s9 t
! C; ?; _1 R7 @; M" L
public static void main(String[] args) {' _' H& z' G) U
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
% U Z7 s. T/ {, C$ f Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
* k& m4 |9 A0 t q swarms.buildObjects();% T) T" f; ~( n
swarms.buildActions();
% G' f+ Q b! g8 d C: G swarms.activateIn(null).run();! w- v8 w" v- m/ K( \
}' ?. N' ?# g% `7 Y4 o( N1 [+ P; r9 W1 H/ _
$ z' T5 Q, @& s# ^8 ~) X7 U
} |
|