设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7998|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
+ M3 [4 u1 Z. C. J3 w* h
( H) S8 q+ e$ W% N# w% n本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
, N) h+ [' W6 B- v6 J以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.- y! T1 {' A) ?! h/ C
swarm.SignatureNotFoundException- l1 q+ b9 ?( I& n1 x5 U
        at swarm.Selector.<init>(Selector.java:76)& u) f$ c, O* @. k  W* ]
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
& e& N8 {% ^+ A, W        at ActionGroupDemo.main(ActionGroupDemo.java:67)' G+ n- k$ a2 u/ p/ M& `" M! ^
' o/ m; n6 S0 [- ~! W6 @- o% v

$ T7 o2 g8 p, c  Nimport swarm.objectbase.SwarmImpl;0 B- f3 d, _4 [' G
import swarm.objectbase.Swarm;
0 f% n9 ?( f. I8 S% Oimport swarm.activity.ScheduleImpl;) V# ^; c6 {* {1 k, t! \6 M3 g7 |
import swarm.activity.Activity;6 x& K4 q' y  s" c
import swarm.activity.ActionGroupImpl;1 K; v. E- Q' l% H' l1 \9 a" A
import swarm.collections.ListImpl;
. H! f3 Z" ]- L  L# Vimport swarm.defobj.Zone; - M  s$ b, v  O! o- g6 H8 z" a% S
import swarm.Globals;
3 C: A* f* \1 x' kimport swarm.Selector;
2 |- s* s8 U% R9 O+ {# Z* p$ [) f7 x/ [import swarm.activity.ActionGroup; 5 y; J* n! a; ?1 Z2 w
class Agent {
! W! ?5 i1 [; g3 h( y9 ~% {        char id;
% J$ D# z/ [8 R9 X. O2 I
& ?5 L  U6 W3 A+ U        Agent(char id) {9 w, M& r$ v/ v8 f
                this.id = id;
7 f1 a" d' N' R* o  b: r% j        }
3 S% }: j2 E1 \/ g) Z8 ]* J2 \6 z, {9 ?2 ?; L3 X
        public void agentStep() {2 V+ l1 t7 B; S* p! U2 q* F
                System.out.println(id + ":" + Globals.env.getCurrentTime());
% D9 q3 P; x5 o) V        }
- r* r- M, r- e. L+ x# w  k$ O7 h( j}- f& Z3 ~: B! Y
' ?7 i  k8 \. r: e5 l3 u% I
public class ActionGroupDemo extends SwarmImpl {+ P9 z: i( Z' h' U/ |6 k9 h
        ScheduleImpl schedule;
+ ?9 t$ L/ B, P+ z% d        ActionGroupImpl actionGroup;6 t) P/ _2 e5 W" S/ q
        ListImpl list;$ d# @5 I8 q% `2 S% C5 ^8 d: m
        char Id = 'a';
  _0 \$ h1 y; O, d, M/ t0 H! ~: x7 C5 a3 e
        ActionGroupDemo(Zone aZone) {; U& ^% m/ K) X9 @4 s+ i  c6 v
                super(aZone);1 j) ?+ h! l9 ?  n
                list = new ListImpl(aZone);5 |" r; d" J6 ?. I9 b; Y" `4 E
                swarmSetp();4 H9 _+ l" r: {* Z! G6 g( X% U
                actionGroup = new ActionGroupImpl(aZone);
9 `, O8 n" j8 z& a* m                schedule = new ScheduleImpl(aZone);$ Z$ f* ?5 |, N! l0 V
                try {/ N, S$ {7 Y# Y' Z
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);, @& f; c0 f6 I+ _, k2 x! I2 u
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行' [& r. j% ~0 H/ U
                        
8 |0 F# O7 e* M, t: \6 P- }' h                        actionGroup.createActionForEach$message(list, agentSel);3 K! k( g" L& J, S' x0 R: T9 ?
                        actionGroup.createActionTo$message(this, swarmSel);* j; x; q' }# g4 k, b9 g/ S0 F$ _
                        schedule.at$createAction(0, actionGroup);
1 p: W# _- q5 a, ~) Z) C- j                        schedule.at$createAction(1, actionGroup);8 K  _0 d" c" h; i
                        schedule.at$createAction(2, actionGroup);
3 b/ A- ?' l( s- T# M# v4 q; A: c+ ]9 D- }& g4 D4 g+ f
                } catch (Exception e) {
9 b0 n/ ^: g1 z' N                        e.printStackTrace(System.err);! {0 f9 Q9 }  V0 W& z4 V
                        //System.out.println(e);, |, H; S7 ^& P" N8 L1 }' Z  Q
                        System.exit(1);
( u% e/ a' o% [( l                }' ~. |0 O+ W# D
+ Q, ?5 C' F' c- G
3 D+ C- R7 y6 f# `' g2 n, ]
        }* o/ y0 G+ L# I3 w" H/ s& j; m
+ N1 Z8 F# K9 ]. t" r* I& k
        private void swarmSetp() {
1 }4 d: x! G: x                list.addLast(new Agent(Id));& ~; p4 F/ R( G( R0 c9 K0 E* N
                Id++;0 J( G1 {% R3 k, _
        }
9 U3 |' a$ b; ~1 q# X) k
+ c. f* D* _* V: G8 p0 U9 r8 o        public Activity activateIn(Swarm context) {  c; W9 F1 d1 [
                super.activateIn(context);6 J& P5 x. S" j6 ?* T
                schedule.activateIn(this);
, o; p8 G( I: c6 V8 g9 @  Q                return getActivity();  n! a, v0 {, K* L
        }0 i% C% o6 i; k

) ]. d. p/ w& v. O        public static void main(String[] args) {  T$ f5 W* y0 J, B) d/ `
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);" o2 m( u8 w! X& j4 T5 g
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);) O. ^7 w; t: }) a+ z
                swarms.buildObjects();
& r8 w1 {/ }$ H3 \) N6 _                swarms.buildActions();* n) B' k( k; ]
                swarms.activateIn(null).run();/ ~) v  J) e! u' M* h
        }( ~. I4 \% A5 X0 f

: w- k. \) `# n3 p/ N  K- O& c9 b}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-26 13:55 , Processed in 0.016452 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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