|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ( u! X+ f6 D% B. }1 j1 {) n
% N: h" V5 ^9 h2 M3 n
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
* p, I- E2 Y/ J* G7 f( U; \1 V以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
" j" N4 k, d5 Tswarm.SignatureNotFoundException p/ m' o' b: T' q4 i5 n
at swarm.Selector.<init>(Selector.java:76)' M8 a! L, @& Q8 e9 n3 I5 W
at ActionGroupDemo.<init>(ActionGroupDemo.java:37) B/ A* U. h% Z P U1 W* t. `
at ActionGroupDemo.main(ActionGroupDemo.java:67)
+ V7 W. d% \0 a+ `4 O( F
9 i! S" ?" S$ g8 s/ C$ r T
' N, ?" _3 B- t3 n0 K5 rimport swarm.objectbase.SwarmImpl;4 I5 Y4 u: B+ f
import swarm.objectbase.Swarm;
h+ d4 t; \( |. Vimport swarm.activity.ScheduleImpl;
8 _/ Y" q# T: Ximport swarm.activity.Activity;' O6 Q# g% n2 x5 c X% u8 e
import swarm.activity.ActionGroupImpl;, m M$ O, N5 F& y
import swarm.collections.ListImpl;/ n* P6 Q X8 o
import swarm.defobj.Zone;
% [' p6 m2 X A" yimport swarm.Globals;
2 t9 m2 Y/ h4 Bimport swarm.Selector;0 v/ e+ h# C e: f% k6 J
import swarm.activity.ActionGroup;
! T/ R$ U( D" O# u$ z7 I+ }class Agent {! O8 x* f- [8 J) A5 Z/ ]
char id;4 o6 [* P0 [1 ?/ V
j1 ~$ d0 O {. ?: V; l Agent(char id) {
) f" E7 B$ o( B this.id = id;1 i) d' Q4 [+ h+ i+ R% u
}' e, x" X7 N. f# g! U
/ D6 Y8 b" A3 ~' S" }' G6 o! ]
public void agentStep() {& c7 \% y$ c2 I! Y9 J
System.out.println(id + ":" + Globals.env.getCurrentTime());
: F% } ~2 Z0 P% r, _ }/ _1 ~1 j g$ @
}
# ~6 e0 {/ p8 X3 A; N8 V0 m8 y. |+ }/ Q
public class ActionGroupDemo extends SwarmImpl {6 k3 @( ]2 m! u# K9 C: Z2 P% w$ k
ScheduleImpl schedule;( U4 c# f7 I1 w( c
ActionGroupImpl actionGroup;
* D) d2 A0 n% C: T- ?# g6 U0 I ListImpl list;7 K- Q! k9 S5 U; _, h( {6 I7 a- r
char Id = 'a';
! p9 o) G4 @1 L; f2 M; S0 P& O M0 D1 R
ActionGroupDemo(Zone aZone) {% K% n7 _* M H# p) o
super(aZone);& Y* A0 n( Q; ]# Y8 b8 L6 D( }
list = new ListImpl(aZone);
$ D4 A6 ~/ o) Q' _/ D p swarmSetp();
: e+ z, y, q* K! _ K9 p actionGroup = new ActionGroupImpl(aZone);: u7 x5 @, t0 @7 o& [, t) X
schedule = new ScheduleImpl(aZone);
% G' R' C) Y9 t1 B try {) m, R: i. j$ a/ e# a# ?5 ~3 E
Selector agentSel = new Selector(Agent.class, "agentStep", false);8 u8 V+ L, s3 m/ w r# a) G7 `
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
- U5 J2 Q+ r4 e3 W) e" ]& h
" }; C" ~' p5 _1 W2 n2 t actionGroup.createActionForEach$message(list, agentSel);
; c/ L) ?% b& y: F actionGroup.createActionTo$message(this, swarmSel);- Y2 r& _* z p$ G( P
schedule.at$createAction(0, actionGroup);
5 {7 z3 r* ^- A Y+ r# m schedule.at$createAction(1, actionGroup);! m7 g0 f' j2 U, W* h0 L3 W& ~
schedule.at$createAction(2, actionGroup);& D! N3 b; A9 ]2 ^0 k7 L" @2 t
+ S/ E6 U* ^' _1 `# _ } catch (Exception e) {
* X$ `' C8 l8 J- y e.printStackTrace(System.err);
1 L! K6 ]7 d$ k3 y E //System.out.println(e);
3 p. l, i& g1 o2 N2 W/ Y System.exit(1);6 b# ]# P1 Z* { l. c
}
1 i6 X6 V# @% W- M8 S7 l9 m3 e4 W: [5 Z! M- q- k( J
" v8 y" N! J8 G. l4 k! v }% K) y0 o* N& H( m
: _7 ?, d& ]: O0 D( S
private void swarmSetp() {
% t+ ?! K) [2 d' P list.addLast(new Agent(Id));
2 t5 H" Y$ q7 p& ^7 G Id++;
3 Y2 _+ e" b4 Y1 S5 q8 s. F1 ?$ [ }0 d. d8 C+ @% o! X/ _" _! H
" K, _& Z" H. G4 s$ N" Z6 E* L public Activity activateIn(Swarm context) {1 V) b+ x# D. J* F% ~7 @8 q9 R% J
super.activateIn(context);
3 A, {( ^, h' l: l% P schedule.activateIn(this);
2 X; F. K& Y% u7 u return getActivity();
, L3 C3 V; Y7 b) V" p }
8 o# K5 B5 n) o d3 p4 M' W# X; _, f" }1 Z: t3 x" q- J4 q
public static void main(String[] args) {: h( `9 w3 o& n
Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
) k! d }5 ~1 _ Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);% c3 L& p- _, U4 }2 R2 p
swarms.buildObjects();
% l6 k- R* B2 a& Y1 J swarms.buildActions();
$ V m! w) \3 y3 Q: j$ w swarms.activateIn(null).run();0 l) q4 C* v9 X t ^4 T* m) ^
}
3 N8 ]) N, x7 |$ U4 K- @) P$ x- q2 d3 v2 r
} |
|