设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10476|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
$ o7 b5 `% r: ?* W, y0 Y# U: }1 T! ?& K( y% H
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21' d( s; {* j, p$ R0 J& |" p+ `
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
- {- |( K; Q+ l% U( b6 rswarm.SignatureNotFoundException; {* Q% F; d  h- Z2 O% E7 O
        at swarm.Selector.<init>(Selector.java:76)
% a; u% _, g1 |: Y% C  i7 u& \        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
& e' L+ J3 F! q# g: n        at ActionGroupDemo.main(ActionGroupDemo.java:67)
! v6 a: J. S" R7 X
( z5 F: Q6 h, X
' h: W7 x5 B' z% C/ l9 aimport swarm.objectbase.SwarmImpl;' d4 v5 Y- a; h) l' b' {% q
import swarm.objectbase.Swarm;7 w8 Q2 T. ]8 Z* e$ `
import swarm.activity.ScheduleImpl;3 W: L2 a3 J" G2 b7 l" _
import swarm.activity.Activity;& z& e2 o8 o! K
import swarm.activity.ActionGroupImpl;7 {. w& b7 l, T) c+ l* o% v
import swarm.collections.ListImpl;
7 g9 f/ j: S1 S. s/ ?$ mimport swarm.defobj.Zone; + t- W* f  M4 u3 d& A5 ]
import swarm.Globals;
/ J/ m: q( J4 _5 Kimport swarm.Selector;9 ?$ X- M4 _8 H* v4 s
import swarm.activity.ActionGroup;
' T8 n/ G( ?/ q) T  _( mclass Agent {
6 v! P8 u% `( y7 W. T4 e        char id;! {5 I1 A& A; I+ j. I

  B* x5 [5 l: j% s" f% _        Agent(char id) {% \: m% Z! c# i3 d
                this.id = id;5 E8 T4 ?6 w. Q- a, n6 o' G
        }- V8 E: E4 \3 g- t

+ |5 I+ K6 B% M        public void agentStep() {2 a, |7 o8 @$ H+ a: M4 G0 g
                System.out.println(id + ":" + Globals.env.getCurrentTime());% _% H7 u& x8 F: ]
        }9 V: ^; V* l5 J
}
6 B1 I1 X8 a- k+ [  H% d: q- ?: A/ t2 X* G4 K; c5 K% j
public class ActionGroupDemo extends SwarmImpl {
' `. z6 A; V% E% O        ScheduleImpl schedule;( X; }9 _7 j# t+ N3 ~
        ActionGroupImpl actionGroup;6 q1 M8 `2 F7 f6 W2 A, J
        ListImpl list;0 V( V; i& x2 n! s! B2 t9 `
        char Id = 'a';
6 g. D5 ]$ f7 v: R( x/ h
) {& R7 d2 E. [. j; ^4 l        ActionGroupDemo(Zone aZone) {0 t5 R: i1 D; U
                super(aZone);
$ P% j5 k9 d: v* ~' b3 v4 `- [                list = new ListImpl(aZone);
8 b& A' W% d9 Z. O( G                swarmSetp();
3 Q% F# z$ Z2 p( m2 Y( ]) o                actionGroup = new ActionGroupImpl(aZone);
& c3 \) f. ^* D: |4 G8 M                schedule = new ScheduleImpl(aZone);
) L& b( M9 s$ Y; K& s                try {
! a1 h) R9 Q# {! W                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
9 A/ X, _7 ]1 Z& C                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
6 Z4 \, |. U* _4 Z; L: h+ t                        $ o8 Y$ m/ E7 c" s
                        actionGroup.createActionForEach$message(list, agentSel);
! u8 |! I9 n1 X% _9 m; [                        actionGroup.createActionTo$message(this, swarmSel);
" D5 _" e. b1 `- r                        schedule.at$createAction(0, actionGroup);
" z' t( S  ~) X) u7 t                        schedule.at$createAction(1, actionGroup);
" @/ [7 p+ [; K8 _+ y4 J5 d                        schedule.at$createAction(2, actionGroup);
8 x8 C7 s* {- X) d5 W8 _. U8 ^7 j3 }+ o0 g5 G) r- ^
                } catch (Exception e) {
% u" ?2 \! ?6 c                        e.printStackTrace(System.err);& A& s, U" E4 b+ V! D8 O
                        //System.out.println(e);" V  Z1 D. ]! |7 d; z
                        System.exit(1);
: A% A1 a0 O# x( P# Q                }8 ?2 ?7 o+ S0 W  Q# |1 x

0 b  a$ m7 \! G/ u- {! N$ b4 A" [# l. w; H; V
        }
- q' G/ f6 Y2 x) J& L. F& k$ T% N+ Z9 B9 j! i
        private void swarmSetp() {
6 a: L6 Y) ^; Z( r2 [                list.addLast(new Agent(Id));
- S5 t1 M" s. p! V4 k" W5 Y                Id++;/ K% j0 Q- X! W! t( f
        }3 [0 T+ k  g1 p

% a% Z- ]# F; q        public Activity activateIn(Swarm context) {- q4 c3 z' c$ F( @5 h" S4 c
                super.activateIn(context);  x# h0 [5 u$ `! t( X8 B1 S
                schedule.activateIn(this);
! z/ f6 ]! O& N3 ^                return getActivity();8 z" ]% D* s3 Q( {
        }
7 y' @: i6 K5 E/ ]$ a3 V& Y
+ R; C# ?" q5 l1 E% R        public static void main(String[] args) {
( P/ ^. Y, `2 @( q( D                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);; i/ B. z0 \) v$ k3 p" g
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);  k  u4 f8 Y' X: Y6 E
                swarms.buildObjects();
. O: b2 d  }7 j' N; k1 a" @                swarms.buildActions();6 J! A. g& l9 R- Z7 T, _' p
                swarms.activateIn(null).run();% o4 o) Z8 p1 \/ N+ L& l4 C" A
        }
2 f  V% {! w6 @( }1 ?$ y: A
+ h; W  k& i5 m, O}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-6-15 03:37 , Processed in 0.014445 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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