|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
7 |# w4 U8 n$ G, c" d% |/ |7 A6 x5 e, {4 e5 c
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21) ]8 R/ _' w' d4 {% P& ^3 m
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.0 s9 L I4 }0 S5 {% h, v" Z
swarm.SignatureNotFoundException
* x5 r! u2 R9 Q, i at swarm.Selector.<init>(Selector.java:76). a4 n* E' u* l& a) V
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)( e1 ]5 ^5 D! h* u
at ActionGroupDemo.main(ActionGroupDemo.java:67)( P7 Y6 O& X: H/ j G# R* r
# r( J0 c: `1 P$ w6 V
! ]& O: @3 I6 P7 H9 Kimport swarm.objectbase.SwarmImpl;2 F; j7 [/ ]6 f. k7 ]/ r1 d
import swarm.objectbase.Swarm;
* u' R/ i% E+ G4 u/ jimport swarm.activity.ScheduleImpl;
6 P" O0 K8 o1 @) D. ~! ?import swarm.activity.Activity;2 e3 m% T0 C8 z- }5 o1 ~* G- b
import swarm.activity.ActionGroupImpl;
" @, n2 F" u" r# Q) Nimport swarm.collections.ListImpl; a: J/ A) m3 q: o3 h
import swarm.defobj.Zone; 8 m6 i1 d+ h0 t' m( M$ [. g, f* ]8 W
import swarm.Globals;2 p" s, {; e. s6 A0 k
import swarm.Selector;/ {* _' x6 E0 U+ c
import swarm.activity.ActionGroup;
" ]& _7 q( `4 y6 Y [( lclass Agent {6 C8 w, P Y d' k/ {: ]
char id;7 f7 x+ d' j; z# {' o: A5 ~% O
! ]8 L3 I* D8 O) ?5 A Agent(char id) {
6 P" k: F' b3 ~7 Y3 \; c this.id = id;
! m5 C1 \( e3 [9 v' d6 Y }$ U$ F& w2 L4 X+ k3 `* m
3 D1 `5 d; u6 I3 b+ A9 X8 J" H2 c
public void agentStep() {
+ ]6 y9 i4 Y& O5 W System.out.println(id + ":" + Globals.env.getCurrentTime());
9 _( h% D5 e) [* q }4 v0 b+ f, u0 A. P6 w5 g d
}% d0 A( j" R5 Z3 P+ X1 `0 N
# @; ~* a- U% X5 P; l! h9 }
public class ActionGroupDemo extends SwarmImpl {
) V* e3 d! A5 L, M# }8 @$ ? ScheduleImpl schedule;
- ~) q" |* F4 V- s( C( E7 m$ f0 \ ActionGroupImpl actionGroup;$ B8 B: A% d0 p: L& q3 D8 J% V
ListImpl list;
6 n7 j5 Y i; l5 [- b4 a8 r. n char Id = 'a';$ T3 j; B: t9 y: o$ \. x
# d$ r, _' B. z# [5 z0 O2 E$ W
ActionGroupDemo(Zone aZone) {
) L; b4 U/ |( B: V8 \ super(aZone);
( C! `8 n/ i$ R list = new ListImpl(aZone);) |0 G/ Z( W& V. h& f
swarmSetp();
% ~& y& y/ N) r8 S1 a; X actionGroup = new ActionGroupImpl(aZone);* w: Q) Q1 }& _; M. l5 V: J
schedule = new ScheduleImpl(aZone);
( Q( Q' c# w7 n try {5 m* o' R; ^9 J8 p, K3 z% x2 c
Selector agentSel = new Selector(Agent.class, "agentStep", false);+ M- W* |9 X' R/ l1 g- r' j
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行! f$ h/ g" _) q% O; U; a# M
; `, `2 ~2 f1 V* W' i& @* d actionGroup.createActionForEach$message(list, agentSel);" T7 m# w, j# ]! S F, j. n
actionGroup.createActionTo$message(this, swarmSel);5 _( R* p% i" ^6 M' F
schedule.at$createAction(0, actionGroup);
( P/ p: v2 T- B' j- ?4 @0 i/ v: E schedule.at$createAction(1, actionGroup);8 G7 i' D* w& T
schedule.at$createAction(2, actionGroup);! x, `: o6 R5 }# ^5 w
; K) c" L4 t2 R2 @- U5 h: A } catch (Exception e) {
2 G( O- Z0 Y" \6 { e.printStackTrace(System.err);
# c) h' v. I8 w) o ?2 F& d, i //System.out.println(e);" H& \- Q B! e7 V
System.exit(1);
6 p* L, h+ R& Y; W$ l }
X6 U* _; w# [' U8 d* Z5 Z* E( h8 v) C! e
( D3 r v4 K2 ^7 D7 D" p- l }
& }0 X& S) S/ e2 E) J1 z6 v
/ |- m& ^0 ]* z" C. \! ~9 d private void swarmSetp() {: c/ [- `8 X5 m q# {$ {$ Y. F) \
list.addLast(new Agent(Id));
2 y- d6 q; R. l+ F5 [0 r/ u Id++;
2 U9 v, V/ @. W4 m- F9 Z I }
+ H/ h: O( n! {( ]9 Y$ S7 g$ c% c: S( \1 p7 |2 G& c9 K% p
public Activity activateIn(Swarm context) {) ~9 J4 l! s. @8 |. _# h
super.activateIn(context);
# {7 I3 ~- i0 L1 ? schedule.activateIn(this);+ o+ b; ?1 A0 r
return getActivity();. A% o, Y# r2 k. i1 P9 h! @
}
4 i. {7 g3 h. p/ E% u5 X+ T a0 i
public static void main(String[] args) {
; b1 N3 y& ^/ D3 A1 I. Z) t Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
2 O- g" S% @0 `( P( R* O Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);3 [* {& l7 q: C+ C& `4 W
swarms.buildObjects();5 a. x! @$ e% L2 E: j0 c R
swarms.buildActions();$ P3 k2 H: |* C! _4 l" W6 F
swarms.activateIn(null).run();5 U: g5 b% h* ]2 O8 d
}' `2 K# _$ I5 {5 f
% \( Y/ ?$ X- t' n} |
|