设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8026|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
( h+ n! k$ l& }8 I; G7 Z& |# O. l% \( r, M
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
! F3 X4 t0 ~4 L! Z: w; f以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.7 H' V3 i' [6 t  q
swarm.SignatureNotFoundException
) Q$ ^: v' `' ~6 P9 i        at swarm.Selector.<init>(Selector.java:76)# P- V& `) y4 v2 z) G/ N
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)9 V  s) m7 q5 Z4 J+ c7 b5 {
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
5 I5 T; \3 ]+ D' g% g- N/ @
" o7 e' C! }) z1 a- b' ^) G
. U( r6 b1 a/ i& _$ L( v5 Pimport swarm.objectbase.SwarmImpl;9 W. y: A$ h$ \* d' ?
import swarm.objectbase.Swarm;" _( x% K/ B' F5 z7 E/ r4 T; u4 E8 ?
import swarm.activity.ScheduleImpl;
8 \2 w. `  R: I: `( Timport swarm.activity.Activity;6 P4 ^* x; N. V9 C/ u9 U7 H; g& B
import swarm.activity.ActionGroupImpl;
8 V6 n6 L8 B$ g: ~, Eimport swarm.collections.ListImpl;7 J: s7 e2 l+ w7 o! f  h* O2 Z( S$ _
import swarm.defobj.Zone; & n5 V: ^: v6 _6 ?& Z- G# ]+ [* d
import swarm.Globals;( T7 S9 [" |1 ?7 Z- {9 [3 x, G
import swarm.Selector;
+ F$ y7 b9 A! r% O  Uimport swarm.activity.ActionGroup;
8 k! C# Q$ f) a- vclass Agent {
3 a) ?. V4 D) c. E7 ^. w. U        char id;. r: x8 K0 L/ k
& w; s4 _0 H, f: i' A- C3 K
        Agent(char id) {
" j8 X0 ~5 P/ o                this.id = id;4 {7 `1 u  }; U
        }
6 A4 {2 x, F4 m0 k2 B% p
: [# o1 U: [" F$ ]$ m7 k5 h        public void agentStep() {1 g% C) S4 d5 x1 \' G$ P  q/ z
                System.out.println(id + ":" + Globals.env.getCurrentTime());  t& q* e1 \, Q) P; T
        }
7 b4 K+ l5 `! [}
$ s, x( @& ]3 d+ `4 R$ o2 T5 L* h3 F+ D' X4 M# E9 X4 f
public class ActionGroupDemo extends SwarmImpl {
2 |7 {* X5 N% ^+ w        ScheduleImpl schedule;  a# A; s$ K, z, y  j/ @
        ActionGroupImpl actionGroup;
: f& \" X5 I7 Q! S        ListImpl list;
% ~/ o0 l7 t: c2 l        char Id = 'a';/ S9 [$ y2 N9 D; w

- ^2 m- m: }9 u1 ?# r1 V        ActionGroupDemo(Zone aZone) {
% P0 y( Y, ~. o                super(aZone);" F7 W! o, T9 U, i/ m' [. a1 \  O- p
                list = new ListImpl(aZone);
- h, @- F0 j* d& z) V                swarmSetp();
* t: N0 p/ h; w4 ~. u                actionGroup = new ActionGroupImpl(aZone);
" c8 ]  ]6 a1 n4 C                schedule = new ScheduleImpl(aZone);9 n4 K' H3 L9 p3 ^
                try {
2 j: S. @4 i# ~0 l. x+ x* K                        Selector agentSel = new Selector(Agent.class, "agentStep", false);& ^) |6 J' f# v. j, g
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
5 j& f+ F# ?  l                        
1 ?3 U' n% w' v8 ^" {* f6 I- s  Z/ |                        actionGroup.createActionForEach$message(list, agentSel);
4 l9 s3 |1 T9 D6 F. e+ w% N* a' O                        actionGroup.createActionTo$message(this, swarmSel);: q6 }. }5 O, ^% ~$ M9 w
                        schedule.at$createAction(0, actionGroup);5 Q' ]8 T. ~( @* E5 \
                        schedule.at$createAction(1, actionGroup);. g1 v6 q9 t; R& R* L% e
                        schedule.at$createAction(2, actionGroup);- {+ m# ?+ w7 K$ y0 I' x& @# D

- U, f  A0 }8 q+ l                } catch (Exception e) {9 }6 v7 Z7 z1 ?
                        e.printStackTrace(System.err);9 N' ?6 X1 z& N' }0 d# ~
                        //System.out.println(e);1 [4 V& F! q2 W. ~) g
                        System.exit(1);8 z  b  R! P$ _' Q) R8 v
                }
9 f' Q! F. e1 t9 o4 J% L5 j8 o7 r. y  {* U
/ m8 s1 O7 n- d# T1 H
        }5 n& q# E: o; G% @  q

$ j  X( m* X6 n% C1 ]$ I4 I        private void swarmSetp() {1 V; X9 p3 R# e$ ~
                list.addLast(new Agent(Id));
  W7 o$ f+ Q" v" B8 p                Id++;" w. Q  m: q& ^* |6 o5 w0 [
        }
' Z" j- `' e+ P* |3 f4 a  M8 a- U) Q/ m8 ~3 b
        public Activity activateIn(Swarm context) {
" G$ [" v/ g( S8 z' w* m                super.activateIn(context);' @% Z" K+ Y' f  m
                schedule.activateIn(this);
& M7 r+ |5 d0 S                return getActivity();
4 y7 G8 c0 O6 D4 k3 {/ ~6 S# ^        }. }$ w7 J/ K+ e% l

+ a% @' D, K2 B) q. p5 r        public static void main(String[] args) {0 `$ v/ C- w9 k$ x
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);5 n+ W3 @( w; Q
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);  }2 n! _  R9 ^% h' [8 T. y% [4 T, B
                swarms.buildObjects();# P0 p# N# I& y9 A6 O: Z8 Q+ c
                swarms.buildActions();
0 K7 ~6 P( F& i                swarms.activateIn(null).run();
8 a; \9 M0 @6 G) y: [4 `        }
4 m' h7 p% t* o; Q, ^. S2 ^/ B# P8 u8 [2 N  ~  D% f+ \
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-27 17:49 , Processed in 0.020193 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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