设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10867|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
- {( ?. D0 T/ L2 W4 w
8 [/ ^! I; P) D# t本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
; [6 w7 o8 M' d' @以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.1 ^- j7 y7 \$ J5 G# E9 G
swarm.SignatureNotFoundException$ u3 o. U) D  T, v$ a7 C- Z1 Y
        at swarm.Selector.<init>(Selector.java:76). }* B) h( y% b  O4 m( [1 e, I
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37); d" ]) {1 M1 F3 k; [6 s
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
* N2 {- F2 X: Y0 I, j# \, e3 g) h/ z) k

$ ?9 j+ T2 [4 F& M4 O" T2 fimport swarm.objectbase.SwarmImpl;# }8 n8 Z- q  V: w! ?
import swarm.objectbase.Swarm;" v: S9 l$ ~, s: M
import swarm.activity.ScheduleImpl;
/ w& i5 z/ l6 @import swarm.activity.Activity;
; N0 T6 t! J, f8 k% Cimport swarm.activity.ActionGroupImpl;
/ M' A2 g  x, S7 Vimport swarm.collections.ListImpl;
3 _  L! O& [, S. D% ^import swarm.defobj.Zone; ! k# O1 q) ?# ?  B5 b" Q# Z; X. m
import swarm.Globals;
: {! Z. ]6 d+ L# O9 b! N* m, r: L% Uimport swarm.Selector;/ O% X1 j0 I* c2 g9 l: E3 h
import swarm.activity.ActionGroup; 8 |* d- ~. X) t/ T) ^7 I6 y  o
class Agent {
; @$ V) T$ H( A& D4 l        char id;0 |# Y+ ~+ ^: `7 w8 C# W
/ Z' |2 i" f. \8 C9 h8 r4 y
        Agent(char id) {
. W# F: X, f/ |& M9 D# W9 d' S                this.id = id;
* C# V  ]' ~- q) D        }
/ N' z) Z3 v. }# _8 l
/ _: d/ O. P% D, L4 L        public void agentStep() {+ J1 [7 Q: i9 w& a9 t' K
                System.out.println(id + ":" + Globals.env.getCurrentTime());7 S' c5 e4 O, s* s
        }6 Z9 n1 \: e0 M. {* g# Y
}$ j' n2 q* k! ?* Y6 ]- N

2 b/ W! c6 O+ I& w5 Zpublic class ActionGroupDemo extends SwarmImpl {
& ?3 q2 q' N# d: A        ScheduleImpl schedule;
1 `" O! s: W. z: Q2 `        ActionGroupImpl actionGroup;' |4 b0 n* w: y1 q0 h( I
        ListImpl list;; G  Y+ B; B8 K% f% n# R
        char Id = 'a';
# F% I6 [4 B% Y% N% F- j2 p2 _. ]+ a9 u  N( T& m1 K% _
        ActionGroupDemo(Zone aZone) {) P; [- u: u& ?) s
                super(aZone);, N& _& W* r1 B* Z1 }( W
                list = new ListImpl(aZone);
! ^9 O! A3 s1 ^, x0 F8 e                swarmSetp();
9 `# p1 Z0 D& t9 c6 Q' H                actionGroup = new ActionGroupImpl(aZone);
' H& u0 z0 R6 Q+ S" _# D5 t                schedule = new ScheduleImpl(aZone);
, Q0 \  c2 {$ `2 F' a& T" r                try {3 E3 u4 Z! w: p& H
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
! n; T9 T  G  }- z. _% E  h4 k                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行/ I/ U$ \8 O: F, r1 D4 R! C7 P
                        
. Y6 Y. e8 s- Z( I0 y: ?$ Q                        actionGroup.createActionForEach$message(list, agentSel);
6 P+ c: t5 l( p9 t0 o: D/ z& }                        actionGroup.createActionTo$message(this, swarmSel);1 ?$ ^; S4 [. _3 i
                        schedule.at$createAction(0, actionGroup);
5 r; d9 e* {2 e, t" q$ j& r                        schedule.at$createAction(1, actionGroup);0 S* l) J5 [+ V6 }
                        schedule.at$createAction(2, actionGroup);
8 Z9 l; _$ m2 H! P% c( ^8 i$ r; }5 R( n
! Z7 j' A( `5 Q! P& |                } catch (Exception e) {
& V! S: J3 Q8 k4 t                        e.printStackTrace(System.err);
8 n" e: ^$ C2 y5 R, ~  S) h6 W                        //System.out.println(e);3 |7 B5 n; a* L  [
                        System.exit(1);
, k8 M2 ]6 V; H                }
1 U+ r, M- Z/ X4 D1 B  ~8 b0 p) V" u* S' Y. ^, w% z/ Z5 p
0 i- U1 h2 w) w  n5 l7 P
        }' k# H; W: z3 L) _7 k  r

# S. P: K9 k6 L+ L( e  ?+ N; m        private void swarmSetp() {0 t7 R: r6 b' K
                list.addLast(new Agent(Id));
* }8 i7 P1 o1 \. s' C+ i/ a                Id++;
- M3 F7 R3 J6 T4 ]- E# f6 Y! A* j2 @        }2 M1 J$ b/ E) ]% z! f5 E

" k) ?# F1 T, A+ w( o; e        public Activity activateIn(Swarm context) {6 U3 ^/ S( j$ R/ @8 t
                super.activateIn(context);
5 {- i3 s. N+ F% L( W' H, x* g7 q                schedule.activateIn(this);
( A8 p; |$ K: U9 b: m                return getActivity();* X$ `, K/ s" `7 ?( H9 ?1 K
        }
6 q! n6 O6 p+ B+ E2 ?6 W# d# ?; q0 _9 d% E$ J1 ^' x" w/ H/ U
        public static void main(String[] args) {4 m- g4 A4 J  ]# s) F- X) `
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
; e; p) V1 E1 {' z* c0 W                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);/ e+ W' q: W  B7 t. \, z
                swarms.buildObjects();
  J2 b" X; `: W7 f& i' A$ k                swarms.buildActions();
: g& u+ u5 N) C+ U                swarms.activateIn(null).run();: U( f4 e' G& z: C. @
        }/ y* c0 h' Q0 N/ U
4 g4 G9 G( w1 Y9 Z
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-26 04:33 , Processed in 0.014621 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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