设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12729|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 % D! c$ R+ Y' ]

5 S! w5 ~4 e# f" z. ?本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21! t$ a) g" X1 K
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
" S; r. S# P" F2 Q: ?  e( [swarm.SignatureNotFoundException; f2 e" h. g; b7 I& \4 \0 [
        at swarm.Selector.<init>(Selector.java:76)
1 H# N0 b2 W' v        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
3 C7 U" q$ G6 z! z# ], G        at ActionGroupDemo.main(ActionGroupDemo.java:67)
: q$ c% U+ k' u& g- {" Z/ P5 Y0 `0 S  G# F5 b

0 J- r) G' q+ n/ Y- bimport swarm.objectbase.SwarmImpl;2 r+ H0 V; Z! R4 n
import swarm.objectbase.Swarm;& S0 n0 W6 I1 I! y
import swarm.activity.ScheduleImpl;7 L9 x' r+ e: n% H& i' N4 D' [" Y
import swarm.activity.Activity;$ v8 z. Z/ \! V5 B
import swarm.activity.ActionGroupImpl;" t! P! d) e+ z& R: _% D3 M
import swarm.collections.ListImpl;9 H7 W7 {& `  w7 V
import swarm.defobj.Zone;   ]1 }' L, R2 C/ q/ l: X
import swarm.Globals;6 ]% p4 \" O( b8 h
import swarm.Selector;, A) x; D3 S8 z7 p
import swarm.activity.ActionGroup; + h  _% g! O$ t3 M" E5 t8 I
class Agent {' b5 J5 |7 [* p" d+ {# C4 J
        char id;' ]* L- Z. ~/ t) H4 v! _
, q& ]3 E7 s3 a6 d" X- b
        Agent(char id) {2 Y  N. r6 c# ]+ c% k
                this.id = id;$ Q6 F5 L/ S0 O" [7 r
        }$ u7 f" U+ |( s7 G) K( E6 Y$ @( h$ a5 j

! f; a- c# E% B+ ~" ?/ [+ H        public void agentStep() {: D. ~% P/ |; d% \9 b) P) o
                System.out.println(id + ":" + Globals.env.getCurrentTime());$ k; |- Z9 B2 G# b) e7 L+ V6 j
        }5 O1 i3 V: a. A& o) e
}
5 [. u) R  _7 y' d( {( A# H/ j: g& [# _3 {: ?1 x+ ^
public class ActionGroupDemo extends SwarmImpl {
2 ]4 M  p5 T/ ?7 a        ScheduleImpl schedule;
! U0 @; q5 n( y0 O7 N8 {. m        ActionGroupImpl actionGroup;  X* ~: U8 W9 x9 f8 i
        ListImpl list;$ l  ?9 Z* w5 F4 s( k) L4 ]  G
        char Id = 'a';0 X3 v4 `* a$ `
5 n( [- n( s6 J
        ActionGroupDemo(Zone aZone) {" ]: D% T; h+ ]& L  F
                super(aZone);3 e- \7 Z& l& B( B% {" u/ Y
                list = new ListImpl(aZone);
& ]8 D# i+ V) C, O- r; q                swarmSetp();
; m/ f  \# ]* m9 n8 A+ W: |4 H6 q                actionGroup = new ActionGroupImpl(aZone);
5 y, v! ~3 k2 c" L' }: {9 L% d                schedule = new ScheduleImpl(aZone);
' c5 X. [! E. ?3 k9 t! ?0 s2 p                try {- y& j$ j- N2 G
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);- T6 p- s( g  G( t! f. ]
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行; F1 o8 |) D: [: F5 k* N, F
                        - b& \, |8 L# F8 r4 i
                        actionGroup.createActionForEach$message(list, agentSel);0 X. f1 S2 @. I* n* ?+ u
                        actionGroup.createActionTo$message(this, swarmSel);2 Q5 _6 a% s( `
                        schedule.at$createAction(0, actionGroup);7 j: z' I% w- g) T( R2 c" J* R
                        schedule.at$createAction(1, actionGroup);! h- v% ?% Z8 H) r5 x
                        schedule.at$createAction(2, actionGroup);
4 N6 _: d7 p8 R% @8 `4 c  K* @$ v: ?& Q0 Y; k" z: p9 t
                } catch (Exception e) {! J( b, M4 K  x- ?3 Z2 G' K% N
                        e.printStackTrace(System.err);
0 L% [1 X7 L/ ~& w  `                        //System.out.println(e);
! l( C; M. @' R/ O% J! ?6 w                        System.exit(1);
  ~: j' x* L6 w                }6 _+ ]; }2 ^" s1 `& H5 \5 z7 R5 K

0 @, q+ D% P, B7 s
, ]+ W5 K" ?& Q) c+ B        }
0 A, G4 J& ]- `4 f) _( f
' _% w, w( z, r& Z$ w$ {        private void swarmSetp() {
$ y+ n( L7 u, h$ V7 Q. \7 N4 b                list.addLast(new Agent(Id));- s" L5 X' d  @. c( }8 @) X: h
                Id++;. K, P; [! Z* @+ E9 K8 |
        }
4 }3 H5 R. s" R9 Y5 {0 z
+ n( f4 I& e1 m0 Q9 g( l3 ]        public Activity activateIn(Swarm context) {4 g6 L5 q4 z+ @4 V- A! X! W& U
                super.activateIn(context);
! L  K7 a) V! C/ ]6 ]6 Q  V                schedule.activateIn(this);
! T1 w& X+ o- W$ M1 z5 s# j, Q6 ^                return getActivity();6 n+ n+ n9 Y2 [6 o5 N; A* G
        }
7 L- ?2 p0 X) C5 i2 s; D# `8 O: K; n+ n. b
        public static void main(String[] args) {
* V% i3 t0 s* e: z4 |" Y1 n                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
8 y  M) Y. ~% R8 J2 N0 v" [9 j                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);- o/ W3 L$ n1 j$ f, o+ H* _. Y
                swarms.buildObjects();
* Y/ l% G% m9 B' ^7 Y9 s( X: k                swarms.buildActions();% {" c$ A& N; b9 I- q: @  H2 j
                swarms.activateIn(null).run();
0 h. w) @, `4 L. `: j        }
. F' U# Q: z, C: B% b; A. J: a  {3 ?" [
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-17 11:22 , Processed in 0.016234 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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