|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 * r, F# Y9 c" l, l5 U
+ s$ t* P' R) i# ?3 X+ e% e7 l
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update216 Q! j. \( W1 z4 x4 P! v
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
; D: ?$ y" e; }2 Z2 G4 Oswarm.SignatureNotFoundException) [1 R9 B9 X2 l( u$ r% P
at swarm.Selector.<init>(Selector.java:76) ?8 f1 U7 Y3 `1 M8 w6 h
at ActionGroupDemo.<init>(ActionGroupDemo.java:37)! F. Q* V+ ~3 X0 T5 Y' U1 G/ e! A
at ActionGroupDemo.main(ActionGroupDemo.java:67)8 `% H" t5 K) W8 g& q( P
+ X3 z9 V4 ?- h" b- e
# X9 Q6 X9 y4 q- k1 T7 o
import swarm.objectbase.SwarmImpl;
% `" _: [3 n4 l3 ~" E, fimport swarm.objectbase.Swarm;2 V) i C1 o P8 q
import swarm.activity.ScheduleImpl;
8 f) L. a% [2 l5 Eimport swarm.activity.Activity;4 h* _' L! H! D7 ?8 Z2 `& o& M
import swarm.activity.ActionGroupImpl;
% J# E2 ?4 k1 X# O' G2 h( Kimport swarm.collections.ListImpl;- E$ ~* B% X9 |6 N0 |& B
import swarm.defobj.Zone; ; b9 j1 K3 T- _7 t" G4 V8 B. i
import swarm.Globals;4 I$ h7 l: v! i0 K; v2 M) _+ }
import swarm.Selector;( u0 c% ]8 ^! o A
import swarm.activity.ActionGroup; 0 P1 }9 V4 {' Z% u3 _9 D
class Agent {
7 k9 q, O% w- l" } char id;/ \8 R" d3 y: U( r2 V! {
1 Y5 N# R1 U- Z% r
Agent(char id) {* |6 a/ Y: i$ w8 ~# u
this.id = id;. j# a& A. Z, _
}
# L; x+ J( N9 s. I" e
/ S: h' O1 j5 a- q% Q; N9 e public void agentStep() {5 ?4 I1 e. n _. |$ ?/ e
System.out.println(id + ":" + Globals.env.getCurrentTime());
) E4 o6 J! \* L- h- G7 R }
; t5 ?" r5 F. o' J' o) {}" d( F9 U% d8 |6 T8 F1 O8 a
+ I" |- D; W% C4 s2 Jpublic class ActionGroupDemo extends SwarmImpl {
: A' a' `7 _7 I1 k ScheduleImpl schedule;7 H6 a! w Z0 Q# s5 t/ c) R
ActionGroupImpl actionGroup;
- Z7 y k2 _6 M7 U* i ListImpl list;+ X+ c K2 H) C# j% P6 `" K
char Id = 'a';
) H5 l- [3 @- L$ f5 K
& K3 \* L/ k: o2 o4 T/ ]& a i3 } ActionGroupDemo(Zone aZone) {! U) ^( I" j/ t/ l! D1 O8 B& S
super(aZone);
6 a$ B( m$ }: c- L* A list = new ListImpl(aZone);
3 e# L! U! O2 t* S) @4 ] swarmSetp();
% L: o) ~9 H0 X% @! E4 l9 d9 J actionGroup = new ActionGroupImpl(aZone);0 m; P/ s" R& r& E6 k# {
schedule = new ScheduleImpl(aZone);9 X- i. j$ V' T- e5 A9 M
try {; ?4 B) a# M ?1 @8 |: k
Selector agentSel = new Selector(Agent.class, "agentStep", false);. {6 i3 u+ N+ t, _7 P; b% w; W
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行. ~2 C. L/ _# H
. \. }1 V& `3 j2 ~5 g3 p, m! y
actionGroup.createActionForEach$message(list, agentSel);5 q' |9 J/ z+ H3 v7 C- D1 w i9 _
actionGroup.createActionTo$message(this, swarmSel);1 {$ l/ d) c$ f
schedule.at$createAction(0, actionGroup);
& `/ i! M, B; n ~3 F0 s schedule.at$createAction(1, actionGroup);2 ^, g# |- E5 j6 h( k* F
schedule.at$createAction(2, actionGroup);: C# ` B* u9 Y9 B
% L% N: E* P3 |1 c$ [* O } catch (Exception e) {
" O* J: `0 O, @$ l1 H e.printStackTrace(System.err);
j) V( q' H5 N6 d4 _! G //System.out.println(e);1 a( e" I3 X7 B4 w( }3 P1 k6 A( o
System.exit(1);- S4 P7 M3 T1 K4 ~
}. K7 r4 [" _* M, Q
% r( Z7 }% E7 w' N) X3 W
" p) ~% x9 @( g$ l. | }
$ X' Y$ O# `9 V, t0 V2 X0 u2 Z3 U4 y; a7 P7 }+ c6 m# U$ m8 E- y
private void swarmSetp() {
* a# b! Z" b3 M list.addLast(new Agent(Id));2 A# K& @1 `8 m) I3 _
Id++;
" _# G" E0 ?3 O' k" @ }
+ ]; B4 i$ d% M9 `. F: r+ V5 K( f' D% F9 Z, K' l
public Activity activateIn(Swarm context) {
' y# o' [; u/ q$ o* ]* d super.activateIn(context);) a$ @, N- x( b7 @+ g# @
schedule.activateIn(this);* R+ b4 f: O/ @* Y2 |+ ]* E/ m, Y0 M
return getActivity();9 e4 m2 ^* L$ R; U
}
" d6 J6 c+ Q1 X0 L, i3 {$ \$ E: B* Y% B/ f+ A4 F" r/ P: T" w) [. A
public static void main(String[] args) {
" p2 R! ^7 _2 w5 B' A4 w- h5 O Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
6 _8 x2 J( ` f4 q( ]$ o Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);7 z( H1 c- s/ z3 N' J
swarms.buildObjects(); r0 B# g i. u5 e
swarms.buildActions();( ~4 ]: f B9 L f1 n. b
swarms.activateIn(null).run();
4 ^# n1 ]* e) Q7 L3 ?. W: p }1 M3 u4 g c$ o G5 H: k. |
4 N/ |0 K, r$ f5 G! R. R8 C) k
} |
|