设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11655|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 / M+ s5 s: _" u
% u7 s' ]8 \- J! n! G+ Z
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21! ?' q8 p: H, O3 F/ Y5 S
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
. E% t5 i5 y) z$ ]swarm.SignatureNotFoundException
* D2 j% C7 g$ i3 M* m+ M* R' y        at swarm.Selector.<init>(Selector.java:76)
; s( _8 a- _- z        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
3 j- D% R3 u- n        at ActionGroupDemo.main(ActionGroupDemo.java:67)" A5 r, |; J( ^* \
+ c" g; n$ R% M" {6 |
6 \9 E7 T: a- W; `; [
import swarm.objectbase.SwarmImpl;& y* T) D! p: n
import swarm.objectbase.Swarm;$ _: E5 M. R9 R1 k. o
import swarm.activity.ScheduleImpl;
; L6 c% j, I, a* wimport swarm.activity.Activity;
- Z5 ^) V) n1 w1 O* m$ v) O' limport swarm.activity.ActionGroupImpl;3 `+ e3 w4 I& J, V* K8 k7 A
import swarm.collections.ListImpl;
/ Y% ?7 R( h4 [! U0 l7 uimport swarm.defobj.Zone; , m6 i+ o# z( o8 T; `
import swarm.Globals;, h: _3 [6 S. m
import swarm.Selector;2 v# Q" I, R; {3 \
import swarm.activity.ActionGroup;
+ o& B  ~, v6 g! V0 pclass Agent {$ o+ L3 V. j1 h- t$ i" T
        char id;
- n1 Y  a  m3 h% e$ j2 r6 o8 e7 v% A- H% G
        Agent(char id) {( j% V! g0 d8 z% r$ E! P
                this.id = id;
/ R/ J' `2 G2 G+ W* O# p4 V! Q$ G        }
1 }4 R* Y! `1 d* r$ K. Z  i9 Z9 V% @$ i* T% L
        public void agentStep() {
2 r' G1 P# g6 m$ p6 D5 i                System.out.println(id + ":" + Globals.env.getCurrentTime());6 W. n. M( f, ~6 d. H
        }
7 F1 f: B. j1 i7 C$ Z3 s}
6 w$ L- L* i7 o# ^) ~+ i9 g9 f
8 |9 I2 G! ~1 w- s) Upublic class ActionGroupDemo extends SwarmImpl {
2 ^% w' ^9 ]1 j* I7 n6 m+ C! k        ScheduleImpl schedule;& {1 b1 I5 n& o; v8 h% y1 N
        ActionGroupImpl actionGroup;4 Z; e6 b$ |/ O8 `" ?% d! F2 z% z$ _
        ListImpl list;. k. D( L: ^3 t( k/ v3 a3 ~
        char Id = 'a';5 l; K2 C; U0 k# c2 A/ \/ @
* U: V( e! {% ]( d1 F4 S# Y, O) U
        ActionGroupDemo(Zone aZone) {
7 Q/ v5 c1 e/ }: r. b                super(aZone);
; s" W4 f4 ?1 T* B8 Y8 i                list = new ListImpl(aZone);
) ?* \2 r2 O- v8 G1 V8 f                swarmSetp();
) _  @) h* J  E8 \! R' i# k                actionGroup = new ActionGroupImpl(aZone);5 D) q* I- x& {6 K
                schedule = new ScheduleImpl(aZone);/ d0 R! Y; n1 @0 u( `# u$ b: W, V
                try {
: L  z/ X+ f8 q; `) |* ~  W                        Selector agentSel = new Selector(Agent.class, "agentStep", false);; \+ b+ c# W) o  S
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
+ b" {( R8 E  F                        
1 m8 `# C( }+ ]                        actionGroup.createActionForEach$message(list, agentSel);0 `1 n& G8 B3 \9 b! o$ d& h: P
                        actionGroup.createActionTo$message(this, swarmSel);
* D/ u% k7 t4 F$ Q1 h                        schedule.at$createAction(0, actionGroup);' A8 z7 y' a  ]# l" @/ o
                        schedule.at$createAction(1, actionGroup);
" Y. ]* {: U8 I                        schedule.at$createAction(2, actionGroup);
- ~5 n; x" L. t5 O" j) v% |* f! f% r5 ?4 ]# _9 w
                } catch (Exception e) {# X( w; n5 e% K) `5 ^/ W$ E, t1 l- \! i
                        e.printStackTrace(System.err);, X# x8 m" q3 N, C6 D
                        //System.out.println(e);& U+ m% b5 v" X1 G
                        System.exit(1);
1 ~* `. Z% r: ^$ G' l                }
" e: i8 z% Q$ n2 I4 w; o
! k; W- J+ S& ?: x+ e5 ^6 u# B1 T, b# W5 d8 Q; M2 K
        }( |6 d; F# ?$ P9 }

( j! S4 \& Q6 }, H+ O/ b) B        private void swarmSetp() {/ d" D5 D4 X& \
                list.addLast(new Agent(Id));
# z6 S- m4 i- P: l                Id++;
- C* ~" u) X+ d  \2 U0 R        }
* s- |) m0 Q; l  m
7 A& m7 V' E) N        public Activity activateIn(Swarm context) {
4 \/ Q& v# I) J  E9 O) _                super.activateIn(context);
  v3 j* j7 C0 O6 _                schedule.activateIn(this);# L% Z( q$ V& D% K# T
                return getActivity();+ e: r; p$ B# [0 T# `
        }2 w( Y% ?  J$ x# u. U3 P- w* r  @
* Q. @. R4 ~) L8 J- Q/ q' C5 X
        public static void main(String[] args) {
) k& |1 F- f# Q8 C* p: |, J                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
. R& I. M+ U5 J, ?6 a/ q9 e                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);" u# ]# z' g" ?. @
                swarms.buildObjects();6 \2 ^1 P/ N5 M, }9 s$ r
                swarms.buildActions();
5 I1 S" x1 |0 V& [2 C                swarms.activateIn(null).run();/ _, i( {9 D! f
        }
6 P0 p& m0 c( Y& W  T+ m
  F. N/ U6 ?* D( b, i# g0 t* r}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-18 10:06 , Processed in 0.013210 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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