设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9035|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 % y4 B3 d7 N+ A, G  W& H, Q
' \& P" V% Z, [6 q4 E2 x. H, M2 |
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
/ t8 e" H: g; o% E以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
6 ]. Y, Z; L( ^" o* Kswarm.SignatureNotFoundException7 D! |, u5 E9 h
        at swarm.Selector.<init>(Selector.java:76)
+ T  V' c' L% s; `- j/ E        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)
' t) B  I; ]; A4 y- C# n        at ActionGroupDemo.main(ActionGroupDemo.java:67)
0 \7 G, b9 b3 x/ g4 A
+ w! W. ^7 U0 j$ |) r
+ A: l/ c  O( K! gimport swarm.objectbase.SwarmImpl;  |! @& M- @8 j7 \; t; e; X: v$ l( j1 U
import swarm.objectbase.Swarm;
! A4 s1 e0 @, A" H& ~import swarm.activity.ScheduleImpl;
" j8 J. r4 A8 z. A: b' nimport swarm.activity.Activity;
$ L% p* o0 T6 S6 Z  E0 l: I, i- Fimport swarm.activity.ActionGroupImpl;6 j" n9 ~  C/ A2 x8 |5 g. [" O
import swarm.collections.ListImpl;
( q: v% A8 ?6 r% P% V8 Y( Eimport swarm.defobj.Zone; / `7 T: X8 t/ Q3 c
import swarm.Globals;6 C7 E% S+ _% f9 F; k
import swarm.Selector;
8 `; {& z- {. q1 f5 Z: Q2 I& iimport swarm.activity.ActionGroup;
6 ^& C7 }0 }& f' }: nclass Agent {% ]4 f1 x/ S4 w! x
        char id;
; d/ D5 G* _8 F2 e: _# m, l! O2 l+ T, j/ {
        Agent(char id) {
9 Q4 `3 i. K) G2 Y                this.id = id;
; x6 j0 q7 }4 o& K8 M        }' S2 K, [0 \$ Q- L- ]0 L2 k
0 o+ G3 k! V% R* M6 b6 J  M/ m9 k
        public void agentStep() {8 x1 \8 x. F$ N+ B( r/ u0 A% |. r
                System.out.println(id + ":" + Globals.env.getCurrentTime());% O; c; F! M3 c0 {  D- H) s
        }- N" b4 E7 \" P8 I" P, S9 D. P2 d+ `
}5 h- X- ~6 \8 B) c# T4 @2 k! J7 |8 E
7 ?1 x7 \, [# S. p
public class ActionGroupDemo extends SwarmImpl {
$ F7 R- N( u  p        ScheduleImpl schedule;. b. O. w. i; {) T5 |9 ?
        ActionGroupImpl actionGroup;
% |9 i) U& o, _* Y        ListImpl list;1 T; v6 J# f( C
        char Id = 'a';
% G# x! o7 ^& t% U$ d) ?6 ?1 j% m
- o/ W. r% f: i" @( t        ActionGroupDemo(Zone aZone) {' ^; V" \& |6 S# g( C
                super(aZone);4 s2 x9 x0 w* y& X& `- R2 ?$ l
                list = new ListImpl(aZone);% O& @; C' w+ H7 N- x' ~. ?
                swarmSetp();
0 ?' ]+ A% u( B% A& L! {                actionGroup = new ActionGroupImpl(aZone);
; F! ?8 b9 r3 t+ e                schedule = new ScheduleImpl(aZone);
( m* X% B6 M; u! c                try {
% w3 u7 _) Y9 n" ~& q7 ^                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
" k' H8 S2 s. |: @- r0 k                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
! q1 N  ]+ t! k/ l1 a/ H                        
6 p% Y  E1 d' G                        actionGroup.createActionForEach$message(list, agentSel);6 k4 |" q, A& a# M3 Q: o0 b: H
                        actionGroup.createActionTo$message(this, swarmSel);! ]2 M5 d5 ~$ X+ Q( X: I
                        schedule.at$createAction(0, actionGroup);/ f+ c( ?, j/ O$ h& ^. g5 P0 N
                        schedule.at$createAction(1, actionGroup);
; T; I$ p2 D1 \7 [1 A7 A9 s                        schedule.at$createAction(2, actionGroup);
. }/ X( r/ B5 @* j8 z  G& f( q# W' o2 P1 r9 c
                } catch (Exception e) {
0 J. E7 S$ g+ s  Q5 F) T                        e.printStackTrace(System.err);
, d1 Z" h) U0 x$ S6 ]1 H                        //System.out.println(e);
. c% {8 C# w1 f- A                        System.exit(1);$ i8 z  G! X7 V) ^, t7 U5 Y) V$ R
                }
) p2 }" s7 M) ]/ n' ?/ B6 |# r4 o( f) [8 F, z' M
1 x; \8 M7 H& s" b
        }* X2 P; [9 E; r

/ N3 a: v; ]( j+ a7 n        private void swarmSetp() {4 g# _) ?* {3 P1 b
                list.addLast(new Agent(Id));
3 r, v  h; e( Z; R- Q                Id++;1 E/ I9 R" e' T8 E. h+ t9 C/ U) o( ^
        }
" U+ u& k3 C  D* [) g# x; ]4 l' d8 B' C$ `8 v) B4 r: w( [9 a
        public Activity activateIn(Swarm context) {
" F/ I6 S. u7 D4 @! ]9 Q4 _                super.activateIn(context);$ B2 y% N5 K& r; k9 R" K  ?* d
                schedule.activateIn(this);% u( N$ p9 ]) F' \- P
                return getActivity();7 Z! x# R/ s% ~5 ]+ b# P
        }
) N8 j- l+ ~7 R7 n/ t( [4 n
3 k( N3 n" V. V5 `        public static void main(String[] args) {
/ [2 _" m6 y: l  G7 f. ]9 l                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
& f4 `: `6 v1 u( y                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);& a" i4 B( ^) H; A
                swarms.buildObjects();
; q; v  A( R6 X4 `0 |: G( U                swarms.buildActions();" C& e0 X8 O3 K. d& O1 U
                swarms.activateIn(null).run();& b7 R" Z, E$ g4 j) y
        }) L3 z& t8 D2 h3 F
7 j7 ^3 ~, p; j) d* n
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-29 17:11 , Processed in 0.014751 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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