设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8961|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 , v' C; j  \  E1 F8 Q! g
' S% ?' q( Y4 l& H5 x- ^
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
( c! w+ ]5 f2 `: i, a以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.4 y( u( L, Z7 B! {5 \
swarm.SignatureNotFoundException& Y: @6 }* m& V5 l
        at swarm.Selector.<init>(Selector.java:76)
) R6 O! ]5 G( h2 s6 K" n6 t        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)5 o; d6 V/ y' {% i6 q) {
        at ActionGroupDemo.main(ActionGroupDemo.java:67)6 k, c9 ^+ W- _2 O" A
1 m9 ?' t( @4 ~6 A# }$ F

% K) ~- S7 j% v" w- V5 ]import swarm.objectbase.SwarmImpl;/ y7 O  c. h+ h1 Q! u( n8 H6 H
import swarm.objectbase.Swarm;
7 o4 s" a) y( J8 U: {" `2 L7 J, A% eimport swarm.activity.ScheduleImpl;/ F) }0 R9 ]& b& M$ j' p
import swarm.activity.Activity;
# S) a$ ?& |6 H& B* Bimport swarm.activity.ActionGroupImpl;9 b( R. x, A1 S4 w. p3 \! h
import swarm.collections.ListImpl;  R3 ~4 z! |4 E/ x! a) Z
import swarm.defobj.Zone; / V) G  ~1 j$ q# `$ A* Y
import swarm.Globals;
- }9 J5 Y. t& L" A/ l  uimport swarm.Selector;
5 F  [' y4 c+ m+ V) ?import swarm.activity.ActionGroup;
: P# k  ?5 ~7 @4 S8 H" S- N  i( jclass Agent {: ~) D' f  v9 q
        char id;
5 D# W. R) [$ Y" [2 m
+ R+ I2 S5 X# V3 o        Agent(char id) {
; |) f# _( s8 c4 f& V& L5 _% [, P                this.id = id;
8 y2 l2 L$ @: g  j' E        }0 }' [* Z9 w; t8 |5 C3 |0 e2 `
' V6 F2 \( |0 `  A; N
        public void agentStep() {
' F. X) v" Q) B) K                System.out.println(id + ":" + Globals.env.getCurrentTime());
: ^2 L# |- Y( ]9 n9 p6 Q        }7 E( U1 t: _, }# |4 G' T  w
}
6 N3 e" ~  R. a. P# M$ M# L: A' |6 ?
public class ActionGroupDemo extends SwarmImpl {
% L/ v& s, }; i% Z3 B        ScheduleImpl schedule;) z) s. h, @" |* e
        ActionGroupImpl actionGroup;
- [; }* [" X7 O% S. y7 b. m& k6 f        ListImpl list;- q6 N9 d% y( N( A$ A  K
        char Id = 'a';
& t# C: d! j+ H
+ X& I6 m  T& W1 _% n        ActionGroupDemo(Zone aZone) {9 n* E, ^, t/ i% I
                super(aZone);8 ]9 u+ d9 E! I# M& ]( a/ {
                list = new ListImpl(aZone);, |( W& h+ h2 x  q
                swarmSetp();% T7 B2 h: @' A4 n; s
                actionGroup = new ActionGroupImpl(aZone);
& ~% n8 J( O: |# s- e                schedule = new ScheduleImpl(aZone);
. H. b" l2 L% Z                try {2 n) k. X+ Z$ u+ Z7 g# U
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);3 U$ ^9 G7 U, I
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
5 e7 a* Y+ g' F8 e! i                        + j$ B7 N- u3 a
                        actionGroup.createActionForEach$message(list, agentSel);
: o6 E" o/ i6 S0 S$ T% a8 b                        actionGroup.createActionTo$message(this, swarmSel);
: r6 N  h3 n3 E8 C                        schedule.at$createAction(0, actionGroup);
/ ]% p8 F% N3 r2 ~% G/ M/ q, j                        schedule.at$createAction(1, actionGroup);
1 D2 S7 Y$ n% ^                        schedule.at$createAction(2, actionGroup);
' |% L8 z0 o% K# f# I$ Z# N+ K  T8 ?8 F) u' T8 z! Q$ ^
                } catch (Exception e) {
3 a" D  h& D& h: b. D3 F- W& g                        e.printStackTrace(System.err);
$ T- L: q) @1 [3 M                        //System.out.println(e);6 o$ ~3 `" {* Q7 n/ T$ G. o
                        System.exit(1);
; j; N  J' Y8 Q  G) `                }
& T# j2 d; G" M$ G0 Y
' |+ g$ L' O) Q* P7 E; X, R* c7 ~& `* ~" X
        }$ j' J% q5 \0 P. ~) o1 B) ]  b1 \

; _& m+ {$ i- }) P        private void swarmSetp() {# ~  H8 S2 c  N5 b- {* _- ]4 ]0 v
                list.addLast(new Agent(Id));: i2 K/ v8 Q  \
                Id++;
0 k+ U8 s. B1 e, ]9 X/ E        }9 Z; N3 g' S0 \2 {) g5 w8 y" w# z
' R3 {& {- P+ R0 f6 ]8 M9 [- |1 D5 X& F
        public Activity activateIn(Swarm context) {
& [0 N3 y6 |# I6 w                super.activateIn(context);
0 o" u4 g# {- d5 |8 i+ L# h0 p                schedule.activateIn(this);
1 c' G2 _, e8 C5 t* D1 _                return getActivity();
; d# s, y5 j) W        }
4 z/ G, D) u# }
! k; ^! g2 i' F5 T3 L/ U- I9 v        public static void main(String[] args) {
9 ]$ e, b: }. i) B# T8 r                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);6 K% _$ T! M/ Q: r) l, Z
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);/ C1 h. i! u3 t
                swarms.buildObjects();
0 T; ^0 O4 M5 W; |                swarms.buildActions();6 R! b: g6 T' J1 d$ l5 s1 ~
                swarms.activateIn(null).run();
+ J5 t* E' R* [% G- e9 K% G4 @        }" O- V5 ^, `. c2 v2 l
4 F1 z  z; a3 C0 @* h6 Y9 E
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-27 21:02 , Processed in 0.017764 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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