设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6563|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
* A$ t& ]- s  p& t/ J) Y, O( p( k" A* M* N. P, G% i
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21  |& `& s. f# f4 v
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.1 m' a8 }0 |7 G% b
swarm.SignatureNotFoundException0 g/ F8 J& M2 f! ^+ B
        at swarm.Selector.<init>(Selector.java:76)  \+ Z  ^8 ~5 f
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)2 d) g, h8 G6 B$ _! ~7 X2 q" w7 O
        at ActionGroupDemo.main(ActionGroupDemo.java:67)' j+ ^4 F) L" M/ S" u4 H

. E! ?' }8 Z3 e9 `  r% P  X& }9 s3 Y
import swarm.objectbase.SwarmImpl;) Q: I0 t+ x7 e. @: i5 b' d4 i
import swarm.objectbase.Swarm;
) i3 V4 c* R1 W4 [* T* f5 jimport swarm.activity.ScheduleImpl;
$ B/ F; {! W- zimport swarm.activity.Activity;- X4 I) F/ N. K% ]8 m& T' {
import swarm.activity.ActionGroupImpl;
* T7 t7 s$ _* K  L0 ^import swarm.collections.ListImpl;' u) u1 _# w& K' V3 {+ O
import swarm.defobj.Zone; ; H) J; ^* a0 s& Y. ]+ W, R5 }
import swarm.Globals;
5 {* P5 R2 r0 y$ Nimport swarm.Selector;
' T& S& I3 C1 K- X7 E3 p6 R- nimport swarm.activity.ActionGroup; 9 W* S3 z2 W( [
class Agent {
. F2 Y" b% \! d( A% Y8 V+ W        char id;6 a; W2 G  X9 {, N2 F2 S

+ E1 v& g5 \' t0 s. ~' s. z        Agent(char id) {
  `5 W. R: v+ J: [, `0 d                this.id = id;0 X! M; v4 q0 O
        }5 }4 E% D5 ?- X- L/ v/ ]/ h  i* T

3 R# y+ F4 L+ f+ l* R2 J4 {: G        public void agentStep() {" a8 t) A* e0 p0 |- Y4 `2 o
                System.out.println(id + ":" + Globals.env.getCurrentTime());
' B, M. C9 u7 h- N$ h$ ]; M        }
  ~' v6 m# p3 `}
( F5 ^$ E5 V9 F- {: Y- e# t: z( g1 L0 z2 |4 C# r( `
public class ActionGroupDemo extends SwarmImpl {. E2 J: O3 U9 J- r$ g1 N
        ScheduleImpl schedule;
. p2 y6 x  B- u" w4 q/ @# I        ActionGroupImpl actionGroup;
3 p9 j( i2 y+ D9 W9 `% {        ListImpl list;
* z8 v* D2 K2 Q! P2 w' h: p        char Id = 'a';
0 Q3 K- F1 S% m2 H' i# [; Y
. {" r7 \, k/ I! E8 g( z        ActionGroupDemo(Zone aZone) {
$ G3 Q6 O1 S3 S4 Q* s                super(aZone);
8 x6 i: a8 b: q4 v                list = new ListImpl(aZone);5 m0 A- V& |" r$ p; E9 y$ K
                swarmSetp();) R0 b& |  ~7 X0 i3 H4 [; N1 E2 t
                actionGroup = new ActionGroupImpl(aZone);  e* X6 Q2 E; t# ]& m+ D
                schedule = new ScheduleImpl(aZone);  N$ f' N. G, i  J
                try {
9 E$ d3 h/ O' A; r& g& c# ^                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
/ r  H; _$ @1 O' }& b, d9 R                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行. q8 ^5 c. U8 L* v# A/ [4 a& c
                        / N& `4 Z- W) Q+ @+ O0 X+ @
                        actionGroup.createActionForEach$message(list, agentSel);) A- ]4 W' l, ?! g4 G+ v+ e$ X
                        actionGroup.createActionTo$message(this, swarmSel);
( m4 t" m/ a4 Z- L0 E                        schedule.at$createAction(0, actionGroup);
& V1 k/ E* }1 U/ C6 C7 d                        schedule.at$createAction(1, actionGroup);2 R- W. C' C6 ^6 S" s0 \! E
                        schedule.at$createAction(2, actionGroup);) ~& r& D: C: a3 s3 l  L
; y7 Y; m4 R4 g
                } catch (Exception e) {
8 K- X# I4 y8 }+ u/ b3 I/ A                        e.printStackTrace(System.err);* `' A: ]7 `: V; j* Y
                        //System.out.println(e);
/ y9 K) T1 x# z" D- J" V                        System.exit(1);* {6 H9 z9 R* n6 v2 }" ^8 y
                }1 t; l& F( b8 x
' H* d4 ?+ g- e
2 w' I/ p( O6 L4 K/ J
        }' _7 c2 {4 n2 Y7 `1 X% x

8 j8 }& I3 Y. E6 S) r        private void swarmSetp() {( E. ^+ J. d2 j  k* d; ?8 ^
                list.addLast(new Agent(Id));
  o- I% q+ R" [1 F8 g5 A  M7 M                Id++;/ `9 K  i9 y, K! v
        }2 ~. r2 R- q8 @/ i# g) r

1 n- {- w+ e; @7 y0 X- x& k4 H        public Activity activateIn(Swarm context) {9 y( a( P$ K6 G/ i/ }
                super.activateIn(context);
# W; v; `* w' T& c9 I9 G3 e* J# b; \                schedule.activateIn(this);* T6 b6 @9 R7 b& `
                return getActivity();" o. q, s+ t: Q' J3 h
        }
( X+ J8 |. T+ ^$ j/ l8 l: h2 @2 d+ {7 b1 J) r+ `
        public static void main(String[] args) {
' L1 k& I9 E  ?% g6 H. m7 y+ E4 v                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);. P% i! P( g9 s& ?9 r
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);% c: w( l$ C- f" s3 q0 C
                swarms.buildObjects();& s1 t! u" T* w. X
                swarms.buildActions();4 Z) `( n+ }' E0 w
                swarms.activateIn(null).run();
5 K  l5 I( ^6 H! z; }* w4 z        }
3 P4 K8 I7 W& ^( b6 M* d: W& e9 `1 Q! M1 K6 S8 ]
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-2-1 13:44 , Processed in 0.015840 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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