设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12651|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
* }  Z8 n8 f/ @9 P0 ^, V
; ]# n5 s1 v- \4 Y0 K5 j本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21" W4 j$ C. }. A+ X* K) P
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
6 |1 o) w7 I" p& Dswarm.SignatureNotFoundException
2 L0 Q5 X( Y1 Q* {        at swarm.Selector.<init>(Selector.java:76)# D' F. Q: a  h0 J5 e+ w1 D! A( a
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)+ @. c* k  l/ M* E/ Z. J5 }0 ]% a
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
( L; D% q9 j) B) V8 v2 S
/ J- H8 S+ d0 k) O3 p! b: H; ~1 H0 s) e
import swarm.objectbase.SwarmImpl;
! @4 S3 g9 |6 m4 U2 Jimport swarm.objectbase.Swarm;2 J5 p& P- B6 q$ r8 M4 B
import swarm.activity.ScheduleImpl;$ Q) B# r  x' j& D
import swarm.activity.Activity;
+ b3 j% \. e+ H3 ], W4 i, kimport swarm.activity.ActionGroupImpl;" _& {# N# x4 `8 x, {
import swarm.collections.ListImpl;1 y# D& A# @4 ~
import swarm.defobj.Zone; 4 o; F% r  ~* ^% V' z0 P" G
import swarm.Globals;) W5 w; V6 J5 r; f: h
import swarm.Selector;  L- C; T3 g* D! a
import swarm.activity.ActionGroup;   I9 S* o/ U2 J+ C
class Agent {8 e4 Q! v: s# M1 K8 s. T4 T
        char id;
  {2 `: a9 U! Q9 u0 K2 K7 |2 R% x; Z% G7 I+ m
        Agent(char id) {
; U# Y1 j" L2 I! }* @8 f& z                this.id = id;
: k8 B: a# y2 W: t2 [0 ^        }3 y& h% f! X0 w2 Z4 U# g8 P
' L- n# \0 ~9 X+ k( P2 K' C2 N. q
        public void agentStep() {
5 ?; @9 p6 R% v$ r' ^                System.out.println(id + ":" + Globals.env.getCurrentTime());
+ z- |" v/ p* V: Y; M8 g        }
) m( @' q+ l7 x4 D$ b& \3 ^}
% _$ g+ `% L- p- F2 D) d" H+ U3 S0 U: j; g
public class ActionGroupDemo extends SwarmImpl {. z0 w. p; D! H- f" U# R+ Z
        ScheduleImpl schedule;. k' z2 A& n: _1 p) X
        ActionGroupImpl actionGroup;2 ~9 ]4 P) q7 A% F( Z4 E( b: u+ B  E
        ListImpl list;0 V) h5 x6 z- }$ l) y
        char Id = 'a';
$ w- Y  n! M  k& N/ G, z" c$ |# d8 |) C  }9 W1 k3 t% x" o
        ActionGroupDemo(Zone aZone) {
, B* O2 H' j2 I8 g                super(aZone);5 {( _. @4 {; p8 _7 q, v3 Q
                list = new ListImpl(aZone);. e" p" \. I5 V+ Y
                swarmSetp();& m. H5 G( X- H8 _
                actionGroup = new ActionGroupImpl(aZone);0 p: j! e3 Q$ D% J' [
                schedule = new ScheduleImpl(aZone);
3 u9 `9 m6 T! M* M                try {
6 ~+ x/ w6 X9 b9 W                        Selector agentSel = new Selector(Agent.class, "agentStep", false);6 p/ B) ]$ L; }$ n$ F4 v
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行& ]' |: u2 W. V5 b% A' ~
                        
: |( Z" m" A) C  A                        actionGroup.createActionForEach$message(list, agentSel);
" L, k4 ^* J; ?                        actionGroup.createActionTo$message(this, swarmSel);
( m  A/ G" h. }) N  b                        schedule.at$createAction(0, actionGroup);
6 M; l7 x" k0 {1 P4 R                        schedule.at$createAction(1, actionGroup);! B% e  q, W/ U$ d" i
                        schedule.at$createAction(2, actionGroup);7 {3 E  V7 ]0 P' W" P! t

8 U* }2 b2 u" B                } catch (Exception e) {; D4 R! V) {: W- K& J) Q) M* Q
                        e.printStackTrace(System.err);
. M/ t# L) I1 w$ x5 t                        //System.out.println(e);5 b' W$ g* k, ^" Q9 g6 W
                        System.exit(1);
% y$ o  c7 x; d5 f( x                }6 q6 i" \9 I9 ]5 T/ p/ L
* [0 u9 ]* l  S
) t8 g6 ^! r$ i2 P+ q7 D9 _5 N
        }
9 O6 i& C+ Z* Y; I' ]) n7 N" x  ~* e6 i  J# D# y
        private void swarmSetp() {; b5 t( Q( y: x
                list.addLast(new Agent(Id));: o% j3 _' V! v: \
                Id++;
8 Q. ?3 I. {9 l9 S& F        }. f! `4 _5 l, ?( V" c- Y

& I/ |7 f( W" u- }1 p. r  o, y4 W        public Activity activateIn(Swarm context) {
* d4 H3 E8 Y5 k                super.activateIn(context);+ V5 N1 {# d" ?7 y0 {, e8 Y+ J
                schedule.activateIn(this);
1 Q. T3 @+ d! H6 w9 s                return getActivity();
% t0 `4 b5 e' c' J/ ^1 B        }
& G* H# H: [) w1 ^4 V( {" k9 _. @7 z( {% e. y  F7 c1 n
        public static void main(String[] args) {9 Q' l6 D8 a& T7 D% i! s9 }7 v6 E; k
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
' @$ C4 |! e8 [2 h                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);* v3 q& D) \' O) R% {# @
                swarms.buildObjects();
0 i& v9 U0 K3 e% b3 u/ ^4 o6 |+ g                swarms.buildActions();
; K6 w3 d$ B  f! @3 X# B( ^                swarms.activateIn(null).run();
/ R7 n* [/ f5 f* v        }
! U, M! H* Y& ?# W5 B* i7 i* }7 n% _) Z$ m+ H0 A
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-14 22:50 , Processed in 0.014005 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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