设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4907|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
7 r% k5 D. R( P2 `( z# L  o+ Q: [# W7 @# W4 f5 J+ c: @5 I
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
( `7 l* o4 _* w1 C( E. h1 D以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.% \8 |# Z: V. U8 x' a! Y% A$ a; t3 I" P
swarm.SignatureNotFoundException- o6 v( V" N/ ]9 d5 N8 E% s% d
        at swarm.Selector.<init>(Selector.java:76)5 P% n7 x! E/ z: l$ V$ R) n2 B
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
# U) ~! _1 `' M: u1 W        at ActionGroupDemo.main(ActionGroupDemo.java:67)! J, P( Q* X7 u. R" c2 i. {% r
; G1 A# e+ p8 }& ]6 u
; `% l0 N4 f; _! i  ~
import swarm.objectbase.SwarmImpl;0 f0 q2 d8 d" ?
import swarm.objectbase.Swarm;4 i$ ?6 d3 t; P& r3 {- f
import swarm.activity.ScheduleImpl;6 K1 L) X! O  l
import swarm.activity.Activity;
. R2 K& j7 j) K: g( V# x' ~) m- Cimport swarm.activity.ActionGroupImpl;
% D7 `5 z' v2 x: v: K/ O! {1 V" E: Wimport swarm.collections.ListImpl;/ P, |% d6 A1 M& r# K3 H6 U
import swarm.defobj.Zone; 2 `4 u5 Y2 s- g
import swarm.Globals;$ _8 m7 Q. _/ d$ N1 }1 K
import swarm.Selector;$ x7 W7 F$ w9 W1 Z; F3 v' b1 x
import swarm.activity.ActionGroup;
5 ^1 j$ f+ L! Z% D  H$ {class Agent {
; `+ W/ h% _) Y' [6 B9 g        char id;
% S" P$ ?8 R/ B1 h9 Y' a1 c9 J1 B( F% r& L) i
        Agent(char id) {% E1 y  C4 L9 p. ^# O
                this.id = id;
8 w" |# H. e; f/ T. P* j9 e        }* a& \; S) R6 q$ H& C/ T! B; d

1 H3 A; Z8 c3 z8 @        public void agentStep() {
4 R* ]' g7 ~7 L! `                System.out.println(id + ":" + Globals.env.getCurrentTime());
6 M& Z4 Z# w# _3 F1 J# z% \        }) g# u( M9 V  P
}3 Z6 r2 q9 A' L# [
: U* @, b' t) L2 ?
public class ActionGroupDemo extends SwarmImpl {
2 H" G. m7 i0 _        ScheduleImpl schedule;5 W  }" R, q! u5 {9 Z) t1 I* H& J  B
        ActionGroupImpl actionGroup;
* U$ Q3 {0 V+ M2 E: C. Y        ListImpl list;
* ^# Y; z6 Q" U: C" o        char Id = 'a';1 |0 L  |7 D& v# h. X* E

) D5 V5 x! h& {( ]- A        ActionGroupDemo(Zone aZone) {6 @& F% ]  o2 d
                super(aZone);
8 }/ N/ Q+ m5 n( F- Y3 G                list = new ListImpl(aZone);: }& J' N$ ~$ ^
                swarmSetp();
* l7 p2 S  \+ |8 ^: C3 V                actionGroup = new ActionGroupImpl(aZone);
6 w% W4 R( {8 ~  E& Q                schedule = new ScheduleImpl(aZone);
( h1 B( Z' X/ x* m; o                try {
( b+ T5 c$ M8 b2 Z8 O. M                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
3 n6 ?1 U0 P& N' ~7 ]( z                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
1 P0 M1 V8 ~. e8 v1 z                        
, |" V, _0 d" V: V' a; h                        actionGroup.createActionForEach$message(list, agentSel);
; t5 i4 M1 {- K0 b) O3 j                        actionGroup.createActionTo$message(this, swarmSel);7 M' {+ k% D- A! b  l0 S7 ]
                        schedule.at$createAction(0, actionGroup);9 N# `$ E7 k: I+ _  e5 v# @6 Q2 u
                        schedule.at$createAction(1, actionGroup);& \9 B  t8 B$ J' |1 a: m5 O
                        schedule.at$createAction(2, actionGroup);
' F7 i$ [5 t, ~. T) @. E1 C, b0 N' |" h9 Q$ ]! K. X
                } catch (Exception e) {; x7 X3 s4 Z; c5 r( w# O
                        e.printStackTrace(System.err);
' B& b, q9 n% e# }2 E                        //System.out.println(e);
0 A3 b0 R; q* B6 A' J+ |                        System.exit(1);" ?; d/ s9 k8 `1 v- F
                }
4 D1 u0 ~. B8 G) [9 c
; X' M/ U9 P; E  l. E. F: R3 d3 G, W2 N
        }
* b( R% P. V) z/ b% J$ _6 |/ M1 r' Z8 W* S* N
        private void swarmSetp() {
, g( B! Y: [, T! f; }3 a  H% L                list.addLast(new Agent(Id));2 ?. ^# s. x% j4 T, b; j* e; `
                Id++;1 z& P6 t6 g) b0 O! }4 W
        }
- V0 J$ k4 ^1 K& L- @; l# Q0 G, g* f# a
        public Activity activateIn(Swarm context) {8 ?8 J+ X3 D0 Z1 k$ u2 Y( m
                super.activateIn(context);
1 e( M1 p) \1 D  i* J- j                schedule.activateIn(this);
# }: I5 ^- r$ s- w3 B) B6 l0 C                return getActivity();# _" c1 J" ]1 L' i- ]1 ^! C
        }4 v  }& H. _, q& K# e; w6 E

0 @* M$ i9 a- @& u$ h2 ?6 ^        public static void main(String[] args) {3 F( ^: w- ?6 o% e. N
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);+ ^0 _( G, v, @! N( c$ m5 H+ E
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);9 }: ~" `' B6 j2 \+ n  @" l2 w6 x. U
                swarms.buildObjects();3 T) H1 X1 ?0 C6 g2 d: e
                swarms.buildActions();" I% d! }( O0 f3 m" J( {
                swarms.activateIn(null).run();
* u% F$ ?. d; C- [        }
/ s1 o, f0 ^& }* B
, r6 _% b! c9 A3 S2 J& P( x}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-16 21:27 , Processed in 0.018598 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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