|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 4 h; {# X6 I4 ]+ y; S& C
( {2 J/ q5 V! l7 i* H5 [本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21$ Y1 F U+ Y% k, U9 A! E( E
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激. V" V7 ?$ ?4 h
swarm.SignatureNotFoundException9 R8 H0 O; ]1 a( \4 p2 f
at swarm.Selector.<init>(Selector.java:76)
0 Y. Y0 H( M' R. F1 m; S& Y at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
/ p3 W0 `0 [( t' k( [ at ActionGroupDemo.main(ActionGroupDemo.java:67)) g4 V% i5 C* \- A' j) `$ r0 X( [) o
! F: _+ c% |4 T( P8 W" t$ O; I# k8 x+ D: @- V
import swarm.objectbase.SwarmImpl;9 T; q) r; S5 g+ J
import swarm.objectbase.Swarm;( @# S9 t- F7 ~! |
import swarm.activity.ScheduleImpl;6 |7 G* ]/ e" K* H5 w! H- a
import swarm.activity.Activity;; ?9 x' C) {- b3 p9 y3 S# m
import swarm.activity.ActionGroupImpl;; g, a) t7 x. F! ?3 O
import swarm.collections.ListImpl;
4 x- _5 ]/ `' ], u( r1 B* rimport swarm.defobj.Zone;
- c6 S7 ?+ Q" e: Mimport swarm.Globals;
- S* W5 S" @. e7 F3 aimport swarm.Selector;
8 W/ k* O, S3 l2 V& E1 Wimport swarm.activity.ActionGroup;
, @; t' ^& h. y9 L8 F' m# S% Eclass Agent {
2 u. a0 |' @5 L# z/ ]2 m char id;: ^5 @# L3 J% B* y; M8 B
3 G L8 o8 K1 {( s Agent(char id) {* f4 @6 z3 H* D; f/ U( c9 X
this.id = id;
6 S" r0 g3 C4 c) |# D0 B( i }
8 b+ @ R* j8 z+ ]- K9 p; m. t) V# R5 y9 u& S4 J5 o
public void agentStep() {+ g' [% z# m6 Q/ ^
System.out.println(id + ":" + Globals.env.getCurrentTime());
8 _& M' R5 X9 B6 r L/ Y r" w9 K+ ?9 ^ }
* R" X; _1 q* t}" L6 m; X3 P( h
5 R7 `3 u) a V5 xpublic class ActionGroupDemo extends SwarmImpl {' N$ n2 x& J. w6 B
ScheduleImpl schedule;* S! O7 Z" C: s! a# N
ActionGroupImpl actionGroup;
- q& B& y% G' x! \6 C; J( Q T5 c ListImpl list;5 B# K" s' \1 v, P5 p! `
char Id = 'a';
7 }; o( |9 ^6 ]( L* `1 M, g: r8 D% d& n
ActionGroupDemo(Zone aZone) {
2 ^, w: Q4 G$ z9 w1 S+ v super(aZone);
7 n6 q6 p \8 R7 u! g list = new ListImpl(aZone);6 i3 U2 E( _/ b! r
swarmSetp();# i; [1 Z/ w E8 ~ P1 E
actionGroup = new ActionGroupImpl(aZone);$ ?3 ?( L. [2 m
schedule = new ScheduleImpl(aZone);/ e* m! @5 a" |! @' O+ _8 r
try {9 G$ d; o8 p( C3 e; Q3 d p2 r2 ]
Selector agentSel = new Selector(Agent.class, "agentStep", false);$ Y( P- v% @% k. g
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
) q' a& ]( e7 ^( K# C, F ( i: ?' t1 F8 g o* M6 G% B
actionGroup.createActionForEach$message(list, agentSel);
% o `8 j' W2 u% o, D4 j actionGroup.createActionTo$message(this, swarmSel);! G- K; V$ ~! w; {! h5 }8 ?
schedule.at$createAction(0, actionGroup);
1 G2 u7 L Y' i" g3 U3 t% ]1 t9 P schedule.at$createAction(1, actionGroup);
& \: R0 E: B4 R4 l schedule.at$createAction(2, actionGroup);$ }: J" t9 L, T6 @; O2 l6 V
h9 c" W( x; |+ E1 j Z. X7 Y } catch (Exception e) {8 M6 e) Y* ~% p- Y& G' V
e.printStackTrace(System.err);9 @; t3 ?. `" G) f) e
//System.out.println(e);
. U! T2 J) r% Y$ C/ u System.exit(1);
$ i" l$ N$ H5 K1 ]& H8 O! |" A }4 ~* y2 ]# J: a- @; R) r6 }3 t# R. Z
0 u4 o3 b7 b/ W3 W6 @) H9 R( Z
6 r2 d4 P& Q2 ^ S0 r
}
3 c0 i! L& i1 \0 D/ C; H+ `1 G P! s, P+ M; G
private void swarmSetp() {& o v5 U+ k9 X0 q j
list.addLast(new Agent(Id));! Q1 T- U* P& y$ c/ F9 }' K( O/ D. s
Id++;$ a: n' q* S9 k# {' N/ p, J. F
}! t& q0 u% B1 R) d1 Y) K! e
+ D# X( A4 Y u8 T0 ?8 ^ public Activity activateIn(Swarm context) {+ c, Z/ i* l U7 g; Z# a
super.activateIn(context);; z7 j8 [ V1 b1 t+ s X( K
schedule.activateIn(this);, M* a6 _; q- }4 ?1 F$ R
return getActivity();" Y( ^! q2 T7 ?+ a
}, Z' P2 D' {- a. v3 o
% \- l# f0 g5 k; `7 b$ |' R% z
public static void main(String[] args) {
7 h5 u: U6 ~! Z8 j) D" H" \2 _( ~ Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);3 z; }8 C, A% l1 R. O
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);: b$ e+ t8 a0 m( f F/ w
swarms.buildObjects();# i3 {' @2 x" V! h% x; ]
swarms.buildActions();
' J* ]) Y! z s; I8 ^ swarms.activateIn(null).run();0 w8 B8 p s+ b
}
6 D& m: O ^9 b* _2 _# R7 l, t, j1 x- i! `
} |
|