设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7168|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
. R* J1 E8 _5 y1 [# g0 y( P5 t  R
( \; H* ?6 e' {  a. G4 ~& v3 \本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
- x6 X/ `; q% m0 M6 `. V1 _以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
( l7 v: W6 h) s. g4 K6 ?* Dswarm.SignatureNotFoundException
& m) t3 u. c! O9 C6 k        at swarm.Selector.<init>(Selector.java:76)3 n6 Y" ~6 P4 Z$ O1 d/ w2 y
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)+ G7 E3 C) t% c  `% q9 w7 t
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
4 @! U4 t- F- C6 h8 r0 u6 r) Z
! z5 J2 \- |' }) [6 a( }& o& F
8 E) i+ ^9 O" m4 v4 Wimport swarm.objectbase.SwarmImpl;- y$ ]$ ^! I" D
import swarm.objectbase.Swarm;4 \8 M( W' ]) o2 j( @4 b7 O
import swarm.activity.ScheduleImpl;
0 ]6 M3 Q6 X2 D. c% D5 B9 h$ Vimport swarm.activity.Activity;
, c! R$ a! }$ Z$ a! u5 i6 o& a" v6 Kimport swarm.activity.ActionGroupImpl;
4 [; ^4 [( Z+ Y, R$ T& Ximport swarm.collections.ListImpl;0 [; g+ H. T6 D5 C' ?2 F( l- y
import swarm.defobj.Zone; 6 E+ G1 Y1 a! D' ?" B: R
import swarm.Globals;& V6 C% t2 }9 K0 G3 U
import swarm.Selector;
: O0 v1 U2 e6 `2 z3 ^. b( qimport swarm.activity.ActionGroup; 5 \5 S8 i; z  b! V  g5 S- Y
class Agent {% U, r- O- Y: n; s" l' b& D0 X7 V
        char id;
, x& e+ @8 f3 L! B' t$ F
2 K0 u/ y: l$ ?2 w        Agent(char id) {9 p! Q/ `/ s3 R! B5 a9 }1 ]
                this.id = id;# V# n/ Z4 W% X" E
        }
0 w0 x. _& [( W" S; E9 F5 D! H' J& _& ~4 g0 U
        public void agentStep() {
8 A( ~- U' r; u* m                System.out.println(id + ":" + Globals.env.getCurrentTime());0 J' b$ A, o: x$ l9 A$ W- ~6 @& }
        }
, T9 {1 ~; h+ L, O}
- m  o, T* u! [7 Z& O) J
- A* `, n! ~) |public class ActionGroupDemo extends SwarmImpl {
! n+ m* j) }! W        ScheduleImpl schedule;
3 ^' H- o- \& m: x! y4 y- |        ActionGroupImpl actionGroup;
' v2 d2 D, F' E" ~0 r7 w/ C        ListImpl list;3 K+ R$ [1 H# F5 D
        char Id = 'a';; e- h1 L! n& k" _6 ]6 s5 t
' b5 {3 x. w7 F# y6 h
        ActionGroupDemo(Zone aZone) {3 P* g( t( i8 e7 z
                super(aZone);3 `& o* [9 h2 l" ]
                list = new ListImpl(aZone);; g2 K. d  Y# Q+ s+ e$ _
                swarmSetp();
+ y1 c- R" y$ l% I: w                actionGroup = new ActionGroupImpl(aZone);% ^' U6 @( I  w" j- `- l: |
                schedule = new ScheduleImpl(aZone);
) w. i( B3 ]0 H: K9 V  r& d$ k                try {* h  k+ D' e  O& x- N
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
8 w: p4 X/ g6 v                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
: Z) i, A+ i# s1 d9 {5 x                          B( i& q6 i3 ~  E( Q
                        actionGroup.createActionForEach$message(list, agentSel);1 u/ L+ z4 ~; K% D- \
                        actionGroup.createActionTo$message(this, swarmSel);
1 V) Z- r0 S+ p0 U& J' B0 Z                        schedule.at$createAction(0, actionGroup);
& {) `  F" A6 Z                        schedule.at$createAction(1, actionGroup);
' Y' Q% z4 d1 K                        schedule.at$createAction(2, actionGroup);
( K( [9 ~: @4 }0 ?, X, f! i% f1 d0 B* }0 F( J
                } catch (Exception e) {! z8 f8 M+ G$ D1 T. \
                        e.printStackTrace(System.err);6 M& l: K. w* _/ E+ C4 l
                        //System.out.println(e);
8 N, ~, }$ `5 ]  L0 p$ t                        System.exit(1);
7 R1 W4 K, r: @! Z                }2 h$ t! V3 T- x! r* X2 z
7 @7 l$ g1 t/ G- c4 A" U' l3 o% b3 L
0 Z! W  ^2 i- R
        }, z+ m- a5 Y1 V) k. Q
6 M0 ^  P6 t" L& u& r+ R6 m
        private void swarmSetp() {
; n) ?: f0 _# R) c. w+ U                list.addLast(new Agent(Id));
; d3 M- [' p% F8 I1 E7 U& Z                Id++;
3 g3 e( h* U6 e, J; K        }  c; ]9 D( s7 w( n( T% u. Q1 x% c
2 Z% s6 w" f! \/ c3 b" ~
        public Activity activateIn(Swarm context) {/ ^8 Q  m+ [" h7 t1 X# Y
                super.activateIn(context);2 [* B$ n5 o$ T4 l2 D8 y% u
                schedule.activateIn(this);3 M& O* L- l. j/ `! K9 w
                return getActivity();: E! b6 B& w8 H2 ^. K
        }3 I; z! Q" S& V! u6 h6 J. v
7 r1 i$ }6 k  l) ^
        public static void main(String[] args) {; P4 E; i' H% f
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
/ |8 F# m% f, V: Y1 S3 _0 d& k                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
0 y" z) S2 T/ w0 J                swarms.buildObjects();9 ?0 f' F# F2 f; Y
                swarms.buildActions();$ l9 o* [6 Z# x, v
                swarms.activateIn(null).run();3 D: B$ J- Z1 G% p
        }
( E+ t, ^0 O: ?2 z2 L
- y+ f6 X" Z7 X/ l# ]% p}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-21 13:26 , Processed in 0.015853 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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