设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13201|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
6 V( P6 c  [9 _/ v
& Z4 r! A) v3 x- S% w0 k8 j本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
( q  V( \2 f, g9 Y' o+ U6 j以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
# ~6 x/ t% l+ m" S  `swarm.SignatureNotFoundException- k- @1 m' Q& J& @! J
        at swarm.Selector.<init>(Selector.java:76)
+ H- o9 r5 O4 {5 @  z8 ~) F" o        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)& A1 b( K* B3 w& y* k7 t0 A
        at ActionGroupDemo.main(ActionGroupDemo.java:67)0 O$ D3 L$ b) \$ i

6 H$ o  [. X3 S5 v/ e$ y% B4 z7 L  l) o
import swarm.objectbase.SwarmImpl;
/ S9 H1 h  O5 jimport swarm.objectbase.Swarm;4 L  t! A- Z  a( @4 W2 q& k5 ^
import swarm.activity.ScheduleImpl;! @+ r5 B* g, H6 [
import swarm.activity.Activity;  ?4 l% y( e+ U- \+ Y  ~
import swarm.activity.ActionGroupImpl;
% U# k4 c/ C4 [' _$ eimport swarm.collections.ListImpl;" R3 r& u5 z, ^( s
import swarm.defobj.Zone; + Y4 _9 x% i1 `$ y; j) G
import swarm.Globals;
. V- w7 v% g, f% |# vimport swarm.Selector;
7 h2 U' e6 y* V6 simport swarm.activity.ActionGroup;
2 M, d. H# b4 @) Z% Mclass Agent {4 N' {4 {% X* r/ d. z# M. F
        char id;1 A3 f' Z: _! S: z

# V1 X8 D( `" }, [6 x. `        Agent(char id) {
* _. J1 G: R( x6 l7 t3 e  C. `                this.id = id;
' ]# c$ \6 Q5 P        }
% y5 x( A- z) D5 C" Z8 ^6 _4 v1 {7 z7 H/ Y& n6 d
        public void agentStep() {  v; k* ?0 G! D7 V$ x4 T
                System.out.println(id + ":" + Globals.env.getCurrentTime());
! Z4 T( }  h8 [5 q+ r8 q0 ^        }/ f) y, S3 {/ }9 M
}/ J* ^& o8 d& {6 d, v* K
8 a: n* z1 ?' K
public class ActionGroupDemo extends SwarmImpl {2 Q& [* c6 v( `: i$ l
        ScheduleImpl schedule;
# `4 i* J8 z. l( q; m+ r        ActionGroupImpl actionGroup;
$ r: I: n5 ?8 p9 `        ListImpl list;! c1 R! t* a+ Z" U$ v
        char Id = 'a';
2 O8 P  C6 Y! T  \/ R
0 B: }" O( t& `5 J. f! Q1 ]        ActionGroupDemo(Zone aZone) {
2 y: d$ l! W" Q0 Z0 U1 K1 ?                super(aZone);4 ]/ k2 V* |7 ~  H+ M! W, e
                list = new ListImpl(aZone);
1 ^( A! U4 P8 @2 G* ~( m) ^                swarmSetp();
- _( y- H2 J# ]- h3 v' i2 j                actionGroup = new ActionGroupImpl(aZone);( P( R7 l5 o7 ~  M9 W
                schedule = new ScheduleImpl(aZone);
. Y, @! z8 g: g8 K* o                try {6 J4 q' B' N8 _& z
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);2 _* y! O' o2 P5 M; {
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
* R# m  t' O! \                        
% t" X' Q% j' G! `                        actionGroup.createActionForEach$message(list, agentSel);6 ]: P$ x. ~& O4 L, L! B
                        actionGroup.createActionTo$message(this, swarmSel);& c5 j5 A$ o" F. e
                        schedule.at$createAction(0, actionGroup);
3 D7 W6 b' c1 D, W0 ~! S* ^8 R                        schedule.at$createAction(1, actionGroup);! J' u1 z( c9 O
                        schedule.at$createAction(2, actionGroup);& ?: X6 U. @  q/ |0 V: |% A& C

6 R! p9 @2 ?% y; r                } catch (Exception e) {4 }) B7 m2 x; _: H
                        e.printStackTrace(System.err);
( M8 f- P) }- V% S                        //System.out.println(e);6 U1 ~. T' L. H; k  Y4 @- I
                        System.exit(1);* ]2 A* V9 e% A: P+ R
                }
; \. K  c6 N9 ]$ E
* ^9 t! j4 }7 a8 i& b$ S1 g' Q5 ~# L8 P5 Z, h2 V
        }
2 ]" [% |! T6 _2 a; i
7 i; ~0 A; q- V        private void swarmSetp() {
# P4 _5 Z! x0 t6 L                list.addLast(new Agent(Id));
% _( h9 }) G' ?' E6 |                Id++;0 {( L. [: r7 l8 D0 R3 F
        }2 _& H' e0 m& j

5 t% p, T7 u+ X) a( B" H' T0 J        public Activity activateIn(Swarm context) {
1 W( Z2 Z! w9 V: b1 n1 y                super.activateIn(context);1 q. `, Z. E1 H: Q. E
                schedule.activateIn(this);  s( \# N/ B% _. O( _- w
                return getActivity();4 H7 d8 B+ \1 ]
        }5 [; k2 c& o$ L) v! l+ ?
: [0 Q; n4 p/ \. ^4 V( R
        public static void main(String[] args) {4 T+ q1 Y: `$ w, }: `9 ]
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
& Y( `6 ]' i9 e+ [! Q' u5 V6 F                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
. M2 {! i' W0 v% o8 G( g                swarms.buildObjects();
1 y0 M( A& u4 T, _                swarms.buildActions();
0 e7 h, C' n/ a; D1 e. s$ ~                swarms.activateIn(null).run();1 q) v+ K' l; a& S$ C/ h  P
        }4 D5 q5 ]& K* @  ~8 z/ ~- \0 Z5 J
/ g0 q! U+ |+ y3 c# ^$ n! A
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-31 10:10 , Processed in 0.015360 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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