设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9487|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
4 J% ]' j; C; g2 [1 M3 U5 r3 T# i" e% K, u
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21) w& ^* r' I' O+ {, \% `6 R2 }
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
) E2 k$ I0 B1 J6 K" @7 O* X* G1 Mswarm.SignatureNotFoundException: E1 y7 R0 W4 {. ~* h* Q+ X% x+ ]
        at swarm.Selector.<init>(Selector.java:76)
2 y7 N' O. Y/ A, s  M        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)7 l- a7 ?* u5 N! Y% i! O0 {( O0 \1 d
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
% W$ X7 R1 Z& ^! N( |. d$ M6 K/ T- k
; E9 U1 z$ H+ \, y, S8 z
$ y# A- A6 t/ t* b, b- Bimport swarm.objectbase.SwarmImpl;4 b1 D! V; k& \- P1 R$ k3 z
import swarm.objectbase.Swarm;
8 Z/ Q* S( f- y) d$ yimport swarm.activity.ScheduleImpl;
# l% @7 w& g# n" {' p8 ^# \5 v. Wimport swarm.activity.Activity;/ q/ [9 ?0 c& |  u' i
import swarm.activity.ActionGroupImpl;
: [# B+ k& N! D) Q5 r' j$ N  `  ximport swarm.collections.ListImpl;- h/ G- V/ |0 Q, l0 ^2 E# W! r! c
import swarm.defobj.Zone; 9 j0 q: f- i: r
import swarm.Globals;4 G9 {+ ^0 @: M6 ]8 A
import swarm.Selector;8 v" @6 n7 r$ x* e
import swarm.activity.ActionGroup; 5 F* |, U' Y* a8 {8 W* D3 ~
class Agent {
$ A) E( i# v* b. V        char id;4 |8 a# y+ z; x3 Q4 K) x
  n$ k# V. U3 Z, _4 ^! g4 q3 \
        Agent(char id) {& Z8 m! G' s: |
                this.id = id;
' e5 Y0 Z6 b& D5 _* \- d( }/ b        }
& R3 t# j& R4 |0 K( }1 ?
: S4 f% N  Q$ ~0 M) F( Z# o        public void agentStep() {
" q# f  m, ^& B5 Q4 L% N2 Z                System.out.println(id + ":" + Globals.env.getCurrentTime());
4 J7 |4 U. v8 s: Z: w- h        }
/ l9 E7 n6 c( k0 n3 A9 P) w}- d5 j) U3 K& p5 A; f  @# p

" S# F( _3 d1 t( @( I, hpublic class ActionGroupDemo extends SwarmImpl {
' z. a) I0 k" h& r. P3 _        ScheduleImpl schedule;* X$ O7 F% M; K; Q2 Z
        ActionGroupImpl actionGroup;. T) Z2 F6 X  N- S
        ListImpl list;6 Y+ L) o$ e% V
        char Id = 'a';; x1 ~& b3 n+ j
( s' \, I( Z- d! ?$ P
        ActionGroupDemo(Zone aZone) {  k' @) y3 T3 ~2 w% }
                super(aZone);
" ^- r  x; w7 z' }* @) t. r                list = new ListImpl(aZone);
0 m1 T! }; ^, G) I  J+ X0 k2 x                swarmSetp();# R) g0 a0 ]; x9 `: B
                actionGroup = new ActionGroupImpl(aZone);
4 {# d  M3 k- ?( ]) P6 D                schedule = new ScheduleImpl(aZone);, b) ]2 @/ O) D) [
                try {
) s- P+ p. Q" k                        Selector agentSel = new Selector(Agent.class, "agentStep", false);: r0 j+ D2 D) |! M9 b( p& n: G
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行7 L/ W0 |: v. x$ S) j* `. _
                        
* }7 r! N' l4 y                        actionGroup.createActionForEach$message(list, agentSel);
" y& b$ q" D. {0 \                        actionGroup.createActionTo$message(this, swarmSel);
! K4 @. d" H# d; c6 \' f4 S* W                        schedule.at$createAction(0, actionGroup);
3 t+ |1 z6 L  c, Q/ D- {                        schedule.at$createAction(1, actionGroup);: M1 i6 i3 j9 g4 H  u0 c  ?
                        schedule.at$createAction(2, actionGroup);
) E5 f5 v/ E5 x$ v8 h3 D
  ~( l+ m% j. C: d# ?8 b) U# `7 f# J                } catch (Exception e) {
, d' b0 v2 U/ U) \  \8 k                        e.printStackTrace(System.err);6 n0 @* O  w! J
                        //System.out.println(e);( c9 i  V7 K7 T" b4 M/ e. H
                        System.exit(1);
* u8 A5 m: b3 J; @: d                }
# i. J% b0 ~4 x8 q( A2 Y7 I/ w( p6 L, |2 W/ U% }3 d7 \" \
* {; r' l3 m- v- \
        }, T; B, ^0 @- [4 \
+ ]  y( {" [& x, _1 K
        private void swarmSetp() {9 S* e% E9 ~! R; y
                list.addLast(new Agent(Id));
0 s; p: w% v/ x) r- m                Id++;: l& v) L( e9 K5 n
        }- o: d# ?7 N  M. p6 `8 M
& N: N# x9 x, R# l4 ~0 B1 Z
        public Activity activateIn(Swarm context) {
) N1 f. t9 m0 g* a                super.activateIn(context);
+ b+ i9 L4 y2 H& ?: _                schedule.activateIn(this);8 k- ?' J/ m6 l2 f* j% {; t9 l1 x; f
                return getActivity();( }, C/ U! F' J0 ?+ B
        }
0 T% R6 b- U4 e: e, r6 Z: h! K$ N/ Z* @, n9 X% Z8 I1 }* R
        public static void main(String[] args) {  I3 m' d/ o7 w( K: `; X( M  h
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
& V" W/ \4 k. F7 t7 w5 `4 _                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
* f/ t4 j% {/ g                swarms.buildObjects();3 H: |  F$ \3 J4 a
                swarms.buildActions();  ^; v7 [3 }6 {! o7 Q3 u
                swarms.activateIn(null).run();; |! _' W  k7 b2 R$ b0 O
        }
4 h# d% j, @- Q2 D
; z. {' S$ b+ l; N" J6 H$ ?}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-13 20:11 , Processed in 0.013731 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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