设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7959|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 9 j& ^' D& W- k. G; j; k

; _" Q( l; e$ C- ^5 X( Q8 }% R本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
! B* s: x9 U5 E6 P' q% Z2 U' P/ C以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激., b& Z/ F2 C! p' i$ y& R
swarm.SignatureNotFoundException
, b, |( _/ g; x  r: K5 N8 N        at swarm.Selector.<init>(Selector.java:76)
) I8 @7 \. \1 n$ ?' o        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
0 I( ~0 e. e$ x0 c4 \        at ActionGroupDemo.main(ActionGroupDemo.java:67)
, b; l1 ~4 x" j. K; }" Q: F' ]  D7 P% L) S/ C" c9 D9 S$ o9 L

" {6 l4 M: F( a4 i/ simport swarm.objectbase.SwarmImpl;
# w) m6 C: h' y% L* V  p* ~import swarm.objectbase.Swarm;
# B5 A/ k3 w' V) T/ U  @) @# Dimport swarm.activity.ScheduleImpl;
7 j9 r) J* P  b9 i9 [( S. N( Eimport swarm.activity.Activity;4 M- p# [6 y/ y/ {' K+ X+ \
import swarm.activity.ActionGroupImpl;* S" U. L* _0 L) v3 e7 [( y. I
import swarm.collections.ListImpl;
4 Y3 _+ i& D8 D1 ^  j/ N3 Himport swarm.defobj.Zone; / k' T0 F2 N+ P0 M
import swarm.Globals;- f1 Q, W5 m1 x/ Z: m6 p1 |
import swarm.Selector;
: Y/ `6 P/ o+ J9 }import swarm.activity.ActionGroup; 9 h' }3 `, T& `
class Agent {. J9 W* O5 E) [5 i
        char id;; `, j9 l( ^3 v
& s0 l  d0 i) }5 V; f2 p; q  m
        Agent(char id) {# {% B, |, n' a" _  f
                this.id = id;
, Y  F) O6 i" G4 [        }
% h0 ?  [3 e0 Z. A! Q2 Q" N" t, d. v" @) P
        public void agentStep() {
+ V' L8 a. s6 {4 o                System.out.println(id + ":" + Globals.env.getCurrentTime());
2 X  n, Y2 E/ H& y        }
( I5 L+ }; z; C( z$ K}4 h* p. P. n9 X2 b- @7 I

' c) K  M4 |- x6 mpublic class ActionGroupDemo extends SwarmImpl {- |- b) k2 I. Z+ b  H
        ScheduleImpl schedule;
7 q' I1 E3 \5 E8 F: b" j8 {/ i        ActionGroupImpl actionGroup;
9 X$ B4 j" x" Y- p        ListImpl list;
9 U. B  ?2 e  H& Z* Y3 H1 u0 n$ n        char Id = 'a';
8 J" f5 y1 |9 Z- L* k$ Z' ~) q, E9 i6 u1 m
        ActionGroupDemo(Zone aZone) {
( N5 N! p; b( v, m; j" l  U/ O3 E                super(aZone);; E4 y( M/ \8 |
                list = new ListImpl(aZone);
( B5 _  @3 Q4 i  o                swarmSetp();
3 X; s4 w* K: J* x                actionGroup = new ActionGroupImpl(aZone);3 C2 P! H6 s' y% c# l6 T
                schedule = new ScheduleImpl(aZone);
/ v6 A* |6 ]1 A* W4 _" m8 D                try {
0 S2 U$ N  X2 W, C4 k+ H                        Selector agentSel = new Selector(Agent.class, "agentStep", false);+ _1 x% M2 x4 L- m: I0 ^
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
9 n& a" M( _4 y3 M8 g: v7 U                        & l) f3 i3 b3 G8 t$ ?; K$ O; B
                        actionGroup.createActionForEach$message(list, agentSel);
$ X- t& Q" d) n+ V, s' t                        actionGroup.createActionTo$message(this, swarmSel);
+ @1 O+ N7 A: i0 ]" u. w# }# K                        schedule.at$createAction(0, actionGroup);
4 B) [( U/ c& m8 {; S: N                        schedule.at$createAction(1, actionGroup);
. v, i6 n% T8 Z" R  d                        schedule.at$createAction(2, actionGroup);
5 T$ z9 }4 M* _  b& T( h1 k# b) O, L" X4 I3 H
                } catch (Exception e) {6 M0 ~- H; ^  c2 o( n7 j6 F2 F
                        e.printStackTrace(System.err);  t; A! g& b9 X  X! r9 ?
                        //System.out.println(e);
: x/ @5 {4 a6 E( e7 o1 ~$ a                        System.exit(1);
( ~; W  E0 L8 Q% @+ d                }
7 G6 `2 k. F( O. h% w1 @
/ z, P  ~5 C; ]+ ?, x$ V; s. X: B% _
        }5 T! N6 W6 r1 S+ c" c7 \  v
8 n0 C0 B: Q1 a- b3 b, H  Z4 c( u3 u
        private void swarmSetp() {
- {2 |  e5 H* W) I                list.addLast(new Agent(Id));
- Q8 ^# B+ G0 |! @                Id++;: y" Z  d& k9 v; w$ ]4 L! g  D
        }: ?( |: s( x2 d* d1 D

/ Q4 }$ d0 {) m  E' U& ^        public Activity activateIn(Swarm context) {6 G5 S- ]: I" v% m$ E
                super.activateIn(context);. j" C& D5 \9 a; O
                schedule.activateIn(this);- ]4 s/ }6 j& @$ X3 Y4 m$ L
                return getActivity();* {# d+ C9 Y0 @
        }
/ g# [. u8 i6 w, e+ z1 h( e0 S3 E; M! v" D1 g; t( l
        public static void main(String[] args) {
! |& L& N' Q8 n                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
% [# _$ U. F& ]5 c; s+ Y- P/ D                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
% b1 I+ C/ {+ ]& n, d                swarms.buildObjects();
; M) b8 r  e( @0 K) |3 g                swarms.buildActions();
& L1 X# l" a0 X% t                swarms.activateIn(null).run();
. i- `, Y$ S  e4 `% m        }
# t9 d- ?6 g$ t& c8 `: ?' Q" H) \! A. ], A) g
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-24 07:44 , Processed in 0.023043 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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