设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11192|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 5 _% V. I: N3 z% a/ \+ G

! s3 O: G* ^- a本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21. y( R9 J' v; e/ {6 I1 r( O
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
' _& [- O7 f4 ~swarm.SignatureNotFoundException  |3 z' r1 }1 ?& t, O+ C; k
        at swarm.Selector.<init>(Selector.java:76)
" h1 p6 |# z* d8 O* D) t        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
0 O2 i* O4 N  O# _# h, q, d; |* K* P        at ActionGroupDemo.main(ActionGroupDemo.java:67)
+ O* p  g, _6 K1 Y2 P+ s) H
1 [+ C' S8 z1 N8 Z! ~5 v
" @+ o, v/ P. c  @import swarm.objectbase.SwarmImpl;
; v6 X7 A6 C( H5 V3 |7 e" vimport swarm.objectbase.Swarm;+ z2 g+ k0 [6 c; C4 H! k
import swarm.activity.ScheduleImpl;
6 n/ W. `4 H/ w2 W" X( aimport swarm.activity.Activity;; b7 h7 M+ e' v3 j1 T
import swarm.activity.ActionGroupImpl;
  J( g) v) T( {9 `7 j7 [- Yimport swarm.collections.ListImpl;
4 k4 O: J6 q9 d& u. l0 ^2 Qimport swarm.defobj.Zone;
& G+ w8 l! N% I- h6 Himport swarm.Globals;5 V+ E. v! F* N# Z: C
import swarm.Selector;
: O9 u: N7 ?8 W  [( Z8 {import swarm.activity.ActionGroup;
7 [% i2 \4 x9 ?) a" sclass Agent {
0 W: y$ U9 i# }9 A        char id;
6 u" M: f9 E2 I* o/ B4 H' Z( l) A  s5 R- @8 G6 u! x1 y; d1 h
        Agent(char id) {7 k2 i4 ~) n7 \2 Z' Z# @6 _  S. r
                this.id = id;
) S6 f4 O, G# e  C$ E8 N        }
! W! _& r' U$ k3 h5 f* C6 w7 s+ q) f# r7 D( l2 b
        public void agentStep() {
. f* K  b# O; P2 e                System.out.println(id + ":" + Globals.env.getCurrentTime());
  b, Z% _' V! r: `* y" o        }- D4 j0 c: R: Q; j$ |' C! Z
}/ K( v0 t, S, |. X& g. U* \

; A9 J9 q9 X& b: Vpublic class ActionGroupDemo extends SwarmImpl {
: ^2 ]! g: D+ k3 t6 J/ J        ScheduleImpl schedule;3 K8 y. G) o/ D+ G. K9 ?- i
        ActionGroupImpl actionGroup;
9 x0 Z: ]! q) V$ ~; t  Y        ListImpl list;
6 v9 W# X& c. ~        char Id = 'a';0 ]7 a% u( [% Q4 j4 Q; ]# C) I/ b
' K- G+ C* G9 B# k& F+ V
        ActionGroupDemo(Zone aZone) {
1 Y; `2 H3 p& |3 K6 i4 M6 O5 z                super(aZone);  I  }7 x8 s" y1 |% `; Y; x/ k
                list = new ListImpl(aZone);8 m( E5 ]+ l3 |
                swarmSetp();( s' |8 K1 D8 c$ p& W# R% D
                actionGroup = new ActionGroupImpl(aZone);2 d) p( H* E: n, i! A, u3 i1 x4 ~
                schedule = new ScheduleImpl(aZone);
9 m' i% A; l, C. G0 H3 `0 y7 G                try {
1 x; j9 D8 e2 P; M/ B                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
' [7 D2 l# E6 g5 M% b1 P+ g                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
) N& |% B) v  k6 m6 K. n                        
  Y% e  C  ~4 |5 h; T9 @% r  e                        actionGroup.createActionForEach$message(list, agentSel);
5 Q7 e9 D. y* j, J  |                        actionGroup.createActionTo$message(this, swarmSel);
, P( c5 V# }$ _5 X4 b/ S                        schedule.at$createAction(0, actionGroup);" ]& P: D5 ^- ^1 M* Q: a
                        schedule.at$createAction(1, actionGroup);5 X! @0 W" q* c2 d3 e
                        schedule.at$createAction(2, actionGroup);
0 z' q8 ^7 ~: g2 F1 Z* H$ w! Y6 ^- n
; t6 }5 U) Y: _; k  |% P                } catch (Exception e) {
* q0 r8 D' t$ g2 }, i                        e.printStackTrace(System.err);
8 p+ I0 a, A# N                        //System.out.println(e);% z0 h8 q5 R& q$ ?, s& X
                        System.exit(1);1 ^: L) M6 o- S7 c1 G2 W* F# @- R. I1 q
                }) K8 W7 Q$ v0 J. ]
" g6 E4 o% r, W9 D9 b6 ^/ @. p

- U0 k1 S3 H6 x5 I. Q% F) P        }
; _% c" i* s, h) v8 |8 D
  {1 b$ y5 D% g+ _        private void swarmSetp() {. F5 ~; Q4 I1 v+ I
                list.addLast(new Agent(Id));7 U7 ?0 q: e3 E
                Id++;7 j  _3 g7 O( M4 y" t# `
        }
9 s6 }- R' B0 n9 a: Z+ U# r9 n# R' F6 ?* p
        public Activity activateIn(Swarm context) {
1 d0 t3 O" F- ^) l. k, q                super.activateIn(context);
; f, j) ]6 @8 t2 b7 \2 R$ T                schedule.activateIn(this);
6 B8 {8 E9 X1 ?" n7 C                return getActivity();
4 ~7 H) H* H1 I4 l        }8 Q+ I" h8 ]$ q4 w  j& I
7 K8 E, c: b7 f/ L+ W7 \, N1 F5 L: I
        public static void main(String[] args) {
0 G! J: B; B7 p3 k                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);' x0 t9 y: _& M# r5 k+ Y  v
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);, |8 e" U7 f( D8 }
                swarms.buildObjects();! b- a* Y* w# R* u( c, ^
                swarms.buildActions();
* ]; f& m! {* Q2 w6 R, w" F                swarms.activateIn(null).run();
- `% S) u3 p; Q+ a* d% w( n/ A% T9 O/ B        }% u$ m4 e; M7 W8 q" p# r4 g6 Z
  f6 Y5 o- p4 E# h9 o
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-5 16:00 , Processed in 0.017212 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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