设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5162|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 8 E7 b9 t1 C, t5 f) w8 N; m
! n+ n; K) }6 {) _
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21* @( Z0 l" `- o2 S
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.# L: }$ \3 q# [. \; R- G. b
swarm.SignatureNotFoundException5 h( _" V9 ?; r- W3 ~* E9 h$ O( x4 c; n
        at swarm.Selector.<init>(Selector.java:76)3 v$ D8 b9 t" v9 ^3 F+ }2 t+ f5 C5 _
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
0 z" v$ Z3 i. i9 h/ `        at ActionGroupDemo.main(ActionGroupDemo.java:67)
; B& G7 B9 c. H! a( Q( H
* n$ s9 M0 C9 v0 c9 t; G; y& J2 q+ A
import swarm.objectbase.SwarmImpl;
- l2 e  M/ _# G0 L% C+ q- {1 eimport swarm.objectbase.Swarm;* T% A* L$ q, m0 T
import swarm.activity.ScheduleImpl;
& Z8 l0 |8 z: ?  `( N' G7 ]import swarm.activity.Activity;0 P  T9 @$ ?6 x& P
import swarm.activity.ActionGroupImpl;
; U/ C1 U% n# M% Q, {( E/ Aimport swarm.collections.ListImpl;
- e- m0 y( ?3 iimport swarm.defobj.Zone; 7 f7 v# [& c, H- z1 d
import swarm.Globals;
! S9 @% E4 Q4 v1 p8 Gimport swarm.Selector;7 ^  M) Y9 [/ k% o) O$ ^3 S
import swarm.activity.ActionGroup;
3 A5 |8 G$ _3 Q! Zclass Agent {, z6 ~3 u! b3 z1 A7 r4 ~$ O$ C+ j
        char id;1 @. y0 \8 R  z3 N% S

9 c0 j4 p# R! j: M( ?7 {        Agent(char id) {+ p, v  y8 M3 [  n  Z8 `# a6 Z$ \& A
                this.id = id;
2 a  y5 J- F- s        }
  M6 N6 E+ R8 P- D4 `" b
' Q; R/ r$ ^# y        public void agentStep() {) H! B5 v% o$ Z- M7 y" ~
                System.out.println(id + ":" + Globals.env.getCurrentTime());
* ?( d8 G% l4 Q; {        }
+ |+ w& q+ t4 z1 p}
2 V3 H- T! B& n5 i! k3 b4 z
0 L+ q2 J; n8 B, m. Y* d0 apublic class ActionGroupDemo extends SwarmImpl {
; J2 X; H/ v. B/ w% C* z' L        ScheduleImpl schedule;
$ m( S' a7 `" f        ActionGroupImpl actionGroup;. D7 N% |0 ], W, l! w, |) ?
        ListImpl list;
$ V0 M4 e: R- n        char Id = 'a';, y9 V* e9 r- j
: k9 d5 G. I2 Q$ ]) c4 ^, l
        ActionGroupDemo(Zone aZone) {
* i; n* n# y( j' }                super(aZone);1 r0 h0 |. ^6 s! C% d
                list = new ListImpl(aZone);
  l$ z; f) M! M8 I% o: X- j3 {                swarmSetp();* I9 ~; L/ ?# F7 h  T. W+ ^
                actionGroup = new ActionGroupImpl(aZone);8 M. i& c) \1 S4 [' U
                schedule = new ScheduleImpl(aZone);; ?+ c; ~+ ~7 ?
                try {8 z$ D# @2 p3 v0 n4 ?1 K1 V* h
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
+ f7 W6 T2 ^( ?% n' D5 V                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
8 a; _( H. ^" ~* f" I0 `  k                        , e  G+ }" R" N8 f( T, \
                        actionGroup.createActionForEach$message(list, agentSel);
$ ?5 d' }, V3 m) T0 R3 O                        actionGroup.createActionTo$message(this, swarmSel);
. v* U4 P+ ^' L1 H1 P" l; M                        schedule.at$createAction(0, actionGroup);* P# n4 }5 [$ Z& y, |
                        schedule.at$createAction(1, actionGroup);
1 l* T& O+ l/ O4 l                        schedule.at$createAction(2, actionGroup);+ l5 s. _- f/ [9 M) s$ v4 t
( W' U# |- f4 Q0 i- Q1 \
                } catch (Exception e) {7 O: X( V* H- V- n% ]" e- Q) Y
                        e.printStackTrace(System.err);
/ L8 y2 I# o+ U5 X& {. U                        //System.out.println(e);( r$ F' C0 M; |6 b
                        System.exit(1);  m! x% F6 ~( ?* Z4 N
                }
# |4 Z: v; P, ^5 c
  ]5 S5 K* Y. e# P! q: ]$ \& O) ], g
        }, h7 K! Z5 q1 _6 q3 C
+ X2 B* H0 r* G; W8 W% {! [3 ]9 W
        private void swarmSetp() {
' @; h9 _/ B+ G2 f) U) z, L+ P8 x                list.addLast(new Agent(Id));4 h7 x% _' g. y5 s# `
                Id++;* _7 y$ |; c* B+ O
        }# K) ]& z0 \! i% S
) K1 F! c# D" d6 x# r, W' n. i
        public Activity activateIn(Swarm context) {
* S/ F! m3 R1 g: g) |6 r9 b                super.activateIn(context);
8 U5 S1 d# U- P' W* W1 {                schedule.activateIn(this);
! `. k9 U% p( J+ ?, i: l                return getActivity();: z7 K8 h' i* Y) G+ n# U9 W. }" D
        }
) ^" R; X1 Z7 X6 p8 a, m; p" l
. e$ v3 ^" I2 N8 C9 p6 }9 A        public static void main(String[] args) {$ x- O2 f4 y4 L% {2 x0 s2 Z! l
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
+ \: y+ q" G! j, S( e                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);4 N3 f1 u1 o3 g: K5 N
                swarms.buildObjects();  c; ^+ X, l* D! X
                swarms.buildActions();% P3 a9 _/ a. r" l7 E: a. j: Y9 L( d
                swarms.activateIn(null).run();7 ^$ {9 o* h6 V( c- h: h
        }8 v! ]. S+ Z3 A$ z

6 A* P7 S9 T0 n) |+ p2 y* t5 y# D}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-27 01:23 , Processed in 0.015783 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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