设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8231|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ! a. J( j% b6 E8 i
% D. L* z( y, ^+ e. _
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update216 f2 f1 t& m& D1 M
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
& R* P4 ~4 i, N0 [3 K& Y1 I% Y7 Jswarm.SignatureNotFoundException: ^: c2 _) Y0 C5 y, O; J
        at swarm.Selector.<init>(Selector.java:76)0 I; n, Z! l3 R% S3 Y
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)9 t3 I$ N3 b: f7 r# X+ J& h
        at ActionGroupDemo.main(ActionGroupDemo.java:67)0 b3 R% @0 L* {+ G: F
5 s" `. C$ U9 r: t2 B1 [6 ^
: Z& M3 L4 D/ f7 r
import swarm.objectbase.SwarmImpl;
0 a4 {- [. D/ [9 Z6 }  P/ ^% x2 iimport swarm.objectbase.Swarm;
2 r# T6 f' V% b* M1 _6 a$ W$ D" S" g5 b+ `import swarm.activity.ScheduleImpl;
3 ~; o" F4 T$ F1 J/ r1 n& s; Qimport swarm.activity.Activity;
* K: k9 ~* f, r2 a, oimport swarm.activity.ActionGroupImpl;
7 @, p+ O) V: F' G+ d1 R; G6 Jimport swarm.collections.ListImpl;0 q  ?' t1 p  O4 M: B
import swarm.defobj.Zone; / v* O) ?  @" h9 Q( C7 S" n, `
import swarm.Globals;4 y5 H% |  o4 n" a$ F. X! R4 i
import swarm.Selector;
8 A/ r8 l1 O7 k; u; s" C* timport swarm.activity.ActionGroup; # l5 A0 j( e" W% I2 v! u5 c9 y
class Agent {- h, ~5 y0 f* A* H' _& N- M- {
        char id;
& n0 H9 t. _' h$ H
& u! h; u. f; r) e        Agent(char id) {$ Q3 H9 N# ]* l
                this.id = id;, t! ^: l: L2 o8 O: C
        }
2 w6 T2 H# M7 i- e
  }$ q. ?4 W! ~. Q& [" t) {9 K        public void agentStep() {: K0 e1 F( D0 L$ g# x
                System.out.println(id + ":" + Globals.env.getCurrentTime());3 J/ \5 y3 Y; K% B
        }
7 }( k7 u  \& X$ y: ~4 @}
% f( S! F& K' i* }& ?3 w! z( v% B$ u+ ?5 y' Q8 w& b' e* q' t+ u3 d
public class ActionGroupDemo extends SwarmImpl {/ X, G; f8 G9 ]) p
        ScheduleImpl schedule;, {( m; M  F6 C6 m
        ActionGroupImpl actionGroup;
: c  v; a5 C3 j0 M/ d+ H        ListImpl list;( }5 I! |+ R+ G5 u. Y8 p. g8 L
        char Id = 'a';, ]2 Z* B4 W% f) P5 V5 f8 p

- G" m9 Q4 M$ [        ActionGroupDemo(Zone aZone) {
2 {. l  I* j. k! C                super(aZone);
9 l3 a# J; ^2 E# i7 @- M2 U                list = new ListImpl(aZone);3 @1 ]% u! ~4 A7 {4 ?
                swarmSetp();
5 O+ H, c, ^9 i2 `0 t                actionGroup = new ActionGroupImpl(aZone);
+ t4 q6 v# Y* B" d                schedule = new ScheduleImpl(aZone);3 i  M. H3 H! q: g! U
                try {
$ ^6 g' r2 w' f# U. C                        Selector agentSel = new Selector(Agent.class, "agentStep", false);+ Q: h) A/ B5 r( _; C6 T
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行  K9 z- }" _9 e" W1 l: d( }# L
                        2 n5 _* X. @. e( Z- K( z
                        actionGroup.createActionForEach$message(list, agentSel);8 D$ o- d3 ~$ f2 W
                        actionGroup.createActionTo$message(this, swarmSel);5 c  p, S  ~) U5 q+ ]) _& c
                        schedule.at$createAction(0, actionGroup);7 s, l9 y7 D2 j' I6 q8 u! a
                        schedule.at$createAction(1, actionGroup);% s+ q4 M6 J5 a1 }, r) U9 H
                        schedule.at$createAction(2, actionGroup);
3 x3 j! m1 e4 u" B$ E' P8 n6 G
5 X$ ]( Y' |, Q; y: M+ F                } catch (Exception e) {3 q: N' m+ v& |+ P& V$ f5 G
                        e.printStackTrace(System.err);
' Z/ a+ ^8 p0 N) D                        //System.out.println(e);6 `3 r, y  v4 {
                        System.exit(1);& v, H( b4 _4 U
                }- R+ p' s2 G( N$ l1 J2 ~0 q. E

+ V. `* C* z! i0 O# I0 d8 P0 v: H5 P
9 V  v) ?* n1 k6 ]4 `9 i( O        }
; z+ r3 F: d& f4 F8 i! j- s( V0 Z) F" H
        private void swarmSetp() {* Y$ c$ {! s' C- e/ _
                list.addLast(new Agent(Id));
( ?5 H3 a7 C" @2 k, e7 S% q) D                Id++;
" p' F1 O  i$ E. L1 z        }: [  o9 b: W9 k9 ~

( h  i+ V; C$ z" C  ]! T8 a        public Activity activateIn(Swarm context) {
5 b: \3 ?6 U" _  S0 `2 ]" F" B                super.activateIn(context);$ J0 x( S: ~" i6 i1 ^" v9 g
                schedule.activateIn(this);
2 C6 L* X' e, ~' B( h3 W                return getActivity();
* }' b" y, Q; F: Z; L$ ~) l4 m        }/ e. e' r: [8 n$ y2 X: |
2 }0 N( F! O/ v) q9 ^
        public static void main(String[] args) {
' F- R: q  b5 B2 l# [                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);0 L4 \5 W, v/ n/ e# `/ i, N- f
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
* K8 W+ n% r8 X                swarms.buildObjects();7 K4 u! h1 f, t$ b. Y4 w3 R: D
                swarms.buildActions();2 b7 U& v& F! O! x) w' L
                swarms.activateIn(null).run();  c4 E/ W2 ?" J" u( o# O) A
        }1 u0 \5 T" U; F! f% }
, @: \; R% k6 k( }( u2 {
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-4 05:06 , Processed in 3.068746 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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