|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
n" E2 z. m* q7 k3 P; T4 ?; X+ ~- M5 n3 y8 H
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update212 _' K; q/ Q; z# T1 h$ f
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.8 w& r$ F! v+ p# y* @1 `
swarm.SignatureNotFoundException
7 q% [! t0 b6 b7 L) o at swarm.Selector.<init>(Selector.java:76)
7 V3 _0 G+ v Z5 q6 N8 ? at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
$ T) a H- q4 j3 @ at ActionGroupDemo.main(ActionGroupDemo.java:67)- T g' j3 @! m8 V
2 b* b& i6 d/ q: U2 X% V9 Z+ g
& k+ x: ^3 {; O. v6 E) L: L9 Q5 Pimport swarm.objectbase.SwarmImpl;: b2 e" b4 R# e! Q
import swarm.objectbase.Swarm;
' M7 P* @) s8 V0 j3 Wimport swarm.activity.ScheduleImpl;
f+ Y: Z" T) y) o/ H/ ximport swarm.activity.Activity;
/ L, L" s% w3 e: E, _import swarm.activity.ActionGroupImpl;8 y1 a8 |% f3 @
import swarm.collections.ListImpl;4 r) f) Q4 q- x/ B$ O% {
import swarm.defobj.Zone; " q# r$ a$ |2 Q+ C! `7 e7 G# w
import swarm.Globals;
3 C, e6 f3 x+ q) d9 m7 eimport swarm.Selector;" k' x& `8 j! p9 r. I( b
import swarm.activity.ActionGroup; 4 X% n4 @6 k# I% u" R% i! V
class Agent {
- X1 B/ {& k0 \ char id;
0 u! k2 A- m# ^ m6 k, D3 I
7 C* ~* C; x/ {6 ]/ \( p; k Agent(char id) {' p& B# d* t# O* N8 n
this.id = id;
: R1 }/ ]/ E& k }! d8 H: R3 Z( f2 H w2 p* g4 ]
9 l! k- D( b* ~
public void agentStep() {" v- a& h- a* o/ J7 n7 f3 U' A
System.out.println(id + ":" + Globals.env.getCurrentTime());% w5 c$ g! _5 i0 c+ X. a& O
}. y, c ? {+ T2 e
}
! c. ^$ O/ W& H1 p9 \: t5 O, f/ _: }: n2 b6 c, M* ]* L* s8 ?
public class ActionGroupDemo extends SwarmImpl {) _3 d* ]( v& L8 T7 }' F
ScheduleImpl schedule;
3 V. q/ f2 m8 V; }5 i! L ActionGroupImpl actionGroup;
4 E' D: |8 d% ^9 G/ D* V ListImpl list;/ g" c9 J, n, |1 _/ o
char Id = 'a';
( q E+ {4 P0 `9 ^: b; X+ D, }7 d e7 h
ActionGroupDemo(Zone aZone) {
2 q* l% m, {1 V, B super(aZone);
& D, z( n1 ?/ K, Q' b list = new ListImpl(aZone);
" B" G v" ]4 L0 \+ t% L! w1 L swarmSetp();
5 J7 z# E) g# T; |# _: h3 b actionGroup = new ActionGroupImpl(aZone);+ R: n. J4 P" t" h! F& F$ ~
schedule = new ScheduleImpl(aZone);
( z- V8 V1 k, s* z. \ try {
5 W1 f; ^: L5 x Selector agentSel = new Selector(Agent.class, "agentStep", false);7 T- F! h, } ~5 V
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行& O6 w+ {6 {0 y3 |( d
% n4 ^2 w6 Z9 `+ T
actionGroup.createActionForEach$message(list, agentSel);
2 U) I: D# w( x: C7 D actionGroup.createActionTo$message(this, swarmSel);' H/ I4 S1 W( u+ s4 B9 M
schedule.at$createAction(0, actionGroup);
+ b) g; M) o2 E" T* Q schedule.at$createAction(1, actionGroup);
1 h) e) ], q; }, z: }3 e0 [7 M" A schedule.at$createAction(2, actionGroup);* Z3 ]' K9 _# n, |% a+ z
( j7 H# g3 L1 J7 U X+ \$ r0 R
} catch (Exception e) {- K/ b5 |- A1 }
e.printStackTrace(System.err);8 y- h! O& n# l( A% t- N( E0 o
//System.out.println(e);0 B% D, D4 E' K4 x- {% |
System.exit(1);/ q4 F% W: @; s+ D9 `* E+ h& i
}
$ x4 g! U' U' s8 Q1 s; A7 L* o; U" S8 a9 d& \
/ A N6 v8 p0 I
}
" _, \5 T8 o( L/ n+ b3 x* f
6 J! V# `9 G) N4 w. A6 L7 ?- L, o; w private void swarmSetp() {1 k/ b$ R' }, O) d0 f7 X- g+ u
list.addLast(new Agent(Id));
7 p5 f) ~, p8 y; P3 n r Id++;
+ ?* }% p7 l- D- O: K }
' ?& _+ h y) `( F6 z' T6 z) G0 B( X& J6 {
public Activity activateIn(Swarm context) {
8 J) i, w' M9 G) j1 Q/ s1 |8 s' Z7 i super.activateIn(context);
" @; G8 z! c2 G2 a' ` schedule.activateIn(this);$ [) t' z8 S* q* w- \
return getActivity();
/ ]! W2 c. }; L, ?8 x }
& v" Z7 n+ J ~( c8 Q( P" ^6 M% Q/ t2 `$ g7 m* S
public static void main(String[] args) {
* A$ D# n8 ? q7 u* p$ G" n Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
. n% o4 j7 g; B Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);3 P% H) G8 Q0 Y
swarms.buildObjects();
+ h9 D3 i- E- ? swarms.buildActions();
c1 E( j5 w3 m8 N) Q9 b/ E swarms.activateIn(null).run();
1 M: Z# y( M4 ?( o' s% { }
8 \, k7 q) a' c o9 M" Y
5 |" @! z b. |4 u} |
|