设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8497|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
# M# R" y2 `, E  V2 g& O4 N% L, J, X6 b3 U- J1 b$ v
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
  S* Q# l; T; z7 A! F) v0 s" j, I2 d以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.$ m- x/ y" H, e8 {: t$ y5 |2 C
swarm.SignatureNotFoundException! Y" v' s; K) T+ y' y, m: G( d" _; v
        at swarm.Selector.<init>(Selector.java:76)
- Z: S4 h. {( v        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)# {) t, m/ V- k& ?( r/ S' x, o. v
        at ActionGroupDemo.main(ActionGroupDemo.java:67)* p4 H& Q; P. k+ ?( E( h9 z& ]' y+ X

* T; W  \# y2 L* ]+ g  z/ b7 Q: g3 n1 a2 a1 E5 Y( K0 {
import swarm.objectbase.SwarmImpl;
5 ?' f# S( v- _1 oimport swarm.objectbase.Swarm;1 Q" G* p, g* a4 C8 n2 ]& q, y
import swarm.activity.ScheduleImpl;
% M+ H& U, i7 r( H7 vimport swarm.activity.Activity;
4 f& t+ ?3 D8 c5 g7 n% Bimport swarm.activity.ActionGroupImpl;/ B  o& z0 o1 B
import swarm.collections.ListImpl;
4 }* B1 g+ o+ U5 V1 a7 }! {import swarm.defobj.Zone;
- L6 R# U) `- {* I3 E4 Nimport swarm.Globals;3 v+ o" e0 O# [; [8 g9 R
import swarm.Selector;
3 f5 S" ^# _8 O- @, k/ C# v3 Vimport swarm.activity.ActionGroup; $ |# n+ p% n8 l
class Agent {& @/ Z) G) d( r* W6 H8 Y
        char id;
/ _! K- \5 [5 S* V* P  B: X- k: }" M2 a. F
        Agent(char id) {. b" s$ K) O  d  R" Q
                this.id = id;8 x# q7 W9 C5 c/ J3 I+ P- H
        }$ r) B* O. O6 |1 Z) Y
+ O0 Y) v' c" }  n9 Z$ q
        public void agentStep() {
8 P7 B7 h0 z# Y. T& H                System.out.println(id + ":" + Globals.env.getCurrentTime());
8 W* R! x) D- `( w1 b0 P        }7 o( }" U7 ^8 H7 d8 j4 L
}+ R8 D( u# d; N" {; u- Y
! T& d# O6 Y1 z& m: O0 a: y
public class ActionGroupDemo extends SwarmImpl {9 R. W, e) o1 W( N2 C3 ?
        ScheduleImpl schedule;# f, q9 `6 ^/ z6 I) |! Q2 A* ^/ z5 U
        ActionGroupImpl actionGroup;1 ]* o2 T/ B4 R8 q" `' Q
        ListImpl list;7 T  v4 ^+ a' k0 |, w! ^6 r
        char Id = 'a';% |2 N# z$ u7 w1 z, W  {6 f
* @$ v/ U+ `+ e* Y1 N5 z. [
        ActionGroupDemo(Zone aZone) {
# w' B7 c/ Y/ ~- K% c: L3 q$ a: u                super(aZone);
. ~5 l! P2 ]6 ~                list = new ListImpl(aZone);
) r% R1 }, B3 ~* s# h% B* U& B$ q$ t                swarmSetp();
5 L+ k- q6 r$ R' u                actionGroup = new ActionGroupImpl(aZone);
( K# t: t$ ^+ d7 w2 s                schedule = new ScheduleImpl(aZone);; H+ T" e. f3 s. R9 M
                try {" K6 o1 ?+ L/ B; B1 G9 G; p, ~+ T
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
6 c# u! y) ?2 r                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行& O& e* x, a% v: T9 u
                        6 [& b% |5 S5 d" _2 F8 o
                        actionGroup.createActionForEach$message(list, agentSel);
' E" z$ H" B4 Y. \8 V                        actionGroup.createActionTo$message(this, swarmSel);1 l4 g4 i9 v- \& i- W! x
                        schedule.at$createAction(0, actionGroup);
, f( H6 d: L3 a; I; {+ ~                        schedule.at$createAction(1, actionGroup);
& Q( Q% Q5 V* s) C2 f                        schedule.at$createAction(2, actionGroup);9 i2 y6 x9 F3 z- p  ?, f% ~
% H. M2 S# H' z8 t% ?) o
                } catch (Exception e) {
( x3 s1 t9 n; a% d: @                        e.printStackTrace(System.err);  K- T  m# J( a
                        //System.out.println(e);" _  I# o: {) m8 o/ d4 K2 r
                        System.exit(1);, |1 C$ L6 P; a6 _' Z+ [8 X+ E
                }
. c3 L. L6 u9 o# c6 \2 p
' e" ^2 B, ~5 N; o- E) h1 @
" E+ N7 l5 p. \; }9 i3 z- ~/ [" j        }5 y, ?6 `" O: y. r# [2 \" I

( [- R) T0 c& h- s; C        private void swarmSetp() {
9 G- |# Q% M. W5 }' J( l5 o                list.addLast(new Agent(Id));2 b: c1 |) s$ Q7 b" A7 a
                Id++;
; {, Y4 I  k2 E2 J. ~        }! Z$ L+ |" z* D' \: N
: A2 j: T# ~& _: G. _
        public Activity activateIn(Swarm context) {
5 d3 g) o  L" l: j: W                super.activateIn(context);
7 K4 ]  W7 z7 B/ m                schedule.activateIn(this);: n) _! w0 V8 m3 ~/ f% Z) L
                return getActivity();
3 `, M$ R' D- ^1 H, h        }6 R% L( \- J" M/ v; s# F( X; q+ X4 r

) X* q: `* V! B" Q) Z$ Z4 _9 p6 V* r        public static void main(String[] args) {% j+ ^9 k  h- _! c8 X# Q6 i" W
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);, O/ _& ^* [5 q
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
$ P. H, Z9 ]% _                swarms.buildObjects();; O. s5 j; c. d1 B
                swarms.buildActions();
2 H$ [* ?# d4 n- j7 y, w                swarms.activateIn(null).run();) }. b4 L. D4 w( K  y: F
        }
3 |1 X8 \6 A; o6 `! w8 c" p% ~, E
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-14 12:44 , Processed in 0.014289 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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