|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 1 }- u2 n, D% }7 a
* m8 H* M, ?& L0 F. m% d9 g
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21/ ? F; H5 }" O! c
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.: f7 u! h) b" ?9 X- A/ }. b# D- B
swarm.SignatureNotFoundException8 S+ b2 t) d! J2 n. k
at swarm.Selector.<init>(Selector.java:76): k' `' h+ P2 f( P. d; C( p4 G
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
( l2 ~+ c/ [4 P3 d" | at ActionGroupDemo.main(ActionGroupDemo.java:67)0 C ^' e& V# q3 s! }( L; M! o
* J' }. m/ D" |' V- r
+ W+ l3 o0 A7 Aimport swarm.objectbase.SwarmImpl;0 s4 e8 N: k/ M/ {9 z7 }% O0 f
import swarm.objectbase.Swarm;, m8 m. V% \ }
import swarm.activity.ScheduleImpl;
# |9 ~. [7 d/ Z/ Y w0 {import swarm.activity.Activity;* N7 R! w, e% F$ s; r) a
import swarm.activity.ActionGroupImpl;: ]( ]. G0 _( k- P) v- m3 `
import swarm.collections.ListImpl;
2 q: X ~! k! Aimport swarm.defobj.Zone; # T9 M/ u f5 D' O2 B8 ^
import swarm.Globals;& Y8 m7 }, U: Y, O
import swarm.Selector;
- r( d% U7 ]* M7 C. J( Simport swarm.activity.ActionGroup; # A3 c( m8 s+ [3 i6 _
class Agent {
% g0 C" u. F, A. E* t( \ char id;
/ f y/ n5 m/ Y X$ n+ _4 R2 I8 N% {4 _" u8 L
Agent(char id) {
1 U( s8 j/ k$ z this.id = id;+ Q4 K/ a0 S" S# ^
}
* a* U5 H( F+ g5 T" \. S- ]1 z' a4 k1 J1 w1 J& ^- ~ _# @
public void agentStep() {
0 a: x# l' U9 ]9 u/ m+ F9 Y! [. c System.out.println(id + ":" + Globals.env.getCurrentTime());: n$ `; o& [. [5 G0 {2 |; V
}% ]% b& r! C9 y" q
}
" c+ O1 X( m( Y* A# r2 z _1 M e+ b3 [- Y
public class ActionGroupDemo extends SwarmImpl {& E7 }. y6 Z9 I! ~* r9 l
ScheduleImpl schedule;+ w8 H5 B6 `4 C; \3 N1 ^) {
ActionGroupImpl actionGroup;
$ @" s# k U5 O' G ListImpl list;
$ _3 G( K, ]1 o0 r/ h( C char Id = 'a';
2 `/ [* m3 @+ x( P% h
- E9 z1 f- |' X: K# H( l: u* Q ActionGroupDemo(Zone aZone) {
6 {, O% a* U: M" b2 e. `8 g$ i super(aZone);
1 B$ p- X. S2 x0 x& w% Y list = new ListImpl(aZone);% W3 C, H @% I! P2 T. k/ c3 |, C
swarmSetp();
1 `; l& X- o, |5 A/ P actionGroup = new ActionGroupImpl(aZone);
& ~" m/ ?! E6 C5 ] schedule = new ScheduleImpl(aZone);9 l4 {# ^( N& t# o
try {
2 L1 v0 _# ]" N1 b+ I Selector agentSel = new Selector(Agent.class, "agentStep", false);
) c4 ]. z5 t0 p# n( ~ Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行, W8 x8 q& d- J3 G
3 `( R5 Q& W' D( s
actionGroup.createActionForEach$message(list, agentSel);* \4 d4 _- i$ v* V1 E& d* U' B
actionGroup.createActionTo$message(this, swarmSel); s/ Y$ l3 \' ~( U
schedule.at$createAction(0, actionGroup);
1 r% S% d3 d! }) { schedule.at$createAction(1, actionGroup);
, ^/ L; {! G4 L schedule.at$createAction(2, actionGroup);
@4 J8 E- `2 i5 X2 i2 h S0 [; t& M, w- P$ Y+ R
} catch (Exception e) {
" e. u# ^0 O7 O7 c) { e.printStackTrace(System.err);# V7 F/ P, Y, [) i& d
//System.out.println(e);
9 t" F, ~8 c% ~ System.exit(1);
7 s1 B2 A" n* [: P% v }; S. T7 S4 U9 r& r/ N' W/ \
/ }+ P$ S4 T5 \% d. Z5 N+ @
* D" T& G& A, E( O2 ` }
4 ~5 v% X' }+ V+ q
# k+ e' Q6 i* T8 r private void swarmSetp() {
2 ~8 d8 t+ [9 Y; q( y$ ?( \: D list.addLast(new Agent(Id));& X, U3 c2 p+ C( {4 R8 O) Z) H" o
Id++;8 A7 q. P% t5 w
}
8 |$ C: H' M/ |6 e' N: f! t
; ^( R! I1 M. B public Activity activateIn(Swarm context) {
* K5 K; n9 H& E super.activateIn(context);& Q+ J- I5 U1 q( o
schedule.activateIn(this);
: i L) l: k% | return getActivity();
: C# w y3 `( Y2 C- M }
& N C0 z8 r+ x1 X$ ~- d0 H7 M' j) O3 z* J/ ?" [
public static void main(String[] args) {
4 @5 e3 n! a- r" |* K2 [. z Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
, t% n7 H" {1 D2 X6 i Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
+ i$ @ \& ] n$ W" v1 t7 q2 Z* ^ swarms.buildObjects();
3 e- m/ E+ \& i8 X swarms.buildActions();
, G+ }7 n, H- v0 c' A swarms.activateIn(null).run();$ n: B J! f, M+ r" r: i
}
# F, L! P" j# c4 d6 ?* f. ^) A2 b( {9 Z
} |
|