|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
) r# a' {5 H4 N! s4 B
. x% P0 O- h& d9 V; V5 z+ B本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
2 t: S. n& a, `6 {以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激." d* h; ]4 c8 b7 W5 {$ r0 i1 F
swarm.SignatureNotFoundException' n6 [6 q c. P; U
at swarm.Selector.<init>(Selector.java:76)
! h% f# y* Z+ [: U" p" k! u+ X at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
' M6 N. c- m5 K' C5 v. f at ActionGroupDemo.main(ActionGroupDemo.java:67)9 |+ z6 l8 ^) a H, V0 x
/ G C7 b" y+ z6 y
c! R: N- G9 ^
import swarm.objectbase.SwarmImpl;8 G; Q; l3 o8 C; O+ b4 Y" A3 x
import swarm.objectbase.Swarm;
0 n# o, V. V/ {7 H* }, ^) cimport swarm.activity.ScheduleImpl;
* e! {) I. H# H" Eimport swarm.activity.Activity;
& G1 j! ?9 }0 q% Uimport swarm.activity.ActionGroupImpl;1 [4 N3 D1 r4 M8 V- }% e0 J% ]: r6 p
import swarm.collections.ListImpl;
, B# V3 M; \& _' S/ limport swarm.defobj.Zone;
( y* w: t6 m8 k8 f5 ~* y. _import swarm.Globals;& f" J5 y% E2 T$ Q' j# Z% e
import swarm.Selector;# F% K* A' [% v$ d9 N P' n4 ?+ g* h
import swarm.activity.ActionGroup; ! K8 o' q. J4 G% @. \! i! c
class Agent {- h. m: n* g: a4 T# y" }4 _2 w y
char id;
( L: c' O! c8 K z j W8 o1 {5 B* {2 n1 |
Agent(char id) {
4 d$ T& u6 b5 w9 o7 R |8 x this.id = id;
& ^& A" t8 }% Z* w7 k9 U }
+ J: \0 i2 h A2 D5 r2 f0 `/ A2 t2 o8 X, S4 x
public void agentStep() {
: v4 p1 p3 _! Z0 v" y; S3 x3 O) [ System.out.println(id + ":" + Globals.env.getCurrentTime());
: u i: o5 N f" G# v4 \/ Y }
% \7 Y' l( d& a" m' O}
9 _ B0 x/ `' [# p* p) q( h3 ~6 i9 T$ y' R9 ?' ^9 m: @
public class ActionGroupDemo extends SwarmImpl {# I) N9 O) e B
ScheduleImpl schedule;4 F" @9 h" x, E' v
ActionGroupImpl actionGroup;
: g4 z6 H2 r/ J# N% m- J ListImpl list;2 C- [8 }$ I% ~- n5 n! @# B7 ^
char Id = 'a';
8 `8 C/ I' x: r" V+ I. {- `/ g7 K( p+ N, Q2 |0 t
ActionGroupDemo(Zone aZone) {
4 z0 N, ~+ M8 D- J2 Q super(aZone); S/ K" \0 ]& r4 V' ]
list = new ListImpl(aZone);
0 ]) [# S8 |9 F; ~ swarmSetp();
6 G* }9 A! g$ K% m: t actionGroup = new ActionGroupImpl(aZone);$ j/ Q, T/ j& z$ ~5 g) ^; N6 q
schedule = new ScheduleImpl(aZone);
( d5 P8 Q8 U3 V* ~) n# B4 e1 G try {+ @( P( D1 N+ h2 x. R+ N; Z
Selector agentSel = new Selector(Agent.class, "agentStep", false);
3 C) m2 y( m# U Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
' a9 X" |9 ^. @; N 7 {, a9 O) g; h9 _; {: F* [
actionGroup.createActionForEach$message(list, agentSel);
: J$ y3 Z7 C: n3 }7 @1 V actionGroup.createActionTo$message(this, swarmSel);
! u, ?0 ]+ K4 D: |! k) J! J schedule.at$createAction(0, actionGroup);
8 f4 Q5 u: P J6 Z" \, N; x, [6 H schedule.at$createAction(1, actionGroup);
4 S- s5 W& G) [% s& d9 C$ X2 U schedule.at$createAction(2, actionGroup);4 {- L& B, ?6 v+ p
. t+ E( ?1 V- _: D) G6 n1 }
} catch (Exception e) {
* N/ |9 l% _) H; I" r e.printStackTrace(System.err);
3 q$ _5 D' \, F+ A, x$ A //System.out.println(e);( P" j& o% q& F2 E' f5 g
System.exit(1);8 a* y v/ c( ]5 E/ {: X+ g" N
}6 _: M5 u0 v0 h" c! H
; `9 r! ^" i3 L
7 V* m. m+ P, p$ v4 z
}
) k0 g6 g5 Y3 i" G
8 v2 l" L9 _: y9 ^: B private void swarmSetp() {
# P4 O4 \; H! n& {. S5 q list.addLast(new Agent(Id));
5 u. G( d; ~6 v5 T+ X$ u4 m. a Id++;
7 {) [% Y+ U ] J! i } ?' F& k. b z2 |- k
5 _! l9 \$ j$ y# y' ^9 L, u6 ` public Activity activateIn(Swarm context) {4 \. c$ X1 ?0 {! N" {
super.activateIn(context);
$ [. T: t" A. }$ w: H1 q schedule.activateIn(this);9 n# _0 }1 T3 ], B! T. O( }
return getActivity();% P& E: [8 Z# x2 q
}
; w/ H0 ]8 E6 r7 x; A' Y W6 H+ @5 \1 A4 J3 G, U2 h
public static void main(String[] args) {
1 m5 ?. |( Z) t5 z3 S1 h Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);" O& J- E% u; P. U( U9 y
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
: t. N% a' L" {3 T/ k9 h5 i swarms.buildObjects();
) K9 h! r0 [% z/ `" x m& z) x swarms.buildActions();7 {! k9 z0 M: v' Y9 h" e# e
swarms.activateIn(null).run();& n+ z( a: l6 d; U1 p5 _
}5 z% C7 H9 k k9 N9 g. C
9 P5 V2 H' { G! n} |
|