设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6587|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
9 u3 }+ `; G* `& |3 z  w3 Q& i) J$ r) Q. G( J3 ?
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
  ~0 _' W7 R# B2 t. n4 }9 K以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.  [) @8 D# L7 z7 c" c5 n' M
swarm.SignatureNotFoundException
0 F" C3 E. y, L* C9 A7 X! ~        at swarm.Selector.<init>(Selector.java:76)! i( t4 |# b# ]
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)8 k! k, Z" m/ u' y7 d# O/ R: |
        at ActionGroupDemo.main(ActionGroupDemo.java:67)$ z# u9 N3 l" [
0 |4 {+ n* c$ ^% t

9 q9 b& Q% V7 R2 n; ]import swarm.objectbase.SwarmImpl;% M0 c2 n7 J1 e2 P
import swarm.objectbase.Swarm;/ m# P- s" X+ x
import swarm.activity.ScheduleImpl;
2 b& n( `# t, ?import swarm.activity.Activity;
5 d0 n6 e$ w) n5 ]6 j, bimport swarm.activity.ActionGroupImpl;
6 W% g) a1 @% m3 B% Nimport swarm.collections.ListImpl;' v8 `- O+ M- G- o
import swarm.defobj.Zone; / {* P9 f" N) B+ l" ]
import swarm.Globals;
1 Y' N+ s/ k! x4 p/ H' }9 ~- ?import swarm.Selector;
7 B0 M3 S3 C! I3 p$ Z% A) zimport swarm.activity.ActionGroup; / t/ x; V: N: f* T' O* R7 t4 e
class Agent {; O) j$ D- W7 r$ H
        char id;- H4 {/ }! H2 v  u4 ?; o
) q4 G1 G2 F5 j% p) L! d
        Agent(char id) {/ G% c. y% t7 A7 q
                this.id = id;
( \3 t2 |! S' W5 L5 O# l' L- b8 [: ?9 Q" d        }
% r, A( G) L  l: g* j: L; ]- T9 `2 G. j. Y+ N
        public void agentStep() {4 ]7 D/ H; g# Z0 |3 Y1 ]: F
                System.out.println(id + ":" + Globals.env.getCurrentTime());
! ?2 B2 k9 Q0 ^( B8 [% m        }! Z) e% B8 m% x; Q9 a
}
) A1 t0 A& e5 |% w! z4 U- K; P/ N! A' i9 ]3 r3 F4 {
public class ActionGroupDemo extends SwarmImpl {
. u: N# p, ~( }  |6 B- T) V+ `        ScheduleImpl schedule;) s5 |6 Y% _  @$ T# D2 z: y
        ActionGroupImpl actionGroup;% N' R( n" A  t" f5 l+ {* @
        ListImpl list;
) N0 V) a# }* l3 P: l4 s+ A2 }- H3 t        char Id = 'a';1 Z, i! z( D0 A  n6 I: i

$ b4 x& v- g, B$ @$ ]        ActionGroupDemo(Zone aZone) {5 R3 D% D5 m) G/ A
                super(aZone);) P  B8 h" P4 W; ]1 E' `/ q
                list = new ListImpl(aZone);1 T5 E9 U7 w8 K
                swarmSetp();# G3 `2 N1 h" N* c8 g
                actionGroup = new ActionGroupImpl(aZone);
! a! F7 Y3 ?- \$ Z* Q* p/ ~" A                schedule = new ScheduleImpl(aZone);$ ?2 s7 o7 ]2 Z
                try {
& y  E( n* `2 g                        Selector agentSel = new Selector(Agent.class, "agentStep", false);' Q2 X4 @" D! V4 Y2 b2 P
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行( t* D  D  `# D
                        2 m( F0 [/ Y0 x; R. w0 f* F
                        actionGroup.createActionForEach$message(list, agentSel);
  ?4 }0 c# y+ g0 e" y2 @" n                        actionGroup.createActionTo$message(this, swarmSel);
' ?7 q0 v* D) L" A- c8 j: z( s$ |8 k* `                        schedule.at$createAction(0, actionGroup);
& G- L# Y' a, a- @2 x) u; ^# e9 w9 m                        schedule.at$createAction(1, actionGroup);
- I: G4 B1 t& E& v                        schedule.at$createAction(2, actionGroup);
& P8 {- t5 ?# R# `& u
4 W5 g& J5 o- x3 t3 o                } catch (Exception e) {
: |- o& X( W5 V# t! @                        e.printStackTrace(System.err);
& A; x3 G) \+ R1 R                        //System.out.println(e);+ F  P' O1 f6 C* A" r) @
                        System.exit(1);
% ^' {1 r3 p- h/ d# u                }
6 j, a& T' E! m! ?/ r- b* P
( r+ R6 ^( H4 @$ ~) t3 x% L: Z( W. [! ~, Q" i; r; q! Q9 _" O
        }
- U1 F; c; A4 {6 {# |
  Y2 t  G2 X, z$ f9 D4 X$ N        private void swarmSetp() {% R- E+ ]8 Y7 T6 g* ~& ^, e" P  `7 }
                list.addLast(new Agent(Id));
" h# F. w. g) g5 d: g  W8 Z( e0 L" y                Id++;
+ g) v8 ?( x" X" J0 k        }# {5 [% ^0 B7 q9 q# e( A
- U& \# X( U% Y) |! ]6 q5 ?
        public Activity activateIn(Swarm context) {
9 _! f- _" ]5 o0 P0 `% P                super.activateIn(context);
, L/ I+ i/ f% \3 ?                schedule.activateIn(this);5 J9 `/ `1 ]: B. X
                return getActivity();
1 _% ^# q# c3 i' w; B$ A5 o* w        }/ ]% v1 f8 n7 U2 S3 w
7 W+ p2 p2 b7 u) E2 i2 L/ f
        public static void main(String[] args) {
. j( y0 B" k  ]- Y                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);$ Q, R7 F8 ~' o) r
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
0 D2 @, K* _; \7 I/ U0 h                swarms.buildObjects();
8 @% t# `! g2 p6 j# q$ _                swarms.buildActions();
3 ]8 x  q5 s; Y2 c, u                swarms.activateIn(null).run();; e5 e2 h! {- j
        }
- J  |& D4 l, |2 c0 L4 X; W; Y. B9 v& P+ L9 x
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-2 08:55 , Processed in 0.016561 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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