设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7476|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 9 y7 j+ `9 q+ u$ E0 C
; I4 V* Y+ }1 N( _
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update215 c' r- V- [0 k, d/ S
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.8 ?4 [: ?: p( z- C6 V
swarm.SignatureNotFoundException
) Z; k8 N: [: [! l  c, H, M# E5 V        at swarm.Selector.<init>(Selector.java:76)
) S# a1 k' p( _# {1 a) M        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)3 c+ w! ~& K7 \' X. R0 W& [! p
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
& M, B! s; q& ^6 n& A8 ~( X
2 L- L$ u7 Z3 G' I% N0 U- @- F" X/ G
import swarm.objectbase.SwarmImpl;
' c: H1 G$ X, U* v1 c0 Oimport swarm.objectbase.Swarm;$ Y& w+ N% l7 p( T& ?  H
import swarm.activity.ScheduleImpl;
, B8 f! x2 X2 F. V' M, F! Vimport swarm.activity.Activity;
! ?5 O4 q3 ~) z5 I0 Simport swarm.activity.ActionGroupImpl;
- L5 [* D3 J& B4 e; L; _' v! Aimport swarm.collections.ListImpl;( Y  m6 T, @0 Y# C; D$ E; b
import swarm.defobj.Zone; 3 ]& u1 G2 I# U" S( m6 N
import swarm.Globals;
: c- f0 D) r+ J1 o: `' ?+ R5 limport swarm.Selector;
- ?0 P# F) c1 w+ V4 y; aimport swarm.activity.ActionGroup; , e& F7 c+ s9 N5 X2 q
class Agent {% F# E6 ~$ {! r. E* T- O2 b# v6 ^
        char id;/ k: U5 x2 {: I- e( D

' f# E0 |3 _* L3 I) R        Agent(char id) {
; u% M# [7 s+ f  Z+ k  I                this.id = id;
: {. W: o  y3 i$ S/ \- w        }% B( {( ?" E) ~$ k# j# f. X6 \* D
5 \  T* Q& L+ ]/ K; R
        public void agentStep() {
' \; y# ^' k+ d" e- [                System.out.println(id + ":" + Globals.env.getCurrentTime());9 F( y, F& b& v* ]6 p" e9 W
        }
3 r" t2 o( |1 `% ^* p" o}, s" b+ h, _1 H  }) i: W. l
/ j0 ]! S0 D$ X2 [8 `
public class ActionGroupDemo extends SwarmImpl {2 |1 E; v) l* z2 f8 V2 `
        ScheduleImpl schedule;6 Q8 S- f7 e. w
        ActionGroupImpl actionGroup;  B7 a+ [) W- e
        ListImpl list;
& s2 M7 ?$ s; Q. p        char Id = 'a';
! D, S# o, D) I9 z- ~. K' P
+ @; K- A2 n; z+ ^        ActionGroupDemo(Zone aZone) {
$ n! v9 G  `% x% E9 p                super(aZone);# b. @* L$ L9 E+ p* S9 Z+ X8 p6 I
                list = new ListImpl(aZone);
" D1 ]& \: {: K3 V+ C, F8 A5 g                swarmSetp();+ x* u) D+ t/ [
                actionGroup = new ActionGroupImpl(aZone);* A  F' g7 g8 M+ d! B: `" t" }9 L
                schedule = new ScheduleImpl(aZone);/ |4 e8 Z  u8 i2 D
                try {' O7 j2 r3 V. a% o9 m/ Z
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);: L) B$ x$ x: e: G! \
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
( C# @" q, f2 W1 G! W                        8 w/ Z% h& R' V, ?
                        actionGroup.createActionForEach$message(list, agentSel);
! p) A' u7 F. E- J. r$ M- r                        actionGroup.createActionTo$message(this, swarmSel);
" I0 W' F0 J0 v  s% b6 R                        schedule.at$createAction(0, actionGroup);
: z9 D- \3 C, s& U: u2 C9 \# h- G                        schedule.at$createAction(1, actionGroup);" e4 h' T, w, e" ^
                        schedule.at$createAction(2, actionGroup);
: V4 h& e! D, o8 i4 W* k( @. \! Q4 C5 F8 G( M( z5 f7 E2 |$ T5 [- }
                } catch (Exception e) {. C- R% n* A' Q7 S2 g+ n6 a
                        e.printStackTrace(System.err);& n& h% g4 v$ @
                        //System.out.println(e);6 m8 R+ o9 e7 I! U: m4 {
                        System.exit(1);
( [" }( G( w+ m7 ?                }
; O4 D& t+ ~, L9 K( R
1 @# A* F! i+ i, v: w
: ^, t" m9 T6 c. Z4 T% [9 w        }9 b, x9 ~, Y7 O" J
; u4 O4 N- B- r* Z& o6 Q) z
        private void swarmSetp() {
. _8 ]6 O; A$ W                list.addLast(new Agent(Id));
  C. X" C( m$ K* h7 A0 U                Id++;# ~0 x, ^2 @$ n4 P( p; z9 W' B9 z
        }$ z: E0 L  k$ G) E# h- Q6 J
- p/ Y! v6 T4 c+ D5 ^% c+ \6 `
        public Activity activateIn(Swarm context) {& g) u  w+ G& H7 F* g# L
                super.activateIn(context);
7 R: R# L# e4 U) Y" h/ Q$ p/ R& ?+ `                schedule.activateIn(this);* i! e& i9 b8 |+ [
                return getActivity();! j/ t! e% `$ w. m+ G8 M
        }  `8 M( x/ K+ n! Z0 e
+ M0 v( N/ u$ [( h7 @9 l1 k
        public static void main(String[] args) {
6 O" ~! X% h1 \3 Q                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
! e; T& x! C2 C- l% U                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
( F  y8 M; ]. k8 L# L1 C4 D( U                swarms.buildObjects();: N1 p- b: j" l
                swarms.buildActions();' M% ]5 k9 m. ^4 t( F$ l9 q, O
                swarms.activateIn(null).run();
! T; p1 {/ u* D$ [; Q5 n        }
. e. A) W0 y8 ~) y* Q8 G' j' O
: F7 I1 \- S: k. \}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-4 02:14 , Processed in 0.016283 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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