设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8445|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 % \  w3 |& u% a

$ @5 l& Q" d" _& Y本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21$ r! g5 M) o" n" u; o% Q
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.- K/ t2 I$ t, O
swarm.SignatureNotFoundException
5 d/ G  L, k  {+ @, S8 o        at swarm.Selector.<init>(Selector.java:76)
  C2 ~% X! }* M/ W3 h: B5 U        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)& l7 }, m  s, H* g+ C+ G- P
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
; F; @& U) ?& r% U! C6 B6 S. `
2 X3 l* M6 f3 z& }
import swarm.objectbase.SwarmImpl;/ T- v/ f. m( L& D6 q; X
import swarm.objectbase.Swarm;
( E$ e/ D" `1 ^$ ^6 U* rimport swarm.activity.ScheduleImpl;
. X' G. ^' n- c3 @5 F1 f& O4 Mimport swarm.activity.Activity;
' e+ z/ t, P5 _" _. ?6 S: mimport swarm.activity.ActionGroupImpl;
& r! z: Z" t( j/ }import swarm.collections.ListImpl;$ z9 y: x  |& w. n
import swarm.defobj.Zone;
5 e9 I1 S" C# P- h) @8 [import swarm.Globals;5 c8 r  O$ s' L0 w! _" m
import swarm.Selector;, q$ n* Q5 i& o7 q' f7 y
import swarm.activity.ActionGroup; % t* ?) T' `2 z8 e# |: V: _9 m: U# v
class Agent {7 j: T  G3 h# u3 I$ x& Y) a. c( R5 B
        char id;
+ ~# F5 s, p0 G3 L) U' t3 T  k$ ^" u) a, R# m% @
        Agent(char id) {: q8 r* t; x1 K9 t# a) q3 ], B
                this.id = id;0 _; G3 {6 d5 _; ~% I. ~
        }2 B% [3 C1 f3 x/ X  w: X, F  W! H, |5 g

8 M, C1 X" ~% K        public void agentStep() {! s( p8 J* v( }1 ?6 i
                System.out.println(id + ":" + Globals.env.getCurrentTime());5 y8 J- g2 O, \0 ~
        }
# N: }' ^3 L! B, s}
; U" f( \$ y6 V) ]
. k- ?, f; A, ^" @public class ActionGroupDemo extends SwarmImpl {5 [5 `( }3 d1 P6 V3 m8 x5 ~5 ]) x
        ScheduleImpl schedule;6 n* ]3 U9 @; M/ V+ z5 Z. s
        ActionGroupImpl actionGroup;0 K+ Q0 R5 Z6 ]% \
        ListImpl list;
4 k7 E! I% z4 O$ f        char Id = 'a';
8 g+ x/ O  u' _) _
, V" \9 W! i. E, ~/ C        ActionGroupDemo(Zone aZone) {- t+ R* W3 }, Y
                super(aZone);
8 s1 s* U" h6 K) s4 X8 P% j                list = new ListImpl(aZone);
% m* ^7 c) L4 z" b& S                swarmSetp();
& w5 D+ n- |( p                actionGroup = new ActionGroupImpl(aZone);
* U& W9 |+ m! D! e( {! D$ _                schedule = new ScheduleImpl(aZone);  W6 L8 j7 Y. D( }2 z8 Z. N
                try {
' p) e/ V5 U/ L7 d. t' J/ I3 R                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
" T- ?) m, j6 z; _, Y                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行- I0 Y7 x& W  R' X5 c# O# I/ x
                          g' V' E. z( j
                        actionGroup.createActionForEach$message(list, agentSel);) q3 b+ n2 T- m" A& m
                        actionGroup.createActionTo$message(this, swarmSel);: ~; [* J, C8 L( T: x' U; M
                        schedule.at$createAction(0, actionGroup);
% V0 z0 |8 k4 d/ t6 s, h                        schedule.at$createAction(1, actionGroup);$ b8 ?7 p8 S( y# |
                        schedule.at$createAction(2, actionGroup);
: m7 _% q' |6 ^. h0 f" R( Q. s9 e8 }- C: P! I5 w7 c
                } catch (Exception e) {
' R4 v0 G# o; V& b- W                        e.printStackTrace(System.err);
0 _0 A  S3 M. w) W* Z                        //System.out.println(e);/ b+ v% A& r# D% C! y" }
                        System.exit(1);
8 o, O2 f1 I$ k' V/ m3 f2 e6 N                }
! {0 l; B" l1 M  |* _) K  Z' t# o' w9 K. X$ |5 O/ Z/ Z* c
+ Z+ v8 \/ m  ^  h6 Z
        }+ E8 v& T9 B$ O" [5 p/ h
5 P7 c4 z( D1 N
        private void swarmSetp() {
" h6 r; {7 B( t- K5 f                list.addLast(new Agent(Id));
/ U; N) N/ R/ J0 N: _                Id++;  k4 S3 E& i- z& D" j
        }
5 W6 x7 o$ D4 f! E& C
/ U3 }8 h4 w) S: [& q) m; p        public Activity activateIn(Swarm context) {
% k7 v  a0 ?6 Q, ]. [. h' s                super.activateIn(context);7 i. H$ w- L/ i
                schedule.activateIn(this);+ v' |. C! D6 z* [8 i
                return getActivity();0 D: x0 e. y9 @, k. ^1 M2 U/ |
        }- F' c* c5 S7 g
, V! S" a. m; i" X5 y9 C3 j
        public static void main(String[] args) {
, E( a: X& r4 ]- R* Z3 G! f                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
& i8 p6 b  H# `                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
2 u8 T/ o1 ?# T& N                swarms.buildObjects();5 s2 Q6 K: t4 [/ E4 A% n
                swarms.buildActions();2 U5 q  M" e+ z( A7 ?
                swarms.activateIn(null).run();* ]* O! Q, m- ?% \2 A
        }
, m- n$ g$ t5 X: R6 I* V+ E& M% Y) c: z6 H, ^0 t4 l- p# G
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-12 11:48 , Processed in 0.017150 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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