|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ; L) @; w8 A4 Y9 B S( s1 u
5 a& Z( ~7 b3 y1 G7 a: K
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
: d2 @. z4 k' Y3 z; d0 k0 h以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.: t+ i- X6 C4 n
swarm.SignatureNotFoundException
# g" Y6 l/ I$ d4 r) R: X& { at swarm.Selector.<init>(Selector.java:76)
, n9 s2 ]* I/ c) F! ^0 ]) n4 t at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
8 M4 V/ t0 U& K; }% q at ActionGroupDemo.main(ActionGroupDemo.java:67)/ b$ [& \( R9 o# @2 I; v# T
+ @6 k$ j( c4 z
* Q% K. A, L$ c5 q/ @* Fimport swarm.objectbase.SwarmImpl;' }$ N) [ e# t8 V) d5 s; f
import swarm.objectbase.Swarm;
$ C7 V3 N- d; o' n. F6 kimport swarm.activity.ScheduleImpl;) T# n$ v d5 l1 ]7 T" ?
import swarm.activity.Activity;
4 }- ]: a% v% p2 D5 V. Simport swarm.activity.ActionGroupImpl;3 B! T* g" c0 ~$ X6 O
import swarm.collections.ListImpl;
% G+ Y/ P6 U. |, F/ q- simport swarm.defobj.Zone;
; ]! K) P! { U, j( _/ j8 x# s) kimport swarm.Globals;
. V& ?1 x7 k( P2 @9 Qimport swarm.Selector;; W; W7 r, i5 V
import swarm.activity.ActionGroup; ( U* Y: S+ ^7 ?( s
class Agent {; ]" c0 A5 Y+ @* q# Q$ }
char id;
% A8 G1 K A5 [: E
+ C3 t [$ @9 A% T7 L, y( n Agent(char id) {' d& `- |6 m3 ?1 E$ i7 s
this.id = id;5 W* y' ^/ z/ c9 q
}6 S b: u, d' z+ W l
7 K8 Z0 F: V: ^) V% F) X public void agentStep() {
2 l/ `6 S0 h9 H/ E! i System.out.println(id + ":" + Globals.env.getCurrentTime());; |) ~' C8 L: k: F4 C2 V
}1 w. m; v7 J0 ~- o) q
}
9 u! {/ q4 h$ p! }# h7 `2 ~; _! M- O" ^) [7 y
public class ActionGroupDemo extends SwarmImpl {' j B9 w8 H7 B+ g
ScheduleImpl schedule;$ v( x/ i5 O4 u
ActionGroupImpl actionGroup;0 i5 w' d% u/ I) J/ g' F8 T
ListImpl list;& s% E' W- `+ U( w" I1 f9 Y$ R
char Id = 'a';! `0 S, G8 s- O: P1 |0 t& z f
5 g- R& m2 ?/ ^, s2 j! M ActionGroupDemo(Zone aZone) {: V2 |( A. [% M ?+ \8 i
super(aZone);$ n, e4 u1 r7 n' Q1 A' S: A
list = new ListImpl(aZone);
+ w4 Q m. @$ H8 t8 q swarmSetp();; \* e! m! i0 X2 C( D
actionGroup = new ActionGroupImpl(aZone);' S8 J" F2 H: n) \) W" ?
schedule = new ScheduleImpl(aZone);0 m: x1 Y& {/ X& a, k8 Y
try {
. v% r6 g8 o2 }! U, r# O0 G Selector agentSel = new Selector(Agent.class, "agentStep", false);8 u9 E: B5 A* w# O1 N0 q
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行- [( T) E; W4 a1 u2 M
) U1 B4 Q1 f. Z$ P# j# S9 V) C, J actionGroup.createActionForEach$message(list, agentSel);/ f% N5 C: o# \1 Z( y2 ^
actionGroup.createActionTo$message(this, swarmSel);
1 b% d" s4 j# a6 {( f& p schedule.at$createAction(0, actionGroup);
4 u" W. D2 d o1 q" p# K: M x schedule.at$createAction(1, actionGroup);* g {& @( ~: L
schedule.at$createAction(2, actionGroup);
n0 G+ P) Y9 i7 C" G7 z; v: | G; G$ A7 Y/ d y( ~$ t
} catch (Exception e) {
! G* W5 g+ H; L2 z9 O; { e.printStackTrace(System.err);1 Z4 z* [( _. e( H0 ^0 T- o. J# B
//System.out.println(e);
3 \: n" u. ]. d6 r9 B/ i5 Z3 X System.exit(1);0 j4 [0 q5 I/ s) J7 T% E; y }
}% _2 Y( N% i" ?& q* ?) t( N
' u8 c" I: |3 P& M. S; g: Q
$ w* m, v. R+ P, H* B5 Q" h5 O }* s3 l3 s+ b% k" k. V3 Z# [: {7 R0 v
8 U- o( F0 N* `# g. M }; H private void swarmSetp() {
9 I$ r! I/ R5 I$ K( s8 i. @ list.addLast(new Agent(Id));
+ X9 ^( X& L) L. X Id++;
3 ?$ b. q/ C4 q4 f* ?3 a }
% ~: a, g) w2 t1 E$ S
# V( p6 J7 T9 l. v1 c5 T$ _# G public Activity activateIn(Swarm context) {) ?. S9 E( J) d/ l/ Z/ G9 a; Q9 d, t
super.activateIn(context);
8 P9 W7 q/ X! Y) V schedule.activateIn(this);! L1 O* r& p2 H1 d7 P5 d
return getActivity();: c3 H1 l4 {/ y8 H0 E5 M# v! F! z
}& c5 m! T6 K7 ?- X0 I9 k9 L) }
! N0 i0 X/ N( ^. z2 t public static void main(String[] args) {) x7 E# N$ h, x: j: F2 p. V
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
% y# w7 y7 h) G9 h' J Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
2 d0 X3 U$ P3 n7 G6 z, \2 ]% M swarms.buildObjects();
8 y/ F% K/ ]2 W6 n$ J swarms.buildActions();" F4 d/ e3 a, u
swarms.activateIn(null).run();
% d" ~; t. O' H% v n' p1 l }
4 {6 D. s$ @! k1 a6 u
) G" l* X2 p3 c$ v2 M$ G+ [} |
|