设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11080|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
1 z$ B  d7 O6 v6 v
8 J+ f7 e& m# B5 F# x9 a2 c本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
# }# u* o0 v7 A5 Y以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.  u( W! l" @0 Q, P* K2 v
swarm.SignatureNotFoundException
9 K$ |7 a! n# @/ m, W        at swarm.Selector.<init>(Selector.java:76)
, x* X" f6 o9 o% z' h4 J$ z% Z' J        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)6 L4 o5 F2 V. T, g
        at ActionGroupDemo.main(ActionGroupDemo.java:67)3 R% {  u$ j7 w0 l. ~4 {7 v
$ w  ^. v- w1 c: |# {5 |/ k7 V( i

! A& t8 `/ J" G% p; timport swarm.objectbase.SwarmImpl;
" \. A% @) l- z1 Oimport swarm.objectbase.Swarm;
  i. d/ i/ O- f$ A  |' k$ {) Bimport swarm.activity.ScheduleImpl;
* U& @0 y* \* ~( Wimport swarm.activity.Activity;- X7 @8 i5 p0 a! ~3 S) M. W
import swarm.activity.ActionGroupImpl;
7 D+ o( Z' I" Qimport swarm.collections.ListImpl;
+ F7 S5 E3 m* i: r9 o  H2 G5 ?% bimport swarm.defobj.Zone; ( |9 [  _+ P0 Z" [0 M( P% T
import swarm.Globals;
+ j2 D5 |4 s4 Iimport swarm.Selector;( |2 N* B0 u4 o5 s2 d
import swarm.activity.ActionGroup; $ B) m/ G/ U" t0 s' `
class Agent {* }# p! g% i- ]
        char id;) n- c' l& g* A% _/ {

3 l4 G" q- T  o+ y. x        Agent(char id) {& [3 ~# P+ \) u
                this.id = id;
6 m- [6 b* y5 W) _        }/ a& ^: T5 ?5 d* u5 l1 f0 r3 x
( o5 S" u8 J8 N! y
        public void agentStep() {
0 A( B( S, c" k/ m) i; [                System.out.println(id + ":" + Globals.env.getCurrentTime());
. \- d/ O& q' z6 p( A        }, f: X8 }; ]. b% j/ I+ w% m9 s; L
}
$ W: O2 J' z, d. m% j% a/ @* l) I% u2 z/ J* P7 |0 i
public class ActionGroupDemo extends SwarmImpl {6 Q/ U2 z% M' V1 m* |4 R
        ScheduleImpl schedule;
4 P" F" U8 q2 o5 L, Q; m        ActionGroupImpl actionGroup;
8 K8 ~$ g: l: [/ W7 b        ListImpl list;: g# v9 A6 N/ }3 ]
        char Id = 'a';+ H1 W3 g4 j0 a1 B+ e$ U
, _. ^2 d. t8 f
        ActionGroupDemo(Zone aZone) {- W* r/ f; b8 p( ]3 v3 h+ J
                super(aZone);
, B8 k5 ^( U( Q                list = new ListImpl(aZone);8 [4 N8 d3 b0 o: @, e9 {: J- o
                swarmSetp();9 g4 G8 W! b9 F% {
                actionGroup = new ActionGroupImpl(aZone);0 K9 }1 V4 M2 u# j' C9 f) z
                schedule = new ScheduleImpl(aZone);
& i7 s2 w& W% V9 ~                try {5 Z1 V! y6 J6 s
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
! Q5 T. w2 O7 r                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
9 l. ]& d( r. c  X                        
" m: b# f# D' D                        actionGroup.createActionForEach$message(list, agentSel);
, _1 ?1 b0 N9 b1 H: r7 u6 l: H                        actionGroup.createActionTo$message(this, swarmSel);6 E9 H% j" G' n8 M9 F/ i3 p! j
                        schedule.at$createAction(0, actionGroup);4 |4 P8 e0 z: v
                        schedule.at$createAction(1, actionGroup);3 G% D# ^1 A. y8 ?9 K* q; b. t
                        schedule.at$createAction(2, actionGroup);% `1 j/ s; A7 a: I+ L+ S
; V/ V' i3 E( E& p
                } catch (Exception e) {' A# o4 a4 ?! S8 V! R
                        e.printStackTrace(System.err);# G5 k0 V% Q( f6 F2 t
                        //System.out.println(e);
6 W" U2 _5 \$ r, o0 H( `; ^* p% v                        System.exit(1);" F8 x* o' {$ i2 @
                }
9 X2 Y2 T9 {' z, f" N: R7 i8 ]* Q- E+ B9 G) F5 Q
) G# p& X; R& a3 F
        }
- P6 @/ k5 _; L' X% V( D% X0 d
* h" [6 _- {. y7 w* b9 l; s        private void swarmSetp() {  @8 m9 `5 T, d' y# F/ {
                list.addLast(new Agent(Id));! w  s! k4 U1 t; U. {/ k1 H
                Id++;
9 p3 L& ]- L( o1 h. K( e        }! h9 e6 ^$ o3 |' y3 R- [

0 l9 b- P% M3 Y; Q        public Activity activateIn(Swarm context) {+ a6 ~! I8 o$ _5 g0 g# `& t, C
                super.activateIn(context);
2 P$ C3 @& t' D$ Y2 q                schedule.activateIn(this);
" |& p1 n7 j. j- ~, T2 g: m                return getActivity();  d7 k( p) ]+ b8 O2 J  e
        }
% m9 q+ b+ D9 f1 }* P, }& ^
$ K. ^# c4 M% z- y; s        public static void main(String[] args) {' l0 x! L- v* S2 W" ~
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
3 q# Y1 p8 Y" c! n                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);0 D: ^+ D% Q: C! C
                swarms.buildObjects();
4 v/ D" _4 A5 |( B  F                swarms.buildActions();
- F% k7 e: @! n- c% m4 E' m                swarms.activateIn(null).run();$ i; R8 p/ M& D8 P+ s% O
        }: Z( n7 U6 L! e# n" O; y
+ w* N+ c7 B+ H6 w; n
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-2 12:07 , Processed in 0.013497 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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