设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5928|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
! A+ g% I. {. v5 D" W7 ?  F7 t2 N3 N. A5 K3 ]4 K6 o  H
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
2 \, L& B8 I. [; X' ^以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
( d" a, a. U: n" W( [swarm.SignatureNotFoundException, x. p% i3 j0 E8 H9 x! |# u% b
        at swarm.Selector.<init>(Selector.java:76)% j$ H1 H0 M  @, V0 l1 E' V
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
# }4 z9 e+ R$ A* X' a, R9 _- e        at ActionGroupDemo.main(ActionGroupDemo.java:67)
" v: D' B4 v6 t! R% L9 |$ S& a! B: Y
7 o. E, ?8 U. g3 n/ v
import swarm.objectbase.SwarmImpl;# G- g( x2 Q" |9 O5 r8 \
import swarm.objectbase.Swarm;, t( u2 `, M0 E4 m6 s9 g  u& i
import swarm.activity.ScheduleImpl;
3 L/ g3 j, o7 Aimport swarm.activity.Activity;. E1 o% o" s% W3 S* l1 b2 ~$ u
import swarm.activity.ActionGroupImpl;7 h% _9 E/ O5 ?' f2 V# u& g
import swarm.collections.ListImpl;
. i  c' L5 q/ P8 U9 |9 Rimport swarm.defobj.Zone; 6 f% z1 o8 w5 \- ~: L1 X5 E- q' E
import swarm.Globals;
$ F# I; m9 _5 W# cimport swarm.Selector;
! d- O6 A4 ?5 j$ F, |" Uimport swarm.activity.ActionGroup;
, J' |0 i  R% A2 L$ Lclass Agent {
+ {* E2 R: Y" ^- B        char id;
3 T6 R( S3 d1 J9 C$ T1 |8 A: M( h; Z0 f3 C8 H) J' I7 B
        Agent(char id) {
! h) k* A/ a) Y7 }4 z3 p                this.id = id;
; ~6 g/ \0 d4 J2 Z5 [+ a$ O        }& S$ X' u; `1 y4 @$ j
% Q7 Z4 t2 X$ h
        public void agentStep() {& X7 R/ b% o7 z: \0 n: }) c
                System.out.println(id + ":" + Globals.env.getCurrentTime());2 p  N) ]" J" R: h
        }* |  `; j. G, u- B( x! j  c7 ^
}6 @, ]: |# V' @; Y! ?) T- C: E: O
) h. e$ W* c; P* S' `- X
public class ActionGroupDemo extends SwarmImpl {% @) D+ p9 n7 E* Y' ?7 ?
        ScheduleImpl schedule;
# d) i$ x: M( ]0 f6 |        ActionGroupImpl actionGroup;
' S/ [0 k/ {" c; \        ListImpl list;
1 L5 @6 l1 v1 ]        char Id = 'a';
  i/ P. \) l) v
* j3 U& Y6 u3 N- s: j9 D3 s        ActionGroupDemo(Zone aZone) {5 B1 H/ ?0 ^5 [2 I$ Y
                super(aZone);$ `+ L! C" B* Q  S) v
                list = new ListImpl(aZone);
9 n( Y- ~. y+ o+ r                swarmSetp();
, ^" A/ t% Y% e. w                actionGroup = new ActionGroupImpl(aZone);
7 b6 o, \) e/ F$ N1 I2 \                schedule = new ScheduleImpl(aZone);
+ F$ Q2 K0 y+ S( P+ S) _# @                try {
5 H0 ~" M7 N$ x3 {" @( J/ B! F                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
1 W. A; l7 J8 G                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
8 J$ }4 y8 L& o; h                        ! G' B3 ~# P2 ]# j. D" g
                        actionGroup.createActionForEach$message(list, agentSel);! H6 G. P: h& P7 c; }3 X: ~" u
                        actionGroup.createActionTo$message(this, swarmSel);
& }$ F* G8 o( Z. P. t                        schedule.at$createAction(0, actionGroup);
! x' f1 k' M3 G* ?                        schedule.at$createAction(1, actionGroup);7 {/ W' O9 @# h6 o% H& `4 B8 f
                        schedule.at$createAction(2, actionGroup);
( F- |' J* Z& F9 U9 ?+ v( p* Z* v8 C  U
                } catch (Exception e) {$ S" r3 l: d2 i; u* r
                        e.printStackTrace(System.err);4 b( [7 _7 k9 Y. S/ P
                        //System.out.println(e);" k6 q* u& q  w1 }
                        System.exit(1);6 {9 Y; Y9 {- w# S) t2 A: \. m; l' Q
                }$ g  P/ B0 \' Y- d' n

6 A9 c3 z* h% h( A* o- v) E2 Y" F$ [$ X9 o9 k/ K
        }
) x; f; \6 m) N0 A4 S1 `
2 @' \  G: N/ M- F% U% z        private void swarmSetp() {
' I1 {- G0 ^3 a4 u6 E/ M                list.addLast(new Agent(Id));2 G% m- K9 B" s  N% R5 U0 q/ u
                Id++;
8 K+ N! W7 y6 O        }
" A& L2 v  Q% _$ `, o8 ]: ~' L& B1 n6 ~/ ?' i( o
        public Activity activateIn(Swarm context) {
4 j% B6 ?2 E2 R                super.activateIn(context);
( Y; s8 y: z$ \$ A" ^. J                schedule.activateIn(this);
! u/ Z3 R7 ]/ ]7 b$ ~                return getActivity();5 l3 u5 m5 x& @& E, F. ?2 o/ J( m
        }. m$ _  u" J- U* _& x, b7 s8 W% E, m

& n) u9 s& T, d& [; ^# V+ H        public static void main(String[] args) {- i) |$ ]( ]) [! U' F) U; y! K
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
2 E8 D; {. f6 b* Y                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);: D) ^) i2 i8 S+ ^# r$ F7 k: r
                swarms.buildObjects();
5 Z- \) z* q) ]% b7 H) U5 F                swarms.buildActions();
" g/ Y7 v# k( S  q( M) }                swarms.activateIn(null).run();
7 E* k( T7 @7 [6 L9 P, ?        }
' ?+ D+ W( d5 Y4 r0 H5 C' W. Z. n% D$ ^/ i6 O
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-9 06:33 , Processed in 0.016946 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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