设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6667|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 : Z/ l& s) y! r

, Q( k/ m! H9 _. w2 Y本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update217 u" i  b, n' B/ I
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.6 |3 c) ~* g9 N: ]/ f
swarm.SignatureNotFoundException; w/ x/ N1 W0 U( @: N: G
        at swarm.Selector.<init>(Selector.java:76)
  N; T  @- w$ \4 u- H7 i        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)4 ^" O4 L" e6 |1 K, b' T) }$ D
        at ActionGroupDemo.main(ActionGroupDemo.java:67)9 O$ G: q3 N" I, s/ U6 e8 k
. m1 j8 H. p7 m* r2 r! b1 _

% a5 |; i/ E$ L4 e: V7 Dimport swarm.objectbase.SwarmImpl;
. ]% Q( g% p$ S) p0 L  ximport swarm.objectbase.Swarm;/ H" e9 k* V8 T- M% H  h
import swarm.activity.ScheduleImpl;
6 \) U# W. ]5 @- _8 ?1 b$ nimport swarm.activity.Activity;) [/ r6 G' w# R+ m3 S
import swarm.activity.ActionGroupImpl;
" G& ?( D; [. F3 Qimport swarm.collections.ListImpl;5 p& C2 ~7 @1 e# N( n' A1 {
import swarm.defobj.Zone; 9 S* k) W* {/ y. |
import swarm.Globals;
4 x+ I& z: u) {" v: U% ?. Gimport swarm.Selector;
; |; _! ~# E: N0 ^9 i/ }import swarm.activity.ActionGroup;
1 Y7 i! m4 i3 t; y% ~+ t, ]$ @# dclass Agent {. {& W, ]6 \- g* n+ r
        char id;
  m, I9 R  E4 R1 ^( e# r/ j
  h; B; `: A( m0 @$ G- `        Agent(char id) {7 [: F6 d; e: Y: g( U7 ^
                this.id = id;
% d& ]4 g. D. v/ @- B/ B, o% C        }
& U' C, e! G4 O: A$ [
# p/ U7 w1 t! _2 L3 r' X+ q        public void agentStep() {1 f: R1 K$ H7 o( e
                System.out.println(id + ":" + Globals.env.getCurrentTime());- g" G% x8 o0 b- n0 q
        }- F% X* i$ W7 p% a' I
}, y9 V: V( K/ N; P- T- a9 e

& ?0 ?. a. R% Q. z9 Y3 G( vpublic class ActionGroupDemo extends SwarmImpl {/ H$ q7 ~6 X: t' l- d" Y4 |) X
        ScheduleImpl schedule;
8 M  p! B/ H) H( V& L3 T  _3 c        ActionGroupImpl actionGroup;
  p5 ]/ w2 b/ `( Z        ListImpl list;
) g* R. s; L' W7 h9 `; B        char Id = 'a';
7 n" \% S5 I/ T5 D, |5 j
% r5 I& R1 h6 t8 L2 T        ActionGroupDemo(Zone aZone) {
/ Z) b1 Y- \2 |# W                super(aZone);1 d5 u* s+ G) Y. k
                list = new ListImpl(aZone);5 v' ?7 K+ ]- d
                swarmSetp();( o, q( X5 Y! K: n# {
                actionGroup = new ActionGroupImpl(aZone);% m- q! d+ }7 k$ u
                schedule = new ScheduleImpl(aZone);
4 s& ?& m/ o2 y                try {
# k2 P1 c( |/ b, @8 w0 U0 [( P                        Selector agentSel = new Selector(Agent.class, "agentStep", false);4 U2 o6 w7 ]6 E6 c( V4 U  K2 \3 M: L
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行# ^, n8 A5 z1 t: Y6 @4 p0 [9 @. g% w
                        
4 _* _1 P0 G; s: _8 \7 e                        actionGroup.createActionForEach$message(list, agentSel);
: V/ I# A1 p3 q                        actionGroup.createActionTo$message(this, swarmSel);
. Y2 R! S2 `2 u& k; h6 Q                        schedule.at$createAction(0, actionGroup);/ k! [1 D! V9 K0 Y
                        schedule.at$createAction(1, actionGroup);
/ l: j2 f5 \+ U* D                        schedule.at$createAction(2, actionGroup);
% R3 l: h, _5 I+ n4 X, W. @# l+ Y/ E! M; ~+ c
                } catch (Exception e) {/ x9 `8 h+ o5 B$ v# f) r4 X8 @& d; @
                        e.printStackTrace(System.err);/ z9 Z: K6 S. X' Q
                        //System.out.println(e);
" y7 z1 r2 f0 u4 w                        System.exit(1);/ h5 L& H  P0 Q2 k
                }+ }9 @' }! j. T- _# r; {

* H7 K4 H- F7 b" P: b3 Q5 ~- A. v. w4 x
        }8 W* T# W) @# ?$ ^# ~' Z* m
5 ]6 Y# D; o3 q3 W; ]
        private void swarmSetp() {
* J  J% i# L% B  M8 B7 U8 E                list.addLast(new Agent(Id));( i$ U* ]! h$ w; O
                Id++;: S! c$ c2 f1 s/ y; d" r, R7 N
        }4 t1 N7 K  U9 D$ U

1 A  B2 V! T' a/ m" j3 C        public Activity activateIn(Swarm context) {
0 W4 L! k4 S& W5 `- u                super.activateIn(context);
" p, `. \+ S' D                schedule.activateIn(this);
  A0 t# I4 V/ J4 ^                return getActivity();
' B& V$ x( l: q5 o        }! T9 r+ J0 A/ Q5 `
, E7 ~4 s  Y& t2 Z/ l
        public static void main(String[] args) {: X* f, y5 Z# y6 y5 O8 |5 D2 X
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
; B: u' i# a& ?! R3 J                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);2 X5 b/ F! ?! }) g1 S
                swarms.buildObjects();
* w6 ~1 M3 {$ `" z6 O                swarms.buildActions();5 f( k# N/ D, p: x" |
                swarms.activateIn(null).run();& u2 Y" F% F9 O' ?# P
        }
( H5 `( `6 R+ f. U/ X( s' ]9 b; b) P- T- m: I: j# p4 M, ]/ S# h( a; h
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-5 03:24 , Processed in 0.015452 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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