|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
+ y- S; w3 Y) B2 l) q
% x" z& [- I8 r% S5 E本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21: V1 }4 A, k5 s
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
. @: {6 v1 a+ n) [swarm.SignatureNotFoundException
- r% ^) {2 J; m0 l ^5 [. h5 f at swarm.Selector.<init>(Selector.java:76)
5 W) R+ K1 R# h! C at ActionGroupDemo.<init>(ActionGroupDemo.java:37); r" u$ L- |* A- ^, \& h5 R
at ActionGroupDemo.main(ActionGroupDemo.java:67)
" b* e% O, O) B r( o: F5 S* Z0 e6 w& p* z( ?4 }/ y4 ~5 u% s* J$ a3 B
( p2 ^$ q1 M, J. H4 e1 }2 w
import swarm.objectbase.SwarmImpl;
( L4 z% y/ l. ]8 f. K9 m( U- ^import swarm.objectbase.Swarm;5 Y0 M& k; s$ ?
import swarm.activity.ScheduleImpl;. |: @$ A1 l. W# Q# m; R. `; d
import swarm.activity.Activity;0 J P+ V: A1 {7 Y8 O
import swarm.activity.ActionGroupImpl;
. e' p: _# e, x+ ^import swarm.collections.ListImpl;
5 r9 A0 g+ v" C, ~3 aimport swarm.defobj.Zone;
3 s) h& G/ N- Oimport swarm.Globals;
' ~% ^& J* r+ }import swarm.Selector;. K# U! ]* c7 C% ]# S
import swarm.activity.ActionGroup; 4 p( v: O$ B( K# _# O
class Agent {& O5 f& h" p& n
char id;4 a7 g" C8 O$ \% N; [8 C
: l& Y! F0 S& d/ ?$ e' q# J
Agent(char id) {' n D9 j8 z Q5 w
this.id = id;, B: n$ O1 |4 h+ I
}
0 o9 ]% @6 A9 Q( x4 N# g# f/ Q$ I4 Q; X5 l' X. i: x) g3 `8 y; {
public void agentStep() {% i/ w4 {; f8 Y3 z& q, S
System.out.println(id + ":" + Globals.env.getCurrentTime());+ \7 [8 R' ]' x% `3 C u* c
}
- x- I `$ s2 H7 r7 X3 v4 T: w; C}
& i) ~0 n" O: [; J: U6 E6 X* `; T+ {& \9 y) ]: p3 w( \% B" z3 D
public class ActionGroupDemo extends SwarmImpl {5 }( ]4 q0 Q3 D9 B, I) Z1 ?& K
ScheduleImpl schedule;
6 ^" w! \4 `9 x6 j8 d" ?- f ActionGroupImpl actionGroup;; ~" u# r( i0 h% p$ W3 i) l+ u/ l0 c% b
ListImpl list;
) {( K7 d1 L9 \ char Id = 'a';9 S. r# B8 Z$ w$ x- E4 V
4 f! i7 u. Y7 u/ ?1 V1 U0 Y9 P* ^4 H
ActionGroupDemo(Zone aZone) { `' S/ c3 h9 G2 i1 Q
super(aZone);
5 v6 N( F! }" f1 X4 L( \: H list = new ListImpl(aZone);
/ c( V% G X4 ?7 X& d swarmSetp();
5 ^: d; _( F' A2 r0 k0 _: b actionGroup = new ActionGroupImpl(aZone);1 E' C$ \% G J, W
schedule = new ScheduleImpl(aZone);
- [: n+ G* o2 M4 b e! P0 }& W2 r' W& y try {
2 G( A/ b2 L+ B3 J8 R- y' Y# { Selector agentSel = new Selector(Agent.class, "agentStep", false);
+ A' T3 G) [' @4 ^5 F Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行5 Q4 [* _1 s1 V8 ]# n3 B [8 V- t
7 h! u( m& A9 K+ M3 p" b. c
actionGroup.createActionForEach$message(list, agentSel);: { k* H4 V4 D. W: {! q
actionGroup.createActionTo$message(this, swarmSel);1 U8 ]9 `; q+ A/ j0 ?
schedule.at$createAction(0, actionGroup);/ s9 s4 M9 W# v5 U# }! Y2 t
schedule.at$createAction(1, actionGroup);
* |8 d* C" b, x6 p1 X+ c4 u+ h schedule.at$createAction(2, actionGroup);
" v( b! G+ h- l$ t, }' a1 H0 J( o2 O/ |& Y5 X+ _ @1 ~
} catch (Exception e) {7 L0 m3 a5 K9 l+ V' R. }: V
e.printStackTrace(System.err);
0 M( z; R7 c$ x- I! Y7 D) Z //System.out.println(e);+ h3 r% W2 ~# v
System.exit(1);
/ l. H1 \1 w$ X+ w, M. a }" [7 v9 k' T/ |2 A+ {
5 t+ d- x& ?( M, l2 N
& f# r8 E$ p+ g3 l& b' A. h* O }( c; b: x1 C+ ?; x
4 Q; n: d: ~) Y, U* }- f
private void swarmSetp() {$ g0 |5 j# G- u* b7 x
list.addLast(new Agent(Id));( ^- w& ~8 J# T" C+ I, b
Id++;2 Y- ]8 q% v4 m5 a! t5 A
}' A5 R8 Q4 e! b
1 c& {+ k+ h: X# t- k2 ^/ ^
public Activity activateIn(Swarm context) {/ }# p% J( J3 ^0 e K
super.activateIn(context);5 p5 `, A# @2 \* U% `4 S2 Z
schedule.activateIn(this);
! O$ ~; t8 u9 \' J/ s2 G return getActivity();, k* E! J& N) z9 s
}+ b0 F/ X+ B/ b- t9 C) s- ]+ _6 Z
' V; J1 l3 ]% Z/ u' n5 [7 D6 \ A public static void main(String[] args) {
/ m- n7 J; G4 i Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
1 o& S0 d) h7 V9 x Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);0 ^6 o, r) W$ @: Y
swarms.buildObjects();
0 }( g" N; B9 g' h swarms.buildActions();
8 k1 i3 E0 m( q0 Z; ~7 V# b- G swarms.activateIn(null).run();
) m N7 |" I7 x }
! d- A+ |0 V- \( d5 `( H: n% l
( d" C8 R; _1 k. E2 P5 Y} |
|