设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5313|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 8 h/ \% [+ K- L$ J6 v

7 T& M# ~% _* Z1 k6 @! H- ?本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21( q8 R* o! _2 n+ @$ E/ j
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激./ n3 C' I4 t* v. g2 M# @5 t2 T
swarm.SignatureNotFoundException$ ^: p, e7 y! ?
        at swarm.Selector.<init>(Selector.java:76)
8 U3 \! i8 H+ K- L3 a        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
) K1 O# ]2 z# l: `0 [        at ActionGroupDemo.main(ActionGroupDemo.java:67)7 T+ z4 i' y* g0 r- ?" ]% S
8 ^7 b& i& E$ k, L, B$ [  O

: E! ?0 w4 f' b" dimport swarm.objectbase.SwarmImpl;3 r/ ?. W' _' |# k* h; O/ Y
import swarm.objectbase.Swarm;
& R# g# E  k; ?' rimport swarm.activity.ScheduleImpl;# ~; i4 m4 ^  H( D! q5 ^" q
import swarm.activity.Activity;
) n* N6 f4 ?- `, `6 h  r* J3 V4 oimport swarm.activity.ActionGroupImpl;2 `5 z$ e' k+ I! @' @0 A
import swarm.collections.ListImpl;4 h9 V, Z! K( L: g# }2 V' s0 {
import swarm.defobj.Zone; 2 [- b$ G" [! q1 B$ I
import swarm.Globals;9 b+ s( A4 h. U4 t$ h' m8 Y
import swarm.Selector;& W1 u4 F! s3 a: Y2 o+ v
import swarm.activity.ActionGroup; + O# t2 y# I" H) M& v+ l$ y6 b+ `
class Agent {2 x- e( h: \2 k' ~
        char id;! Y  d& U" t2 ]8 B. g. Q
# {+ @& w4 s5 @1 ^
        Agent(char id) {
0 I1 ]- D0 s1 q9 B7 ^; a& [, Z. p$ l- O                this.id = id;
3 G9 c" y2 O% T        }* S% U  X/ o) ~$ T$ ~/ P! A
  O  g, T1 C  g
        public void agentStep() {% H$ \# @& c5 T: K* O
                System.out.println(id + ":" + Globals.env.getCurrentTime());
# l7 x6 y% m. P$ L! ~        }3 N) j. K% c; }5 Z- S# O) Y; n2 Z
}
! n$ ^: j& d  L
5 E5 F0 h  g  {: B- _5 Jpublic class ActionGroupDemo extends SwarmImpl {  x3 F$ J5 O: h( A
        ScheduleImpl schedule;
( J4 q0 Q" {0 J6 Q1 @        ActionGroupImpl actionGroup;
. m1 h$ q9 q: ]6 j        ListImpl list;1 U% C( Y  O: W+ }) @5 v4 P
        char Id = 'a';
6 z5 P6 r' a! Y, e# o) A5 x1 e$ U5 k  `) K. x) y( A( w# C
        ActionGroupDemo(Zone aZone) {% H9 X4 [0 |/ I: b
                super(aZone);3 N) P$ I9 `& O! g! v$ M
                list = new ListImpl(aZone);
) J; M8 ^# R+ z5 N$ u) Q                swarmSetp();
4 _: O( }2 I9 P                actionGroup = new ActionGroupImpl(aZone);
& A5 Z& ~0 L: C/ `                schedule = new ScheduleImpl(aZone);& |4 \7 H, h) n/ t' ?, M
                try {
2 c: ^4 |  j% i4 `9 t; R                        Selector agentSel = new Selector(Agent.class, "agentStep", false);. ~' i9 A( W' m$ X" J9 ~- ]4 {6 ]
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
* J5 w3 c$ \3 \" ^+ _6 \3 P+ n                        
* C6 q# o  U' q/ ]0 m& R; H                        actionGroup.createActionForEach$message(list, agentSel);; D% c5 l" F6 f
                        actionGroup.createActionTo$message(this, swarmSel);( u0 m" O8 Q( }( @
                        schedule.at$createAction(0, actionGroup);
8 I% f6 H( H0 M4 w                        schedule.at$createAction(1, actionGroup);6 o: `% o6 Y2 q6 g8 n0 Y
                        schedule.at$createAction(2, actionGroup);% o+ P& W1 i3 ^7 v

5 _# s8 ~. Q2 Q+ W9 g& S& E                } catch (Exception e) {$ o; _  H- }. e# z! ]2 ]3 L
                        e.printStackTrace(System.err);
. Q) P% I. g" O6 ?                        //System.out.println(e);( g& G2 u4 f* s
                        System.exit(1);
% t9 P1 j) l! z4 y& n                }0 {. H9 H% c+ ?& z
  ]& D' p; T/ @  J. u! ], A

% n; k. u- [6 E: P' `% L. N/ u        }! F  A* I. g, E5 g0 g

1 P/ S+ R+ v: u$ Q  U        private void swarmSetp() {3 R7 P* A2 R  V3 W' G, w- g. n
                list.addLast(new Agent(Id));
* [$ @; D6 X2 o; M                Id++;
; q" f6 u  P( R        }
  ?  z2 p7 T# t8 r7 R* n4 T4 x* N3 W' j# A$ D5 v$ Q( @$ m, c
        public Activity activateIn(Swarm context) {
) K! ?4 h9 V. X1 C                super.activateIn(context);/ s- p$ N% K0 @* K
                schedule.activateIn(this);
. S- I  D! R/ N# a7 m; o- G                return getActivity();
* x' U; F& E: U2 C9 s% |        }
+ a2 ~: l1 {" f/ @+ ^. }, e7 X. X$ E! p
        public static void main(String[] args) {/ ^. i7 z0 P; W/ J; p
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);" d- Y  U2 Q. o0 x6 D4 T
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);, A5 N) ?7 T& r: }
                swarms.buildObjects();
5 Z0 w' l9 M3 w9 P* _. R                swarms.buildActions();2 O- T1 `) ^# l. S7 E- z; r6 C+ B9 `
                swarms.activateIn(null).run();
& G! m% c9 F# [; F        }
: r$ d1 k! g* m! J) l! N( q- i5 h- K. O
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-12-3 19:34 , Processed in 0.017041 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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