设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13673|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 * G* M3 B0 f, E
" N* `) V1 U! j$ r* l
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update218 r) T; H. t: @
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激." r9 A; U0 n* f$ `; F* [! S
swarm.SignatureNotFoundException
/ L5 ~( K$ j8 e. t9 f        at swarm.Selector.<init>(Selector.java:76)
! U" g) x4 R' Q  N# h9 R        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)9 c3 f" e3 t! G; g* ^
        at ActionGroupDemo.main(ActionGroupDemo.java:67)" f6 h/ f6 q" e0 Q; U8 N% k( Z

7 g0 ~# Y- i1 f2 \2 ^2 {: o: Y' l% }+ h# p( b6 S" ^& i' w
import swarm.objectbase.SwarmImpl;, Z, N/ C  w) N# T7 _  Q& g2 B3 M1 b- ]
import swarm.objectbase.Swarm;
+ F6 q; r' p; ?# T* A& Rimport swarm.activity.ScheduleImpl;9 s+ }" R+ K3 V* m
import swarm.activity.Activity;  `* N" T) _" g
import swarm.activity.ActionGroupImpl;
8 ^. a+ u2 }: V6 @4 _/ F2 P3 aimport swarm.collections.ListImpl;
8 j3 @6 o+ G7 limport swarm.defobj.Zone; " g  a/ U  B$ y. u; x2 x
import swarm.Globals;0 n8 v/ m& x; i5 D/ N0 _% O& B% W. l
import swarm.Selector;
7 ~; g& x# c: t2 W. l% N% wimport swarm.activity.ActionGroup; ' n1 P, Q" W0 I3 R
class Agent {
" o4 ~: [; l5 k        char id;
" p1 k% e' W5 T: ~2 v% m
) F" ~$ ?; @5 `4 ?* O& y        Agent(char id) {7 u5 |0 ?" [* V, S7 [7 d
                this.id = id;
0 o4 k+ X. r9 p$ P        }/ x& i% [  w0 W5 ^7 Q. R# Z

( ?* `: u$ U7 A2 t# `+ u  x        public void agentStep() {) @+ Y) ?6 U& H& N
                System.out.println(id + ":" + Globals.env.getCurrentTime());1 X. F8 _" ^7 J/ o
        }
- g2 w; Z6 L1 g$ l- r5 H" w0 A/ I}# q8 M& H) r+ y  T/ C
5 n$ J" A" V0 l, W! c
public class ActionGroupDemo extends SwarmImpl {1 C5 d5 u  y' _9 d$ u
        ScheduleImpl schedule;/ `+ |1 w7 X5 O+ j7 H
        ActionGroupImpl actionGroup;
& w. k% y: v+ S& U# H  V  r        ListImpl list;
0 H+ _0 H# K5 g2 t4 A& y2 B        char Id = 'a';: B5 a9 u2 _& Q  _% a+ b
3 d/ P  M% a. P2 c/ {
        ActionGroupDemo(Zone aZone) {6 g0 e) A/ F, I$ h
                super(aZone);& W2 o1 s" s, {# F
                list = new ListImpl(aZone);
" G" r' ?1 V/ |                swarmSetp();, e9 Q2 d( p% u5 O" m
                actionGroup = new ActionGroupImpl(aZone);5 c8 @: P, H7 \/ i
                schedule = new ScheduleImpl(aZone);+ r* N' M& M2 H
                try {
0 N& F( J; ~& O* f6 i0 {8 \                        Selector agentSel = new Selector(Agent.class, "agentStep", false);1 q: j. L2 y& E" J
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行+ s' l- ^/ x3 z- s; x3 D
                        
; t+ y5 W" I% F+ ]# Y" u$ j6 S                        actionGroup.createActionForEach$message(list, agentSel);
! ]* e' r8 N2 T* S                        actionGroup.createActionTo$message(this, swarmSel);0 a( A/ C, m) F% q
                        schedule.at$createAction(0, actionGroup);
, Q9 Y1 _6 E/ M2 q1 r7 k2 P                        schedule.at$createAction(1, actionGroup);% C4 e* {! ]+ |$ @+ p$ [! @
                        schedule.at$createAction(2, actionGroup);
0 |1 N, {% u( a* i( Q2 G# w# S5 p$ l6 L* }3 f" ~
                } catch (Exception e) {
+ B9 N; r2 S- W$ [$ l. Z                        e.printStackTrace(System.err);! z6 b) A% @, E: |$ g) n
                        //System.out.println(e);  s; [3 W9 [4 x  M% p$ v6 z
                        System.exit(1);+ n) j7 y8 z4 q; x
                }
" p7 w" e% a1 ?6 x% s" @/ ~; U3 t' A# F+ w, ^: V

" e) l# K4 X" j        }9 b% G7 f# S: |
) ~3 w0 i! G, \' G5 q. n
        private void swarmSetp() {. t# [% Y7 l) B1 D+ b% b; y
                list.addLast(new Agent(Id));  o  k* k2 M# J
                Id++;& M. |  H1 q4 a4 z7 b
        }. |3 q( T5 e: ^# B' A2 [/ n5 u

( j% e- Y6 Q9 S1 s; ?' b* U        public Activity activateIn(Swarm context) {
  F2 O3 H( t. g/ w  b$ B                super.activateIn(context);. W; V( M) |  ?) j
                schedule.activateIn(this);! F! H) ]* C6 Y# f. u
                return getActivity();- F6 Z- j2 N- ]2 ?" K. l
        }
  q& w2 w: o  \8 |2 G3 a+ h" r3 R5 y6 E1 \. k8 D5 U, H; _) R
        public static void main(String[] args) {: g- f& K! [- @
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);( X/ w) X" V" R6 Z7 {9 q! w
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);$ Y9 t2 s: t' Y; @+ g7 `5 m" l5 l
                swarms.buildObjects();: c3 _0 E7 \6 L8 I% p8 i
                swarms.buildActions();
. f: c/ i2 N# h) d# y+ {+ E: J1 i" J* u                swarms.activateIn(null).run();
4 O+ w1 J; w0 @. O        }
  w2 K9 U, i% p! H
. K8 C( h% }8 y" V; R. F& J4 n}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-9-14 09:07 , Processed in 0.015378 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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