设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10317|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 / c* O/ E* i$ a: T

. {. ]) H" c3 s本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21  ~' [6 Q7 C1 `8 V1 ]
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.; P5 s" R7 |# b+ ~" {, ^. Q* L
swarm.SignatureNotFoundException
* t, N. \9 b8 _1 @* _: F9 ^, ?        at swarm.Selector.<init>(Selector.java:76)  H* d5 _% P- X7 {, k* p
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
! t( L5 J( h' N        at ActionGroupDemo.main(ActionGroupDemo.java:67)
3 \0 G+ s' z" _; e* }$ u' f2 _$ E$ c  \& ~) g% y8 r' M

) `8 X% ~# B$ ?3 E6 o% Limport swarm.objectbase.SwarmImpl;
# J$ F) A5 ^- @5 y  }import swarm.objectbase.Swarm;3 ?' l3 T; V5 K% A
import swarm.activity.ScheduleImpl;" w) {2 {& q/ G9 j" }0 X
import swarm.activity.Activity;
! h9 H6 B# |  v4 `; J/ q- aimport swarm.activity.ActionGroupImpl;
/ S4 Q! {# L6 c4 g/ j# }( @0 fimport swarm.collections.ListImpl;
* h& X5 j7 |% k- Z! {, V# Bimport swarm.defobj.Zone; * C# E: Q% u# H$ s& e2 d
import swarm.Globals;. @$ i; M$ F: i( Y3 e  N, E' e8 h
import swarm.Selector;
  R9 s# D3 ^# P# Y6 R8 b8 Mimport swarm.activity.ActionGroup; ; h* @8 v- g% n/ A
class Agent {$ ~. u! {  Q' z3 \
        char id;3 I' x0 B) \- k: J

8 ]* y& R5 \, F; Y5 v7 v! C        Agent(char id) {# V) ?" U6 k9 X! O# i) M5 S+ I
                this.id = id;6 |% ~( Y- |" a+ @! L1 k% H
        }# P) B5 u, t  G  G" X' d: l/ G
7 J- @; ~3 `! t, k) W, p7 b
        public void agentStep() {4 e3 ^/ r! e( \* V% f6 p9 b  f
                System.out.println(id + ":" + Globals.env.getCurrentTime());
: @+ c& L0 v7 W% j. ~& V        }* n) V) G7 \+ C7 {5 f* E' k* Q
}7 c# J+ Z, p; H( ?' p4 m

* i4 [$ _% A  u! m5 W! e" d) qpublic class ActionGroupDemo extends SwarmImpl {
4 i, P0 u' p* f) d. J  F( b        ScheduleImpl schedule;
7 Q: b) v5 O; V$ c        ActionGroupImpl actionGroup;
5 H! u5 P! j0 {" F        ListImpl list;& e) C; C7 @& q3 u5 r! F
        char Id = 'a';
3 a" z+ T% I8 W# x( Y$ w, |- w( V7 W1 ]- C; t; t% T
        ActionGroupDemo(Zone aZone) {! I5 p( @% P* C& p+ Q9 h
                super(aZone);
% ]2 n2 m" t( a! S                list = new ListImpl(aZone);
- o0 L! e+ m  j; m- j, \3 |6 V                swarmSetp();
3 d+ E' K$ D5 r/ R' H. Q1 n8 x1 K                actionGroup = new ActionGroupImpl(aZone);- |- `; ^5 \0 u# o1 b, M
                schedule = new ScheduleImpl(aZone);3 D4 |. s0 L* E& C. m
                try {8 I  ]7 I  ]* K& q; K% u5 B
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
* o! E- P+ g1 r8 t8 i                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
/ I* c5 _; @3 h4 w: ^                        8 U3 I. G7 s% h$ Q6 U3 r, W
                        actionGroup.createActionForEach$message(list, agentSel);8 f4 s3 ^' E: [" `
                        actionGroup.createActionTo$message(this, swarmSel);
  s, v+ \; l9 v                        schedule.at$createAction(0, actionGroup);, V8 t7 z8 z7 l: m+ z8 D
                        schedule.at$createAction(1, actionGroup);
4 E0 j/ g3 ~5 g  s9 Z9 z                        schedule.at$createAction(2, actionGroup);- [0 @1 R6 K4 ^. ]: v# c% {" d

0 T0 r0 m! K) o- f                } catch (Exception e) {
( Z# b3 B5 l. E2 O, V                        e.printStackTrace(System.err);$ y# D0 [7 D& \( z: f9 Q
                        //System.out.println(e);+ ^. P5 h- z+ ]; {9 i1 _' T2 Y
                        System.exit(1);
6 B% w* \" _$ ^' [3 o+ D                }2 o- Q+ W; b2 G

( S: i; x  s6 |: d+ V0 f4 ^! f' N* V* S% x
        }
& a! T/ v9 d9 J7 t# Y# A/ n3 Y9 E9 M7 [" E! x
        private void swarmSetp() {+ Q& j# \5 v/ w
                list.addLast(new Agent(Id));2 X  G4 x! P' T, P# |5 w% J
                Id++;
: \3 w% ?9 A; N        }7 S$ R% K# L- S% O: w% R# R& M

/ a/ ]' F  m3 \        public Activity activateIn(Swarm context) {/ B& V8 U" b8 S- ~  r0 [/ C6 v) L
                super.activateIn(context);
) h. S. b9 n( V$ |: \                schedule.activateIn(this);! s9 v3 y  Q. m( G8 I( C
                return getActivity();+ a9 M! w) \7 b* `8 m1 {
        }
& D. F5 _* D) A7 ~% Z' Z, R% i
/ C* a  f. R( t        public static void main(String[] args) {0 }+ s. v- R2 a) w4 P) u9 P5 l
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);% h0 f/ |: [# ~$ V2 U
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);: q4 f: K) D! G! u
                swarms.buildObjects();- C& A, N+ _5 q3 y! O* }
                swarms.buildActions();9 J& Y  p' @8 c
                swarms.activateIn(null).run();4 c) V0 {1 ]% I8 ^0 s: l4 U  r
        }
* l; g, S; Y$ p8 [* v$ X
% a3 x+ j9 N0 h5 \3 P7 s$ m2 b}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-10 18:00 , Processed in 0.012421 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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