设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11702|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 4 T5 [7 F7 @3 K

8 ~% O# g: a9 h9 D  o1 L本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
- u7 e$ N7 S' m. t以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.8 ~; d2 e. i3 ^- g9 W2 ~
swarm.SignatureNotFoundException
* V6 r2 |9 {6 _. ?7 Y. ]+ p        at swarm.Selector.<init>(Selector.java:76)
7 O$ \; O( J  M5 G" M$ S  z        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
8 T5 O- G7 Y( P0 V5 D8 t$ M        at ActionGroupDemo.main(ActionGroupDemo.java:67)7 J9 K7 O, e# q2 Q3 B, X" D
$ V% e& ~& U7 r: D9 n! z
6 h0 ~4 D7 ?% ~$ q
import swarm.objectbase.SwarmImpl;
9 _& C' a: ^5 x8 K. w6 I2 {* ^) bimport swarm.objectbase.Swarm;2 v$ j6 `% @. i# i
import swarm.activity.ScheduleImpl;: R$ h% y% c5 d! o2 V6 x( `
import swarm.activity.Activity;; J7 I. Q5 [7 \) I8 ]) V3 ?1 C9 I" K
import swarm.activity.ActionGroupImpl;7 c0 e; z6 V2 w7 D) C7 O
import swarm.collections.ListImpl;2 l1 Z5 e/ |& x5 Y
import swarm.defobj.Zone; 4 K% |. e' A- }" E  T
import swarm.Globals;
3 D: |, Y6 }0 G1 c- p) kimport swarm.Selector;
) w! M; s* C5 Bimport swarm.activity.ActionGroup;
; \" l) N- A- r, ]4 J- ]class Agent {: e: j" d1 S1 ^
        char id;
8 C! L! d. y( ^- P; b
5 Q$ C, x4 c9 b( d7 Y        Agent(char id) {1 m) _; H) q2 }! u$ O& F
                this.id = id;
! s( J4 O+ G$ [' ]        }0 i  N( q2 p: f0 n

0 r3 J% Q. V/ S& V8 r0 G        public void agentStep() {
7 ]+ A  |  o: G2 G                System.out.println(id + ":" + Globals.env.getCurrentTime());
0 I1 Y8 W2 U, V  {- h7 U9 I" V        }, c0 a" l% r3 I, Q$ @. T- I. Y
}
( S/ S- U* D& @) \1 p4 q* t9 M( P+ \, ~' u8 f  d5 M* \
public class ActionGroupDemo extends SwarmImpl {, u$ U+ }9 Z+ ^& P
        ScheduleImpl schedule;
6 B: t/ p. G$ e4 T; i& E# b        ActionGroupImpl actionGroup;9 Y+ W! L9 `* L4 w4 w1 `
        ListImpl list;
: Q$ p" S) O2 Y3 [, k: J$ m) F        char Id = 'a';
' ?( i3 a( S# o/ W0 W  Q( x9 O% J! h
        ActionGroupDemo(Zone aZone) {5 g  ]4 s. l, I5 e. B/ S& n+ k) D
                super(aZone);$ Z& c3 G( d0 b" b+ E, ~
                list = new ListImpl(aZone);
0 L+ f! W" W; ?& c) z& o% C                swarmSetp();) b2 p- N& J/ M1 Z. {9 k* m
                actionGroup = new ActionGroupImpl(aZone);
0 L4 i% o. t" @1 F& b! u/ o                schedule = new ScheduleImpl(aZone);0 {/ v6 ~8 a) x
                try {
8 |+ V5 Z! T. |( k# V& q5 t0 p' F                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
% w! g6 I5 t  O6 \0 s% Q* N) H                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行. F# L/ Q9 P  Y$ d# _
                        
. {) O2 J3 c" c$ ?" j' {                        actionGroup.createActionForEach$message(list, agentSel);
- c7 z  Z" T/ F                        actionGroup.createActionTo$message(this, swarmSel);
4 _  p( E6 T( \+ j% \9 H                        schedule.at$createAction(0, actionGroup);+ m7 ~6 P2 a8 n! @" w( q, @
                        schedule.at$createAction(1, actionGroup);
& }; a) E! D, q# G                        schedule.at$createAction(2, actionGroup);' a. i9 S( z) }/ \6 }' |% H
* f" T+ @/ ]8 _6 q, h4 \! O# M6 F
                } catch (Exception e) {8 z. t# z: Y3 m% A4 P& O  _
                        e.printStackTrace(System.err);
) F% @: i% k5 _) n! g( w                        //System.out.println(e);" ^5 B; C' B. u* A/ O
                        System.exit(1);
( E5 ]: R; [* j. F) Y( f                }
7 M8 p1 }3 i! [; p" P3 r$ n
( V+ C& H8 o. }' [2 U' d) Q1 Q4 ?: w, F6 P, h& s9 Z% O3 s
        }0 m4 J- v' ?3 A
# p1 \$ q$ `  u+ B# R! O
        private void swarmSetp() {5 ~* A  ]& f$ D% h4 U  r7 g
                list.addLast(new Agent(Id));
* w" n, W1 U- ~, p+ N# o                Id++;
/ p. R1 B6 t. H2 j3 S  I0 W9 W6 _) e        }& G7 H( ?4 L0 c( M+ _% ^

- L3 p  W) @8 m* G6 |        public Activity activateIn(Swarm context) {; s+ V4 S0 T* H5 m
                super.activateIn(context);
1 Z2 ], m0 m* i                schedule.activateIn(this);% ?6 C$ I" ~6 o; {' E5 e: S6 o
                return getActivity();/ L1 @2 @9 ?+ T3 C
        }( Z# e2 Y0 ~' |# h9 B

) }% O1 D( }" y! t        public static void main(String[] args) {; v5 j4 R) t- r' u% t; y: J
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
: G7 e8 G7 U' x1 w' P                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
9 S. a* S; l6 t  D                swarms.buildObjects();
2 A5 @6 U! ?2 I1 s8 r                swarms.buildActions();8 F4 h) U" m4 e- \. e; [
                swarms.activateIn(null).run();6 P, ]$ {7 [% S3 I" i/ g" ]* S5 X
        }
+ C* a, I4 P% w! r0 g2 j" M* ~; Z, u
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-19 12:16 , Processed in 0.015424 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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