设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9817|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 5 p! I) ^: i% e+ Y2 c; n1 ?
8 I2 Y; V8 P' z  o
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21) E6 B* A2 Z" H( y' T3 |/ M
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
5 @# C  r( M( s8 Xswarm.SignatureNotFoundException. W) ]! z3 t; r
        at swarm.Selector.<init>(Selector.java:76)6 w) O! I& ]0 s" R* w* R- N
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
4 L  g* Z) H8 @/ B        at ActionGroupDemo.main(ActionGroupDemo.java:67)
( [( g/ a" h: S& u, Z; |6 r: a/ m8 o4 q% j7 q. N+ o2 O! _1 y
7 c4 Z; @+ M2 O# W
import swarm.objectbase.SwarmImpl;3 R5 g" R- B( r# m& c! G
import swarm.objectbase.Swarm;
) K. M6 y9 Z% K  |- J- bimport swarm.activity.ScheduleImpl;" K* m& E6 z0 T2 K9 R
import swarm.activity.Activity;
% \3 i$ l' n8 X& H  ]9 L1 K' Q1 Mimport swarm.activity.ActionGroupImpl;
: e3 |- z" C6 H$ I0 Eimport swarm.collections.ListImpl;  V4 H$ X6 b; n4 [; k
import swarm.defobj.Zone; 8 n" w# ?& D+ ]
import swarm.Globals;1 A5 Q# |6 _0 G1 k( H) J2 R4 D
import swarm.Selector;
3 O+ D5 j; C' `) zimport swarm.activity.ActionGroup; : D7 H2 h2 S+ Z9 W4 G+ l
class Agent {
$ O9 g2 s4 C5 W  d        char id;% }2 @, M" }0 [* _& W% C4 }/ R6 F( R
7 e" S' _! T9 z1 ?& y' k
        Agent(char id) {
: k& C9 F9 f, O# m% ]  c- ?                this.id = id;) Z9 N  A7 J2 V9 `" D; P2 c; |; U
        }: O6 f0 T; y+ O, U7 d
3 l% z) V# [- e% F  b9 q* L
        public void agentStep() {
* h$ q' Q* [: [( P% d                System.out.println(id + ":" + Globals.env.getCurrentTime());- Y* C* Z. J: V+ k! @
        }9 l7 z5 o& ~6 I; ~) B+ S4 t
}" }$ x( t& ~! X, s9 X9 N4 U0 n

$ I' D5 a4 N4 V; ~$ Ppublic class ActionGroupDemo extends SwarmImpl {
* l/ i( x* h, x$ y/ l; e! o* D        ScheduleImpl schedule;/ d0 ^5 |3 ~! T
        ActionGroupImpl actionGroup;6 j" h& @5 A, f* n/ d
        ListImpl list;' S( ]" o" e6 K2 l, L  t
        char Id = 'a';+ D( h# \/ x# q) J  U! f# K7 P  a

9 S6 I2 q( q6 \/ K        ActionGroupDemo(Zone aZone) {  T0 c! u' ~5 |* |. w" P! \
                super(aZone);$ [- x9 s% e- G0 m
                list = new ListImpl(aZone);2 z. E& }% n1 J+ e
                swarmSetp();# ?, X* W. |2 D! A* p
                actionGroup = new ActionGroupImpl(aZone);
+ l7 a. b: }' w2 ?5 }6 R: M' ~                schedule = new ScheduleImpl(aZone);
8 q* C. C$ M; g2 B                try {
% \: b. t- r# B! d) d1 _. V                        Selector agentSel = new Selector(Agent.class, "agentStep", false);' z; P' }' k' }2 y1 I: f
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行8 f7 J. N2 P' A" ]6 g! O0 N9 C# l* q+ e
                        
/ ]8 }" j6 L/ ^# H                        actionGroup.createActionForEach$message(list, agentSel);
5 W& y/ b: Y3 T1 c0 l) ^                        actionGroup.createActionTo$message(this, swarmSel);
. ~* e1 y$ g: g, {, _                        schedule.at$createAction(0, actionGroup);' x; F% v8 r4 C' v; J: i$ s# ?
                        schedule.at$createAction(1, actionGroup);5 S% l3 B: @% [( q8 |
                        schedule.at$createAction(2, actionGroup);# A2 Z3 N1 L4 i, t
$ M* L# i" ~2 X( }3 k& `
                } catch (Exception e) {- [8 H: e1 r' \  p$ h* G
                        e.printStackTrace(System.err);
: j& w5 G4 z$ [3 Y7 o                        //System.out.println(e);, \) F$ @8 T) b/ e* {
                        System.exit(1);
7 G2 A% D. G" k% A7 F. r' t                }
; N% W+ F# Y$ q0 I6 g: T* s
) p" V' ~9 D2 F' }$ L5 J- `- Z" k' ]9 t
        }: {0 C( F+ k3 w+ ]) R5 D

/ V' a# }- b8 @( p        private void swarmSetp() {
( \/ m% p( n9 X/ {! ~/ ^                list.addLast(new Agent(Id));
7 i" K; b' a' D                Id++;
  w/ Q/ l5 I$ S        }- u6 w0 @6 e4 W' ]! f

' a2 c' C# B# ^; n+ m. c        public Activity activateIn(Swarm context) {0 C4 t  O: e7 x# V1 T
                super.activateIn(context);3 {, T- U( F' B: B) F9 M0 j$ ]
                schedule.activateIn(this);3 P  U! ~: ^  ~- ^8 X) W& i% U% J
                return getActivity();
  g+ u9 h$ H9 D; ?% ~        }" d% f# W+ l% ?6 A) `" n1 x

# \3 C" D1 h0 ^6 _+ B4 C        public static void main(String[] args) {3 \1 ~9 Q& q  R; ~4 `& V2 b
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);& A! t1 j' t8 M1 @& m
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);& d4 {  G, B2 \0 P! [  }
                swarms.buildObjects();
& {- k6 \& _  p% N; t                swarms.buildActions();, p2 s8 k+ l2 S3 H
                swarms.activateIn(null).run();
& v9 Z; B1 @" s8 F# ?7 C        }
% `* Y  p% A! g3 a- ^' L7 O
' ?9 i9 C; W( Q7 H}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-24 04:04 , Processed in 0.014559 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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