设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9294|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 6 _. a1 B* k$ {2 o3 ^- w. \' `
: W4 W2 B) d- s/ [
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21; t! c( \4 z4 L% ]! n7 U
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.+ _' F; d% ~7 Z6 A' h- y; R' q
swarm.SignatureNotFoundException: R) R7 a: E7 B9 h/ D3 ?- d
        at swarm.Selector.<init>(Selector.java:76)
9 Q  A& y5 a  ~* q+ j        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
) q5 \9 @( }( ~" c  q& C1 w        at ActionGroupDemo.main(ActionGroupDemo.java:67)
! L! L1 `, B3 [4 D1 \' J/ w' m. {7 q. p( ~
% z0 r$ Z& }: r7 ~* j8 n( A
import swarm.objectbase.SwarmImpl;
. l' c; O6 T7 q  Bimport swarm.objectbase.Swarm;; Y, {' s$ l/ |( n; I
import swarm.activity.ScheduleImpl;  n# |5 a2 D, I# ^
import swarm.activity.Activity;
* z+ z6 y# L/ ^) G% `1 r& q0 d: p" \import swarm.activity.ActionGroupImpl;0 ~; }9 N5 c4 X7 ^( R+ b  d
import swarm.collections.ListImpl;2 L+ J( s! X) g0 g; L$ F
import swarm.defobj.Zone;
8 D; v$ c  F8 b/ vimport swarm.Globals;
$ E# K$ W/ _: V% Aimport swarm.Selector;
9 ~5 [# l8 {3 e2 a6 \1 Jimport swarm.activity.ActionGroup;
: z% q; K' c  {( H$ E9 H* c4 u" Wclass Agent {/ D1 S: S4 X2 J8 ?/ r& |
        char id;
2 }* M2 r# E; ~  Q6 b# N2 m  z
/ w6 K4 m/ e/ a" o; J! ~& f. l        Agent(char id) {" H" z. g- T5 {/ C& x
                this.id = id;
; k4 q! |1 a4 g4 K2 o- {# P+ ]8 Y8 o        }$ S' b2 J  J/ }4 T% Y$ L8 D4 V  t1 S

- `1 c# L7 L$ t+ o" O( c        public void agentStep() {+ I# W# w% P! B# \4 e; Y
                System.out.println(id + ":" + Globals.env.getCurrentTime());$ u+ n* J  W% J% T% r
        }
" e- d' Y' e& F1 ~4 i/ p2 T( ?}
+ I; h' T% U, F5 B# \
# @) F* h$ N0 K( @3 u7 O- Wpublic class ActionGroupDemo extends SwarmImpl {
/ n' q# a5 \; r  i        ScheduleImpl schedule;
) J0 E; @8 v' d; d        ActionGroupImpl actionGroup;( d/ a* J) D% V& w: }- Z0 I& r! O
        ListImpl list;2 @% o& x# @/ f2 _) \! _. R  O: J! V
        char Id = 'a';. v- I1 y! m3 C2 H

; Z" W: u2 e) K/ n( a* G, B6 _        ActionGroupDemo(Zone aZone) {% }3 p  k* R4 C# X0 |. O; g* b: ^
                super(aZone);' s( I9 X1 z" d/ l' q+ k- Y, Q
                list = new ListImpl(aZone);! A$ d. }2 _# }# W
                swarmSetp();/ [0 j8 o* |7 V' {: C6 B$ J
                actionGroup = new ActionGroupImpl(aZone);
, W( ~! b- l2 w, U  ?: z                schedule = new ScheduleImpl(aZone);
8 W6 E! Y! q; z) _% d8 {; E( \                try {( N# n& }) z! H+ }: n) N0 ^
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
  ^+ X& a6 L5 g  e" m3 p1 R: Z                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行  z6 j. ]4 x$ M) x4 K. Z
                        : I$ v3 e6 E; P1 Z9 u: c# |
                        actionGroup.createActionForEach$message(list, agentSel);
+ F& D: p/ [9 O0 D; E- V4 I7 _0 g2 _+ w                        actionGroup.createActionTo$message(this, swarmSel);
; p, y% v+ t0 t) Q                        schedule.at$createAction(0, actionGroup);
9 X- V- O2 s8 ?, k                        schedule.at$createAction(1, actionGroup);
/ d* d+ a9 L3 R                        schedule.at$createAction(2, actionGroup);
. p0 ^' Y! @9 O3 P% m5 p* F4 x4 T+ Z) ^5 P* o" D$ Q0 ]
                } catch (Exception e) {
# u$ f0 r9 U% w5 E# f! N( j8 u                        e.printStackTrace(System.err);- U/ e3 Y3 l  S' |6 F6 N
                        //System.out.println(e);8 y6 Z, j. V+ g; q8 `$ C: C
                        System.exit(1);5 W. r& s8 T0 }2 f9 \
                }, w# g3 K9 `8 Z; j) T! L( S

: _$ l; T/ |6 W5 j+ }6 m
8 R# @0 K& ^; l7 y        }
) J5 k2 K& ]) Y9 ?1 a: K  B) }5 t! I$ T$ Y' L
        private void swarmSetp() {* Y/ X# ~$ C$ X6 U! _7 e3 M
                list.addLast(new Agent(Id));
. X3 d3 x  }6 A: }                Id++;- B, z5 w  ^$ a0 p& A7 ^: p) H
        }
1 T. x) E% t' R+ Q* s& f" U+ m( {1 K
        public Activity activateIn(Swarm context) {
! C' i( G6 D( |' {2 {                super.activateIn(context);
/ `7 ^0 K( Q5 Q( z' z, o& ^                schedule.activateIn(this);
9 U' U% s1 J0 J, K6 K3 x* A                return getActivity();
5 W" a7 q' g9 c9 D        }
5 R! J7 h; K% o, Q; p6 B$ }
5 v% \- x$ N) e- h& a        public static void main(String[] args) {
0 l' v2 T& e/ U0 A$ w6 u* g3 X                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);( P0 a3 C9 L$ U# u
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);  {4 X3 g# t8 ~$ u. f4 a5 ?' w
                swarms.buildObjects();
7 d& Y/ L- z: A0 n! Y. {                swarms.buildActions();. k0 z$ A$ T2 W- U
                swarms.activateIn(null).run();; l* p5 q% O* R* v
        }
6 j. q; [, v1 ?% g% t7 H- }1 _; P% X5 P& Z. b( O
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-7 16:40 , Processed in 0.015566 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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