设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11481|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
1 L7 Q  `3 F/ [- s7 @* X& G3 }6 S" f% V
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21& d! ]. m* j" Y# B* m4 c: ~* r
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
3 }" [7 d. `# k4 \# X2 dswarm.SignatureNotFoundException) M' i& P/ a/ L: o" f
        at swarm.Selector.<init>(Selector.java:76)3 e) ]; r, H1 }& {0 g+ _
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)  b, q( R6 T# |0 {2 \( n6 T
        at ActionGroupDemo.main(ActionGroupDemo.java:67)' o/ k3 r7 ^3 @
# g$ G& S& Z; _6 H2 X8 f
+ D2 G* E' `8 h# V& I
import swarm.objectbase.SwarmImpl;+ z2 Y! N5 j" h* z' _
import swarm.objectbase.Swarm;
  U4 @  ?2 \) g- d: j" t5 v$ H0 r  Oimport swarm.activity.ScheduleImpl;
1 q3 m2 Y8 I* T) ^" j6 Fimport swarm.activity.Activity;: y8 S1 Y; h, I  }% c$ Y9 |' {: C
import swarm.activity.ActionGroupImpl;/ t0 C% B) s+ b4 M6 W
import swarm.collections.ListImpl;
/ U! X5 e: {$ e# aimport swarm.defobj.Zone; 1 A' P6 a4 v+ A
import swarm.Globals;
/ B6 i8 s9 B2 B6 s5 P( uimport swarm.Selector;
' Y; U3 p3 H- B- ~; Pimport swarm.activity.ActionGroup; 9 r, U2 Q% p( L4 Z9 q5 x4 l5 r
class Agent {2 D0 h$ P9 N' L. ~
        char id;$ O0 O2 U9 O$ L& W( g

2 ~; p( ?& y' S        Agent(char id) {; G: R- {6 K9 U7 [
                this.id = id;
: e  _) M7 E% Q2 P        }
/ f; P! _  J' f9 z0 n5 D9 k6 d7 c, A: [! q1 Y7 ]3 E( V; W
        public void agentStep() {
+ g: w9 V6 B2 R. [                System.out.println(id + ":" + Globals.env.getCurrentTime());
/ E. p( y& x0 w! x5 A  h- `+ H7 a        }( @/ a+ T; M3 ^! V
}2 i* \8 i/ h) x! W+ y
. C9 X) d4 e! l" j9 s, q- Q
public class ActionGroupDemo extends SwarmImpl {
5 t9 [" l& G- J8 L        ScheduleImpl schedule;* K4 K: M* M/ N+ ^. P7 f5 r
        ActionGroupImpl actionGroup;
" {$ g, E) P* L9 M0 a# p        ListImpl list;
( d' A- N; c, Q; A# @6 d  F        char Id = 'a';
* t/ y$ I& ~$ C1 L' w4 g) `2 h" x, {1 I! K$ Y  l' E* E
        ActionGroupDemo(Zone aZone) {
- z& f, d6 h6 _" b# J                super(aZone);
' P* r+ E6 R2 g0 G* ~                list = new ListImpl(aZone);( N6 x) o& N3 g4 W: g
                swarmSetp();! V# D: c  S, Z" N* g
                actionGroup = new ActionGroupImpl(aZone);
" x5 K9 M$ N$ h' q( ?                schedule = new ScheduleImpl(aZone);4 I7 k. m8 l: x3 ]" c4 L1 Q; ^/ |
                try {
5 y9 f( K2 Z6 U                        Selector agentSel = new Selector(Agent.class, "agentStep", false);5 E! K. H8 R; X+ q
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
$ `, U9 l, S6 S1 j9 R7 `# q7 Z                        ! h. Q8 D! ]; m% o3 d+ t
                        actionGroup.createActionForEach$message(list, agentSel);
2 Z! o) e" d. A3 T2 J" }0 ]                        actionGroup.createActionTo$message(this, swarmSel);) a" z! r6 Q  o
                        schedule.at$createAction(0, actionGroup);# y7 }% l, v6 ]' n
                        schedule.at$createAction(1, actionGroup);
" l/ V, l% w7 V! h) Y9 T! D. |                        schedule.at$createAction(2, actionGroup);. d/ ~) U5 ?* N/ N
. d% m9 L( i0 }" W. t- {  s
                } catch (Exception e) {
1 ]9 o7 k' o% o$ p1 o                        e.printStackTrace(System.err);
$ x" a0 b; q$ ~3 E                        //System.out.println(e);4 @- q+ U% Z8 |0 O: `6 A
                        System.exit(1);+ q7 k1 @1 e4 n; V
                }
8 }5 x$ H* U1 O, v: ^7 Q0 w, i) h' A+ m( v0 b+ c
/ b2 a& z" r3 g, j0 X) R
        }3 k+ f4 k" S! e
8 a/ o7 y; L; X% [. D( C6 n
        private void swarmSetp() {: A) {7 y; \7 S2 S  _$ P
                list.addLast(new Agent(Id));- p; k8 \. n# n
                Id++;7 k  z0 ^- d( n0 A2 \
        }
+ n9 J: C% n; W* ~8 E* N4 h6 V3 z' t* q2 U. x
        public Activity activateIn(Swarm context) {, P! P1 \% Z1 U! ~% V
                super.activateIn(context);7 J5 e& F3 @; l* V! N+ X0 u$ ~
                schedule.activateIn(this);
0 [0 Z* z2 Q1 L. T9 p) ^+ n                return getActivity();) J5 y4 x) j6 B
        }
, l; Z2 }  ~; w6 r6 ^! x. p6 B: F( s6 r( q! u
        public static void main(String[] args) {
' N! o3 Y7 e0 M1 z, T3 i                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);; I4 L% Y$ M) e0 j' m
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
" z8 `' T3 b8 i                swarms.buildObjects();
, i$ E( t* ^! T                swarms.buildActions();8 M; z% L) S+ d' ~& H" f& e
                swarms.activateIn(null).run();; f6 L# K$ d$ p3 R
        }$ s  f) r4 W& e- @$ C

% G( `0 g5 x( E8 o* h! U3 D}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-13 15:00 , Processed in 0.017260 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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