|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ! s" J' W( A4 S6 _' A! _4 j2 J
1 k/ n6 ^8 {' i a本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
4 X& {" ]9 r4 c% L- T* L以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.) x' ^: O2 H* ?$ l
swarm.SignatureNotFoundException
9 m! L: _. s4 A. I) y8 r& @" e9 @ at swarm.Selector.<init>(Selector.java:76)/ z. ]* B. |9 b w
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)$ N4 Z. o$ m, v: \! l) P
at ActionGroupDemo.main(ActionGroupDemo.java:67)$ e' {2 I' i) Y" O0 q" x( C
1 }2 y8 T# `4 V0 w7 D/ R9 \- g5 I8 R4 P2 n9 Y5 @5 L8 O) p
import swarm.objectbase.SwarmImpl;
& S4 y5 S8 ?5 ~% |- _7 |" x! W9 himport swarm.objectbase.Swarm;. _& \" `8 k2 l% w3 n" _; A% [0 G
import swarm.activity.ScheduleImpl;8 m8 d: [- ]3 E8 }6 P
import swarm.activity.Activity;. |- e6 |% k. p) F
import swarm.activity.ActionGroupImpl;
% D+ [0 R5 G( d( v, Rimport swarm.collections.ListImpl;
# u" s/ ?' r6 `& L% R4 P5 eimport swarm.defobj.Zone; : V n# H9 K/ L2 S
import swarm.Globals;4 m" n+ x- q8 _6 q
import swarm.Selector;$ q. E; Y& q4 \8 U% z% s
import swarm.activity.ActionGroup; # g# s( n' R! {& g) z" F
class Agent {) T3 \6 E0 e+ k& V7 m0 `
char id;
# x8 X3 \0 @5 r# M; y3 |/ V; T/ L* E+ T2 F) R
Agent(char id) {# z, p, g+ h. H2 g) Z3 x% [( N& O
this.id = id;
6 ^# s/ ^+ ^3 S }
9 Y3 Z: H3 v# {$ u2 q: u, s5 k8 J5 X. a2 K+ s$ @$ z8 w- `
public void agentStep() {
8 N7 {2 _$ N5 T System.out.println(id + ":" + Globals.env.getCurrentTime());
y* c. Q8 O; B% x }& g2 {1 v, o* T) {' ^, W
}
% M% y, k2 x* {
+ q" e' Y# Y& W$ K4 u6 a+ _' h6 mpublic class ActionGroupDemo extends SwarmImpl {
3 |6 i" c( f u% M' b* p/ G ScheduleImpl schedule;4 m) ?9 T$ l+ h5 u# }# L) t
ActionGroupImpl actionGroup;2 C. E( z+ y' M/ N! X5 S
ListImpl list;
0 h6 A; K1 j3 a% S" S char Id = 'a';
- v& I4 ^7 l0 K9 p7 s$ J$ ~ ? H* q) K9 e
ActionGroupDemo(Zone aZone) {
+ {% c! O. E7 T* G1 V super(aZone);, \% h3 x6 N2 w4 C5 |
list = new ListImpl(aZone);
6 C7 M7 W' f8 a9 @7 { swarmSetp();
! `" ?5 _& j" I7 ?% N' Y actionGroup = new ActionGroupImpl(aZone);
* Q3 ^- ~4 s7 u8 i* c" o schedule = new ScheduleImpl(aZone);
7 g1 P% v& e' ?* T& X try {
( n* N, o: e5 t; U ]' q Selector agentSel = new Selector(Agent.class, "agentStep", false);
J7 O! G, v0 [7 [5 y) D, Q4 T6 k Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
0 C( `0 ^+ c8 f& M" G+ ~ 8 F+ @# B: ~8 S; J" p
actionGroup.createActionForEach$message(list, agentSel);) p5 Q- A6 `, A4 k* T' _( Z3 c8 ~
actionGroup.createActionTo$message(this, swarmSel);% n+ I8 {3 t) t+ q
schedule.at$createAction(0, actionGroup);
- Q8 M6 [7 f. x7 l9 G3 N# Y schedule.at$createAction(1, actionGroup); _5 }" p3 ~1 |5 ~; c) d$ I
schedule.at$createAction(2, actionGroup);7 `) J7 Y* X! W# L7 |: w b
' E0 F9 P% e! M4 M% d6 I } catch (Exception e) {
* T- S# E0 s$ D& t, L0 E' w1 y% Y e.printStackTrace(System.err);% {- P8 a5 }# H9 g8 e
//System.out.println(e);
- F7 [) _8 A$ E5 J( n System.exit(1);
+ Q7 |7 y2 q7 G" M6 z }+ C5 I9 \ Z0 R! J
+ w- V; ~5 c3 G4 c" g
, l2 F* I! Q! \/ U+ A2 z# D8 P }8 i: L& l: q; Q" I8 D
) k" @7 D7 U" z; C$ v private void swarmSetp() {) R) H. U( \( }* s6 ^
list.addLast(new Agent(Id));
# W4 ], l7 G) M4 {: O Id++;
9 {6 o( S+ |* Y. R2 ? }
1 k( n7 d$ C1 W( N
% r. }% d6 c8 W# s8 ] public Activity activateIn(Swarm context) {
" _0 z" E6 K& X3 B, T3 A* _ super.activateIn(context);
: z: K2 J6 Z' T5 h- ^: |* _ schedule.activateIn(this);! ~3 n7 o' h9 ~+ M J' [9 {7 |
return getActivity();
% V) a% Q* G, P5 M" C }- j5 e7 {9 ]1 m* a Z, E1 {2 g
8 q8 F; i/ c" X) n8 _* L% r public static void main(String[] args) {$ v6 I- i2 `& \- ^) |- {
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);& F9 S4 b2 |. t# W: N1 Q# b5 ~/ c* w
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);) y$ {. @5 A4 r! L! F6 y2 E
swarms.buildObjects();7 A7 A; J. E# C; n, h
swarms.buildActions();: H' c2 J8 s i, ]
swarms.activateIn(null).run();4 B: U, [+ X1 s' w( [/ t* f' J
}
8 l8 ~+ \7 N* N3 |2 A5 B/ P( ~
, e0 v4 h1 T( q: N, R5 R, Q+ S* q/ G} |
|