设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10996|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 % D, h' c6 ~8 g) J7 }' O
; q, i9 k7 d2 v3 s
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
+ _5 R8 g9 O: C) E8 x1 e以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
' w: }$ a- B" S% U! r9 f% _swarm.SignatureNotFoundException
9 z& N( x3 [1 n* g. k        at swarm.Selector.<init>(Selector.java:76), u# a+ k) h' [  T# M
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
1 {7 n, ?% M; K( C$ b, ]5 y8 ~        at ActionGroupDemo.main(ActionGroupDemo.java:67)% t- @/ V; E+ w( \, m  [4 }% P
, ~; U: b5 g1 V5 q9 K* H

  b4 U" j* \4 I  R$ J! timport swarm.objectbase.SwarmImpl;- `1 F! A- [/ E: F
import swarm.objectbase.Swarm;- s& K1 m. G( D  e9 N
import swarm.activity.ScheduleImpl;
6 r( C3 q8 `6 n( c  T0 u3 ]import swarm.activity.Activity;$ b9 X5 c6 N- A' P+ V5 w; y
import swarm.activity.ActionGroupImpl;- q( ~# s- G6 L! W
import swarm.collections.ListImpl;6 f  s: F( i2 U/ K& p4 w( c& v
import swarm.defobj.Zone; ' ?& A+ ~1 c, |0 |2 s6 V
import swarm.Globals;* A0 e9 f. z5 g& L* _4 S4 O7 ?
import swarm.Selector;/ i8 f8 ]) ]2 Q6 S
import swarm.activity.ActionGroup; * @5 u, O- h7 c
class Agent {$ M3 u& e% g9 z0 Y. h
        char id;1 q" E4 Q( p+ K8 _6 X

7 _) y! M8 Z0 ]) D4 B' c; f' s% W9 f        Agent(char id) {
! A! ^) s; |7 [0 ?% `2 D                this.id = id;
- |6 M( p2 m. j        }' [# Z& e1 Y4 r5 y

. [5 T8 M" D4 P& p5 J        public void agentStep() {  }- t' E7 f1 ~% {* f
                System.out.println(id + ":" + Globals.env.getCurrentTime());
3 y1 Z/ W* t: w: p( H" D; Q& Q        }5 u5 F* e4 q! P& V
}
, H3 {8 B; }) G% t" m
# g( p8 p/ _- L: G! {8 {* Vpublic class ActionGroupDemo extends SwarmImpl {8 K9 J# w3 w' R/ ~8 q" \
        ScheduleImpl schedule;! t" I8 Z6 I- \  R: O' x2 U
        ActionGroupImpl actionGroup;  {* G2 D) G# c; w8 m4 x
        ListImpl list;
4 h2 B% R8 T- d, k3 Z6 Q4 Y9 d5 \4 i( [        char Id = 'a';' ]* t1 W: w. Z3 g1 Y

/ _( Q0 K# G" N! G; v        ActionGroupDemo(Zone aZone) {% W# L, {# w$ n" p' M3 B
                super(aZone);9 ~9 f) Y: ~' s* V
                list = new ListImpl(aZone);- b  K5 O# I( o% Z" W8 C$ c, w
                swarmSetp();  E  V5 N0 h( ~% }# N" M$ ~
                actionGroup = new ActionGroupImpl(aZone);1 s; q0 W* @1 q6 o0 V4 P
                schedule = new ScheduleImpl(aZone);' V3 ]; h+ Q0 [/ B% e6 n
                try {
* H% n' {6 \8 ]7 |' g7 k9 r                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
0 h) H2 Y$ L$ V' {                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行; Y% ?+ z% q, Y$ g, Z* ?
                        , v7 u8 Z- V; i3 f7 l3 U) {
                        actionGroup.createActionForEach$message(list, agentSel);9 v; f+ i1 d% S! H4 s- ~! H2 {
                        actionGroup.createActionTo$message(this, swarmSel);8 Z* R4 b/ H; c3 @" Q0 _+ N5 j
                        schedule.at$createAction(0, actionGroup);
1 u, {5 b: z- @- l* N; M                        schedule.at$createAction(1, actionGroup);1 l0 U4 z- V! W/ b; m. d9 U! G
                        schedule.at$createAction(2, actionGroup);
+ ~/ j; X% j6 B: }; ]  T2 n' P0 e
& [: Y) ^: ?6 [7 [                } catch (Exception e) {/ Y5 w% K- q! s" v
                        e.printStackTrace(System.err);
+ M1 |! x% C* S& t. k& t" G                        //System.out.println(e);9 X' M, S3 d7 u- ~# Y) F. c; P/ {% Z
                        System.exit(1);+ A# j! m; u4 P" ]
                }
. i' e% z, B) D9 ~! g
1 h% b% a6 P' V& m! Y* n2 S5 T/ O3 `: o' w9 l
        }
5 W8 A. |, B% L1 g6 @4 c  F
- }& @9 B# v  f' h- w" O% [        private void swarmSetp() {
1 i8 Z# q% |9 f/ t4 i                list.addLast(new Agent(Id));. Y+ ~7 e2 \6 g  f3 H
                Id++;
5 L. b9 K+ i  d. s% k        }
/ v4 j# t. k8 o3 F. I1 p  o  S0 X9 g* W
3 T* T1 E! y* R5 C3 R        public Activity activateIn(Swarm context) {
8 X0 L- ]9 }7 J2 h' k                super.activateIn(context);7 S9 ]9 F6 C# T: W8 G. r' c
                schedule.activateIn(this);+ f% q0 O( l6 {/ U3 M& l0 D
                return getActivity();
. q" }1 d/ Q& y3 x        }
  o) j5 V7 |- _& P3 H7 g
7 N  z% g' S  d8 H$ S! ?. S5 q- ^. j        public static void main(String[] args) {0 G7 ^0 f- d$ X1 G4 q
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
& f( E1 P4 g6 u* G                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
  p* B9 R3 ~! O5 a8 W- ?9 V                swarms.buildObjects();' V& m  y! Z' a( I& J  i8 n
                swarms.buildActions();
8 @+ v+ z, s9 z8 x                swarms.activateIn(null).run();8 b$ K# ^, b* R' R3 k$ \, c
        }  [/ I  n/ \  x1 v- p+ n, ?
- B1 C) L6 @. L/ c$ g
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-29 20:36 , Processed in 0.014378 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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