设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7116|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 , q0 u7 D5 D  p, w, [- _0 O

( c+ x( }" u, @) s0 o5 \本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21* w' v$ D/ X0 X8 F
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
" @% O4 G* C* D, D* i7 {swarm.SignatureNotFoundException
+ O+ ~# k3 E3 l1 |4 ~( b        at swarm.Selector.<init>(Selector.java:76)+ p# k6 \3 I. y; p1 N2 J
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37). m6 D' Q; g, y9 J* ~
        at ActionGroupDemo.main(ActionGroupDemo.java:67)' F2 Y/ S+ }$ i, c+ X; O1 p

! K. S. Q! g" u1 g6 I
1 I' k: K; W( t1 timport swarm.objectbase.SwarmImpl;
2 B8 G3 B- }: K. dimport swarm.objectbase.Swarm;
+ T' h! A  r7 ~  E9 }6 k3 n& ^import swarm.activity.ScheduleImpl;! e6 c1 v! R: n- T
import swarm.activity.Activity;
7 C+ n8 B4 y: N) ?8 B& m$ yimport swarm.activity.ActionGroupImpl;
- S3 e9 f" _, g% `import swarm.collections.ListImpl;. {7 o4 @* j" }$ d
import swarm.defobj.Zone; * w' o  `1 i; V4 w7 D5 W  L
import swarm.Globals;! }0 I* }( B# Y8 Q) F- K3 L' t
import swarm.Selector;' M, n8 c6 ~$ q* u- ?9 |6 i
import swarm.activity.ActionGroup;
' G1 Z$ m' a4 O4 }7 g8 c  V( hclass Agent {5 C+ X* J# |' W7 u" S( {
        char id;
7 m. R/ L7 B& H( p3 o9 o5 ?) Z. t
7 D* s- L: H( V        Agent(char id) {% M7 X, T- K6 k+ r1 `
                this.id = id;
8 N3 B. |( \4 x$ y% k        }
/ ^8 G& @* A3 p" \, Z! Q0 C" U) O
7 A# Z6 e- B" d, X/ f" ]5 Q6 c, m        public void agentStep() {3 A# ~" w5 n8 w  J& d6 X  h( C
                System.out.println(id + ":" + Globals.env.getCurrentTime());
4 q# a% Q. \/ H( u6 r+ T3 ^        }5 t2 v' h4 Q/ |# Z# |$ l/ R6 ?
}
- }+ p$ _- Z% H! a' [4 j* Z# H. T4 j, [1 i4 h7 B
public class ActionGroupDemo extends SwarmImpl {! B, H+ N, O& e6 c
        ScheduleImpl schedule;
' f) x* E) h" N! K        ActionGroupImpl actionGroup;
  c% ~5 h$ N7 ~0 l        ListImpl list;/ ]: O: _- G6 k2 S7 G
        char Id = 'a';
2 C+ r2 \3 R4 K
. `7 G# T( F1 V( @8 T        ActionGroupDemo(Zone aZone) {
7 W% q* B# E% e1 i" h3 j; n! @                super(aZone);; C4 j' {7 T+ i% b8 g
                list = new ListImpl(aZone);
" q8 t: g3 L* W5 C) g) K2 R                swarmSetp();6 Z  T/ _( o! Q
                actionGroup = new ActionGroupImpl(aZone);" u+ W" z" @" d: i
                schedule = new ScheduleImpl(aZone);1 ]9 D* U. v" D; T2 ~
                try {" H% {4 _: M- _' ^
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);( U9 r+ f- z3 g2 r9 L0 p+ t
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
; ~& R$ l7 o' C                        
: ~' L. V/ P9 s8 U+ D$ M                        actionGroup.createActionForEach$message(list, agentSel);( T( ]  ]2 S, i; D3 {
                        actionGroup.createActionTo$message(this, swarmSel);
6 t3 _2 ^5 f8 }' s7 Y2 l' Y                        schedule.at$createAction(0, actionGroup);8 c+ x# O& K; }* s
                        schedule.at$createAction(1, actionGroup);
7 ]! p, ?$ q, D; {& G2 Q/ Z7 l2 D  @                        schedule.at$createAction(2, actionGroup);
' y4 O3 T6 ^& o; l
' A9 t' ~8 A0 Y3 T% U4 [                } catch (Exception e) {
1 }' I$ v8 d3 u) i- C$ {                        e.printStackTrace(System.err);
4 \( ]* p# c. s- ?! Z                        //System.out.println(e);
# M. a1 _& N8 @4 t                        System.exit(1);3 P7 _5 J, Z/ p. h5 ^' `8 A
                }. G0 t* d% J. g: j" P; B

0 v0 h5 B+ \3 `
) B$ S# N9 X' s3 @        }
  g4 U# ?: J% e5 g+ ~3 p
4 k2 Z; T3 e- K0 ^        private void swarmSetp() {  X. R4 ^4 b- C5 V$ u0 Y+ ^3 V. K
                list.addLast(new Agent(Id));7 ?( J) H. t- O
                Id++;  }/ Q: @! f& f' j3 K- ~
        }
4 Y6 b* W# F' O$ \1 X; E2 q# r
9 o: j- @7 q1 m& H: W        public Activity activateIn(Swarm context) {
3 X( T- X. r9 B3 {7 R1 D6 `, _& }5 w/ D                super.activateIn(context);6 ^! c* @( A; k2 P( D
                schedule.activateIn(this);
: E+ G# t: e5 u8 u* ^8 P                return getActivity();
- ^: W  Q/ p+ R) R' g1 }8 t. n- q        }3 T- f% v* ~# E/ H4 c' I

8 a% P7 O0 n. s" {3 m- Q        public static void main(String[] args) {
, `5 {0 S. C. z+ A' L& `$ J) Q                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);2 S8 Q) P" R" D
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);- @+ e8 e: e6 Y# |' G
                swarms.buildObjects();6 T: z+ R" j" L' L9 S  |% w8 x3 `
                swarms.buildActions();
7 u7 A6 _  ~9 H" h% |                swarms.activateIn(null).run();9 Z3 A/ g$ J: L
        }
9 Y/ R& z, o$ N6 O- G* L: d) z& \4 S6 Q& ?6 P  N/ O
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-19 21:54 , Processed in 0.015571 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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