设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7720|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 - ~! u. r7 }% \, c3 }- C

6 {$ b" y* p* f5 x, R+ ?! \; u* B本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21" p6 ^0 T0 J7 U: J$ J& S# U8 c. d
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.) _$ h- b4 G, m) O: L
swarm.SignatureNotFoundException
; W5 J5 _9 I# [8 @0 u6 C+ m        at swarm.Selector.<init>(Selector.java:76)
- [: d0 q1 E- A9 O6 s* k' L# p        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
& ?  }; P  ?  p& }, l' R        at ActionGroupDemo.main(ActionGroupDemo.java:67)
# p# q4 F0 Q* w+ n# T- V
, e7 t8 ?: [) L, v) X5 Z* R- `6 f4 I1 z% S
import swarm.objectbase.SwarmImpl;
9 [: F- e2 o1 \9 P0 t. Vimport swarm.objectbase.Swarm;' ~% \% b/ [9 D1 a: k  S5 b- c+ e
import swarm.activity.ScheduleImpl;
, \9 R% Y1 X0 [import swarm.activity.Activity;8 X, @8 r( |- h0 I' t
import swarm.activity.ActionGroupImpl;
  z' R: _$ n7 ]+ G) f+ U7 pimport swarm.collections.ListImpl;" U0 `8 o+ n6 q$ l: k
import swarm.defobj.Zone; ; g0 q- ^) L* @! r+ i8 g$ I0 G+ n
import swarm.Globals;" z9 d. f( B; ?7 }# t. M
import swarm.Selector;3 C  u  m2 X, ?
import swarm.activity.ActionGroup;
9 \# `* p9 v0 z+ Q( xclass Agent {' Q0 i$ [. q$ B0 P- C' k
        char id;
4 Z4 ]9 }# N$ Z" U) |+ R( {% t
+ ^, I* j4 Q9 U2 g& P+ a# J6 m        Agent(char id) {2 M% m$ t/ Z% w
                this.id = id;
& T: b% ?8 G* S# g) v+ U$ o        }! e: a6 M: `- l. ?# t

* w" r* T) H5 p3 G: U! Z1 P) \" [# o( r( o        public void agentStep() {/ B# ?8 t9 c/ L( Y' W% x" _
                System.out.println(id + ":" + Globals.env.getCurrentTime());
/ r3 R2 U+ y* U* S9 F        }% j7 @4 Z  \' N! P- c% N( i
}
: K1 b, q4 \9 W7 A, A5 }5 |; j! K  r, C! `+ h7 m
public class ActionGroupDemo extends SwarmImpl {
- o/ N7 M% O! n) N/ s        ScheduleImpl schedule;/ X3 V, @: M4 S8 I* h/ b0 g
        ActionGroupImpl actionGroup;1 E" t* ]- m# Q& I) Q
        ListImpl list;
; q5 K$ D8 X* U8 S1 [9 h: }  K% x: G        char Id = 'a';
3 M1 x7 \! H  L- ~1 o. b2 f6 o0 k7 Z
$ T+ @3 i) }  h% z8 n        ActionGroupDemo(Zone aZone) {& o4 u& K3 Q( Q. @
                super(aZone);
8 r& }1 C0 F4 O1 G                list = new ListImpl(aZone);
  W7 X) h( m5 f6 [                swarmSetp();
6 k& i7 D8 Y5 p/ [& g; r' ^                actionGroup = new ActionGroupImpl(aZone);
' R/ z( F% R; b" O* k                schedule = new ScheduleImpl(aZone);
4 }) ^7 x9 Y) c' x  s                try {
2 n5 D3 t) c' k' w& q                        Selector agentSel = new Selector(Agent.class, "agentStep", false);5 j8 P3 k# \! k/ F1 X4 @
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行  b7 u, J: l4 Q' ~# h/ y
                        
2 P6 ~& L0 K: A( a# U$ A9 n                        actionGroup.createActionForEach$message(list, agentSel);
! f6 |; J  O6 l$ q& F8 O                        actionGroup.createActionTo$message(this, swarmSel);
! G* M1 [" s: z6 h5 B                        schedule.at$createAction(0, actionGroup);8 `3 I; Z' d7 e! e( q6 g  e. x
                        schedule.at$createAction(1, actionGroup);
: A- Z9 ^5 d- x# E( Z                        schedule.at$createAction(2, actionGroup);7 s( m: ^# Z) p0 J
$ R" u: Q" H! J9 P; ^! W" n7 ^
                } catch (Exception e) {- \# C; x/ m9 P6 e" T8 p/ Q: u# E
                        e.printStackTrace(System.err);
2 Z5 |9 w0 H' h5 P4 j: H% F. x0 r! F                        //System.out.println(e);5 d8 X1 T: y6 N9 B/ f
                        System.exit(1);
+ f1 X# B8 Q" W+ y                }/ l( \; g! x' K5 i

' y5 W6 Z0 q' m# n. y3 ?* u2 z4 ~9 J* m
        }
! O$ F/ o9 P# Y9 V) @
, z. G7 f2 v( w9 H: O6 L4 Q9 |2 J# {        private void swarmSetp() {, B" M/ n7 }+ r
                list.addLast(new Agent(Id));! o) L4 J6 a1 J& t/ }+ L
                Id++;& z$ X0 R' t; |$ b" r; ]" X# T
        }2 A- f6 e8 |" z" B% C: u' Y
) S0 ]8 V& [: f. W/ \2 J2 r" O* c
        public Activity activateIn(Swarm context) {5 h6 w, X! O  K
                super.activateIn(context);3 z- H+ h+ R" y+ u# e9 p+ b
                schedule.activateIn(this);
: M& v8 |0 E" W) `                return getActivity();" j! Q2 q9 N* r7 P' A  U
        }
. h2 A0 J; c2 U3 h1 l2 r! O
+ _4 s' j) b# e) k3 U- S+ X        public static void main(String[] args) {
$ e9 g6 H9 e7 g8 X8 J3 c                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);8 O$ O* |" C+ f% ~- _, O  W0 K
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);3 [! I, m( A" u
                swarms.buildObjects();2 f/ Q7 a) M2 A# _# c9 g( }
                swarms.buildActions();
% b- u) [7 `3 h, L; {                swarms.activateIn(null).run();7 ~6 ]8 n. g6 a5 v- `
        }
, t8 v3 q/ p+ ^7 [" ]& v$ S$ y& `1 Z2 Q# T5 F5 o
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-12 15:04 , Processed in 0.016411 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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