设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9087|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ' ]& d& b9 x5 W. l  E" i  p; s; o
0 e* K% T  F- U% ~" ]7 V+ V
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
8 O: {% |' ~: w以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
3 p; D( g, N5 F& |, a" Eswarm.SignatureNotFoundException( c7 A% g6 R# H/ b) Q$ K
        at swarm.Selector.<init>(Selector.java:76)+ r1 C" c, E1 D5 H9 r
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)$ ~7 S, q: {- Z! R8 {
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
1 R  ~/ I: T5 ~  }# _8 i9 X- P5 Y2 l. I* K

2 O- X' V6 [2 J; A6 V; Fimport swarm.objectbase.SwarmImpl;5 z* s$ }$ f3 e3 h$ Z
import swarm.objectbase.Swarm;9 C% l: h) ~% u# y; C: ~: i9 e( S9 R
import swarm.activity.ScheduleImpl;
1 `6 q$ a  F8 `, g+ |2 o1 `import swarm.activity.Activity;" J+ e) q3 r- E8 t
import swarm.activity.ActionGroupImpl;
6 w+ t. m% N) R0 v1 ]import swarm.collections.ListImpl;
2 X; n1 e' i+ X. L  j; i* H) D9 cimport swarm.defobj.Zone;
& F& E' [% A4 L% jimport swarm.Globals;$ [0 `( S7 E8 b
import swarm.Selector;- `" q: z5 o8 g/ c+ `2 E
import swarm.activity.ActionGroup; * Q7 K  A- h- C
class Agent {
8 u/ H0 e9 H, w/ K/ Q7 L        char id;( M* d1 c- |1 @0 r& O) Q/ E$ c
' j. ], Y$ ]' t4 n5 }& W6 [0 ~
        Agent(char id) {
# ]" C' w2 w2 q) U% }                this.id = id;, s* K. @6 l; g" P
        }
: H% E! i8 E% M1 a+ s4 r  n& Q5 ]
# @; n: x! i& ]        public void agentStep() {
8 p6 \7 H3 U. w                System.out.println(id + ":" + Globals.env.getCurrentTime());
9 |4 I' w( p4 H  `& C        }
, _8 ]1 n/ `  l5 S/ M}* K) t$ Y6 Z  D: m: n
- b4 Q% k8 m. Q
public class ActionGroupDemo extends SwarmImpl {6 ]" K+ U6 g9 Y4 Z: w, M5 H
        ScheduleImpl schedule;& u# C, k# |4 T2 J
        ActionGroupImpl actionGroup;
! q  t& D) e  D3 s9 S  B/ K        ListImpl list;
+ t1 \" o4 O3 |, [        char Id = 'a';( n- Y8 _# R9 _

8 w2 K6 f% L$ D  c' i" o$ |        ActionGroupDemo(Zone aZone) {
' t& K; g2 z7 ^5 ~7 [" |5 t                super(aZone);' i" j! A1 E2 B+ d; Z
                list = new ListImpl(aZone);
) T( K, V1 I6 M0 W                swarmSetp();6 R6 ]: z$ g% S6 P
                actionGroup = new ActionGroupImpl(aZone);
- f0 I. M6 s( U6 b4 [) D                schedule = new ScheduleImpl(aZone);
6 A6 \- i- m" U/ x                try {8 f0 h7 l/ g" C7 m1 Q+ R. ]
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
, w8 n, l2 U$ C( w4 q/ ^. n9 `                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
6 Z# k  `! i9 R/ }                        
- k2 I4 B  Y, l% U, E  K: M                        actionGroup.createActionForEach$message(list, agentSel);) w/ h) ~" q5 S' P8 }1 t
                        actionGroup.createActionTo$message(this, swarmSel);& ]" q" C6 I9 [* W
                        schedule.at$createAction(0, actionGroup);& C/ a$ z) s" Y
                        schedule.at$createAction(1, actionGroup);
3 C4 u4 k- J% O5 X( ^* {- R% ^  P                        schedule.at$createAction(2, actionGroup);
! }  a" \% H, h' e
; d3 ^! C5 r5 d& ]6 m                } catch (Exception e) {7 P/ N" h" c6 v3 s$ d  s
                        e.printStackTrace(System.err);2 q- d' u0 O; S  [( _$ D9 |3 U
                        //System.out.println(e);
3 C9 j0 j1 \* d; l2 w6 A) K8 m% n                        System.exit(1);
3 C' {- _7 Q2 I8 a                }+ i! k+ L" Y/ E+ K: j- t
8 D9 v0 W% u' w, B3 x6 f$ |- h

1 j" v8 Y( o& R  U( O        }& y7 [/ z! F! P, r7 q: K4 j
: @* R, w; C" N# W" q6 k
        private void swarmSetp() {8 ^& `3 ~  {( n  |
                list.addLast(new Agent(Id));, c, f( K' z# H# J$ h* \' L% u
                Id++;3 w' E9 W; k9 m, J* }: v8 N
        }1 S7 E# R3 Q. g

9 X8 b6 j! M/ {; q        public Activity activateIn(Swarm context) {  `$ W. n$ U4 v  I3 {1 I
                super.activateIn(context);# z6 j! G" e. K
                schedule.activateIn(this);
" o0 y7 V; b% ^1 e/ |                return getActivity();5 Z. W/ Y, q! ?; g: }9 j# q
        }% G. p7 j" G& I9 M
7 e7 m; }% O: N% o: H  e% J* M
        public static void main(String[] args) {
( k6 b3 E, ^/ v5 G3 C                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
! Q! o9 _& S- [4 `# Q                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);( g$ Q' v( p4 c" g) s0 g! g
                swarms.buildObjects();! W& S" I% I2 d/ t3 N7 z
                swarms.buildActions();/ n3 j! [! u1 H% ?' y0 y' J# Y  G+ @
                swarms.activateIn(null).run();# Z# a; ?0 a9 X! N6 v6 {
        }
/ \4 R( v; R3 j; [+ d, g" l8 x$ ^) F- `6 S/ b& Z
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-1 03:58 , Processed in 0.022842 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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