设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5716|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 & g+ a: I5 z& i9 f# \- y
2 S7 a, n  [' {/ I# ]2 y7 `
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update215 m+ t  i5 \- k# V3 _5 T+ r! _
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
7 R6 e$ q  E4 ?4 O) S# g- `swarm.SignatureNotFoundException+ J1 {3 T# p5 a1 y/ |; l5 \" Q
        at swarm.Selector.<init>(Selector.java:76)
" G" W. u( F8 j. p        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
7 b$ w' V7 D3 q9 ^: X; P0 v6 n        at ActionGroupDemo.main(ActionGroupDemo.java:67)0 w! K& J! {+ q

+ p" ?1 a0 `9 D6 B
$ |: R3 L/ ]: o9 o  t! uimport swarm.objectbase.SwarmImpl;
3 s  C4 t0 G  E7 X* y3 X5 f: V8 Vimport swarm.objectbase.Swarm;4 I9 E) n7 M7 ?+ k
import swarm.activity.ScheduleImpl;# u# T/ x- w# H1 H8 o
import swarm.activity.Activity;
- O: d! y' ]" R/ |import swarm.activity.ActionGroupImpl;( }5 ]& i( C2 U# B; h2 j
import swarm.collections.ListImpl;" F/ m9 H4 P0 B
import swarm.defobj.Zone;
8 f3 o5 X8 {2 G8 o, aimport swarm.Globals;$ X, D4 A# F/ R% a2 v" E
import swarm.Selector;* Z# ~  m. q" z0 e  }
import swarm.activity.ActionGroup; 5 M* F( \6 L4 M4 \0 m) n7 A
class Agent {" P/ B0 Z+ h+ H( o
        char id;; |5 B  @( N5 Y# i1 D( |9 T

& e% ]6 y; q( a        Agent(char id) {
; R, v3 e. E/ H) O, K, i" Y1 W- C                this.id = id;
" N+ E4 ]0 z( G4 v        }( X4 N) P" J+ c5 D& d/ N

2 a0 D+ R) A7 i+ _2 t8 B. j        public void agentStep() {
$ y  V1 E: a2 w& Q- F( Q6 v                System.out.println(id + ":" + Globals.env.getCurrentTime());
3 X  H: n8 c' J        }' ~+ v% L- A1 ?3 @6 ], x
}
9 S9 |3 o9 b8 _# J
5 T& y% N+ E! v4 {% jpublic class ActionGroupDemo extends SwarmImpl {
$ h! i1 M  q( e( W        ScheduleImpl schedule;3 W8 R! ]/ Q& i/ r. }
        ActionGroupImpl actionGroup;
0 {. v9 ^7 o2 L5 x9 k        ListImpl list;" ~9 Z: P2 C4 c, V5 d) g, O4 @
        char Id = 'a';
1 U9 n" E' b( s' k; E- m
  n) B# B) ~: }" u6 X8 c2 q        ActionGroupDemo(Zone aZone) {
% o) R" Y( k, q0 J. A8 Y& K                super(aZone);
: z# N  N) y' c2 c6 s                list = new ListImpl(aZone);
% N- L9 B" D& @( E0 @                swarmSetp();9 E" R9 ]) X  J7 o. x' n  g0 ~
                actionGroup = new ActionGroupImpl(aZone);
$ x3 F& I( z9 Y$ h% u                schedule = new ScheduleImpl(aZone);
+ @* P. l: K! X# E' R' v/ f( K                try {
& U( ^& x: M) ^0 D7 k                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
8 i& v! g; H" K+ ^                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
  C: }" y9 x- d: [9 r/ g                        
1 n# |% I+ e' J3 B                        actionGroup.createActionForEach$message(list, agentSel);
% C% K9 t3 n8 S" v. ]+ P                        actionGroup.createActionTo$message(this, swarmSel);
$ F* C) @" r% j8 w3 E                        schedule.at$createAction(0, actionGroup);& a! t) w( [- ]2 G8 }4 ^6 ~
                        schedule.at$createAction(1, actionGroup);' [, s. O: J6 D
                        schedule.at$createAction(2, actionGroup);( `( W" v5 J+ K

( x, Q; I+ ]8 h2 H; u  s6 b0 h& F                } catch (Exception e) {  Q- r! ]% n6 l1 ?* C8 E( J. V
                        e.printStackTrace(System.err);
/ X  x$ O" G0 b  \% ?8 D& n5 @; e                        //System.out.println(e);
& ?$ ^0 {7 v: t8 \5 h                        System.exit(1);7 h& q$ t2 ^7 n* t
                }6 K, g$ m. V9 H
7 ~/ P; i% b0 C4 `8 A8 B

: }5 {+ _  b; z% |        }* H$ A7 R3 N# }( F3 b, Q

5 s5 x: ]9 F2 E. y8 \        private void swarmSetp() {
( d5 v) q& z& ?& S+ k! y' O                list.addLast(new Agent(Id));! c; `& ^6 Y" }# w& n, c
                Id++;
( N9 J/ h2 [/ x9 w9 A$ ?- m' O/ ]        }
) E6 a4 h- n+ t* j/ j3 z# G) k
, N: E8 b4 b# Z: g' l$ C) C: k        public Activity activateIn(Swarm context) {
/ `, R! }: m+ g; c$ p1 Q                super.activateIn(context);  |- \* W8 t1 t
                schedule.activateIn(this);9 X1 `+ C# M  |
                return getActivity();
, ^* g, Y# N4 V; a5 t$ z        }
8 `0 M' R# F+ w5 A+ u- b' ]& |+ I/ R+ o  m) V/ A0 h, N
        public static void main(String[] args) {% L' p, X4 [+ J# V  R* ^
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);( K. u8 j2 a9 ]) @! X
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);' M; V. y( G- X7 o2 ~# t' i! ]
                swarms.buildObjects();; Z' S+ r" q' N; m. W! W
                swarms.buildActions();
  s' T# r2 t' `% Q4 ~) Z9 b: N                swarms.activateIn(null).run();
( Y0 q% y; m+ V! H/ n        }
5 u/ I/ t/ k* M6 `# p5 r! B0 d* ], _' \6 |  [! J  t/ J
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-20 23:06 , Processed in 0.015531 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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