设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4877|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 8 D( B' r% ?# F& @! p% l

3 W. z3 I; ?7 E/ B% k* I' j本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21# s% j* k; A( a& G% G% @/ F
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激., X( H- N# m7 o
swarm.SignatureNotFoundException
5 I# f. L& x* e0 _2 O' L2 I        at swarm.Selector.<init>(Selector.java:76)
1 j  m. M+ g1 `' ~        at ActionGroupDemo.<init>(ActionGroupDemo.java:37), E* R0 z, [9 R1 \# b
        at ActionGroupDemo.main(ActionGroupDemo.java:67)& B0 S, w0 L# f& L6 D* ?8 Q+ I9 k

8 N; I8 o7 E3 f; L5 D" ]; w7 K. F6 q. t. y. w6 {0 w: e: M+ t
import swarm.objectbase.SwarmImpl;7 D5 M! T) r$ R. r, J3 g
import swarm.objectbase.Swarm;; o, M" P# p# O' P( E
import swarm.activity.ScheduleImpl;
% T1 L+ V3 Z) r  L* n6 l% zimport swarm.activity.Activity;* `: a2 q/ J" [1 D
import swarm.activity.ActionGroupImpl;' H0 G3 Q% d4 J1 @, A
import swarm.collections.ListImpl;5 h4 |# r- }9 \1 F& Z4 q
import swarm.defobj.Zone; * }2 K0 D/ Q" F3 u; B% x, X
import swarm.Globals;
( ~0 n8 u! ^& }8 |) l" m* n( Aimport swarm.Selector;
3 c, k5 [8 c- A3 E9 aimport swarm.activity.ActionGroup;
& t  H! c/ B* a- lclass Agent {% f' U( @9 N" _/ [5 w( h
        char id;
. C2 ^# T  a7 Z" Y6 K" L: L
9 f" A1 ]& ^& `1 F- @4 m        Agent(char id) {
( @7 Y0 N1 W/ f4 U; L( e                this.id = id;0 G+ W( b, \7 J& z
        }
  D( J2 ?% @4 t5 i/ b' y3 ^) s- F* Q
        public void agentStep() {
: j! J5 u& q& z6 N% p- o$ r$ n                System.out.println(id + ":" + Globals.env.getCurrentTime());
* _) R: |# R- T5 V/ h% z: C        }3 F7 e9 j% k0 c) Q* W7 ]2 v
}6 Z9 ?) m! G7 s6 N$ c

0 R0 p8 g. q- L* hpublic class ActionGroupDemo extends SwarmImpl {0 x8 t+ L9 T2 ^& }
        ScheduleImpl schedule;
0 s4 H8 x! d1 ?: K" `+ Q2 a        ActionGroupImpl actionGroup;
! h) _1 \4 w0 X        ListImpl list;) J4 A$ Q! a% \# v1 h* Y# f) V
        char Id = 'a';9 B: H9 I2 x: m; W5 }- p: G* D

& j% A  M2 ~( G7 o        ActionGroupDemo(Zone aZone) {0 z& o0 O% q4 g
                super(aZone);
% ?& T7 A1 m2 B! q7 N8 i                list = new ListImpl(aZone);/ t/ S  S1 a0 e* l7 M
                swarmSetp();
8 m0 M' ?4 S6 v/ ~% T                actionGroup = new ActionGroupImpl(aZone);5 X; c0 C  H& w; \
                schedule = new ScheduleImpl(aZone);
5 m" b' t1 z3 r' J                try {
, ?2 K, X7 O/ L5 L                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
2 z, C! z( O+ H; c                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行  y$ ]. j+ n  p# {! w
                        
1 n, |% E2 \; I# S                        actionGroup.createActionForEach$message(list, agentSel);
: W3 L& g6 p, W5 K                        actionGroup.createActionTo$message(this, swarmSel);' W& k% y/ z. j- n) a
                        schedule.at$createAction(0, actionGroup);. k( \+ n: P$ h6 |: ^2 s+ @7 a, I
                        schedule.at$createAction(1, actionGroup);' y3 }1 x; `5 F  S& w3 N  O1 E
                        schedule.at$createAction(2, actionGroup);& f/ ?" u- }7 {* M4 v: y, R0 l

7 \9 B* O$ v/ I0 x/ ^                } catch (Exception e) {: R) U7 P( j2 j3 p0 P, a
                        e.printStackTrace(System.err);
& l7 q, {; {6 w) h' \                        //System.out.println(e);
! Y- B! u( ]( C( V  d  K                        System.exit(1);
7 r2 S$ W! d; b2 I. y  ]                }
+ Z# c$ F" \4 f, o
1 C! [( a' ]* j: r8 W) {! D; D' E; I/ f6 X, L4 Z, R
        }$ M9 \$ e' C  B1 J, v, s

! ^5 q0 a% {- e& K. a1 L: e" U) k5 Q2 P        private void swarmSetp() {6 K& m, W' G8 v$ b5 x0 ^
                list.addLast(new Agent(Id));
- j% H8 V, l  z) C+ R: O# U                Id++;( a$ N9 |( s! v/ S9 D, N+ U, a
        }; B* N1 s/ _- y
8 K' B  N" @: t; m/ Y( v3 K1 a0 C
        public Activity activateIn(Swarm context) {
* A0 h$ P; K& Y/ T                super.activateIn(context);
# D& R; [! D9 m3 x# ]" N                schedule.activateIn(this);0 @( l' L7 ~, v+ l
                return getActivity();& x* G0 L" g& m9 F3 O0 s4 V; D
        }
; e8 O& p8 M6 A# x4 J7 x' B& @7 D  E
& f3 @, e9 X3 [* c& S5 n        public static void main(String[] args) {
  N* T8 e! V) F( e4 {+ s* c+ I. I" J                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
/ [, Y. n/ \. ?8 T& q                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
, d# j- D/ j2 T- e                swarms.buildObjects();6 y* j& p/ U5 n" _6 s7 t5 ~* d
                swarms.buildActions();
7 M& z. s& u1 w' q                swarms.activateIn(null).run();; I) F$ r# y$ [" E7 o6 [1 P
        }
' Q; L2 f" s7 U6 [' ]- q
& V- G: G# c* t/ c& j7 t}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-15 14:59 , Processed in 0.038861 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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