设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4211|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 % D) Z7 W( Z) g7 w' _
7 E( x9 e# V6 Q6 d0 W, |
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
7 p, L7 ^9 Y/ \以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
& w3 A* M, F, s: a% X) x2 c7 dswarm.SignatureNotFoundException
: J7 D5 A2 ~+ e& n) Z7 x        at swarm.Selector.<init>(Selector.java:76)
4 k9 Y* [2 Z/ l        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)2 e) c5 M& r8 X
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
# B% F! U8 L0 O& B8 h' D1 h" @2 h8 |0 m* J" h% S8 B' o

. [8 P! B8 R0 Y) n( P1 Zimport swarm.objectbase.SwarmImpl;
" z( X$ D9 d; r# @import swarm.objectbase.Swarm;
2 u6 W. t; D- L2 P7 k% P2 zimport swarm.activity.ScheduleImpl;6 q; o/ ^5 t( m3 D. H
import swarm.activity.Activity;
' d* S: B7 M5 `+ j5 rimport swarm.activity.ActionGroupImpl;# R2 v" ?4 P/ ~
import swarm.collections.ListImpl;+ T- N! A5 `! I9 J
import swarm.defobj.Zone;
' Y! C% K( C  T3 p8 M; Z+ Rimport swarm.Globals;6 L) o4 I8 b6 @
import swarm.Selector;+ D% |' }+ j  |% g* f4 a1 |
import swarm.activity.ActionGroup; ; O. w/ M/ I' q- Q3 G+ ]0 u
class Agent {# S% L, a: n, X- T6 D
        char id;8 q& c. o7 r2 v5 E8 C! I3 i3 w& ?

, b8 Z3 U5 g. L. S6 E        Agent(char id) {  Y. h2 Y* y4 {% r% L& W0 r9 y
                this.id = id;: R5 d$ x' H  t8 T; _* f+ B" N) c
        }# ?7 H- u' o& X6 F/ {

' J8 d1 b0 f% |' A        public void agentStep() {
' B4 t( [# z3 W4 p, M7 M. V, V                System.out.println(id + ":" + Globals.env.getCurrentTime());
& U6 Y# @0 Y; r9 v7 P        }
4 m2 g- A) Z* d2 p! _# X4 f}0 M" ]  p& S7 ?) ]; t% C$ ]2 {) k* o

; \3 ~# {  B2 E6 u/ n2 Tpublic class ActionGroupDemo extends SwarmImpl {6 T" _; ~  ^+ i0 @! ^: n# |1 i% H
        ScheduleImpl schedule;4 S9 f) z$ d/ c% c
        ActionGroupImpl actionGroup;  r& Z* ~$ [9 E9 \: Q2 K' a
        ListImpl list;1 i5 T: O  t& e& M- \- F8 }
        char Id = 'a';
& w* h$ I7 x1 D5 U. ]
& w* P+ {! K3 }" B' s; A5 C' S. g        ActionGroupDemo(Zone aZone) {% \+ p% O6 G) J9 N. \% p) p" R+ Z
                super(aZone);: `) o6 P" f# T
                list = new ListImpl(aZone);
2 o3 |- ^! S# ^- k9 X                swarmSetp();) [! D9 t3 R# ?: L9 U
                actionGroup = new ActionGroupImpl(aZone);2 \0 {% l9 U( t# \9 `3 ~
                schedule = new ScheduleImpl(aZone);0 i$ Q  S' i7 ?* [7 z8 W! m0 Q
                try {
. j$ f% d; X: k                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
" U, `! |5 a8 i- W6 h                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
6 z& _8 t0 p( {% R0 M9 n                        
" I7 F6 u. o* |; D2 C                        actionGroup.createActionForEach$message(list, agentSel);
; {7 d8 W/ K' X2 n                        actionGroup.createActionTo$message(this, swarmSel);
& h, \" H7 g7 W' X. t( N                        schedule.at$createAction(0, actionGroup);
/ p4 H! j+ R- ?: j: T9 ~1 j6 J                        schedule.at$createAction(1, actionGroup);
/ C# J+ o; a$ Z! P0 B3 T! \  F+ ]                        schedule.at$createAction(2, actionGroup);
$ i; m$ Y/ p7 A' s2 L9 M; |
! T# Y7 w' k; i% \8 @9 g* }) m, U                } catch (Exception e) {3 f+ ^6 z$ f3 B" p
                        e.printStackTrace(System.err);
2 @6 P$ J; W6 v6 s' N* @- t0 q                        //System.out.println(e);- {, G& _7 i& w- o# n$ d  A
                        System.exit(1);
8 ^- @. r% l# W! u9 h! U                }
( v8 z* ~3 ]( z9 l- `" O) `9 E( ^) m5 s$ T/ G. h
' a: X! h$ w  _9 w  c; g4 D) ~
        }
+ J9 N' e. o* u. z# k
/ A% F' }' y. q/ t        private void swarmSetp() {
6 g: {) |6 T' {+ \  P1 R4 u$ x                list.addLast(new Agent(Id));# L* o% u2 i" g- }; X1 Y
                Id++;( \+ w+ ~% F( G. r1 D# r
        }
$ H3 n1 v8 D7 G$ U) `7 \3 p! H: \% }: `, M  c) G
        public Activity activateIn(Swarm context) {
8 e) J! u0 B. l4 X5 k- Z2 Z' ~3 F; H2 x) q                super.activateIn(context);
& P$ X  Q- F0 _2 L: v                schedule.activateIn(this);
: I6 u: Z& }% F                return getActivity();
' z/ ^; w& {1 K/ T# S        }$ `( z: y1 x, L- k. q) w
6 q  H; {0 ?4 ]
        public static void main(String[] args) {
8 B  J" {- s  }* L2 y  i                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);* I5 u) W5 h6 m3 V: R8 D9 D. l
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
# y, ?7 S- F' d- W8 G! P, \$ ~4 {                swarms.buildObjects();
* o" z  S7 n8 m' F& K                swarms.buildActions();
" c# X% @/ W4 r/ r/ }+ u$ m                swarms.activateIn(null).run();
0 U9 P6 Q9 ~# q        }
- R* ^8 }1 u8 b2 y  L8 l
/ \' Y1 A( y! B+ G8 O- s}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-7-4 12:11 , Processed in 0.014725 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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