设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13765|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
* k$ P$ a2 }* F) c- @- ~& z& f" q! V9 A& B" r
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update213 y- s4 A  }0 r: v
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激." g% }" F! s. q5 I( \0 P  X( @
swarm.SignatureNotFoundException) p9 k( k7 N7 r! s
        at swarm.Selector.<init>(Selector.java:76); j9 ?2 A, o- i  t1 h  r$ K
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37): t/ d: ?( `; D7 }# e/ q7 P
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
3 k3 U6 x) @$ G- n  D8 [0 ]2 g4 g3 y) v4 L& s  I/ ^) U2 W0 j& Q& H
7 |# c* l0 x0 C  p$ d
import swarm.objectbase.SwarmImpl;3 Z2 t% O. t7 V- _# V
import swarm.objectbase.Swarm;
" o- e. A9 g# W: B1 aimport swarm.activity.ScheduleImpl;5 k# P; d& i7 Y6 o! |( [/ z
import swarm.activity.Activity;
, I  R6 O* D7 T5 b# ~  l3 fimport swarm.activity.ActionGroupImpl;
) N0 @2 z9 u* k, Ximport swarm.collections.ListImpl;
4 a% j& {# X1 `/ L% q; c# Y8 s/ Bimport swarm.defobj.Zone;
& u. f. q( q0 ]( a: eimport swarm.Globals;
5 N4 a( }& r* u$ g- \import swarm.Selector;8 U/ L4 `9 p' Y9 g
import swarm.activity.ActionGroup; * F1 X) J% y$ G+ L" W8 Q3 N) G6 g
class Agent {
& p/ T& U6 O- f& V, a7 d: ^' m        char id;
# p7 ~& @5 \9 E& O! ?7 A% }* [$ c2 M: t1 J
        Agent(char id) {
) n+ Y, p) l. `( \4 k4 }                this.id = id;
. \( }; l' R4 Z1 h/ T( |. z/ K        }4 C" [- u4 L/ C+ K6 m1 \2 R

" J4 s/ R  H2 E" t1 q+ V% h        public void agentStep() {3 r% \: K8 e$ K5 i' m+ g
                System.out.println(id + ":" + Globals.env.getCurrentTime());
  V. k/ \* ^; G        }
+ H. \1 @' S) d  X. J& G}* A9 t0 h4 D/ H: D3 z& S" o
& Y* b& w3 b( r" ^
public class ActionGroupDemo extends SwarmImpl {
, V* |! ?' @4 B7 Q        ScheduleImpl schedule;
2 }; _4 p! K1 W0 y* v# y        ActionGroupImpl actionGroup;9 l$ H6 R+ ]/ v: ?9 ~- z
        ListImpl list;
- U6 u" P3 `3 i* Y( F        char Id = 'a';
1 S9 q3 y2 d8 g9 ?# c. T$ A0 I& M6 U3 n/ ]* ?
        ActionGroupDemo(Zone aZone) {) o  ?4 J1 _& w6 Q& _/ ?. D" m
                super(aZone);! F3 r/ y& R, h! O
                list = new ListImpl(aZone);; R" L7 m, I8 B. G8 j' A
                swarmSetp();
4 X% o; d2 B! p( I" B! H                actionGroup = new ActionGroupImpl(aZone);, x/ T9 _/ g: ~" Y! L* _8 ^6 o
                schedule = new ScheduleImpl(aZone);  E$ ]" ]9 O- X" Y$ i
                try {
6 P+ W  N% U. n4 [9 ~                        Selector agentSel = new Selector(Agent.class, "agentStep", false);8 f* ?% M. i/ R$ M" x, [2 O
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行. `; H  P& A. E  h) S: d
                        
; U- V+ @) [+ @2 ^$ t                        actionGroup.createActionForEach$message(list, agentSel);3 n6 M9 w1 Z0 u/ _5 {5 r# Q
                        actionGroup.createActionTo$message(this, swarmSel);+ r" u7 ~0 ]' K1 }1 \' M3 `
                        schedule.at$createAction(0, actionGroup);
5 u( F) x( x! Y, ^8 J8 o7 v                        schedule.at$createAction(1, actionGroup);) e0 J1 H1 P5 W9 l8 g1 i
                        schedule.at$createAction(2, actionGroup);0 R" B% |+ f- h8 \6 f4 u9 @
: h) K; B# J* C( ^. U( [
                } catch (Exception e) {
* |0 D+ F8 ]& r1 T* `/ s                        e.printStackTrace(System.err);3 B( V1 x1 R# N/ I
                        //System.out.println(e);% B. `# |/ o% t1 l. p6 A! J% ?
                        System.exit(1);
/ e" X0 O' ?2 j, o! U& L0 y                }8 D# M$ l0 l+ W7 T( a8 |
# _: t6 C+ m" Y, Q( ^

+ }6 n) z. |2 g+ T. O: G+ j1 e) b        }3 W/ {4 d9 J$ K2 S4 X9 u2 Z8 A
+ O8 U: ^, C- w, U9 F; X
        private void swarmSetp() {
& u4 }8 P' q2 p1 E                list.addLast(new Agent(Id));- w4 i5 F* g- e$ L+ V% M
                Id++;
% x9 K( I  p, x" U0 l& q        }
8 K9 {5 |* U% W; B9 d& y" R8 I2 }
% i* q" c! }/ o* r        public Activity activateIn(Swarm context) {
9 r, y' q) N2 W) {. r9 S0 V                super.activateIn(context);) T6 P- E! J0 I1 h2 E- T
                schedule.activateIn(this);
3 W, x" E$ c0 N# F2 @) R- {                return getActivity();6 B2 j4 p- S% r3 }1 X7 K( D# W
        }
  C8 J! U) X/ b# S+ H2 b% R( K
6 f8 O7 H! f' o( S2 }; l0 i        public static void main(String[] args) {
# B) ]7 `- m1 o  ^                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);  T- s* O1 y% \) W( Y
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);' N% g2 B- Q. O6 ~
                swarms.buildObjects();/ r2 D7 u/ T; M6 R" V& }+ M1 ~
                swarms.buildActions();
4 q1 a1 X! T4 j' J# C                swarms.activateIn(null).run();
; H9 p' l) h- m7 }  n        }
; p- e" [( P8 f- g  A$ k
4 }( j' g+ G6 ?" B' h}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-16 20:31 , Processed in 0.014564 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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