设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7346|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
% K+ ~; a; E) Y$ i) j3 N  i) W/ x2 X' r& q+ b; A! l. p7 Z& T
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21, G  r  Y8 m+ U# D( ^
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.  I4 ~0 J/ \# ^+ E; r) N) H1 h- `
swarm.SignatureNotFoundException) p3 s, f! {, k+ D, G1 M6 N
        at swarm.Selector.<init>(Selector.java:76)
  `9 L% J8 b2 P4 Y$ Z& ]  ?        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)% Q1 L: x; ]0 l3 [" X% F
        at ActionGroupDemo.main(ActionGroupDemo.java:67). f1 S, K4 l/ g
$ |) V2 o  u1 O4 J) o* J

- g$ I  I/ i5 Z1 Aimport swarm.objectbase.SwarmImpl;1 T# J5 r( U% }: w$ w
import swarm.objectbase.Swarm;, H+ m+ W6 r  _" m2 h' {
import swarm.activity.ScheduleImpl;: H+ p7 z* J9 @# D+ T5 t
import swarm.activity.Activity;* s! j+ y, `/ x! P% z7 O
import swarm.activity.ActionGroupImpl;
2 t+ ?! I! N1 Y( C: t& W% Zimport swarm.collections.ListImpl;
# F$ \4 J2 w' M, h+ x# G4 o/ oimport swarm.defobj.Zone;
9 K5 U# K! x3 r) ^" ximport swarm.Globals;' e; C7 O4 E* ~7 _/ [2 L" \
import swarm.Selector;
+ Y: T4 t$ X: [" y9 nimport swarm.activity.ActionGroup; % n$ S7 b, I& N0 r. g4 Z
class Agent {4 O3 X9 F& K2 q6 h( Z8 n! c
        char id;% T( B% U3 ^# _9 g( o1 R
' ]3 W; f; T% `' L5 i
        Agent(char id) {( X9 ]) E/ U/ f
                this.id = id;/ ?  F6 o' l) |( @- N% a
        }
3 A/ e& `" h7 G. x( f( Q( T2 N0 x4 ?- L. b3 g. K. R' z2 j3 w
        public void agentStep() {
  b2 O2 E; i" F+ B* a0 _                System.out.println(id + ":" + Globals.env.getCurrentTime());
1 @* {7 |1 b0 c, Z8 q        }5 Y' w& Q5 W! A
}1 s: H! n4 k; X1 J& T

  ]0 M" T5 d! _$ R$ }public class ActionGroupDemo extends SwarmImpl {
7 W; Z. w7 {/ n; e, @4 u        ScheduleImpl schedule;( n' G; I! }0 e* _% }# h
        ActionGroupImpl actionGroup;
) W' D$ y2 r' y' h# r        ListImpl list;
# ?' G# V5 h5 Y/ w9 R& o        char Id = 'a';
* W4 ~9 o5 p; T( U, V" K  U5 n  X0 A6 x& i0 o9 U0 i
        ActionGroupDemo(Zone aZone) {
5 f/ K& @: `1 g- `+ y                super(aZone);
4 z( ~# L- X/ m  i                list = new ListImpl(aZone);
9 p) B' Q! _9 L2 d                swarmSetp();
/ C+ B7 W( Z* D1 t2 f1 ^6 i                actionGroup = new ActionGroupImpl(aZone);$ ]9 P$ T; j+ A1 Y
                schedule = new ScheduleImpl(aZone);9 K' Y4 U5 e3 w6 F% m- `% Y  D
                try {
1 Z' t- d7 {3 F8 g# \2 r                        Selector agentSel = new Selector(Agent.class, "agentStep", false);' Z2 }4 L& n5 Q& {7 e8 N: K5 E$ T
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行+ @% f- |5 w( B, A7 P9 J
                        
  F9 U7 ?  @0 B3 x                        actionGroup.createActionForEach$message(list, agentSel);
, s2 F5 L7 m0 J, Z' c6 R                        actionGroup.createActionTo$message(this, swarmSel);3 l, `. m1 j0 L  T9 B. i. F' ~
                        schedule.at$createAction(0, actionGroup);
, v6 {/ I: h* l                        schedule.at$createAction(1, actionGroup);
0 y9 |$ l5 G& Z/ {                        schedule.at$createAction(2, actionGroup);
0 n7 b3 v( ~& l: T8 L8 e* ?1 m- T) i8 U. t# b: N8 D; ^6 `1 V4 S; F# _
                } catch (Exception e) {& M) E% k9 k; O5 [; u
                        e.printStackTrace(System.err);
* R. l9 h; f2 F- Q; n                        //System.out.println(e);  @! `0 q1 k# i: r1 w) C" I
                        System.exit(1);  w; k+ [* h* k; B9 x! @
                }: u/ _9 q' U* E: v( u: y$ Q
/ h  b: w5 E! B

3 D- n" C, ]: U) A        }
2 F! f8 P+ Y* x: j6 _, u  q+ _" y' f7 ]
* }2 Z+ n( I0 |        private void swarmSetp() {
3 g7 R  J) P2 P1 _% V                list.addLast(new Agent(Id));5 A3 A9 l1 t) w  ]- n3 s
                Id++;& }/ l- O) c. L) q* S
        }5 O  |/ K1 Q7 e3 J2 m

2 @- d8 H# V2 r  x% e# S) z& w6 h! A        public Activity activateIn(Swarm context) {
4 I/ g4 F) d' s  k                super.activateIn(context);
" \- Q# F+ Y2 r, o4 @' y1 f                schedule.activateIn(this);3 {) R$ F/ C9 t( q$ R( w4 r% U2 ]4 s
                return getActivity();
( F1 \7 s5 ]% @  K  T" h        }
; d$ }' p4 w* i3 x  `; r; N4 Z  g
( d! ~5 j& l, @1 I; s8 u5 R        public static void main(String[] args) {' i; p) C' r7 j5 [2 o1 X9 J/ u. g' o
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);& _* }4 w" f0 K) L6 D
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
0 }0 u4 P: n* J9 G7 O2 E" }                swarms.buildObjects();
* N2 r7 o- V$ N% z9 K                swarms.buildActions();. Q* n, ?2 q3 e* r! }
                swarms.activateIn(null).run();7 h* j/ S5 `1 j) e6 ~
        }  Q0 p. v: K( o# y
- Z- m, z8 F" g7 n( R: h  f
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-27 09:04 , Processed in 0.023898 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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