设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10651|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 $ |2 e9 _5 A; {+ i/ r' B

3 [) O# d* c; a0 ^, ^. X- O" i& q本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
) M% i$ F: F0 s7 i6 v/ m, x以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.; `, F* \9 f) k$ `8 y( N9 ?; l! m
swarm.SignatureNotFoundException! I# h+ b  F9 J
        at swarm.Selector.<init>(Selector.java:76)
- c/ E0 L+ }! O& v        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
# z( y; l8 z2 k- J  _% _        at ActionGroupDemo.main(ActionGroupDemo.java:67)
! p% i( R' ?% a' X/ l
% }1 C- g$ h- y- V' O
6 P6 K4 w: \7 b1 y2 f/ M9 k5 V* a; yimport swarm.objectbase.SwarmImpl;
/ t: \7 m' L* z, [import swarm.objectbase.Swarm;
' m: |' J4 U( e; Q$ k8 eimport swarm.activity.ScheduleImpl;: @+ d' u( m* i
import swarm.activity.Activity;/ B$ W0 Y& S* W% V
import swarm.activity.ActionGroupImpl;8 l# Y' A+ u3 l0 j: L
import swarm.collections.ListImpl;
5 n! }% ]3 _7 A2 j  L: Yimport swarm.defobj.Zone; $ E. G/ l0 C- b$ i7 R3 I
import swarm.Globals;( c/ Y4 y+ h& d" [: \
import swarm.Selector;
2 M' K1 ^/ v2 [0 Bimport swarm.activity.ActionGroup; " m! Q: x8 X  W5 Y1 ~# J. n$ v' |
class Agent {, Y! K; L7 Z  _) [$ k
        char id;
  t( E" i  ^6 s: O9 m# e' V
) C# R! b, x8 T5 q) S        Agent(char id) {
  w# A0 T) |, O, c' }0 g                this.id = id;  T% s2 E, J2 P4 _( x" t$ e
        }8 R) q$ b. P; g' i% R) K: h
6 T6 J. x# Z' |( \! N5 y
        public void agentStep() {6 l, j5 `1 ?5 N7 v# R
                System.out.println(id + ":" + Globals.env.getCurrentTime());" z9 s( \6 |) ?( M4 X: P8 h- A, o
        }# y0 G1 P$ p) B* e; G- ]* h% n
}
5 B+ l; ?$ E! |
1 [! j8 Z5 A3 L- Ipublic class ActionGroupDemo extends SwarmImpl {/ u! B* w; j$ c6 M5 Y9 Z
        ScheduleImpl schedule;( \8 y+ }/ Z9 X/ H! m3 R8 T
        ActionGroupImpl actionGroup;9 K& c5 y3 _" M6 ^4 }
        ListImpl list;
5 X. s6 y8 a0 q/ a        char Id = 'a';6 h% |) Y3 ~3 f6 ^* `- r

; e  k+ B; G/ B        ActionGroupDemo(Zone aZone) {
* d/ C% N) w" X: S% w                super(aZone);
2 l% d7 s9 S/ C- E0 l                list = new ListImpl(aZone);5 e2 b$ r% f% H. z. f
                swarmSetp();/ n/ V2 m/ J9 q. C3 f
                actionGroup = new ActionGroupImpl(aZone);% y/ A6 ]' l4 h' B  f- U
                schedule = new ScheduleImpl(aZone);
1 e9 M* W/ z, j6 Q: J* T& j                try {
0 e5 D+ L$ B2 I* B                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
4 \3 k# u- X) ^/ G/ S3 O% P2 J9 ^                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
1 ~2 j9 w5 o2 j- n* G' R7 M                        ' |- Y5 }$ r* E. V0 o# _
                        actionGroup.createActionForEach$message(list, agentSel);
5 J; J# o6 W  ~0 ~, }" G                        actionGroup.createActionTo$message(this, swarmSel);8 R+ v1 Q$ M: T3 z
                        schedule.at$createAction(0, actionGroup);  Z0 P; C" }( P2 s$ ?
                        schedule.at$createAction(1, actionGroup);. i) {$ R% {" f' x/ q, y( K2 I$ G  X
                        schedule.at$createAction(2, actionGroup);; K% y+ D# m* Q

( H$ D* L6 c) F. D( |                } catch (Exception e) {# C! ^! k4 u; N" x
                        e.printStackTrace(System.err);
/ M2 ]. p5 a" l% `                        //System.out.println(e);$ O+ f( e3 G4 B- J7 T
                        System.exit(1);' d1 _' a9 B2 e: \' K6 E% x
                }
9 ^9 D( P  C+ H# W' F
) @: T2 _% c5 j  J1 z" m6 N) M1 D" I/ f( j. J& @  [! z" O
        }/ [. _  U7 R3 ~( B7 @; r( a
8 ^- r) s" m$ }2 M
        private void swarmSetp() {8 _" |7 [2 U8 _+ e3 s% }# q- }
                list.addLast(new Agent(Id));( `6 ?/ [& E3 n$ M2 k% A
                Id++;1 x) l9 F/ _( {1 t, e8 V; k1 v
        }0 g) k/ _9 E) i9 c

8 s% m5 b& ~9 T' _        public Activity activateIn(Swarm context) {
6 |; Q7 o2 V5 m1 y1 q% w+ B                super.activateIn(context);: D: F0 Z. r8 @. o0 B* K2 f% ~
                schedule.activateIn(this);. T, U1 _% g) B/ J2 S! R$ c
                return getActivity();
7 F2 q6 w, u7 u2 V        }8 O; e, s* m5 b" N

& F  J% k: D6 n, E/ w& v        public static void main(String[] args) {
9 U: ]# k% j# i7 B& {& w                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
* K' e  T) @/ b! w& D/ X                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
! ?+ n4 a/ ?# k: c( o* X: E                swarms.buildObjects();' O/ g. I1 ?! f; A; v
                swarms.buildActions();' e; Y* K3 y2 Y6 M. q# l2 d. D
                swarms.activateIn(null).run();
3 E/ I2 F: N9 j+ L1 f        }
3 _+ C! A. g0 H& Z* ?
( h) L$ F1 O7 m- a5 M}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-19 16:20 , Processed in 0.012721 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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