|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
4 s8 e4 C# n$ W1 p& ^9 p! m8 [% m' l ?7 h' u$ n6 \
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update211 Y2 O3 P$ B, ?
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
4 X- Y4 I5 t7 r9 Y- @- \' {: |swarm.SignatureNotFoundException
; @. ?) f% z* H+ A7 M at swarm.Selector.<init>(Selector.java:76)9 p7 D! f* Q5 c
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)1 c u z; u. x% I( K! L! c0 W1 ~! i9 }
at ActionGroupDemo.main(ActionGroupDemo.java:67)3 ~6 ~' ~+ [7 D( H+ @# X. V
0 ]6 _. P1 k! e$ q' Z1 i7 C a: p7 b7 y( m# l
import swarm.objectbase.SwarmImpl;
! m* h: G; U2 m% W* a, G- d eimport swarm.objectbase.Swarm;! m% m4 v' U9 t$ K) b; Y( v; u
import swarm.activity.ScheduleImpl;# P8 q: v+ |+ h0 g$ }2 ^4 e: z
import swarm.activity.Activity;0 P' P6 V( N. M# { Q+ x$ r- w
import swarm.activity.ActionGroupImpl;
$ h% @# @- ~6 ximport swarm.collections.ListImpl;* c$ H7 S `+ ?. @- n
import swarm.defobj.Zone; ! s: ^8 i6 g; i) M" A {) B/ Z6 }5 E
import swarm.Globals;9 ` x8 }* T& X. u. l( s0 S
import swarm.Selector;
9 A. P: W, t' J! rimport swarm.activity.ActionGroup; & h1 d* s- A2 G/ a. [' W
class Agent {" k! C# \0 ~& R; Y1 g1 H
char id;3 f% J- D) u4 ^' U* w0 z& O
# e3 G* h' S# a' |" P
Agent(char id) {
5 `& e9 o% b2 Q c; J# V this.id = id;; h5 K3 F0 S+ F: Y9 _
}4 u; V. T( j- r- [
% Z+ U8 I' @9 x) ~4 q
public void agentStep() {" W6 `9 }% S- h- ]
System.out.println(id + ":" + Globals.env.getCurrentTime());
! R. j7 p$ T8 }" V" P: Q% g }/ z& y# m, K3 y3 r+ g
}
3 M7 G1 }2 l- Y* U1 j: u1 _
* A7 @; |# G4 `! ~- Npublic class ActionGroupDemo extends SwarmImpl {
' f, H3 a9 o7 g' ]7 J# W! d ScheduleImpl schedule;5 I2 u; }1 O4 I3 z/ b. U
ActionGroupImpl actionGroup;
: E9 F3 p, n: c8 f6 T2 ~ ListImpl list;
# a u( R+ i: b0 R char Id = 'a';+ H/ W* N `. S4 v+ W4 p+ g9 {
( u) N: `0 @; s; t ActionGroupDemo(Zone aZone) {9 _! }8 U1 s3 t: v/ T* X. P
super(aZone);
. V6 A+ E: A0 Z, M! o3 | list = new ListImpl(aZone);
4 H! n: s( Z" s+ \0 @! c: Z. E swarmSetp();$ G5 g4 ?) U1 w/ Z( U5 k
actionGroup = new ActionGroupImpl(aZone);2 z# R8 g4 ?# T. }. t! J1 q
schedule = new ScheduleImpl(aZone);- y6 D- D, e: Z" M
try {
, ^& @% X1 J; Z0 V+ W Selector agentSel = new Selector(Agent.class, "agentStep", false);
1 e5 D- d5 E, f# c. d Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行; z, ~& Y$ U/ c* a- ]3 k3 s, I3 p3 }
+ `, {/ U/ u* K: q( D4 |9 G
actionGroup.createActionForEach$message(list, agentSel);
' G2 t' v7 K k# X9 w8 Q7 \. M; Z actionGroup.createActionTo$message(this, swarmSel);
9 C( Z% Y: J& p; x& D schedule.at$createAction(0, actionGroup);0 s+ ~ x' n3 \5 v, ^9 n# l7 g" l
schedule.at$createAction(1, actionGroup);
7 w& h; O# P4 `/ u# }0 U schedule.at$createAction(2, actionGroup);7 t8 G& h3 K9 `( y* b# `
& k# G$ {* V6 T3 _8 x& K
} catch (Exception e) {. Q" H9 F5 W( \* w5 ^
e.printStackTrace(System.err);! Y2 [! u% l9 C2 n
//System.out.println(e);! F8 n# |/ O! i
System.exit(1);
0 n. X: @) \7 P5 K: x }
/ n' _. d) L% E6 \0 F2 }7 v% P8 @7 |+ S$ @# y( g9 t
: [& l7 ~' C5 M+ ~
}
: `) K6 c0 a3 q, G, h P+ W4 a4 g# @1 e
private void swarmSetp() {
4 `$ ]2 g! I" U8 C3 e list.addLast(new Agent(Id));
$ J$ q/ ^' ~, K# O! F Id++;
( z$ f/ h1 N. T' A4 J) a }
( `3 |1 e' z) T2 ]" w
& L0 d& H; M! B# _5 ? o$ f6 A; E3 X2 | public Activity activateIn(Swarm context) {
. Z" C A: P" N4 ?# k+ G super.activateIn(context);
& A4 z, w, L2 y schedule.activateIn(this);0 d0 _. `+ p$ r" `
return getActivity();$ E1 P: l* v1 S- r$ i- c( s
}
) m. F; R3 I% j4 r6 k
N1 C ]. w' Y public static void main(String[] args) {
' J3 L/ F q, T( C( q/ _ Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
, s$ c$ u& i% c; N Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
, d7 [5 x+ g5 a7 O% q! X0 | swarms.buildObjects();- [/ L& b( m$ o$ u! G% t- q
swarms.buildActions();$ F$ l: g& k# N
swarms.activateIn(null).run();
4 B# P" Q2 _0 ?% @/ c: X9 Z }1 E+ n; c7 a" M* R+ b' t% h
9 `1 F# [5 `6 V" d" C/ Z
} |
|