设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5790|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
! L3 C4 a& k: m2 T0 b- o/ F+ X( x; L
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21# @4 A4 c& B: O2 |+ V3 r
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.* r$ `8 j" n* j  r
swarm.SignatureNotFoundException
) |! i' P9 X5 U4 k        at swarm.Selector.<init>(Selector.java:76)% M* T- S( Q+ D1 \3 A6 I: C' o0 y
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)4 v& Y) Y7 |- w: {( V* T, x) D0 D
        at ActionGroupDemo.main(ActionGroupDemo.java:67)5 A7 X( E( N) R% c% ^" ]6 b

% R1 R( B( g* C
5 R2 e/ q+ y3 [9 s! ~+ qimport swarm.objectbase.SwarmImpl;
5 k. W0 Z; V( K$ T( Rimport swarm.objectbase.Swarm;
9 R/ u0 {; N: w. r$ |( R/ iimport swarm.activity.ScheduleImpl;
9 Z5 \1 i2 r% ^+ M: E* Aimport swarm.activity.Activity;" Z4 F, S- F* ~; z1 T( j
import swarm.activity.ActionGroupImpl;8 ~6 @3 A0 C4 @7 B" d, C* f
import swarm.collections.ListImpl;9 U  p0 `$ ^2 u4 N0 v0 x* I/ p
import swarm.defobj.Zone; % U) h) z6 _1 M  m7 L, H
import swarm.Globals;! r6 D1 L  [: X; q& o0 Z( L$ e
import swarm.Selector;! K/ G" ^  o. n+ ?* e
import swarm.activity.ActionGroup; ( H1 A4 L) \0 i9 B9 {
class Agent {
! ?5 E; ]: ?$ |        char id;6 Y2 q; @* r2 k
0 R; \) G+ _0 x2 D3 X, C
        Agent(char id) {& ]7 W' C# A* ^  Q
                this.id = id;
  A( e7 p4 [8 n        }( a5 D2 R; Y2 o8 B& {
: ~7 T$ b# y" p* o  L' M2 i7 `
        public void agentStep() {; y$ [) ~6 B! T+ l( Q4 N% V; r
                System.out.println(id + ":" + Globals.env.getCurrentTime());
% F5 v: m" U/ Y        }; w9 w' M1 e6 B$ m
}
1 {$ B2 _9 V8 d* U0 T; J
; a/ U0 N, T) Hpublic class ActionGroupDemo extends SwarmImpl {5 E5 r! T# W! ~
        ScheduleImpl schedule;: A# P+ C: b# Q  y: j
        ActionGroupImpl actionGroup;
4 H( z: H% w% Z/ U: ?7 w        ListImpl list;4 ~3 F& c$ K$ C5 R$ [
        char Id = 'a';
2 b; a2 a  K+ D% M! V; N7 s
5 k1 k. n8 A# _, w        ActionGroupDemo(Zone aZone) {% Q$ W, S; w" k+ p7 _& [# r& j
                super(aZone);
8 X" [) d8 r9 k0 W6 D2 ~7 p                list = new ListImpl(aZone);1 L& P2 }7 P* d5 Q# S
                swarmSetp();% x) H: z' X* z4 ]$ D! C! G% V0 \
                actionGroup = new ActionGroupImpl(aZone);# X4 \+ j5 @: h  y
                schedule = new ScheduleImpl(aZone);
" g1 o$ K# r) e5 i' i6 Y' U" v                try {
* O% ?" r: [: z( X                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
; y+ a7 h. y# e& ^                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行% o8 V/ v3 E6 a! N
                        . U+ j9 d+ g  s( [+ {- z4 P
                        actionGroup.createActionForEach$message(list, agentSel);" a7 f( _( s5 K7 h- C5 {
                        actionGroup.createActionTo$message(this, swarmSel);: b$ |4 f! ]! h3 S3 [6 e
                        schedule.at$createAction(0, actionGroup);+ }, a" f  ~2 T* D4 w; {% M4 s
                        schedule.at$createAction(1, actionGroup);
/ O8 r9 `2 h1 H, |                        schedule.at$createAction(2, actionGroup);
5 a2 v( p, b; {1 M1 j, a+ L- ]
: m. ~' o( E3 t& H/ z' H2 D2 i                } catch (Exception e) {6 Q( W" g% ~: P4 d( V% H( h$ c! p
                        e.printStackTrace(System.err);6 N6 V* X; F8 _8 i6 q
                        //System.out.println(e);
  {, g7 ^0 e4 h3 X0 Z# ?/ F1 x; K3 j                        System.exit(1);
5 P. M- z$ E8 G& s" c4 t& I: e$ s                }+ i# V2 `# C/ ^7 y& F

. K. @4 T/ C2 r4 I$ Q
! U2 m5 F' T! `: {        }
' Q: |4 y6 V; d( Q* I3 e9 M5 J1 s$ W# H% N
        private void swarmSetp() {9 |0 j4 k! d" X5 m5 b$ y5 b
                list.addLast(new Agent(Id));  i0 j# Y2 Y. j2 l
                Id++;9 \2 K4 i! n1 |: {2 W% d3 i, f3 }$ e3 E
        }
+ A6 E2 E& `  ]# ]0 l
" s: g0 h8 I2 i# D$ B" b* V( h        public Activity activateIn(Swarm context) {
( \1 i: @/ F; W6 h% T& Y                super.activateIn(context);: d4 r( ?7 m( P% e. X
                schedule.activateIn(this);
9 ]4 p5 \6 E/ z9 [4 g+ D. I                return getActivity();! g. ~/ b5 o. E  a3 W
        }3 i4 W; c' |* u& ^+ _
) y1 j' `0 E1 E" {& D
        public static void main(String[] args) {
" M# ^/ ?  T" K7 ]' ^+ d* I( X                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);# K0 M0 l" j# W' J
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);# I  o4 }) u3 v
                swarms.buildObjects();2 l% S! I; {6 [% T9 t% V2 T
                swarms.buildActions();
7 }* k% h) j: Q% ]+ H( ]                swarms.activateIn(null).run();" u9 n* {6 z3 |: ?+ U8 [
        }3 ~% `$ `/ \# |- ~

) ~5 O: E: T7 @) _}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-26 21:40 , Processed in 0.019412 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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