设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10637|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
9 ?: i/ z  G  ^
' O/ X& h# b( E# R' D本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
* n$ U6 G, I+ L2 _以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.% j! ?, L, e+ A- \: @$ }: l
swarm.SignatureNotFoundException
- K$ R6 J2 ~4 N7 D0 ]        at swarm.Selector.<init>(Selector.java:76)8 @- V* m4 x2 V) r/ M0 i
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
; \7 V; C. k  Y; P  @  H7 P, K        at ActionGroupDemo.main(ActionGroupDemo.java:67)1 k8 x" i; z7 g" A  o

4 p  @7 H6 m) j5 I  V4 W1 g- \. v8 q" `
import swarm.objectbase.SwarmImpl;5 E! s' Q4 c# A
import swarm.objectbase.Swarm;
" a9 t* s5 Y5 rimport swarm.activity.ScheduleImpl;; v2 `3 r# U2 o2 I3 F0 j3 o. _
import swarm.activity.Activity;
+ X0 ?# t1 n. F& l7 Aimport swarm.activity.ActionGroupImpl;" r1 c. B; u0 H$ ^
import swarm.collections.ListImpl;
  O/ E# T" L6 V" l, bimport swarm.defobj.Zone; 4 E) s0 [( d8 P/ R3 }: [
import swarm.Globals;
2 a: z' m( Q2 c8 Z: c; `1 @import swarm.Selector;- {" j) t" O' _* a" u
import swarm.activity.ActionGroup; * b" ^7 x+ r. U# a8 p% W3 v
class Agent {
0 D1 q4 I  C, c        char id;
  ]% q5 t" t4 z- G0 r) k
  e* R8 g! g" p, y1 Q( A* L        Agent(char id) {
+ `# V& h! F- \7 ^                this.id = id;& E9 V. Q9 }6 V. A8 P9 t, x, _+ D- R
        }9 q! J6 n' z( G9 j: l. {) ~  ]

7 E; p# X6 e+ B$ Z9 A* \        public void agentStep() {
  f# s/ b- \4 Y- d2 ~                System.out.println(id + ":" + Globals.env.getCurrentTime());
8 Y7 C6 k6 c+ @; x. B        }- I" o- z* U9 Y3 o# C
}
6 o4 N# z- u, h* ~9 r2 k' }2 Y* [& }( u/ M! R  q* ]- O! a# |2 e; A& [0 H
public class ActionGroupDemo extends SwarmImpl {( k, n6 _2 ^& j# j* P0 N
        ScheduleImpl schedule;
: V7 z* \0 l% ^5 V) C        ActionGroupImpl actionGroup;
$ ?- M) J/ X2 u# g, Y+ i& F- t        ListImpl list;
8 {$ r) ~1 u" h. M# e; W% Q) y5 i        char Id = 'a';
0 J  B* J! ?+ K4 t1 P1 B  r7 ^! E) K, a6 X6 D6 N
        ActionGroupDemo(Zone aZone) {6 y9 g3 Q6 I2 d
                super(aZone);
; p8 V) [) t+ S) j8 X; @8 f3 q                list = new ListImpl(aZone);
6 K4 X8 r, Z7 E( \1 C                swarmSetp();$ W0 P) r5 s" C) e! ^$ t
                actionGroup = new ActionGroupImpl(aZone);
' y7 ~! v. K+ y: N5 z8 O$ j+ L                schedule = new ScheduleImpl(aZone);
' t- n, P: B/ H% B: M                try {( I; @, }7 C3 i3 r
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
, W* U7 p  @+ I% C                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
' ~$ t6 b% ]# h9 I                        
7 o4 a3 i! r2 A9 ]2 @4 |7 A                        actionGroup.createActionForEach$message(list, agentSel);' f( s# L* I# M  ~$ s
                        actionGroup.createActionTo$message(this, swarmSel);
; p" }/ n! V8 d5 M7 ?                        schedule.at$createAction(0, actionGroup);$ j5 z8 ^$ F, \. S
                        schedule.at$createAction(1, actionGroup);
- @' A1 E# v4 s; D6 b                        schedule.at$createAction(2, actionGroup);
* q8 ~8 \1 A$ i  A8 D
2 i) R$ y) g4 s4 B( X$ g                } catch (Exception e) {
) b, `4 d8 A1 b; N2 A                        e.printStackTrace(System.err);: F% X: T; g$ l+ f* B/ c6 ~$ j
                        //System.out.println(e);
: }1 t- W+ T9 `1 o% r9 t& \' h                        System.exit(1);
7 S* D& ^+ T, o) f% g' }# o                }- X' X5 z( P8 E' B
6 a8 g7 h  v0 d- @
/ b0 J$ Q) O' y4 C; ^$ \. l" {
        }7 ~9 R& U5 ]" Y3 x- h5 o
& B# V% [/ [# @
        private void swarmSetp() {
! u7 j) |1 s  R0 L3 ]7 Q                list.addLast(new Agent(Id));# z- D) s* G% X
                Id++;
8 g6 M& j, H' @8 t9 b6 e- L" |        }
3 w0 z; W% Q- c9 }
' ]# e- s9 D0 u: Y0 [# f; e6 M; U        public Activity activateIn(Swarm context) {
* n1 a4 S* Z; }2 J4 V' Z                super.activateIn(context);8 i# F% D6 \0 ]  }5 q
                schedule.activateIn(this);" e) r7 w+ _" B3 m2 e$ |* ]& |
                return getActivity();; o- i! a7 G" X4 Z# p3 B% B2 d
        }
; K  ], ]/ f: I! n& w  u5 N3 u
4 X- G/ I% w- W7 I) @' C; i        public static void main(String[] args) {' n- S6 x! f0 V3 f
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
- I' R$ `. ?% e& G" K                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);) Y  _0 G7 z- y' c; y8 c" L/ r* M  J
                swarms.buildObjects();7 x% G6 l# H9 @; s
                swarms.buildActions();
1 y% t/ ^% X2 l" T3 ?6 J" o4 u1 u                swarms.activateIn(null).run();  W3 T9 [3 h2 r% f# F, ]9 n! \
        }1 e* h9 k" L7 ]1 ~  K
+ p% n; f" E) q
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-19 07:53 , Processed in 0.016253 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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