设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6184|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
. y1 M" X  A6 X) o9 v; F" x; E+ n/ s' W- z# ~# I
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21/ Y% x* c8 o4 n
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.5 w' u) X0 n4 x
swarm.SignatureNotFoundException
4 C- {: v6 c3 B( I3 O* p+ f" e        at swarm.Selector.<init>(Selector.java:76)
1 X6 I5 h5 N! A4 h% j! Q. L        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
4 `9 o& E# q4 q6 Y$ ~! M2 a- p        at ActionGroupDemo.main(ActionGroupDemo.java:67). Q/ C  l$ T5 f8 q0 r, T, H9 y
, x: [5 Z- h7 T2 g$ b) j: T4 }( r
, m4 T. P, Q+ E6 Z
import swarm.objectbase.SwarmImpl;
0 {9 G& h0 d' y: `import swarm.objectbase.Swarm;7 g% w+ a2 N& W( H9 C0 m
import swarm.activity.ScheduleImpl;
- t& P! |7 S) M" o) Qimport swarm.activity.Activity;$ {( J* X, Q5 Q/ I: L4 F1 m
import swarm.activity.ActionGroupImpl;4 [* |1 Q. R: m1 b& I" J% w9 o3 H
import swarm.collections.ListImpl;2 A, R, R6 L* N9 O  n' H
import swarm.defobj.Zone;
3 e) w+ c# L1 E$ e2 O' |import swarm.Globals;2 I' B8 V, g) K# Z  J5 L) L
import swarm.Selector;( j! U: @6 s: Y( t# E% \8 a
import swarm.activity.ActionGroup; , R6 Q3 J* m. W" u. C  g9 v  k4 p! a
class Agent {
; r& y) O5 R+ [9 j% H" \        char id;
- J5 j! }& H& v8 O) A) K
* n/ ]) _! Y* q! M, J% a9 m        Agent(char id) {
, o8 r& ?. F9 d, H                this.id = id;& f8 y4 k% e3 p
        }
- r6 X! ~" @! [) }7 a
5 v3 V7 e+ g& G* [( |# S# y        public void agentStep() {
9 |0 e# K7 d4 J                System.out.println(id + ":" + Globals.env.getCurrentTime());
' o% L& @% Z, ]& P3 {/ U        }5 U! m# P! a9 c5 h" V. g
}6 w+ b( y  m1 p1 A( i- m. g
; O2 Y! k  ?  A$ [0 Y/ Z% J5 x
public class ActionGroupDemo extends SwarmImpl {1 T3 ~$ i( `; ^+ s
        ScheduleImpl schedule;
* C6 M- |' J1 E  K8 P2 M3 I        ActionGroupImpl actionGroup;
3 l" J7 }/ [7 l) n" _8 x5 P6 t" W        ListImpl list;- X' O8 W2 K% \; K" R/ V# @1 a
        char Id = 'a';
9 u0 c. l; r0 h2 J) U* B
4 m) w* Y+ A1 L$ S+ w        ActionGroupDemo(Zone aZone) {( a3 E; K9 A  H( h) a: c7 g$ |
                super(aZone);" @' j. U8 ~" m! l! U
                list = new ListImpl(aZone);/ y# D$ x7 W' A' X
                swarmSetp();; d9 K/ {" h) M% |) b4 M" g
                actionGroup = new ActionGroupImpl(aZone);- P3 a1 g1 W) i1 B
                schedule = new ScheduleImpl(aZone);1 W$ p. A# V% z
                try {
7 g' P8 m* ^! B" ^3 M5 p                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
( Q- P2 _* k& R/ j' ~( _5 V: v" f                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行' x6 r1 t. s0 Q4 A+ W' s5 o* H
                        6 X. v+ f3 h7 H# ]3 G, }
                        actionGroup.createActionForEach$message(list, agentSel);
) c5 m8 ?: d0 c+ g+ A4 e, o- T/ q% V                        actionGroup.createActionTo$message(this, swarmSel);' [$ v1 S3 i3 }  X# ~' Q
                        schedule.at$createAction(0, actionGroup);
' ?5 ~2 D& q- Q# k4 d8 T0 E                        schedule.at$createAction(1, actionGroup);
* c* w+ U. ^$ @( S, ?8 b: R/ a, R                        schedule.at$createAction(2, actionGroup);
) A6 _! T4 d6 R6 g/ N/ D3 ^8 P' b9 P% h# m/ G, X4 `
                } catch (Exception e) {
( T: B$ `' `  O! f: k1 h; P                        e.printStackTrace(System.err);& H3 k) ~$ J- H7 Q/ s
                        //System.out.println(e);( c; ?8 n  T- k
                        System.exit(1);' q. l' [! J8 n6 y9 C% l5 m
                }
$ c2 E( Q' L& Q: B% Y7 m3 k1 n+ }8 b# f+ l0 U) n% k7 p% Q

( E3 Y+ T9 t! S; w, S5 }9 Y        }+ K8 i+ B% V4 U3 {

! c7 J0 O8 a4 {' U+ y3 L: R& i        private void swarmSetp() {7 s6 G4 t# T* q5 p2 X
                list.addLast(new Agent(Id));) f  T- F& j. v/ e( U# v9 ]. s
                Id++;
) v& \1 `4 r7 }        }
- n$ r" v! R7 K; G
9 {( q) Z1 C; g% u' @1 Y1 M        public Activity activateIn(Swarm context) {
) X" O; q, B7 \5 T                super.activateIn(context);
  P" k0 ^; d0 l* U                schedule.activateIn(this);
. F, T. b2 G, H3 ]1 z: E                return getActivity();
, K. q. G7 \% c. X! F        }  o$ M9 q; U; N
' G7 I) l% I" @! _0 B6 p6 `
        public static void main(String[] args) {
0 ]2 J0 w. z8 S0 @                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
( L6 T; F& c! U                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);8 y/ B/ J5 D% z9 u# D1 e. [
                swarms.buildObjects();
9 P7 G6 ]2 _: N, M: C8 X                swarms.buildActions();* }( {2 n8 y2 H& ]& Y
                swarms.activateIn(null).run();& i$ m$ U* h: c, N- ~
        }. s  \# ~1 @2 l0 X

! F" G- a. z6 e/ k  ^}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-20 18:03 , Processed in 0.020583 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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