设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10549|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 * F* I) T0 I$ j8 b7 n

* j- U, H/ j1 l( M' k) _  p本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21" B# ]% y# {  Z/ O4 D  l0 B8 d) i
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.2 c& n3 o6 i* ^, y9 x. j1 M+ _5 n
swarm.SignatureNotFoundException
: w: C' a* Z! J1 Z        at swarm.Selector.<init>(Selector.java:76). |! w: S0 F' Y1 V, o
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
6 Y3 j  @% I, G3 \; m  b        at ActionGroupDemo.main(ActionGroupDemo.java:67)
/ I  C  b0 X; ~2 e3 o6 W7 Y9 L% q. V: {( }2 q4 a$ U* @) D

" n: `  }! ~) |2 `import swarm.objectbase.SwarmImpl;9 {$ n0 p9 f7 o, ]( S+ M  }% A6 n; C  y2 A, z
import swarm.objectbase.Swarm;  O; Q. O  R2 F$ C
import swarm.activity.ScheduleImpl;
0 r4 S8 _0 |6 N, N& H0 V/ A$ \% @import swarm.activity.Activity;
5 ^, F) x* O* x3 Z; V2 |import swarm.activity.ActionGroupImpl;
! h' E3 P; s/ k7 Bimport swarm.collections.ListImpl;# T2 g( _  s' |& r) n$ R+ R/ a  J
import swarm.defobj.Zone; ! [. W/ E& e6 o6 T' h. L
import swarm.Globals;# |- K$ q: e. A9 V  f1 e
import swarm.Selector;# N/ x  t- q/ j" a9 {# z
import swarm.activity.ActionGroup; $ t* |9 O4 z1 c) @
class Agent {+ m! u7 o$ `! _& y
        char id;
- v5 K5 d9 W& R- F6 G% @9 W' U% D% e% Q4 X; T7 f
        Agent(char id) {3 {7 H  g7 V, f
                this.id = id;
; o% t) n4 k4 ~* _        }8 Y  B+ x6 L! S1 d+ T& w6 b

2 B. N( U5 `# G7 }5 o( {        public void agentStep() {* l; r6 x; g+ Y  K
                System.out.println(id + ":" + Globals.env.getCurrentTime());6 |2 g2 w: u6 N) l2 f
        }% }2 N; ^  ~- _2 L, v7 j6 E! f
}
! Z, N" L6 I: b9 x" L9 K1 Y/ V; Z1 J" }
public class ActionGroupDemo extends SwarmImpl {
, N/ T! H/ z3 b" W2 n9 r        ScheduleImpl schedule;; l1 d4 ~) a2 h) Z4 `- J8 J6 l0 J  ~
        ActionGroupImpl actionGroup;
+ d/ L) ~2 {7 f: {        ListImpl list;! R5 O. g, Z9 Z. H
        char Id = 'a';. X+ |, L+ j3 H, T- R

0 s$ y  x0 {  k        ActionGroupDemo(Zone aZone) {
7 W9 Q5 Y8 Z8 N  u* M) R& ?                super(aZone);+ V+ n  P' m7 ~) e% z3 [4 Q4 F5 m
                list = new ListImpl(aZone);( Y0 a) r; ?. f$ ?* n
                swarmSetp();
+ g) P( m7 f# k! W5 r5 M                actionGroup = new ActionGroupImpl(aZone);
4 h. y1 p- w! f                schedule = new ScheduleImpl(aZone);% y/ y, P; L4 h+ \- R4 F
                try {1 w3 C( d- O4 W& v
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
; d. R" M- N9 C  f2 n2 N/ Y                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
, v' ]) h+ s) r1 r) \8 ]; Z, C! x                        ( K8 v2 W3 D# b
                        actionGroup.createActionForEach$message(list, agentSel);2 `0 T" w1 m2 z9 _$ u* d# b* O: c
                        actionGroup.createActionTo$message(this, swarmSel);
1 J3 T/ m3 s* X8 ?( g4 E0 i                        schedule.at$createAction(0, actionGroup);$ d# l# u( n4 G% ~4 n( P& ^
                        schedule.at$createAction(1, actionGroup);; W! D% |5 _. n- X/ K+ j
                        schedule.at$createAction(2, actionGroup);5 ]4 a2 a! o7 n, z
1 y. ^/ F7 p2 m" W" F. N$ ?& @3 N3 d
                } catch (Exception e) {1 U( i8 j: q2 H, N
                        e.printStackTrace(System.err);% ^9 g- a5 W1 G  U9 H8 f
                        //System.out.println(e);
( p0 ?4 H6 P; _6 T3 n, ]* ?) y                        System.exit(1);
( x  {: V+ E0 m  n2 [, F! c                }! [* I7 O5 W2 g* [& n
; Y- U" I! G: w9 @- @
- M5 N# ]: w# n8 x; b
        }
$ p/ E# y8 R" O$ M4 M. t" }6 U6 H; h; {8 R; b8 x$ x7 N  u9 @
        private void swarmSetp() {3 d5 k" _, b- Q& T+ J
                list.addLast(new Agent(Id));
; A  E% J' U3 g6 _- s                Id++;
% g6 |, P+ z4 Q* B8 t        }
  O  t1 W7 P. _# v4 q% M9 ?" j5 }( i1 c9 i4 G. g5 R
        public Activity activateIn(Swarm context) {4 p: S- j& Y1 i6 t
                super.activateIn(context);) w7 l! V0 x) u6 ]
                schedule.activateIn(this);
; b+ I2 V7 H1 d                return getActivity();' z% P4 c! R' F
        }
( X7 v6 [0 N- Z& x1 l$ ?$ \+ A! ]
$ i# D5 |% ?1 L1 ?) g  a, V% U5 }        public static void main(String[] args) {
8 j  p& ~2 T/ [: O                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
! i1 G0 L4 T5 z! O/ W                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
+ O8 ]5 _+ F1 q& c1 `2 p                swarms.buildObjects();
) Z  X" m. N; e1 w" u* b+ L                swarms.buildActions();8 A- s4 B. g& y  I
                swarms.activateIn(null).run();
" ]) U4 q* h) u! _1 F$ t  Q        }
4 R* u2 M7 {' L# o
; {3 G/ I; E' n/ B. v* g}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-17 01:15 , Processed in 0.012053 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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