设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9962|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 8 X6 w0 Q# Y/ ?' N$ q& C1 F

5 v8 p! p" ~5 ]9 b# ^) k4 g本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
$ V5 W+ {8 Q* h3 b以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激., P* y; [! d" ?  _% N% f
swarm.SignatureNotFoundException6 c1 z+ [0 _0 v# z: e7 F3 r
        at swarm.Selector.<init>(Selector.java:76)4 z2 [( |+ L7 }0 y6 ]. l1 n
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)1 o9 U( L  z" X" {
        at ActionGroupDemo.main(ActionGroupDemo.java:67)! [% j0 P, c& D, D- n5 w) C! m
. }0 o7 h6 Z: r- }/ u( G* O

2 x! Y+ W% z# rimport swarm.objectbase.SwarmImpl;
# X% B9 H+ o3 ?  |- y8 g+ D0 ~import swarm.objectbase.Swarm;
0 O* d  w' u7 _  Z+ O3 O9 e6 p2 S0 bimport swarm.activity.ScheduleImpl;
' k9 V. L; C) @0 F, h+ m% k4 s) Aimport swarm.activity.Activity;
7 E- i7 z% p5 v1 p( O4 Dimport swarm.activity.ActionGroupImpl;
* n, g" I9 K8 B% R, d3 u" W: dimport swarm.collections.ListImpl;+ [9 F$ m- v+ D+ ~2 o+ I! k! h
import swarm.defobj.Zone; . f/ T3 ^# X# Q* T2 p7 x: Y1 N7 g
import swarm.Globals;
2 O  M# C# z" Rimport swarm.Selector;
) U6 p* W: L) c5 w( o; {2 o8 P" P$ G. L6 \import swarm.activity.ActionGroup;
4 {- Y5 w7 \+ Q4 ]& f8 Aclass Agent {
% }* L% N; N0 v$ ]) E3 Z        char id;) A$ e- T7 ~1 B9 q& `# g

3 {) i2 t6 M! \& H# v        Agent(char id) {9 ^/ O; i( c# w* H+ i% }  m/ J
                this.id = id;
' B8 a) I# S( J4 z9 @6 Z        }3 b: Q) E3 ]' {; J
% c' v, o) L3 d, ^6 K% w
        public void agentStep() {) h" d6 B' p6 H. L5 N: ~  p
                System.out.println(id + ":" + Globals.env.getCurrentTime());+ q; T! {" H2 P+ t. t/ C! S
        }
5 C' j% A: v6 l$ ^1 V}
/ y' O" e8 s2 |
. Q0 N6 E) S. o/ p2 d' Hpublic class ActionGroupDemo extends SwarmImpl {$ B% L, T: ?* }$ x! @
        ScheduleImpl schedule;7 N0 d6 z& _3 B9 T/ S
        ActionGroupImpl actionGroup;
: }! R6 @- s$ ]) k3 E( Y, |# b; _        ListImpl list;1 X0 A9 X) G! m$ P
        char Id = 'a';8 c& i! b" U. n; y& [: ~$ n2 Z
* l+ D8 {+ u5 v0 x/ m5 a! D
        ActionGroupDemo(Zone aZone) {6 x& J, ~# J- K/ P1 E
                super(aZone);
( F. S3 k$ D( A6 G8 R' a                list = new ListImpl(aZone);
" k9 }% H" @5 q                swarmSetp();
, B# p9 ~+ A- q/ m: @9 X                actionGroup = new ActionGroupImpl(aZone);
: l  B! G! i: K* \                schedule = new ScheduleImpl(aZone);6 |+ w8 V7 o" _; G+ e0 U% W  Z
                try {2 _4 v% [2 c: n
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);, Y0 Y/ p7 g, ?6 V  Z
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行+ y9 Y; D% r3 d, k) A) e" H0 F$ g
                        9 ~& Z9 R7 X! V0 o( \
                        actionGroup.createActionForEach$message(list, agentSel);
8 C% v: ^  N) J6 u# k; s3 n                        actionGroup.createActionTo$message(this, swarmSel);
) a: `) w9 k8 r  H9 X5 K                        schedule.at$createAction(0, actionGroup);2 N% E2 I! {! q  D3 l8 L* L
                        schedule.at$createAction(1, actionGroup);6 E" F) o' L# q
                        schedule.at$createAction(2, actionGroup);& n/ d; A! r& X  Y
8 y5 h& P8 a+ t" V: p) Q8 b- M
                } catch (Exception e) {# T# @1 v* b, G* D& K$ l
                        e.printStackTrace(System.err);4 p) f+ X/ M1 N5 ^0 C- o
                        //System.out.println(e);
; Y3 e/ c: E4 }( T# M) K                        System.exit(1);1 m+ ?$ R: O8 g3 E7 Z) S
                }% q$ V" l$ [/ X# j3 j
1 m$ j. c  B( |& e& e* p# @1 A5 |* ^

, Y4 c  q$ S. d/ h! j4 R        }
; p5 c5 z9 H- g3 G: j  z0 ]4 j$ W. @
        private void swarmSetp() {8 v2 d) g) s' w$ |8 T0 Q+ S% l9 y1 F
                list.addLast(new Agent(Id));
8 B  o' u4 g& ?6 o8 o                Id++;
! O9 @9 ?1 Q' C6 T* V' l' U        }$ X: v& V* M; w! S6 ?

9 Q: f' A! }/ A; O8 s        public Activity activateIn(Swarm context) {# t: e. }1 Q; Q/ n0 G/ J% u) G
                super.activateIn(context);
, O* @! Y6 ~: D& _                schedule.activateIn(this);$ |4 Z) N  s" `
                return getActivity();/ @$ n. H# Z' G- ~  H; W
        }
) E3 r* }5 }& ^! ~
- e7 m# c+ |2 ]        public static void main(String[] args) {! E( c$ }, _/ P' A
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
) }* A% p& w! l9 x' m# J                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);3 f# p3 M( d( Z( ?5 @% }$ ]
                swarms.buildObjects();% u4 |4 |9 \) j4 S! _
                swarms.buildActions();$ ]( h: C' r8 _# x8 C! a0 _
                swarms.activateIn(null).run();6 Q; _* b! `# S& O
        }
; m5 R- R, j: K# q% i+ I9 n' r2 {( r- a1 v% J
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-29 05:13 , Processed in 0.014648 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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