设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11817|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 4 {  }# _$ b- H/ C# x7 z2 C( t; L  i
, U: U- w3 D% n' L2 z: S
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21  c& ^  ]% J9 G1 ^
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.8 \8 O$ {5 |; g$ P% W* q
swarm.SignatureNotFoundException0 b' ~; S3 h9 p4 Z7 B9 Y
        at swarm.Selector.<init>(Selector.java:76)5 P" [9 K3 w, h0 p. ?9 \
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)1 }; r# [/ J' y3 ~7 X# h, }% o- d' M% W
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
  S- L5 x  d7 ?, z: m
0 V+ F" B# x4 g0 ?3 f* q7 U$ H6 w2 j/ [8 N2 u
import swarm.objectbase.SwarmImpl;% {9 V% S. M2 ^3 O2 C
import swarm.objectbase.Swarm;
2 `8 T( T$ `, d  h5 Y6 ~6 q3 Rimport swarm.activity.ScheduleImpl;) i& J3 M7 K* E
import swarm.activity.Activity;( F2 j% e0 Q; m1 u, \
import swarm.activity.ActionGroupImpl;
/ s" J2 K8 M* K. b" ]import swarm.collections.ListImpl;; y9 n! B8 @8 b  e' M9 s
import swarm.defobj.Zone; + r- N8 _. N& V0 ]$ J0 @; P7 l
import swarm.Globals;' W& a. G& C6 p$ s! ?6 s6 g' l: w4 z
import swarm.Selector;
/ r1 q6 I5 ~  ?! \import swarm.activity.ActionGroup;
7 I# m' n& q$ O8 C) tclass Agent {3 f+ V& S; @9 q6 x3 H% v
        char id;
3 a: d# X1 |& R/ |: p
; G; b: r0 V4 M8 b5 o* H+ k        Agent(char id) {' T6 A2 g& T  a3 I$ Q& F3 i: X
                this.id = id;
3 p: j7 C$ d& _        }
( Y* P. K/ p. p+ m: u% M5 y' W* j! U' X$ U/ `6 Z$ X( ^
        public void agentStep() {
+ t8 v* C& e3 f2 I                System.out.println(id + ":" + Globals.env.getCurrentTime());
, S% P: T% h, h1 z2 @5 {) X: b: z        }* r  G, f2 {, h8 i" H
}
* q. {% L; L6 m6 R
9 e/ _& R) S7 r% Y) p: Y/ Bpublic class ActionGroupDemo extends SwarmImpl {
6 U( F/ w# @- u        ScheduleImpl schedule;: H2 z1 a+ `4 E3 o" [
        ActionGroupImpl actionGroup;
3 C5 ]! |: l% I  t8 Z7 L        ListImpl list;5 O5 L7 ~" R, y
        char Id = 'a';
" u1 R' g7 ~$ g" }9 ?2 ^
/ u; h2 G/ o8 m6 b6 q9 k        ActionGroupDemo(Zone aZone) {
$ t2 i9 C+ G2 N                super(aZone);, t( ~1 c% W# g% O6 f. Q8 |
                list = new ListImpl(aZone);
! K& Z- G- W. |( b% T                swarmSetp();& v. u7 C. r% t) S
                actionGroup = new ActionGroupImpl(aZone);* Q6 c& e7 `4 }8 A' ~& M2 G$ a
                schedule = new ScheduleImpl(aZone);& _$ m% G9 b; k$ F
                try {
, L- f5 J- b9 @/ S3 t, l% d1 B% H                        Selector agentSel = new Selector(Agent.class, "agentStep", false);: W  U- w! f! Z: @6 w" f  _
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行/ B( F! l4 c, C* s6 \0 a
                        . c/ T/ h8 q6 u3 H8 w
                        actionGroup.createActionForEach$message(list, agentSel);" d' ?, ^! Z# |" n
                        actionGroup.createActionTo$message(this, swarmSel);
% W. h) `7 e* K$ Y7 @1 ]                        schedule.at$createAction(0, actionGroup);4 ]1 R. g, W& B
                        schedule.at$createAction(1, actionGroup);
% a4 b- C, ], z$ `                        schedule.at$createAction(2, actionGroup);
: z1 d1 ^% A, a
, D) b0 w6 i+ n+ }4 ~                } catch (Exception e) {* g: @2 ~- w9 p  X! y" C/ ~- R
                        e.printStackTrace(System.err);7 ]: M- C7 E$ \' c
                        //System.out.println(e);
3 o/ B5 p7 d3 @/ u                        System.exit(1);8 b' _3 q# [, r' c( G
                }4 j" d( A- U3 F# [  p

! c- y" G) p" }5 z0 J3 ?) P* s3 W; s* \# |) o6 q9 ]
        }; J1 Q% O/ G; b) G4 k& Z
1 `6 j3 }2 E. ~- P$ a7 f$ R
        private void swarmSetp() {, m, \3 g1 ?7 C$ Q  l- r
                list.addLast(new Agent(Id));
0 X: _4 n' B) w                Id++;
1 U6 T( e- p; u' P" {' W+ F% c0 O7 O        }
0 T" ^) a6 m7 h! t; E
: w1 D- I) p( v        public Activity activateIn(Swarm context) {
8 q! h2 ?; G& {& H% ]% c, q& M/ ?3 x                super.activateIn(context);; `! a! @6 W8 S# I) o
                schedule.activateIn(this);
/ h7 w9 d8 ^6 k                return getActivity();
; q6 V8 n! L4 W8 K2 k0 t" |: ?        }
7 T5 u! z6 k0 s
, D2 `$ F" T* l& |, s. F. x        public static void main(String[] args) {
; E9 d* j* a! J1 M6 C% G                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);7 Y: q" h9 q6 v9 ]! a! L2 U6 `
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);4 e9 k: ~( l7 m
                swarms.buildObjects();
5 m% D7 s7 ^9 U. S7 r5 M- x                swarms.buildActions();8 e) u% {/ E% U. t, s* t
                swarms.activateIn(null).run();5 m& f; Z6 T% T$ z! X
        }
5 T( n7 r' _3 i  o7 w, h
6 M9 O) F( }# i& l) i! ?}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-7-22 15:53 , Processed in 0.014520 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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