设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12948|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
5 a7 w9 Q& {% r- v( h9 ^7 s5 X; B1 S% [  W2 n2 P8 I# Y
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21  {, E; {7 E8 W' i6 [5 c( n! ~
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
0 ~- V! s  U% f, {5 }" K0 d& `swarm.SignatureNotFoundException
- s8 N/ a4 q( G0 v3 ?: L8 b, [9 Y        at swarm.Selector.<init>(Selector.java:76)% u3 b  b9 y! ?) U2 `7 \
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
, f( ]6 ?' G* |4 e  [- y        at ActionGroupDemo.main(ActionGroupDemo.java:67)4 {2 S. r% b  j0 X' U+ X

, f8 ?4 l$ |0 e+ Q- M& _* X
) V+ K" b2 p1 |( ]  O! z1 Pimport swarm.objectbase.SwarmImpl;) c8 k+ @& o0 X- R
import swarm.objectbase.Swarm;
. Z( U% K- |" {6 q& oimport swarm.activity.ScheduleImpl;* V  e* I; ]% u3 {% {+ H
import swarm.activity.Activity;! M3 V' R0 M" [* S: ~' I
import swarm.activity.ActionGroupImpl;$ m/ Q/ c3 {4 w! l, [7 |
import swarm.collections.ListImpl;; K% @1 E& g. y/ X* w
import swarm.defobj.Zone; ' U3 u1 s; O9 {# j& i
import swarm.Globals;7 [! O: k, w& {3 W* o
import swarm.Selector;3 Z) M* K: w/ z3 ]+ t' `
import swarm.activity.ActionGroup; ) q: H7 y1 \2 Y
class Agent {& b. O+ j* `8 K
        char id;
4 Y' |/ K; A% ~& p& t- d. v+ Z- W9 F# {' m0 _" ]/ C& F  B
        Agent(char id) {9 n  F# S- e5 }: N6 A
                this.id = id;5 H4 g$ ~5 |) R
        }- H8 q5 D3 b( c3 I9 `# B
' `6 ]# |4 P; ^! a
        public void agentStep() {
1 z6 a0 X4 T3 e- j" f                System.out.println(id + ":" + Globals.env.getCurrentTime());5 y$ j* B9 i( r% W1 `" n7 l9 v4 V
        }% R: E3 \1 B/ i* g# w
}$ c7 d- |' x; V+ L" Z% v, a5 a3 {

6 ?- ~% ~) f" t2 c# j6 l& p0 [public class ActionGroupDemo extends SwarmImpl {
$ h$ U  x& z' K. u1 Q3 @- V9 a        ScheduleImpl schedule;9 y. F# x% `4 }: Z  }5 O0 ]
        ActionGroupImpl actionGroup;# j4 B4 H4 ^1 K- L" F; [
        ListImpl list;+ q! ~7 B$ ~2 _  |) t6 V
        char Id = 'a';
$ j, w. h' y$ |3 ?3 \# ]
/ ^9 l8 d( A, V        ActionGroupDemo(Zone aZone) {
! h+ e$ O  x& m) ]                super(aZone);
- G% I& ?4 t6 B: o. |                list = new ListImpl(aZone);
# x) I! b) u8 ?8 S! Q! B                swarmSetp();
5 G8 b% H" D" e: e                actionGroup = new ActionGroupImpl(aZone);
0 ]+ V7 S* q( z8 g' z                schedule = new ScheduleImpl(aZone);
# R+ R+ C4 J. X  g, t                try {. O: `7 Q8 f* L
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
; B1 u3 r% T0 q( [, J                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
8 v* l+ Y1 z* n. f) K# ]6 N                        
- o+ [0 ^; W6 `; |5 c                        actionGroup.createActionForEach$message(list, agentSel);: P7 W% L' g6 {4 b
                        actionGroup.createActionTo$message(this, swarmSel);
: ?( B3 F$ q6 \: V                        schedule.at$createAction(0, actionGroup);2 ?9 Q! u$ \7 a% J+ W. M; Y
                        schedule.at$createAction(1, actionGroup);
  e1 w1 I* t$ z5 C$ w                        schedule.at$createAction(2, actionGroup);: t, e# t" f  B, Q# Q% ]
; {' @# u3 h/ R8 Y( K) Z+ t
                } catch (Exception e) {
# r5 w1 B$ u/ j, A                        e.printStackTrace(System.err);# a8 t' S1 B- _2 c
                        //System.out.println(e);* r/ i; e: g( X
                        System.exit(1);" a3 a3 O' n' S5 q2 d" O* R6 h
                }
. }- W9 G! @! ]7 m7 F
- z$ ^# D8 Y5 g. _4 C8 q5 T
. u' n. ~3 h& F# D/ N! I        }! S9 Z7 Y# D) h0 ?+ A

* t% D5 Q# ~2 U( W& L3 T* v1 T        private void swarmSetp() {
4 W' k- U+ ~/ [5 A                list.addLast(new Agent(Id));
# s# v; w3 _4 p5 `                Id++;
- J- P) d- R) h$ t        }
( Q5 E' \; Y. a% M" I  e; {) ~; S6 T# `* J
        public Activity activateIn(Swarm context) {
% T/ X; j, ^" _) E2 Q/ L                super.activateIn(context);" A, F$ _9 w0 A. ~0 S9 x
                schedule.activateIn(this);8 k1 e; V4 Y! q5 d5 B/ l/ J
                return getActivity();* f. ^+ x7 Z' y/ f, Y
        }
  R9 ?3 i- N/ O' n" n4 M' {" |& q/ c9 L3 r
        public static void main(String[] args) {
0 p6 t! W$ d5 V                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);$ X9 X8 o& R7 u; j& Z7 c
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);5 c' |; m9 D% ~8 V4 F
                swarms.buildObjects();# s9 N; |. _1 ]1 S9 G% Y" U
                swarms.buildActions();
0 z! n3 N" u' b! D& }                swarms.activateIn(null).run();; S/ {: T0 S. R. d
        }+ [6 k/ n. h/ q/ I5 _6 j

! T3 R4 A6 j5 s5 [}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-24 01:08 , Processed in 0.018574 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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