设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13034|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 . u* @/ V4 f* H) E
4 m  F1 ]& A/ y9 p" W0 Q0 a8 u' R
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
# K/ v7 V2 s7 ~! Y/ g以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
) T& `$ T) {  A) q2 W* ~* Iswarm.SignatureNotFoundException
' H, T3 ?5 C: S6 W4 M* _3 T        at swarm.Selector.<init>(Selector.java:76)2 m% r4 p/ K1 o7 P
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)# U  H- o  j* ?* o
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
2 Y; v  L8 p( u! y, S5 H( ?( M% e* A- o: J# L: w

$ i  o, F9 _0 V) Eimport swarm.objectbase.SwarmImpl;- a! P' L) M; p3 u" @  C5 z7 N" m
import swarm.objectbase.Swarm;
6 ^/ [5 U- F) z; |: a/ t, X2 Fimport swarm.activity.ScheduleImpl;1 j% O0 N; \+ c, y! D5 j
import swarm.activity.Activity;
- [2 ~; b; ?. T' c6 T8 qimport swarm.activity.ActionGroupImpl;
- E! S) @2 b! h+ fimport swarm.collections.ListImpl;
, o% x& j" g/ Y  B. o* L: gimport swarm.defobj.Zone;   c( q5 p: g8 w7 Y4 R, ~3 h( v+ S
import swarm.Globals;" j, H( ]) y; O2 _3 h0 f: G
import swarm.Selector;* G6 g* s: T" N+ [2 S
import swarm.activity.ActionGroup;
3 P/ ~) q* g! a3 o. Wclass Agent {
7 `( g: J* P6 G! u2 c        char id;% p9 M1 \# k# a

/ }  k' B: X1 w5 v        Agent(char id) {
6 m4 r6 p5 ~, y                this.id = id;
" Y9 y. f9 Q$ A        }
  m0 {; b3 ?: z6 t6 I  T1 P) m# R, w
        public void agentStep() {
$ r! `) A: K$ C% M                System.out.println(id + ":" + Globals.env.getCurrentTime());
3 q$ r$ T( p8 {2 P6 g        }4 Y! U; n5 K$ k$ U6 O
}( ?/ x& L, n- j' D; C, y
8 t9 A- l8 e" r5 B( c& u
public class ActionGroupDemo extends SwarmImpl {3 H+ Y2 z6 Z, X5 b% O
        ScheduleImpl schedule;5 z. Z& L+ L. E& Z7 G) o4 W
        ActionGroupImpl actionGroup;
9 _: r5 g& \! }  j- U        ListImpl list;
& a6 d; M9 [3 {. Z        char Id = 'a';
& j$ @# t5 ]: y4 h- v7 W2 N8 ]* _
        ActionGroupDemo(Zone aZone) {9 ^) U6 [. U' v# T2 S  }
                super(aZone);3 F1 B8 S  W3 \6 ?" V3 i
                list = new ListImpl(aZone);3 l2 {! R& F: ]2 G$ x
                swarmSetp();8 r) F1 y& f. b+ W+ W  |1 D$ P! y5 R
                actionGroup = new ActionGroupImpl(aZone);
- F+ m# t- Q. X1 p* h" o                schedule = new ScheduleImpl(aZone);+ U) v- |9 L- M+ }, A! n' b
                try {
; u1 j* s: j: n) I3 L6 W; k                        Selector agentSel = new Selector(Agent.class, "agentStep", false);) k  D; N6 E5 h2 W' q( k: J3 }
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行5 X4 ^8 @8 y" w! s+ E8 x
                        
3 U! n, }$ K, T( ]$ Q                        actionGroup.createActionForEach$message(list, agentSel);) h, j* B4 c1 b$ e, R% ?& S7 m
                        actionGroup.createActionTo$message(this, swarmSel);
" T8 w: C  }/ b2 z  K$ h' H/ c                        schedule.at$createAction(0, actionGroup);/ O5 _/ @3 q+ {. o0 w/ a
                        schedule.at$createAction(1, actionGroup);
9 c( [7 p: c& {( o/ Q                        schedule.at$createAction(2, actionGroup);6 [1 N- v( i! s) c; T8 ?# H$ E' A

! N: q# w; l2 C- U4 _                } catch (Exception e) {
4 i0 f5 o5 ~$ a                        e.printStackTrace(System.err);, V* r1 A% a2 [8 e+ ]" P# }
                        //System.out.println(e);2 i6 ?) a# y& d% u
                        System.exit(1);
! ^- d& |- ~2 M- Y6 F                }
* N% n6 p' v, v6 r# c# g' R) [9 M8 R  q
" |" i- T1 Q' Q7 z
        }
9 y7 h; m/ `7 j5 \) X1 s  k6 y6 y8 h3 M
        private void swarmSetp() {" n% i; I, O, r! Q/ f9 c+ m
                list.addLast(new Agent(Id));
# f# \) B( L. p. A                Id++;
. J- |( K; D2 `4 R. Y        }- _* L; y; V  M8 r8 P, t2 ?

5 e2 g) s4 g0 h/ W4 n        public Activity activateIn(Swarm context) {# X2 w# Y5 X* S0 H) v- W
                super.activateIn(context);
/ o& w1 n; Y. h7 A+ w; H                schedule.activateIn(this);
, {) F& s. m0 N1 E" P+ L                return getActivity();
9 J5 H* H1 N( I, a. I$ o8 K6 L# }2 O        }
& D" J  I3 Q! Y* E6 |" O
+ i8 q; R8 m! b2 w        public static void main(String[] args) {% b( J  ^: T2 ?8 J% ?- o  j5 K2 q7 @& W
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
6 M4 J/ x8 ^  f; c) N                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);$ F# Q+ H* b7 o! _0 P6 }; @  C
                swarms.buildObjects();( x, \) `2 g9 |1 n5 z* d
                swarms.buildActions();% F6 q1 g9 Q/ F
                swarms.activateIn(null).run();* r6 }* Z: G* B6 Y$ B
        }
- K, W& A; X$ ^* M, o7 W: N. n( [% w9 j  o" r" [& A9 ~3 g& t
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-26 15:20 , Processed in 0.016103 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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