设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12689|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 & Z9 C1 z8 q- v
( e% q. W; O* k, \& }: |3 V
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21) [! o. @( g8 P; ^+ v6 T
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
) k& N7 I9 p+ G: qswarm.SignatureNotFoundException" Q% f  e% i) G. x' A) Q
        at swarm.Selector.<init>(Selector.java:76)! n% i) n+ Y( |' [5 e% d
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37). A  x% @$ w  k' I
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
! S+ _$ s7 P4 _& E" c6 K$ w1 p5 @% o( B* @
% ^1 _7 f& y! M8 C1 [
import swarm.objectbase.SwarmImpl;0 b+ D/ Y5 k+ e4 |5 k. V% R
import swarm.objectbase.Swarm;: C6 o/ v9 L+ f
import swarm.activity.ScheduleImpl;
. s0 L' Y# K4 G* aimport swarm.activity.Activity;
# O5 T) N6 s: ]/ s7 |& {import swarm.activity.ActionGroupImpl;. V3 p! O: R( C8 v9 H
import swarm.collections.ListImpl;: V' o3 Q+ @. ]# X3 b; y3 ~
import swarm.defobj.Zone; ) e: U, h% e5 T2 K8 ]& |6 k
import swarm.Globals;  F7 x. {' u5 `( _/ y5 c+ w
import swarm.Selector;( i! e: m/ M" J+ a
import swarm.activity.ActionGroup; : ~  Q( b/ a6 Y
class Agent {. x8 ~* y: J: c( o  A" X
        char id;3 |8 H) |, _8 s' X$ q8 T; P& A
2 [6 f( @9 ^; L* s% X  i$ [0 F0 [
        Agent(char id) {
  H4 k8 w% K! E" N, N! J- H                this.id = id;
% F- U& c- m# N0 @; r+ C        }3 g, f9 ?% {( C" e/ W/ L1 l( z

0 q7 Y% T  e7 `$ {! M        public void agentStep() {5 A1 E* k4 A9 J  @5 c. v
                System.out.println(id + ":" + Globals.env.getCurrentTime());
: C, }* z8 ~: K0 G( W        }4 \/ i9 Z  l% A- e6 v
}4 b6 [6 |7 t* ?2 k0 R! t% g

$ S* G; Y# V# N6 g/ y: jpublic class ActionGroupDemo extends SwarmImpl {! W4 B5 Z% v' [8 c8 q& s: s
        ScheduleImpl schedule;
6 d  I6 I! f+ ?        ActionGroupImpl actionGroup;/ V+ b! E# X% `* g2 Q
        ListImpl list;
7 i" h- ^9 v: T+ V! W7 [8 C        char Id = 'a';
* U: z* u& D8 [! v' l' ^1 l# }# ?/ M- {
        ActionGroupDemo(Zone aZone) {4 }. _6 ?5 c( V# i8 g
                super(aZone);
* E1 ~: @; e! W- q$ \% R                list = new ListImpl(aZone);$ N/ _( Y4 X7 l0 M3 r- C/ a
                swarmSetp();
  U; P$ o, K' E& P. q" O                actionGroup = new ActionGroupImpl(aZone);) u' H* Q# J( |% D8 G
                schedule = new ScheduleImpl(aZone);
3 ]1 K# I1 |  r! B                try {
/ @* j, J' ?3 b, v# T                        Selector agentSel = new Selector(Agent.class, "agentStep", false);. [, u* k$ N  P2 Y
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
& N2 C! ?$ H; A5 o% d                        + \- c( t3 q" B/ O5 \; Z' A
                        actionGroup.createActionForEach$message(list, agentSel);( Z( p' T& \/ ?; Q
                        actionGroup.createActionTo$message(this, swarmSel);
7 G% m7 }1 ~- e- t! m( N                        schedule.at$createAction(0, actionGroup);& v: ?' S7 {; |. l3 T: H& P- ]
                        schedule.at$createAction(1, actionGroup);/ u$ l; O3 ?. i( O0 s/ ?/ T- o! D5 e+ M' p
                        schedule.at$createAction(2, actionGroup);
  H) X5 S$ s/ j- S3 I
5 p# [  C$ l+ t- ?- V% ~( _; H! F+ |                } catch (Exception e) {3 O' q, j- s. G
                        e.printStackTrace(System.err);9 o; h) d9 E5 P, f
                        //System.out.println(e);
+ `8 H  |9 n2 ~. c, g! X                        System.exit(1);0 @) j- n: P) g) r$ j7 v( r
                }
- D- {& H8 I$ B- W6 G- f6 ~- N" z4 ]

( M/ v- v, N4 m- B' r: V, O        }
; e: G2 U4 r: o, @
% P3 A( \" m2 X* J! ]        private void swarmSetp() {
  p( d* Z" s- i! N                list.addLast(new Agent(Id));
2 Q- @. \* L4 t; M2 ?( G* o" J+ y                Id++;
/ O4 X* y+ a0 E( p        }+ Q" T9 `0 C: ]2 a' S4 x7 e! v! E
' d- q9 w! q4 z: v+ Y& d% ~# ?
        public Activity activateIn(Swarm context) {
' ^  W: A) L! J! X                super.activateIn(context);
+ C3 }: f% U. P) L( Z) A. x) {                schedule.activateIn(this);, O' w; J. t$ a( _$ P4 h. f/ O
                return getActivity();
9 C) j9 m; E' I8 ~        }
* M6 ~# `5 i( e
* Q/ v$ M+ G9 z% v3 u        public static void main(String[] args) {5 w( x0 A& l/ m" Z1 }& a
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
$ i. O) u0 t9 m9 A2 F# H                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
( t! f! M0 \; e& }- p3 e( o4 S                swarms.buildObjects();/ j9 x% p5 `2 S2 y! E# X
                swarms.buildActions();
: t1 r+ w* {3 {. ?                swarms.activateIn(null).run();9 R. E' _7 [% c3 G' `( F, J
        }
/ f& y8 [, d; O3 _* n9 L* M/ K2 Q6 a1 }. @# s  m
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-16 03:41 , Processed in 0.017828 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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