|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 : j% ?* }3 P8 y
6 Y, K4 U! T* k, N
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21; Z6 e+ T7 h+ M0 o( o
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
0 ]" m# d% N9 `/ |& S8 c/ i1 Iswarm.SignatureNotFoundException$ o7 ?: \$ F' X- ~ ?+ h
at swarm.Selector.<init>(Selector.java:76)! \' Q2 s6 @! j/ c0 `* e
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)5 ^' a+ t3 r" g$ o# W
at ActionGroupDemo.main(ActionGroupDemo.java:67)6 c( P- i( g1 o! g& a- H3 a
9 d$ w* r) v" Z1 N0 S' M; l
6 `# A R! H% o& M# a. `( J$ P& Y7 g6 U' himport swarm.objectbase.SwarmImpl;
@9 r7 [9 z3 P6 }import swarm.objectbase.Swarm;
: W8 ?4 E. c" w" A. ~import swarm.activity.ScheduleImpl;. c: G4 l4 X6 f
import swarm.activity.Activity;1 J" J$ [6 I4 o( G
import swarm.activity.ActionGroupImpl;6 }% Z% {, v, T0 ]! i
import swarm.collections.ListImpl;
# D# ]* L. u- }3 n' O; ~4 \4 Oimport swarm.defobj.Zone; 7 m* e& W! x1 ]. O
import swarm.Globals;6 U# {6 o R& T, w2 L6 A8 q
import swarm.Selector;+ `0 s8 D2 d( ?5 a$ K. l3 o/ v
import swarm.activity.ActionGroup; 5 o# M7 O* ?- P9 Y9 Y5 ~- u" C1 k0 k
class Agent {
+ M0 t3 m: n R5 f N- `8 H char id;
8 S* E+ {2 _4 q8 x
! ]$ D C8 f* M. N Agent(char id) {
S) J& c" _, n5 @ this.id = id;: f* M/ T9 s1 q8 d I- ?$ F$ o- q
}
B- M! \ _! \
9 b# u: q* v/ C1 A public void agentStep() {
5 W' V* i4 o; y; f7 r System.out.println(id + ":" + Globals.env.getCurrentTime());
" N. p8 k0 g# g# l }
1 Y9 J. x! V$ l. X}6 b% q$ ], L. Q1 X4 P% k% V# \
5 P" o) |( @/ O
public class ActionGroupDemo extends SwarmImpl {6 M7 N/ q6 ]9 c S0 e7 F
ScheduleImpl schedule;
+ O1 k! K, c" h$ E- M ActionGroupImpl actionGroup;
9 f) M& M( U, O Z ListImpl list;7 G' t& Y" O1 d: m( K! s
char Id = 'a';, I6 P+ Q% t; i* G4 H4 {4 L
9 ]1 ]- m5 ]$ h8 r
ActionGroupDemo(Zone aZone) {
6 t& X g/ y- j3 D super(aZone);3 }7 L+ T: _( ?; ?4 ^9 w- [
list = new ListImpl(aZone);
6 T: W* I# t# I swarmSetp();
4 b2 J% {' a5 }2 Q2 l, `8 _* w! z2 P( p actionGroup = new ActionGroupImpl(aZone);
' n) v9 Z6 z, }2 I: ~* |# r schedule = new ScheduleImpl(aZone);. S6 ^: K' k( T; m) F# |# e5 W
try {
' c& V8 S& \7 d; u) g Selector agentSel = new Selector(Agent.class, "agentStep", false);
9 Y2 e: `1 l3 o' ^ Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
, Q" V1 G# p. X! X2 @1 [1 a; r1 Z5 B & y5 O3 |2 h1 f
actionGroup.createActionForEach$message(list, agentSel);, B4 b; Z% P8 m
actionGroup.createActionTo$message(this, swarmSel);$ c* s/ _* R/ y8 f2 ~* C0 N
schedule.at$createAction(0, actionGroup);* W! L9 j* `7 c' G# J x9 x
schedule.at$createAction(1, actionGroup);9 ~) D! W ]8 H; l
schedule.at$createAction(2, actionGroup);
1 w2 ], \# I' K2 M, f; K* J& @0 ~) N) C4 V0 K; B0 ~" W2 b
} catch (Exception e) {& g+ P: T& y5 P
e.printStackTrace(System.err);
! D0 G9 G/ r5 P- P* l //System.out.println(e);
* {- l7 K* E9 [2 ?4 k System.exit(1);
# Q1 L9 S. a$ r) E }
0 Q# G- R, Z" q) ^& g- K& [/ n, \4 P3 g. {" j4 P+ m( `. \
1 A) d2 m( W0 `8 q }% T! s' W7 a8 `/ N) C. {3 F
# f" e; G" A: o) N
private void swarmSetp() {
`- v$ g" I4 f$ e" H list.addLast(new Agent(Id));
2 C* [: [- A5 q B8 u, Z6 g Id++;# H/ ?( a& K( q5 W
}4 r F9 M) \, e0 \4 y l, c
! @. g& x2 ~9 O8 } public Activity activateIn(Swarm context) {2 ^8 S/ G" s: x1 h
super.activateIn(context);
. B a5 [2 f( O( R4 Y schedule.activateIn(this);
, W6 p) p6 U4 u6 f return getActivity();* z4 u6 v% g. L$ e( Z
}+ m+ A! d* z5 p0 S# y
/ G" I% q& D% z1 P
public static void main(String[] args) {
1 p! s6 t0 A9 e/ \4 Y8 _) r: ? Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
; m, S c5 C4 {; K6 L Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
0 [, r! |6 F: f2 y ?+ ] swarms.buildObjects();7 |- ]; o2 c2 n* O; f3 R' \2 n2 [3 K
swarms.buildActions();0 `" I+ m3 A7 t+ q
swarms.activateIn(null).run();7 S4 ]- o9 P: S# v2 K! [1 l- `. Q' ]( q
}
. T4 O$ ]8 r! I2 b' R$ P% h4 ?+ U0 {- L+ F4 Q2 w* t
} |
|