设为首页收藏本站

最大的系统仿真与系统优化公益交流社区

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11832|回复: 1

[求助] 总是出现swarm.SignatureNotFoundException错误

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 0 N0 V# H5 G" X# M. `

, }# {$ B& z7 }# l) d  @- v* b. R; m本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
) Q2 ?  ]7 o4 W, ^/ `# w以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.* W! m- Y. \$ h, [4 r6 h! ^
swarm.SignatureNotFoundException
+ `- m7 |: e) _) u0 V- p/ |        at swarm.Selector.<init>(Selector.java:76)
  H/ r# S9 ~4 I$ z" q$ A        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)( Z. j8 G8 e& x' b2 B: e+ h
        at ActionGroupDemo.main(ActionGroupDemo.java:67)% U2 K0 s& i7 z8 f" f" s- ?, Q

, K8 E  E1 H' ?. ~: h/ w, p9 b* m3 Z, r. F+ i
import swarm.objectbase.SwarmImpl;
+ j) A4 a5 p" S0 o. ~$ ^import swarm.objectbase.Swarm;
# r. v; X. ~) J- ~8 n9 {; Dimport swarm.activity.ScheduleImpl;* A; e) R+ ~& \. a. Z
import swarm.activity.Activity;
" w+ O, U7 ?1 \2 i- X7 G3 U$ kimport swarm.activity.ActionGroupImpl;" x1 B1 e/ l2 E8 R  f  E5 u8 u
import swarm.collections.ListImpl;
. s( C0 Z' k6 X0 uimport swarm.defobj.Zone; 3 n6 m+ _4 E. r; A' a9 C4 z& @
import swarm.Globals;
; [! v6 B  }, l. H. h% |% R' K2 Wimport swarm.Selector;
7 R0 q$ G0 x. l0 [) r$ ^' Zimport swarm.activity.ActionGroup; & w5 {0 @7 `5 v, O
class Agent {
  j% @# |, ]/ r, s2 C& B: ?        char id;
; o( H% E% S# ?4 f( u: ~5 N& m% v: m, u
        Agent(char id) {6 y3 H! O$ p2 h' u" y/ e7 w
                this.id = id;
$ i# }7 y$ g# z) t9 [5 x6 M7 s        }
# a" [/ ~2 k4 h- p9 Q; A7 w/ n. l
2 E2 u) F/ ^; @- ^8 y+ H        public void agentStep() {' B! K' o. d8 j5 H$ r
                System.out.println(id + ":" + Globals.env.getCurrentTime());
; S% A  Y% g& c& n8 e        }
6 i/ v2 G  p% }7 j+ r* Y}4 f+ N1 K9 ~# L9 L
/ Y6 N( b. ~, V
public class ActionGroupDemo extends SwarmImpl {
3 s9 E6 M' w/ R! ?& ^" G; D, U        ScheduleImpl schedule;; c8 r* I- l9 K! B
        ActionGroupImpl actionGroup;' j, |- b, J, {; X9 b
        ListImpl list;% D& L3 b! }4 ?
        char Id = 'a';% u' w. {" h% o+ ]+ q9 g
1 k5 [3 {5 d1 y& n
        ActionGroupDemo(Zone aZone) {
9 I( ?( v7 z7 m& y! B7 T                super(aZone);
' Z3 B: O; K; a5 P4 Z) B                list = new ListImpl(aZone);
5 D5 ~4 Z2 @  I                swarmSetp();
) L5 g( _/ l1 f% C1 b. B& H1 c3 E                actionGroup = new ActionGroupImpl(aZone);
/ y' `; `. s, ^8 s                schedule = new ScheduleImpl(aZone);# m/ S4 T- T/ ~1 c$ F$ O% f3 V
                try {, ?! A/ a! s& Y6 D* x9 q3 U
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);; q2 I- J8 K* z  d
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
* U0 ~. }3 r% I  G- f, d- P                        " p2 w3 c( }2 r( P. v, l
                        actionGroup.createActionForEach$message(list, agentSel);
+ s' P2 M* J& u" R                        actionGroup.createActionTo$message(this, swarmSel);
, r6 d3 b/ G! J7 s5 ?" s                        schedule.at$createAction(0, actionGroup);
: K, |8 |5 L* h7 Z                        schedule.at$createAction(1, actionGroup);
: s5 W+ L, O  g" \+ K; e: ]                        schedule.at$createAction(2, actionGroup);
" b. q, q; P1 e. b9 c* f6 v! r4 Q  }: ^4 f9 X4 R
                } catch (Exception e) {  |1 [! j$ F. e3 x6 e  p8 k+ j4 F
                        e.printStackTrace(System.err);9 v7 n: n7 d  W# F
                        //System.out.println(e);1 D8 S3 O5 d* q9 C7 O
                        System.exit(1);2 i% U" ?7 z4 y  D
                }! K- o. y" _/ A  P& U5 J. o

% [4 n2 b0 P. W$ I* j0 Z9 b* B$ w* ]- n: I! ?
        }
+ l; V, L3 l& N: h. C, z
0 E, {' V5 y$ ~0 v        private void swarmSetp() {; |  s8 d# {# U2 D, ~
                list.addLast(new Agent(Id));
" s" Y; o8 o- W                Id++;8 i7 E# G" Q. t0 b9 _8 ?
        }- u  S7 `5 S; l1 H$ q/ Y/ b7 }/ D
% @+ B3 B3 V) g6 D9 j
        public Activity activateIn(Swarm context) {
. ~1 b' _6 v( B/ q% X# g                super.activateIn(context);
+ d/ p; [! W7 e- z) z1 E' k                schedule.activateIn(this);
( x$ `) p! d# u: i/ k/ ~                return getActivity();
9 r, q% L% e  G1 H" s* Q        }
$ }$ U. H9 O9 q
' E1 l# g/ w0 ~8 ?9 f$ u  k        public static void main(String[] args) {; U8 B! d( f/ Q" u$ p& t
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
6 x- k0 a) i, O) e/ M; ?                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);8 X' U! [5 Q$ \2 N0 I
                swarms.buildObjects();1 |/ j- N5 B( U7 E6 \8 \1 @
                swarms.buildActions();
  D/ Q) l1 Z* v- @4 y+ Z3 ?                swarms.activateIn(null).run();
; D3 Y/ T* z0 o8 d3 R3 |; w        }
1 w, K+ ~* `0 J8 R. Q, S
0 t/ f7 e1 r! u6 O/ R& u! b7 r}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|SimulWay 道于仿真   

GMT+8, 2026-7-23 03:34 , Processed in 0.016444 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表