设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6010|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
0 Y7 b2 ]! G/ X" O4 P7 p, n8 P( q( i; Z# o: r$ j* V9 @6 \1 v; E
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
! N' [$ T8 I4 R3 f以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.0 ^6 K4 B# f5 \( E$ O8 H
swarm.SignatureNotFoundException
( @  M, a# |- ?  e" h- k4 k        at swarm.Selector.<init>(Selector.java:76), B3 s& l" j8 e5 m1 R
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
' d% }5 y1 N1 c( f- J' o        at ActionGroupDemo.main(ActionGroupDemo.java:67)
; Q" }- s) `0 U; u
* y: a% ~" w* L/ b4 Z/ F
9 N: ]# P; {* V3 K6 G) qimport swarm.objectbase.SwarmImpl;* u; [7 ]$ ^2 Y  b2 U! Z
import swarm.objectbase.Swarm;9 K# r' ?7 c& G- f5 J+ F0 N
import swarm.activity.ScheduleImpl;
+ e6 i7 L2 G. I2 a' S* A4 N5 O8 R: Z) Wimport swarm.activity.Activity;5 ]5 S& X  M1 L, c2 f1 Q8 C
import swarm.activity.ActionGroupImpl;% F+ v, O; s/ M! U
import swarm.collections.ListImpl;
# T: ?- h3 N+ K: e8 {1 dimport swarm.defobj.Zone;
+ j" N* F( R! wimport swarm.Globals;
4 V* z2 s0 B5 F1 Eimport swarm.Selector;
- M) l* A3 j5 p* R  H. W1 x7 limport swarm.activity.ActionGroup;
, {5 v' f- |! Y& `class Agent {6 J2 w, L! p4 K6 g. s! v9 {! E
        char id;
- u, Y" b3 l) [8 i- p9 q
8 ^1 |, D( c0 H! L, f6 L        Agent(char id) {
$ @2 E% X! o# m$ v                this.id = id;8 C' b7 i% W5 K$ r! d8 Z
        }( J$ R( w8 M+ R
6 I7 S. R* {0 S) @; R5 X# W
        public void agentStep() {4 d4 v3 b  j4 @3 V1 O; j* q
                System.out.println(id + ":" + Globals.env.getCurrentTime());
, C! m" ?; f7 [. r& G0 Y3 j        }; r3 I# |: [7 Z5 W8 ^
}6 w: g' P# E" E" _) ?3 H

8 ]8 P& e3 ]0 F6 i- ipublic class ActionGroupDemo extends SwarmImpl {
7 E  w7 f" D. C  Q: X        ScheduleImpl schedule;7 {  J0 g. l2 L; y  A. r% `
        ActionGroupImpl actionGroup;% g5 t, b. P% j; T) u  e5 P
        ListImpl list;: K- t3 i, A8 J. F
        char Id = 'a';
4 R# l  K) ]8 T% ]- L
6 r$ r( \3 Z! h' U$ a: H4 s        ActionGroupDemo(Zone aZone) {/ K' q% {' w0 X  |
                super(aZone);
' \' I7 f& z, H4 m; u! f                list = new ListImpl(aZone);
( V3 H! m; o/ T. J) k1 S2 K9 e                swarmSetp();1 [, p3 ]  r8 Q5 f5 \' Z' X
                actionGroup = new ActionGroupImpl(aZone);
2 o) X8 ~8 t7 x7 e1 b/ C! Y                schedule = new ScheduleImpl(aZone);
. o  s- a7 K* B                try {
6 E' ^3 i  f0 p% ?9 |                        Selector agentSel = new Selector(Agent.class, "agentStep", false);. U; i1 O3 `- C# Y. l5 H" x
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
1 x% P0 b1 J! P1 ?2 N9 M, @                        
% j, w: u, Y/ |4 s3 ?                        actionGroup.createActionForEach$message(list, agentSel);- a7 W3 a6 L  p1 U& s8 z/ F
                        actionGroup.createActionTo$message(this, swarmSel);, s4 W, W# V5 u# S* c) o, c
                        schedule.at$createAction(0, actionGroup);
- {: W! }, e( |" E3 N, y; u2 d* Q                        schedule.at$createAction(1, actionGroup);1 ]- |1 V. c- r" ^$ B
                        schedule.at$createAction(2, actionGroup);
0 \8 f5 I2 q$ X3 L7 ]4 t. r9 C& ?! Q3 i3 n$ c
                } catch (Exception e) {
+ C  H% U. P3 W6 G4 V                        e.printStackTrace(System.err);
7 V' A" x+ G" `% ?; @% H* E0 P  S                        //System.out.println(e);
8 n0 H1 s( t3 ^  n  F2 A                        System.exit(1);; y* N2 A- v+ ?! Y- W+ Y
                }
! h( b* e, c% L+ ~  V; {) F. e$ `% D$ \% `% A

( e4 S! ], i3 J7 @3 ~, R3 ?4 D% a        }
! w" @9 h: T+ p; p. K) K
: G8 {' E8 V& C        private void swarmSetp() {
; @( k, F& s0 t! c# W& s                list.addLast(new Agent(Id));% @  Y/ B* {2 y* Y& Q( E9 z) x
                Id++;
9 S/ w, I4 `9 T& g        }
# `* }# ?% v3 f) g& G1 C
' |: P% M( U8 I8 `2 b        public Activity activateIn(Swarm context) {
4 U) _" `3 a; p: p; E                super.activateIn(context);( I- \5 @; F# d
                schedule.activateIn(this);
9 c( s, J/ q' a2 y! ~; J" A. ]( J/ s                return getActivity();
: F/ B7 y- ~& Y" |' t! O6 y' f5 J9 q) ^        }
! E# c  X. `1 h6 J, U  v, W# J, T* P, z
        public static void main(String[] args) {( e# E# I7 [' C3 V
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);; u+ j/ }! v1 k  K# x# B& g
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);  k. d7 h+ P2 `! g/ o  H( ^" Y0 S
                swarms.buildObjects();
; h# n3 d) w; P- F0 J- J                swarms.buildActions();
3 i' f! {3 Z) v; |0 I3 F                swarms.activateIn(null).run();
5 |% o. Q2 w  _3 S        }2 D0 n$ h' }7 V' X' F) y
' L+ S" [7 K" Q( R# r; e- h+ k
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-13 21:34 , Processed in 0.016183 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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