|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
% [9 K8 c9 W' I1 E: l: R: ^! y1 k1 g- y
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
& Z7 u2 C+ {/ \4 ^以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.4 M) f) e, t# d. X8 N+ N
swarm.SignatureNotFoundException, i4 X+ B8 A2 I: i" K6 X9 z
at swarm.Selector.<init>(Selector.java:76)
+ q* Z1 P2 [# y at ActionGroupDemo.<init>(ActionGroupDemo.java:37)2 k n" n' ^ [, J+ }- e. X& T
at ActionGroupDemo.main(ActionGroupDemo.java:67)4 F- e' `+ @( l5 t* T
a1 \6 o6 U; M5 `
! E, N/ n. b# E9 Rimport swarm.objectbase.SwarmImpl;: b9 C2 E: I" R& T* e( B
import swarm.objectbase.Swarm;& y8 w2 N% Z$ j- g8 P" U. k( a
import swarm.activity.ScheduleImpl;
( Z8 o g7 i; m+ x# wimport swarm.activity.Activity;
! l1 K& X# a1 I& }. x( pimport swarm.activity.ActionGroupImpl;
0 X% @ v+ o/ H5 ^; nimport swarm.collections.ListImpl;
4 ?: `9 |! t) Z: L0 limport swarm.defobj.Zone;
' a7 ]1 q$ N1 V$ o$ A- Limport swarm.Globals;7 U, K1 m* Z# _3 B
import swarm.Selector;6 b e/ t' f4 q9 m; `
import swarm.activity.ActionGroup; 0 \" S% d3 a1 W. d$ q
class Agent {
: |5 Y K$ Z% D8 c8 { char id;
" D* o8 a2 A) }6 P1 J: f k7 Y6 {- L9 C: g! d/ K# E! q
Agent(char id) {
0 v; i( l" a& L* w$ r this.id = id;
8 r0 M3 l* [8 \$ A Z }
. T F% u/ g0 Z8 P
/ x! y/ D# p1 U) e) ^* ] public void agentStep() {# e E) m# I' E7 D- ]4 S
System.out.println(id + ":" + Globals.env.getCurrentTime());1 I8 N$ e, ^2 g# m8 X* ~
}8 E0 t2 u( F6 I0 P% B
}
) O: N& M) E. x0 k" B* K5 W' Z
w8 b [! f; _) u" p$ `public class ActionGroupDemo extends SwarmImpl {
$ r0 j( ^, I" L- x& _ |6 d; g ScheduleImpl schedule;0 a3 l k0 s- [$ [7 d a) d
ActionGroupImpl actionGroup;& v, B2 h! Y2 M, G9 \" I
ListImpl list;
% J) x+ g- U# h3 o' X char Id = 'a';
' t" l6 L, e7 p- @+ u% ^3 V) e* m: C. s6 L* Z$ T4 A. d- i" r: {
ActionGroupDemo(Zone aZone) {9 k a h' ~- ~ G1 j, O0 O+ m
super(aZone);
- ?; L g0 f7 L( Z/ D list = new ListImpl(aZone);
- l; r3 K- X# u A4 J0 P5 P( |: e swarmSetp();
; _4 G5 s' P& ?4 C( d actionGroup = new ActionGroupImpl(aZone);
0 ~0 I8 t+ g/ u2 l schedule = new ScheduleImpl(aZone);- Y3 Q o/ a* E4 X0 ]
try {
5 L! g3 E% K) y: ]) X3 R1 k$ e Selector agentSel = new Selector(Agent.class, "agentStep", false);! W* |9 Z- G' y: V e
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行3 J& S. r* Q$ y# } [3 ~2 Y6 o
7 ~. c& T1 w& x: `; V' ]8 f actionGroup.createActionForEach$message(list, agentSel);
/ V" W. Y8 k/ C& W/ Q* e6 r actionGroup.createActionTo$message(this, swarmSel);
6 |7 Y' V9 P) n7 l schedule.at$createAction(0, actionGroup);& F; u* F; k C+ v. |
schedule.at$createAction(1, actionGroup);
9 V; d6 ?" L5 Y7 ` schedule.at$createAction(2, actionGroup);4 X! m H% u) X# [1 g6 F$ v0 I
0 D+ ?) o# l! j ]3 j; a/ o; i( h
} catch (Exception e) {
! J8 C- y/ }2 l; }$ C7 O7 X e.printStackTrace(System.err);
! {. X5 {" n% u+ ? O //System.out.println(e);
. u/ G5 b. w* j; s8 i5 z, N3 ] System.exit(1);
" L2 p0 a6 U! _5 J6 o }
- p, h( F6 j9 }/ v9 K) F+ M' [5 n1 J* _
) V" o, o) }% G% L m. S
}
+ Y" |% p' Q" o
7 M( }2 e7 I$ w3 N private void swarmSetp() {( I+ D" i& _" R! e4 u( m' Z7 A
list.addLast(new Agent(Id));# u* t' h" |+ C, P0 N5 w1 k* v
Id++;8 N$ @' [0 G4 |, S7 t# L8 G& G
}$ D6 x2 s1 j. K3 T; j' v( V7 i
( H8 ^) e* G. O0 R0 ]* x: K public Activity activateIn(Swarm context) {
! [; v- v; F# v* {5 }# H- @ super.activateIn(context);
/ `2 ^' {* t- t! ]$ `) w schedule.activateIn(this);
: E$ c9 Q5 w: e return getActivity();
$ T" f) V$ d+ B }
; d% }) d+ b, f
& h) J7 C, s6 ~8 H/ g* D public static void main(String[] args) {
# @9 p+ Z! E! u# P4 ` Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);: W; f# e8 R* u" n/ G! U
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
' o# ~: z5 ~ l& {5 U- D swarms.buildObjects();
# M2 Q# g$ }% f; | swarms.buildActions();0 U7 p9 Z: Z( R; c( `- Q
swarms.activateIn(null).run();
4 L) {) |3 Y$ m& D2 L+ O }
7 m' x5 I0 K/ F) ]+ f& L1 F" p. B' `* v6 D
} |
|