设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9303|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 : ~2 S  n3 ^9 O4 X

" J% Q( Q6 F5 U- |本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
: K1 l1 |% b8 H! z以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激." o/ M$ j4 p! q3 J5 U
swarm.SignatureNotFoundException7 p/ {" @( {+ ^4 [, i7 l4 H
        at swarm.Selector.<init>(Selector.java:76)+ E9 r* ^8 K* ?3 y' M; V6 N& e
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)) O0 r1 R5 x  h3 M( n
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
6 Y4 E& \4 S8 x, O, ^$ d( |4 a, m1 [) d  U* L5 \
# Y! t2 d0 g' J6 g6 `4 n' _' l
import swarm.objectbase.SwarmImpl;% X4 z) s* ]( ?5 [/ K
import swarm.objectbase.Swarm;" g+ {! u) R" d
import swarm.activity.ScheduleImpl;
$ F7 @7 R( M2 Mimport swarm.activity.Activity;1 j+ J) T6 J/ W" w  D( w) p
import swarm.activity.ActionGroupImpl;- R0 R5 Y" O$ x0 O
import swarm.collections.ListImpl;
$ h! t# K1 E! _  ~7 oimport swarm.defobj.Zone; . W8 {+ d, K' x& X# y  Q% ]
import swarm.Globals;: C) s! ^* l7 h4 ^3 C! C
import swarm.Selector;
' ]: s+ f5 T0 zimport swarm.activity.ActionGroup;
1 y9 N3 f. ?. c! J% G; o3 yclass Agent {0 G: w1 ?. e+ ^+ G- ]$ q* I3 f& g
        char id;0 n, `5 B  _7 Y3 U* S

7 v/ n+ h, ?% N  J+ u$ I1 Y' v        Agent(char id) {: J* k7 `- k6 Z( H7 n5 j, T" j3 k
                this.id = id;2 u% r; r5 I& }7 \6 T0 V
        }6 x+ m+ `3 p4 |5 O: H3 V
1 }8 K* D4 F- L/ ^; F5 A; m# v) r+ T! Q/ D
        public void agentStep() {
4 Y/ f  s0 N# u- e$ H! V                System.out.println(id + ":" + Globals.env.getCurrentTime());3 a2 }4 p1 H* C+ |4 `7 S
        }
& J2 d3 e( t7 n- n( y1 \  d8 b}
: m, K2 ~& Z, G1 R6 I. R$ h2 r2 S
public class ActionGroupDemo extends SwarmImpl {6 d7 b+ ]$ z* `: a
        ScheduleImpl schedule;% W1 U# K  k* U
        ActionGroupImpl actionGroup;
! l; b# s; L) P        ListImpl list;  L* q7 n' C/ ]& J
        char Id = 'a';) b' T+ x- m$ y' n! O6 v

9 w3 A3 f' L  t. g& L        ActionGroupDemo(Zone aZone) {; P* z& S# _0 n, {0 d% X0 l3 o
                super(aZone);
6 `! }$ R7 w/ [2 ~& B/ m. X                list = new ListImpl(aZone);: ?# `3 |% y8 M* |
                swarmSetp();
& I+ Y5 u2 K, U* \4 _                actionGroup = new ActionGroupImpl(aZone);  h$ f2 f" _' h
                schedule = new ScheduleImpl(aZone);
0 w! h6 R8 ~: {( V                try {
' w( ^  _% s/ x1 w                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
& G& o3 z. f0 b; u9 F                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行& P  R, o# P! t; e6 t# G
                        
! V* }' e2 h9 @+ D2 m/ S! ?                        actionGroup.createActionForEach$message(list, agentSel);9 [& O) T9 c, l" k( R
                        actionGroup.createActionTo$message(this, swarmSel);: `; Y: [# N7 Z/ j
                        schedule.at$createAction(0, actionGroup);- y' l4 g) P4 I5 N) t' q" u+ A
                        schedule.at$createAction(1, actionGroup);% R' t; q1 N: V; ~. Y
                        schedule.at$createAction(2, actionGroup);
3 T" }7 N5 n: {( s$ D  z; V& I& O. H
                } catch (Exception e) {
$ R! b, ~  t& ?& S9 ?                        e.printStackTrace(System.err);
$ T# r5 I) Q6 J                        //System.out.println(e);7 O* t9 h: f% d% w. u" h
                        System.exit(1);0 d  V& ~  q3 [
                }
/ E' S  D, S. J% Z( f  R- p) t. g2 L+ q

5 L! G' ]4 y, q/ }        }
! b5 B5 X& }, e% E. Y$ \0 n' ?6 ?; Q, b. Y% G
        private void swarmSetp() {
7 c2 d" P, [9 A" n( \                list.addLast(new Agent(Id));
6 j1 ^% S  ^6 b                Id++;
3 |; O. R/ _3 `  [0 Q" J' [        }
4 G3 k: i" h9 o6 f; {
4 ]) Q4 ]2 e1 k  Z( P6 {: X        public Activity activateIn(Swarm context) {
3 w6 x3 F9 p5 b4 _                super.activateIn(context);
  L" ]1 ^/ Z3 i) F+ i                schedule.activateIn(this);! ^7 ?2 `5 s6 x$ Q7 ~
                return getActivity();; Q/ w* v- j. Z" k( w8 W6 O
        }+ i  j+ ^' F9 X3 C* K% f
$ ^( b3 Z6 L/ H& y0 ~/ b* I; h
        public static void main(String[] args) {! w; F1 Q, Z( L! F+ r( H' H6 _
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
# ?( q. c2 b# N" r' t" T; S' z                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);# ]! }. M! O9 D. T3 d
                swarms.buildObjects();2 \& _) K) f) f; |0 z
                swarms.buildActions();/ j9 A3 k: w/ n! r4 s5 R
                swarms.activateIn(null).run();. j: F2 b1 Q" Z! ^" P
        }
# d" q& X- r5 K& m7 e7 ?! |+ u, S) A" e& T, P
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-5-7 22:26 , Processed in 0.013268 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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