设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7008|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
4 O# w# u/ W: J( T' X: |+ o$ b) v
, m" d9 Q4 n, E, m本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update219 j. p$ I1 |3 W! ^
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.3 {  {8 }  Y# t8 H0 K) P
swarm.SignatureNotFoundException/ t" G: C$ b! x8 W
        at swarm.Selector.<init>(Selector.java:76)
+ K6 c# U& R2 t        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
) N" @6 \) @1 g8 E7 x        at ActionGroupDemo.main(ActionGroupDemo.java:67)
6 W* a! X$ O* C" c6 r
1 P1 b* K  T* S! D9 u+ Q6 C8 i$ D5 q9 z, g8 w& Q
import swarm.objectbase.SwarmImpl;
' F2 e/ t$ d; dimport swarm.objectbase.Swarm;# P/ X& j/ ^6 n" Z
import swarm.activity.ScheduleImpl;
+ }8 o# C- e6 S) `2 b8 f3 o2 Zimport swarm.activity.Activity;
8 n9 v5 x6 M- N2 L9 ?* K9 ~import swarm.activity.ActionGroupImpl;
7 M+ f- U( f# b7 Vimport swarm.collections.ListImpl;
+ c/ l& _8 j' i1 D$ Himport swarm.defobj.Zone; 8 b; V% l. ]4 P) q
import swarm.Globals;
) G0 \. i5 ^* C3 a' T0 kimport swarm.Selector;
# h$ i$ p, N8 g9 e: qimport swarm.activity.ActionGroup; . C  _. R" u4 |, z8 S
class Agent {
, {) j, ?# l  Q        char id;$ D' m: J  M/ n4 X

7 \! k2 a/ Z, \8 E5 w/ P        Agent(char id) {5 X' Y6 o1 G+ F0 L: e" a
                this.id = id;5 ~' l" \+ e8 J6 @- v1 N! I
        }
8 @% g/ d( A: {& h6 ]/ g+ E' l0 R; v6 X! q1 G5 \9 G  g
        public void agentStep() {
; L9 x' [3 m; ]5 V: ~                System.out.println(id + ":" + Globals.env.getCurrentTime());  ]. B0 q4 j! n+ D4 P
        }* K% G/ t. Y1 {  F; u% g) O
}
& d' U2 p2 w' K: c  F( t9 _  \5 u7 }
public class ActionGroupDemo extends SwarmImpl {
1 V: o- @( F. F4 _1 A+ |% h# X        ScheduleImpl schedule;
+ c) {7 r  B  K5 ]  y5 S        ActionGroupImpl actionGroup;% B: i) B& o# Y
        ListImpl list;
% R1 W& J8 k# U9 }  n% I        char Id = 'a';6 x, C, @. ?# r/ a9 ]1 C

' r& Q5 f4 |0 C; e$ q; }; l        ActionGroupDemo(Zone aZone) {3 ]# A4 U# h+ a! J( s
                super(aZone);9 f9 l: H$ t4 K( X- u
                list = new ListImpl(aZone);% P6 Y7 g& x& ]% S& @! k% R
                swarmSetp();/ z; ~% |, i) o
                actionGroup = new ActionGroupImpl(aZone);7 ?6 h; X4 M) o8 I6 D* y# X
                schedule = new ScheduleImpl(aZone);
) T6 Y' I/ B. e* c: V: I* L. y                try {1 A9 J9 K/ Q! ?: g  T' |
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
  w3 T* N6 |, R- }& e- w# [                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
% A: v: S5 W. \4 C! r                        
& M* s8 U# L6 M; h& u. ], @9 S* T                        actionGroup.createActionForEach$message(list, agentSel);
# |% v6 I, S' d# j- {                        actionGroup.createActionTo$message(this, swarmSel);
# {7 t' A+ r* R. {  L* l                        schedule.at$createAction(0, actionGroup);: Y* r; V7 s2 d8 s! D
                        schedule.at$createAction(1, actionGroup);! ^0 F: o1 I& Q6 e2 u: Z
                        schedule.at$createAction(2, actionGroup);
2 O" Z( N4 ^# |# Q- ]/ o
7 _+ Z3 Y' T- K# g0 V                } catch (Exception e) {7 F( Y2 h; G5 Y. y& W2 L
                        e.printStackTrace(System.err);
% |5 e7 G, J) v/ c/ ]: I                        //System.out.println(e);
9 Y! p& X. y! o2 ^! o; I                        System.exit(1);
, q5 g/ d4 o0 f/ U0 L7 L/ Q                }
! ]- o7 d4 S0 Y6 D5 s: F+ o: F5 [( K6 v1 h- {" `

% v4 {: d8 m9 \% o1 L4 }        }
$ ]0 V& D" h- |4 k6 S8 S% B4 r% |. ~& e, d8 X
        private void swarmSetp() {
; ?, {/ D& u8 h% z                list.addLast(new Agent(Id));/ N; N, [& J5 g4 T. ?
                Id++;2 N7 K) M0 `$ d9 g
        }- X4 S4 o, B# n0 u- l8 m( C

# o( Q  C2 g& k        public Activity activateIn(Swarm context) {9 y/ \  E9 P: ^2 ?/ P+ a4 E
                super.activateIn(context);
! o0 G4 M- Z: Z- N2 R                schedule.activateIn(this);2 e9 i5 \/ {" f5 S
                return getActivity();5 _/ O9 m/ Y8 @
        }
. c9 H6 j( r8 {& h1 x! e8 U
9 ?1 l# J% |2 u5 l! s        public static void main(String[] args) {7 F4 y) h5 w4 s) E# u8 L
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
8 ]- K( E# d% ^& g                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);2 [% u- o& G9 Z8 Q7 _4 X
                swarms.buildObjects();7 n9 F. ?9 R! x
                swarms.buildActions();
( z) d0 V5 ]4 W+ g- F$ p                swarms.activateIn(null).run();6 p, B2 S& m- n8 L# }  u
        }
2 \) e8 e4 s4 X& _8 O( x
4 Z1 m8 b" D! P2 {0 s4 A* E% @, ]1 f}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-16 11:10 , Processed in 0.013758 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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