设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9738|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 9 c! e% ]/ J9 X2 C  e3 X& s

! |6 Z" D) z8 z- ^% L) J本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
) h, \$ y; q; o% x  |以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
, M! m. f& B( ]9 Gswarm.SignatureNotFoundException
( q- A4 {, V$ H/ m6 ~2 K        at swarm.Selector.<init>(Selector.java:76)
. Z' ]$ p' _- v* l        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
. w. {, {0 I& ^7 {) Z% m        at ActionGroupDemo.main(ActionGroupDemo.java:67)0 k7 q8 X  Q9 V$ B6 F3 T/ N$ G' K# o
$ I$ ^: K8 B  q! j3 b4 ~+ L2 M5 o$ n1 E
4 X! K# Q2 Z6 B+ L' S
import swarm.objectbase.SwarmImpl;
9 S$ O) K: C8 h" `8 ?( L4 `import swarm.objectbase.Swarm;# X% B, r% w8 V$ F9 J) k8 `
import swarm.activity.ScheduleImpl;0 Z) N) m* F; @# p. P* V. I
import swarm.activity.Activity;
8 O2 C6 p6 q' h/ ?) jimport swarm.activity.ActionGroupImpl;, @+ R  n+ @2 Y/ D" u0 V
import swarm.collections.ListImpl;$ c5 B. x4 `) `# c# r8 M' |7 @5 x+ l+ x" Z
import swarm.defobj.Zone;
7 g* p9 @, j8 J* ]* ?- a, Bimport swarm.Globals;
; g6 [4 A9 w% B7 S* j" Eimport swarm.Selector;8 e. t) k8 q( x7 d
import swarm.activity.ActionGroup; : Q1 U/ U, o. [5 [
class Agent {
  f% B2 V  ?. I3 }  C6 E( c        char id;
  d+ @8 j0 W9 I  Y+ v  G$ b% S' l3 n  ]4 i% e3 j8 C) [& A2 f4 ?
        Agent(char id) {, Y7 E6 P" Q% N
                this.id = id;
& n  H' O8 O2 |6 [        }
6 L' z9 {! ?1 a
% V* s1 S) h# u; l7 t& P6 z; v. K        public void agentStep() {7 l& w( I0 P% g3 d  p
                System.out.println(id + ":" + Globals.env.getCurrentTime());
- P: X5 K1 R6 d! k& w% t        }
) `( C1 b8 M6 h: t6 q}8 k+ a" M' R, i

4 K5 }. V6 J; O7 p3 y8 s0 @3 |public class ActionGroupDemo extends SwarmImpl {
, _+ E0 }$ y* ^+ v1 ?4 |        ScheduleImpl schedule;
& a. i' I: e% B& n) ~# P        ActionGroupImpl actionGroup;
, q) H3 R: ^# a8 }8 c4 @        ListImpl list;
5 K- J# P2 b: s9 m4 e        char Id = 'a';
$ L6 {( d7 H2 b+ A6 U/ X0 F+ D& v. F2 n# W: r) v) C! A
        ActionGroupDemo(Zone aZone) {
/ z$ n. w# M; m6 K                super(aZone);& w, M& u. I- @4 O
                list = new ListImpl(aZone);8 p# {; s) ~' q+ @
                swarmSetp();
; s5 G& o9 @& ~' O* w  [                actionGroup = new ActionGroupImpl(aZone);
: J& F" m9 u# o, ~7 u+ W( R                schedule = new ScheduleImpl(aZone);. s* d8 Y3 @3 W4 e: a8 O  U0 p/ S
                try {
4 i+ T6 Q1 @8 G$ f/ m5 d) y9 u                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
3 J9 ~' [, {0 n/ _1 K8 p' f7 d6 |0 d                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行9 g* Y1 o  |$ U0 I4 Y2 E
                        7 H4 y, e& d7 n3 @, ?, B$ r
                        actionGroup.createActionForEach$message(list, agentSel);2 t0 i  x3 `  v% x
                        actionGroup.createActionTo$message(this, swarmSel);
! \. e% ~4 A  q8 ]2 I                        schedule.at$createAction(0, actionGroup);* ]; ~. H  T' R7 l
                        schedule.at$createAction(1, actionGroup);  @( U# J) Z- c1 G8 j% q6 a
                        schedule.at$createAction(2, actionGroup);
2 f* z$ @" U" U9 c9 Z* \
' Q' k) Z, k: i) l) u" X                } catch (Exception e) {
' f/ i- Y- ?' P6 D                        e.printStackTrace(System.err);
5 G2 \- N0 s8 @2 e4 w6 J                        //System.out.println(e);7 x" q  d8 t% c  ?) k6 o- D/ R
                        System.exit(1);
/ z1 D( T  y" \+ o% L- k8 l                }! x: v, z4 f# U! ~7 Z1 q/ ~
3 L3 [4 B5 n/ o

$ x: K: @/ w8 {+ j/ M        }
4 a  |$ x, g' A* S
% p* J+ S: @$ M4 U6 h/ q* l. h, A        private void swarmSetp() {- }/ t  z* ]8 M: {; I) u1 t
                list.addLast(new Agent(Id));
; A2 H, H9 a/ X- l                Id++;3 `9 u4 u  A  t9 c& P$ s7 j) S. V
        }
7 c: v5 b( R* l- Z; ^  x
& y' _8 C; f  q) n        public Activity activateIn(Swarm context) {
0 y5 q: `1 n: F* J" l2 j                super.activateIn(context);
2 {9 p9 P+ a$ E7 i                schedule.activateIn(this);
6 ^+ L; ~0 j; v                return getActivity();
2 ^1 D+ Y! {; Y4 M/ e! b8 F0 c2 ^        }
+ Z; p& e8 ^' b& j6 x. [, Q/ i
8 H! b3 b+ u% g! |: a        public static void main(String[] args) {6 S3 }, S. \) B1 Y/ N
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
9 D' t+ {( W9 d  Q2 n                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
( W7 L1 u3 E1 }2 K6 V                swarms.buildObjects();( u0 e: F7 d3 r9 T. C9 k; `
                swarms.buildActions();
' \3 t- V& T$ }  h                swarms.activateIn(null).run();4 Y  w8 V0 s; i# F- w
        }
5 k8 u2 ?& }4 K- i0 N8 J" ~, C9 U0 G" ]# q' J! h* o5 U. U0 q' v+ \
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-21 07:51 , Processed in 0.016549 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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