设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9957|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
' ^, b2 P1 A$ I( t) ~% [! l6 d+ E# C$ D4 ^' ?) M
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update210 D7 ~; O% X1 J3 i6 t0 l4 e  [# k, `. S  U
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.8 r4 x8 x/ O, M9 z8 y1 _
swarm.SignatureNotFoundException* f0 T' ^8 _0 o' X) `
        at swarm.Selector.<init>(Selector.java:76)
) `& z! g4 r; Y. M' J% O        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
4 y' |3 y' L  e" X* B, h$ W        at ActionGroupDemo.main(ActionGroupDemo.java:67)4 ?- w7 N& l9 [0 e# w

' t$ u7 m8 b3 L; _  @& c
+ p( V0 h/ Y" limport swarm.objectbase.SwarmImpl;  a  A! \# |4 W) O0 N
import swarm.objectbase.Swarm;& h9 @1 j0 l' I0 Z# k# r! M
import swarm.activity.ScheduleImpl;* J$ h' k; \3 {& K
import swarm.activity.Activity;
7 w; G' X. \4 g" X( Q) C/ Y+ cimport swarm.activity.ActionGroupImpl;: F( e# y, S- R" v; ~
import swarm.collections.ListImpl;) E; Y) e, Q6 ]8 H2 x- ~
import swarm.defobj.Zone; 9 x/ p  x) I0 P5 f' O8 f: K! _
import swarm.Globals;
, f$ o/ r. d. F3 b% Zimport swarm.Selector;/ m9 e. W- N1 {6 P
import swarm.activity.ActionGroup; - H0 d2 S. h6 D
class Agent {- q2 U3 L( P9 Y7 L, g7 m$ D+ r( k
        char id;/ _  e, q3 d1 n  M" Q5 L

' |  f$ G: J. E/ |, e0 {; R        Agent(char id) {
! Q& m! }3 B* t2 A                this.id = id;3 P, ]. p( h- U. U* j
        }% K! {* Z3 g* ~) m' t  U

4 n% G, ~( |2 A$ l; ?! O# V        public void agentStep() {& ^2 T$ p! x# ?! w& h% n
                System.out.println(id + ":" + Globals.env.getCurrentTime());
; ?8 d# U6 `5 o/ q% o        }
; h  n( }4 r. y6 I# a+ k# @}
# U+ S+ d  ]  \/ A4 Q* o4 Q+ u3 S8 s& |4 K
public class ActionGroupDemo extends SwarmImpl {
$ f; V( E& p9 m) q: T  g& S        ScheduleImpl schedule;6 g# e3 U) ~) c0 H. W# p: Z
        ActionGroupImpl actionGroup;7 P& `9 w, R- J3 u, i: k
        ListImpl list;
  f; o# M/ j& L3 v+ G% E+ o        char Id = 'a';* X7 E5 a6 k" E( ~

: u: [; `/ `0 v( Z0 V        ActionGroupDemo(Zone aZone) {
( W) I- x+ _9 l) b* k4 ?& C                super(aZone);
# _. P7 L) |9 x. E) c                list = new ListImpl(aZone);
. N6 M, ^1 d: ^1 V3 q$ R9 c+ f                swarmSetp();
- w, y# h' T  z2 H# Q8 Y                actionGroup = new ActionGroupImpl(aZone);
5 W$ ~5 v- y; i                schedule = new ScheduleImpl(aZone);
6 m6 F3 L! H% B2 m+ E% q6 F; u                try {9 G6 X0 M7 u4 g' O" ?, i
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
# ^4 d9 {" D, g6 H                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行$ k* s( C+ X7 g" C. K- e
                        ( {+ r3 l* f' x' V
                        actionGroup.createActionForEach$message(list, agentSel);
+ ?. Y& [/ t8 o: v                        actionGroup.createActionTo$message(this, swarmSel);( Q1 I/ w) d+ |% }; e0 t
                        schedule.at$createAction(0, actionGroup);
8 t! q- b) q4 V* q3 x                        schedule.at$createAction(1, actionGroup);! [- |) \5 H, c+ `1 v+ m
                        schedule.at$createAction(2, actionGroup);3 M3 Q- U% ]8 c) J; H, _
. I7 u% F) C7 _: d/ ]; A; _; S
                } catch (Exception e) {8 \3 x& k. J$ R" s2 b! s+ s* ~
                        e.printStackTrace(System.err);5 p0 ^; o5 L* X, r+ e
                        //System.out.println(e);" {8 p4 h; f! T+ p1 i& u
                        System.exit(1);
& A% s/ g8 V' F* M& y) k. M4 i) ]# h                }  [+ T. Q' n( U/ s4 X: j3 @: B3 J
5 w$ W0 U! K1 Y8 `) G* h- d

0 Z2 r. G; b( }9 j9 l        }
' V2 _$ Z4 b% D- t+ c  r- f8 U+ y0 s' V: T
        private void swarmSetp() {
0 N- w) U" E) R" J                list.addLast(new Agent(Id));  L/ f, m/ _% Q  P! f9 Y9 [: T1 D
                Id++;
* q# J  I5 N; |. U9 ~7 y        }, o% z6 W2 n1 d
3 e( o! j% B1 k( w1 z/ v
        public Activity activateIn(Swarm context) {2 Z) X( N9 N) O" J4 @
                super.activateIn(context);8 k; x7 p. Y0 A' u+ `; t" z! f
                schedule.activateIn(this);
( \3 e* `( b7 U2 N4 f                return getActivity();) p. L0 g; B# r1 }& Q( _3 E
        }( a3 a$ Z. v( {$ t" d

! j" V! q# T2 H/ y1 E9 g6 J        public static void main(String[] args) {
8 T$ [# ?: G3 o                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);  g/ ]1 ]; b: @4 G7 v5 N3 c
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
) Q- F' }! g5 {9 W! D; X                swarms.buildObjects();
7 f* o3 `8 f+ @, O6 N6 _, q                swarms.buildActions();& e- n8 D  }; C
                swarms.activateIn(null).run();
" w4 Z% H. d- _2 L" Z1 b% {( E        }
! C9 `& _7 y  W! a# i$ w- p" C/ U! S5 P$ U/ i* R0 @; Q$ c7 q1 F2 m
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-29 02:33 , Processed in 0.015730 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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