设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10939|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
9 S2 a' @! q2 {7 f
; X7 w* F2 \* q, I4 R$ n本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update214 M# e% U) n; E' }2 p1 n1 g  V4 j
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.7 q& ?* m  K% l* `* v
swarm.SignatureNotFoundException- _& V, |! O% m  s: i
        at swarm.Selector.<init>(Selector.java:76)
& J+ D9 ]/ V" z5 ]        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
$ Z/ S* f3 c( O9 r        at ActionGroupDemo.main(ActionGroupDemo.java:67)
; [" G8 B2 G7 h2 z0 b* g; ^) k/ {" z) D/ O( ~

/ }$ f3 e7 J  M4 pimport swarm.objectbase.SwarmImpl;1 ]8 |! F" p( w
import swarm.objectbase.Swarm;
( @- ~, f# f8 b2 V1 Vimport swarm.activity.ScheduleImpl;
6 w% k" d; j" iimport swarm.activity.Activity;" A, M- A9 M$ S& K
import swarm.activity.ActionGroupImpl;
9 {& }5 T8 `+ {2 @+ Rimport swarm.collections.ListImpl;" |' \: O8 J' _: H' L" l+ k  o- N
import swarm.defobj.Zone; 7 [& b" \3 \! g% t+ k
import swarm.Globals;+ v3 @! h  c- c! s
import swarm.Selector;
* F% N, J1 n0 v+ nimport swarm.activity.ActionGroup; # l# f3 u4 r) G9 G" P
class Agent {
" g  o, t- a7 {/ O  ^" _        char id;
1 _" Q# Y- j) o9 f4 `% X% C$ |* i$ V  f5 k  T
        Agent(char id) {
6 z' [$ o! @: W( Z- [                this.id = id;# Z* Y1 Q& j) t  z" U4 @7 f/ f6 _7 g
        }
- ^7 ?" q/ K% T( b2 D2 R8 h0 Q( k. w7 G9 M
        public void agentStep() {) I) R1 g% b5 A
                System.out.println(id + ":" + Globals.env.getCurrentTime());
$ @& L9 V: n5 D' H( B. W        }
6 M' F( L! j+ j- n+ z+ o4 O0 `}' q6 T+ R  M4 M  \+ E

3 a4 p- J3 j) E1 r6 ^public class ActionGroupDemo extends SwarmImpl {
( ]; U2 c: M" q# y9 P        ScheduleImpl schedule;
$ R0 Z5 A7 g  q0 n  O        ActionGroupImpl actionGroup;' f% [3 b# t% ~& i, F' f/ n
        ListImpl list;! M; ~5 n' ?! X, J" s5 Y
        char Id = 'a';
0 g& U" I$ O" _% Q( e4 `7 @
5 Z, l: W) v. ]* ?7 l        ActionGroupDemo(Zone aZone) {
5 d! D1 Q1 W/ n: c, z1 s" y2 }                super(aZone);# _* n$ |& S3 |$ ]  I
                list = new ListImpl(aZone);& K2 g5 m+ X" j; y! E+ ~% b2 y8 A% {
                swarmSetp();8 N. P! R) ~' A& d+ Z9 e- p
                actionGroup = new ActionGroupImpl(aZone);& z2 y, P7 Y+ n9 k. G0 L2 \+ t
                schedule = new ScheduleImpl(aZone);% ]6 {6 H) q9 F4 s8 t/ h6 r/ W
                try {1 Z; f  d- A, }
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);5 @3 l* k9 ]4 u" {4 v9 c2 L% n
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
( S! f2 n7 L3 \! K* H                        
2 f8 ~+ }1 `4 \                        actionGroup.createActionForEach$message(list, agentSel);2 W* x, B1 X% f; I0 M2 P
                        actionGroup.createActionTo$message(this, swarmSel);; \  P% f+ V% [! e, j9 H6 ]7 ^+ B6 N
                        schedule.at$createAction(0, actionGroup);
6 O& j! Z; N, ]! b                        schedule.at$createAction(1, actionGroup);
0 f7 v1 ^9 e  e                        schedule.at$createAction(2, actionGroup);* Q+ k$ A$ W/ Q$ s9 C' I' b- \6 r

( y2 y, h' J9 V4 j) p! ?6 V. ~                } catch (Exception e) {
- h' a0 N! B6 O' [( j- h                        e.printStackTrace(System.err);/ F+ D8 L1 K( ?2 e5 V
                        //System.out.println(e);2 s2 y, o% ?/ z  q1 l3 R3 |
                        System.exit(1);
! i( b0 u  B! g& ~% g                }
3 z; e/ o; }2 G1 |( A2 y7 ]; l0 ?- g' Q) F" z$ A1 K
$ v0 k# U+ v8 W* R- S* Z
        }
0 v; F# s: _# |7 N+ ?- B# k& `* ]4 _  ^
        private void swarmSetp() {9 F* w3 N* o+ h2 H
                list.addLast(new Agent(Id));4 x( ]/ [* S4 w  t( F
                Id++;
5 k) {: ^6 h  [# Y1 r        }. d% N' ]( g9 l% s2 q" J

8 n( A. N+ C) O* M        public Activity activateIn(Swarm context) {& f( K* S, {/ S! m5 C" u0 C
                super.activateIn(context);2 J( ^0 Q# A* S; p
                schedule.activateIn(this);
5 A  [6 T6 K% ~& p                return getActivity();
6 ?, {: R: I! ], \8 y3 T7 G/ r        }8 x& F9 e3 N3 s5 l
6 R' W' g2 q* ^( s, l5 e) E0 r
        public static void main(String[] args) {
" I0 D- V' M- k* ~2 ]" b                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);+ A- w: f( I, q% [7 t. r
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
5 @  S! J/ W( b. t- d6 i                swarms.buildObjects();
2 w) l( M$ H6 e& \9 i0 R! t                swarms.buildActions();
+ Y5 ~5 r! ~8 s5 `* X% W                swarms.activateIn(null).run();1 s9 G* A# a& T2 q* G
        }" g3 N" w( ^- b& w$ ^0 h6 f$ N+ q

2 F) y8 N0 ~! ]2 y: W}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-28 08:04 , Processed in 0.017011 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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