设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5927|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 - z6 e! s  k, H* O

) E# E2 h* C# w本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21& c8 d( H! a) N: G
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.7 ?9 p6 {. v( I; K' V# x) Z
swarm.SignatureNotFoundException
# Y5 I  o' X1 S, a! g        at swarm.Selector.<init>(Selector.java:76)
  J4 {+ F4 p2 m+ f( E& |+ m) S! K        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)( h* I" q4 y) u0 Q4 V$ c1 l
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
$ J* F5 v2 u$ |* f: ?, P9 f% J2 I5 Z" ?

9 ?) h3 l3 {4 }: E1 iimport swarm.objectbase.SwarmImpl;
6 b" W" z- N( z: pimport swarm.objectbase.Swarm;
) W$ ]: ]' S) Cimport swarm.activity.ScheduleImpl;
$ H3 ?6 E$ C/ F) ~, K9 w, Wimport swarm.activity.Activity;& a, l' F: c6 I/ Q
import swarm.activity.ActionGroupImpl;
$ v% o) @3 R& }7 C8 iimport swarm.collections.ListImpl;& o9 T  l: \3 ^- Q* F
import swarm.defobj.Zone; ! B2 ~2 o* ]7 c% o4 e
import swarm.Globals;
& y' w# ?3 _* K5 l) Yimport swarm.Selector;
/ i' d# `4 l! C# ]- vimport swarm.activity.ActionGroup;
! y: ?; x4 J* `class Agent {
9 \% \( a& c4 v        char id;
8 R( `) f4 N* U0 |8 ~) n: `
$ i1 j2 K( h5 s; E$ u8 V0 n        Agent(char id) {
' n1 R( j- ]8 z2 S! @. l: z                this.id = id;+ G4 p- V& P, e" J$ v
        }' m( N, f. f7 Z# K- [' r& y+ q
9 n+ Q4 p4 Y# N
        public void agentStep() {
% }. Y. B' L1 \  F1 x% q" X& w) ?! H                System.out.println(id + ":" + Globals.env.getCurrentTime());4 H8 D7 _' R% ~: s. Z, q
        }
' Z% D% T; P8 G0 \. n3 Y7 Y}: T! T( v3 m  q+ I
( J) ^' W+ W/ n4 ]
public class ActionGroupDemo extends SwarmImpl {9 G) W' i6 n! Y7 V
        ScheduleImpl schedule;" k: U( p* T/ _: X
        ActionGroupImpl actionGroup;
" `6 D1 K2 y) R2 E  X        ListImpl list;# R1 C  M1 k5 ]. o
        char Id = 'a';
! d/ y7 G( X7 K  t
, _/ \; t# a1 m% B0 p        ActionGroupDemo(Zone aZone) {* l% q2 ~; h2 l2 G0 P9 g5 l$ ?
                super(aZone);
3 s0 [2 P/ o7 n' Y5 S1 t                list = new ListImpl(aZone);4 W$ Q6 e" n) v2 j
                swarmSetp();
5 v) `" i6 Q* M! I- N+ Y( g3 }8 P                actionGroup = new ActionGroupImpl(aZone);& M4 X5 J, w- p& \* `0 q4 b& q
                schedule = new ScheduleImpl(aZone);; v, X8 g5 J6 \6 j( D$ S3 i) {
                try {# s  @, w( s. D; |" M3 Q, ?
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);$ j! y/ a2 Q1 J$ m' ~, j
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行/ Y! C: u  M. v2 \/ l. `# ~' e
                        
( `" C7 \# G, q) r! |6 n4 }' O                        actionGroup.createActionForEach$message(list, agentSel);
+ R$ C0 @5 R, k& z0 c0 D                        actionGroup.createActionTo$message(this, swarmSel);5 n$ ]9 R( ]' W* O2 I% K' Q
                        schedule.at$createAction(0, actionGroup);
' B8 q- I& Q6 g! }8 z                        schedule.at$createAction(1, actionGroup);; N+ u/ T/ f6 `9 W: `& |6 D
                        schedule.at$createAction(2, actionGroup);% E1 Q# j! Q4 ]' A/ \, S

0 x) l4 \8 A7 D- b* F5 _7 |! z                } catch (Exception e) {6 C( g5 d' `. w7 O8 m" h) A8 z
                        e.printStackTrace(System.err);
/ R# A( i! X0 i/ A2 k# z                        //System.out.println(e);/ h9 }5 B; q" }5 E
                        System.exit(1);
6 H3 f  Q! v. v                }
/ z' Z  g  o/ ^7 n  w# y+ G( j: C) y4 Y2 V1 y7 m# {. R! h2 j+ }

: ^7 D" c  o  }0 ]        }/ A: B% r  m9 F2 S/ n1 V5 u* J
; v" M3 b* ?* i& r0 J% s
        private void swarmSetp() {! H% w7 v  w; b
                list.addLast(new Agent(Id));
+ x( M) S2 B4 X% L                Id++;; ~9 c: k' Y' c% |/ e
        }
& q4 a3 {/ H$ D6 o* S: @! h! c; }* `9 P- ~- y
        public Activity activateIn(Swarm context) {- Y# ]- J1 h9 \5 q! L% |
                super.activateIn(context);
5 L; w1 X) E/ \% A                schedule.activateIn(this);
* m5 L+ j( |; `# c* {2 s                return getActivity();, M6 G! @+ r8 w6 P, ^' N
        }
; e; D, y: p( o# B) U7 O% s) `
7 t2 Q1 X! u7 J  d        public static void main(String[] args) {
7 B. h- I. ]9 Y1 C: l. A' C6 {                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
, }8 `+ g* h" u& `- ^                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);4 s3 Q7 `# n5 r' {
                swarms.buildObjects();
/ b/ J# ]8 m1 j( Z                swarms.buildActions();
# a- ~  m7 K9 a8 @" G/ @4 T                swarms.activateIn(null).run();
' h4 h! P: z& r3 q) X5 i, P' q) F        }
7 `# H, n3 I  R' ~) y, }& q, T& a: Q/ v
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-1-9 05:03 , Processed in 0.018633 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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