|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
$ {* {+ I2 r2 R
& y) @0 x! d) Y$ b本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21 o* N$ ]5 _2 }
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.: K) d: v z O4 ?. b& b
swarm.SignatureNotFoundException
& N. y" d( y# `, K; o6 B* ~( O$ o at swarm.Selector.<init>(Selector.java:76)
' b; v' i7 P: `( x/ h9 t% w+ W# ^7 K at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
, G* B; k0 m8 t3 W4 {6 R at ActionGroupDemo.main(ActionGroupDemo.java:67)% e( s5 w3 i6 ~: H: t" A. c4 }
5 r3 L$ ]0 F+ ]/ v# [5 h' S
3 k+ n6 {' M I
import swarm.objectbase.SwarmImpl;
8 Q! z) D, k! O( j3 U/ I1 pimport swarm.objectbase.Swarm;
Z* h' J2 d: J8 C! cimport swarm.activity.ScheduleImpl;
3 e0 w- t6 O7 qimport swarm.activity.Activity;
( ?$ m8 y+ w+ b8 n p* g$ N# Wimport swarm.activity.ActionGroupImpl;
, J2 F; u6 ]) r: }& Nimport swarm.collections.ListImpl;+ T$ x$ H4 N, p ~
import swarm.defobj.Zone; 5 L, r8 L; n- F
import swarm.Globals;
. v) |$ T& W4 {import swarm.Selector;. R# k7 L }) Q( y9 P2 d; K
import swarm.activity.ActionGroup;
% \9 A" e3 {/ {1 o9 D2 G& z$ }class Agent {- e" K: @0 O5 i6 f2 \
char id;" x6 f3 ?) z; v2 F
; Q, N6 A2 E; W! Q' ~' N Agent(char id) {
+ d) Y2 |2 i) _' y1 s9 O* y this.id = id;
8 N9 X( G4 m1 ^+ d6 C+ L }
9 M+ ~. A; d7 y+ B/ A- t7 C$ c8 R) S
public void agentStep() {( p# e. s5 t7 Q! f$ u: }7 u0 B( n' Z
System.out.println(id + ":" + Globals.env.getCurrentTime());+ f, q, H8 m' v' E# I1 H% J
}
1 W" g, ~& `; Y q4 T7 d0 O}. X5 @# X. p1 Q! g9 R% y
9 t/ D: [8 V6 y7 jpublic class ActionGroupDemo extends SwarmImpl {
5 |" f% `6 L" F- | ScheduleImpl schedule;! j& M4 w; }& z' z& c5 h7 @% z
ActionGroupImpl actionGroup;
2 }9 i5 V" l- i7 k, w/ n0 O: n ListImpl list;4 G( p' R* G T: p; ]; N
char Id = 'a';
: O) N" l+ |3 z7 |+ \+ k' T- p% ^8 w, c% h
ActionGroupDemo(Zone aZone) {
- s- r0 p0 F+ v. F% h super(aZone);# ]# ]! K" R& j* q2 j
list = new ListImpl(aZone);
0 j6 ?$ J( p# a. J" x; C swarmSetp();% V5 ^% H2 G* B' U5 H6 @% E
actionGroup = new ActionGroupImpl(aZone);2 V+ t. Q" L- e1 |
schedule = new ScheduleImpl(aZone);
; x6 G$ R) ^6 q U try {
/ d) x0 ? }- V; U) K/ E$ R6 p' V Selector agentSel = new Selector(Agent.class, "agentStep", false);
5 N2 [+ P' j. {2 z0 Q' y: |: m Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
6 Y7 h. X$ f1 C4 d9 e 3 R1 U+ r% L+ m! H
actionGroup.createActionForEach$message(list, agentSel);
- P+ A0 n* \- \$ B& ] actionGroup.createActionTo$message(this, swarmSel); a3 |+ C* S/ z' [3 v ?
schedule.at$createAction(0, actionGroup);
o% e/ ]$ H" P1 C2 [! {! } schedule.at$createAction(1, actionGroup);
; L4 M8 K; r6 `5 G schedule.at$createAction(2, actionGroup);
1 \8 V/ ]( @ O! l- ]+ T0 W
' n0 ^( P. x1 g } catch (Exception e) {1 x8 s( w9 {; r1 q3 G+ W. {5 a* t
e.printStackTrace(System.err);
# v7 T& J9 {5 u0 u //System.out.println(e);- n$ _ G( |' u+ P( G* @" n
System.exit(1);( N/ ^) m7 q0 k8 V9 T3 n
}3 I' A3 i( u9 t
5 ]9 g) O/ E& E7 Q) Q5 j$ e
* i; J% v E6 j: O! O }$ m5 j% n/ W. U+ J2 x& S0 H
7 z# z% @$ s! E1 }! W7 R! {2 h
private void swarmSetp() {
2 \: L# K# r9 n' i# v* J+ r list.addLast(new Agent(Id));, y$ E: j' z8 Z
Id++;1 h( @& e; o& A7 c: Y- g
}4 n7 O5 G7 Q2 H7 J9 ?
* i- Y3 a5 m- `! e- ]" I
public Activity activateIn(Swarm context) {
" [9 f0 ]# V4 N4 B! y super.activateIn(context);! \/ _: O2 s3 F2 v6 @7 Z$ U9 S
schedule.activateIn(this);- V: K- ?" u4 J& R/ h9 T
return getActivity();; c& a$ j: D. r5 ?1 I
}
( p. e5 j/ y V+ E+ J9 [* x) q( }- Y3 t. N. e+ d
public static void main(String[] args) {
( h0 J; D( i6 x% d Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);8 d5 [4 {& K$ ^5 [) ?" g4 f
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
7 R: i9 p2 s7 Y0 J swarms.buildObjects();
5 l, f. R2 }/ i$ X1 { swarms.buildActions(); W/ k- C* v# H, {- z% N* J
swarms.activateIn(null).run();
* ~8 F M2 p$ {, L7 d2 V) G" ] }
V/ C" V) m! x6 w
& g$ X4 I4 G `- t} |
|