|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 # q" x0 e) `5 @4 F! \
1 j9 C# F; u3 S5 s+ w( S本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
$ b9 p% |. w' i# q以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.+ L! ~9 a; g8 d" I( ?" c
swarm.SignatureNotFoundException
0 ?0 @/ X4 N" M2 @6 `- ]/ g at swarm.Selector.<init>(Selector.java:76)
9 k0 m6 I6 ^% s6 v5 Z: k at ActionGroupDemo.<init>(ActionGroupDemo.java:37)6 n* f" S0 p# R: B( S; I# e
at ActionGroupDemo.main(ActionGroupDemo.java:67)/ b: x; e1 g, p& \+ q
) F( V% K9 Q" o
% Q* W/ y u8 o9 |
import swarm.objectbase.SwarmImpl;& a. h H' A: W/ S: `% p. t8 T
import swarm.objectbase.Swarm;
9 B4 D2 p" r" v+ F: y5 x/ cimport swarm.activity.ScheduleImpl;
+ ?7 U/ R8 ^, a" T: Iimport swarm.activity.Activity;
( _2 F1 v( y2 J0 \( _import swarm.activity.ActionGroupImpl;% h) ~0 b( d: D0 A3 T- R
import swarm.collections.ListImpl;
b5 `6 j( y( V' u _8 uimport swarm.defobj.Zone; ) @! Y& T* M4 L) {
import swarm.Globals;
1 H, w B2 [( q/ K' m$ Himport swarm.Selector;" V& A8 N+ w) m
import swarm.activity.ActionGroup;
/ l+ X, E5 @$ I3 {class Agent {4 a' q5 _# D' a( X- e+ ~! A$ K
char id;! X. o9 r" Y8 } r+ D
6 B. C7 N4 C6 ~ |$ y Agent(char id) {) x9 N% r+ d9 [ c9 Z7 f. W# [6 P
this.id = id;
. |* y+ B- p1 [5 e* `4 t" n3 c }- k$ T! n4 W5 \/ w- J8 \0 e
# N- [3 A W* S: F' J8 r$ d, W
public void agentStep() {+ b) u. P& d3 R( N9 j+ a5 v8 h
System.out.println(id + ":" + Globals.env.getCurrentTime());
; ^) L' z5 X/ N( j6 C& _- l }6 n( v, T$ B. `$ B7 F
}5 c. V# E1 r5 ?
9 m& c; w8 d# ^9 g0 S9 a x
public class ActionGroupDemo extends SwarmImpl {
3 u0 z$ |3 W! _2 \+ n) C ScheduleImpl schedule;+ x. a) Z g H
ActionGroupImpl actionGroup;; j# ]7 r c& X
ListImpl list;
4 Z4 c4 S' b; Z# h9 e" G' [ char Id = 'a';
: j, V" M. u. _
6 W3 D" |& B4 _ c ActionGroupDemo(Zone aZone) {* W4 d' z6 i& J. w
super(aZone);
( J2 _. o/ ~ M' D list = new ListImpl(aZone);1 E g! f d$ J6 ?4 x; v
swarmSetp();
5 G% Q; O: P. E actionGroup = new ActionGroupImpl(aZone);) b' J: |/ o0 |6 h0 f$ G
schedule = new ScheduleImpl(aZone);5 G" P+ `: P1 J+ U1 `5 q
try {' c( \7 T% w: Q* o0 R
Selector agentSel = new Selector(Agent.class, "agentStep", false); r5 T: X2 X0 a8 A3 \
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行% f3 m; Q5 F4 e
4 }$ P: o- b8 [3 m
actionGroup.createActionForEach$message(list, agentSel);+ _) U+ [% _1 y) E( Y- `; E
actionGroup.createActionTo$message(this, swarmSel);
}4 O7 f2 h' f# K) ^& z0 P1 W2 L) \ schedule.at$createAction(0, actionGroup);
9 j* P0 f+ p Z% o+ H5 f4 d& P schedule.at$createAction(1, actionGroup);
9 S. b! a7 \' D& a; j schedule.at$createAction(2, actionGroup);& h- `! j3 P- m" T1 l0 _
, F% R4 \: _4 x/ @( A } catch (Exception e) {6 p, O* v# j: {" S+ G5 V
e.printStackTrace(System.err);" {6 J- O0 ^4 @) ^
//System.out.println(e);
( |# a% W$ m" e System.exit(1);9 I. r- t2 y9 q. w& N) p- r, e
} c# D# k' u6 T7 Y+ N3 ^* J- K
* g9 v8 N1 n" Y5 Z k
" j# Y7 ]9 ^0 f
}" \' ~' n$ N$ j1 F& O f- X
) e* H) N' U, k' N3 g
private void swarmSetp() {
% W* j4 _7 `8 i' ~( P2 W list.addLast(new Agent(Id));# i# d. S: g5 U/ p$ z+ r8 ]( ^
Id++;, G" U' ?$ J+ K4 ?( y
}3 w; F% z* |, e
/ P: P) }1 P8 l) n% C
public Activity activateIn(Swarm context) {
3 r1 g3 R. F# D n, B super.activateIn(context);
, h/ f( e( g: S+ _0 u. N0 q$ [2 Q3 ] schedule.activateIn(this);
' W2 |# N' I+ [4 w! M return getActivity();8 C) G |4 J/ K) z( ]# M" ] ^
}7 V# E* z# R2 ~2 J
( G7 o7 ?( Q; h/ r
public static void main(String[] args) {
& e! d$ o3 I* R( h. J6 x0 x Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
" G2 h- t, P) T) K Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
7 a D4 O' m8 z6 d' F# ^2 J swarms.buildObjects();% _! x, u; d* P
swarms.buildActions();
" v/ |3 r) L& K2 N* h swarms.activateIn(null).run();; E& M; J; h3 @: ~ k
}
6 b* p2 v0 B) `$ \# ^! E, y
6 }# @- z2 P+ h( A( |, y} |
|