|
|
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 L/ r3 `! S2 ?, ~( N- s! }8 y
, X7 a) x L7 w* T# P. z( r3 r
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
6 X! G8 y1 y* I% _ U以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.4 E1 y' F# A7 j) ^9 A
swarm.SignatureNotFoundException
/ q7 P& ?" l. p0 P6 [8 o; P, k) e: { at swarm.Selector.<init>(Selector.java:76)
] j' g! |1 o$ u at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
. {8 O. j, J8 n) C& m/ s" h2 `7 v at ActionGroupDemo.main(ActionGroupDemo.java:67)) X+ g+ w! o: {+ D: p0 F2 r0 t7 [7 X
* H" L2 E* A* {6 g$ c1 d* a1 b; Q& _8 f
import swarm.objectbase.SwarmImpl;, T2 J# _: L4 _* n, w; k
import swarm.objectbase.Swarm;
$ S- N& {2 O y& rimport swarm.activity.ScheduleImpl;
+ s; e9 }( Y- V Z! c; {, _! H! Eimport swarm.activity.Activity;
7 Q2 k0 j Q9 g/ ~; Jimport swarm.activity.ActionGroupImpl;
: M/ I% O% N9 l- Z+ ]. @* aimport swarm.collections.ListImpl;
: a: Q$ j1 a* T1 Rimport swarm.defobj.Zone;
% U( H( Z. r# W5 J8 yimport swarm.Globals;: ?& i! F9 A0 ?- Q5 [) v
import swarm.Selector;$ [' k' s. w$ W" V2 _" g
import swarm.activity.ActionGroup; : w" J* R! p5 |' Z
class Agent {. K/ s8 m: K4 R! r* M/ q2 O
char id;6 r' c' D! R, u$ t6 L" ?
( w! w5 N6 g+ k
Agent(char id) {/ r2 B9 \; @& e5 h( J
this.id = id;8 q) [% M5 z) A5 q* [ G+ U7 w
}2 |4 _2 G$ @8 N4 a3 e
0 C6 c1 L* r V
public void agentStep() {
4 G' E4 C) j% ~: C: v9 K" g System.out.println(id + ":" + Globals.env.getCurrentTime());
9 ^/ _. @" L) r, h0 N2 ], h" ? }
/ B0 b, x' m3 C/ T}- \5 l' [. O- A7 C/ h) r# `/ U
9 F" b1 p2 ^5 N l- P0 K
public class ActionGroupDemo extends SwarmImpl {$ h$ \% l3 I- e2 O8 D3 v
ScheduleImpl schedule;
3 h% y: V, B8 n* X5 q ActionGroupImpl actionGroup;( g/ D, @5 N6 A9 f' k' i
ListImpl list;. g0 K5 K9 J) V# w
char Id = 'a';) y# C, ?% F$ {
3 @! a( u$ F8 B! x- Q
ActionGroupDemo(Zone aZone) {
* m* \: `1 F R8 w+ C2 H9 l) G super(aZone);
2 Z/ E/ ]. z) m+ ] list = new ListImpl(aZone);
' x1 E# Z8 T9 _! N4 B( x% m swarmSetp();
% e( o, g3 R6 D& @( { actionGroup = new ActionGroupImpl(aZone);
@7 t4 y8 i$ I schedule = new ScheduleImpl(aZone);
) }- `( g' x5 l4 R try {
& D' |* b3 K, g4 g8 m& L) | Selector agentSel = new Selector(Agent.class, "agentStep", false);2 o+ c; P: @1 e$ f' N7 |
Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行1 e# M! O& z; Z3 p& S
7 s3 g4 U" A& w actionGroup.createActionForEach$message(list, agentSel);
+ ` Z: a' s9 G V actionGroup.createActionTo$message(this, swarmSel);5 a' f H7 Z: x6 d: Q! ?
schedule.at$createAction(0, actionGroup);! }. K$ q( {: w# A; M4 ?! E1 k
schedule.at$createAction(1, actionGroup);1 w3 N! S. o& n
schedule.at$createAction(2, actionGroup);
4 n- R. o% `% ]0 a6 d1 x/ F" ?# q: t3 Z4 S2 U3 z
} catch (Exception e) {
0 A4 u1 a- g3 t! T. M9 [ e.printStackTrace(System.err);
, w) b$ Q4 @* M //System.out.println(e);. b8 |6 g0 V! e9 q
System.exit(1);
A& |* I/ C- n9 t" i3 {3 M }# v5 X0 G" `6 v% ]. d3 @ F8 N+ j
* q+ C: ]6 H H/ Q+ |. ~ [8 P+ y/ I* d" i$ c
}* i3 s2 ]4 Z ~0 |+ L
7 V* a0 |# K8 K6 P' T/ X private void swarmSetp() {- ~1 v3 q& L$ ?: S$ u
list.addLast(new Agent(Id));
2 `; a+ T0 }) Y Id++;
3 Z4 B* \( @. F }
& v- }) H0 u; k9 I
6 }( l* n( z6 z public Activity activateIn(Swarm context) {
4 n+ Q1 @- S4 ~( V super.activateIn(context);
. R* y% F, c6 a+ Z7 G, E schedule.activateIn(this);
" T4 R; u% S5 u- ~% ~ return getActivity();
! _2 M2 r0 A0 Y; S4 c3 G) s4 W }; x2 _- E4 ^+ R; ]6 A
' N. f" O6 s0 G: ?6 W9 B" ]7 ?( m
public static void main(String[] args) {
0 P/ Q! f( ]6 g Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);2 b) s# O& C: M, y, K& f8 ^
Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
3 S! @. H5 D( K% e" j swarms.buildObjects();
8 \* i0 X& v& ~( k w* V$ o& _ swarms.buildActions();
8 j" I) |; j i! E/ Q' D" { swarms.activateIn(null).run();% F2 m( @. o. Y ]6 x
}3 J2 U6 \5 {" q
3 e9 X- Y4 f; g5 Q2 u6 _} |
|