设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 4762|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑
1 d' S2 N. \' b5 ]
$ e- A' X6 W& ^: p本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update215 w+ w" s" u$ n) B* f
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
) Y0 E. S7 }+ z# P; Qswarm.SignatureNotFoundException0 c! T7 l( m" L
        at swarm.Selector.<init>(Selector.java:76)# z' \% W/ z3 M8 b
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)- }3 X/ |$ L6 A: W
        at ActionGroupDemo.main(ActionGroupDemo.java:67)* j! c9 i7 h7 ]7 B- B

6 O+ s' b4 k- `; m; _3 t* L' x# T8 Y8 L
import swarm.objectbase.SwarmImpl;
1 Y: R: K( [0 C" Q8 f, v/ u# Qimport swarm.objectbase.Swarm;
& D' X8 [8 o; L. z1 t$ d6 l' himport swarm.activity.ScheduleImpl;
+ n' L: J( K& j" g6 Kimport swarm.activity.Activity;+ Z7 Q' w5 h; l& ^/ v& `
import swarm.activity.ActionGroupImpl;
) [8 b9 L6 Z4 N  @: L) eimport swarm.collections.ListImpl;
9 q5 k/ U2 I) ]* {9 d5 y3 O( S1 Yimport swarm.defobj.Zone;
$ v& S  i9 {7 m/ ~' H! h4 j* ]/ ^import swarm.Globals;; `: R& t5 ~6 E* Y) E0 q
import swarm.Selector;
" E. y+ V2 E4 l/ vimport swarm.activity.ActionGroup; + n2 f3 G6 X6 N! {) n% m2 ]
class Agent {/ j, S, O" M6 H0 T3 F7 C
        char id;! G0 K8 S$ q; @8 N8 P4 |
' w" q$ [0 ?! h& s
        Agent(char id) {! [4 `: P- N$ n( K7 a
                this.id = id;! U" x( s* F* |; M) u7 ^
        }& Y7 O' Q. t" j# p

- e8 C# F/ w2 J$ Z$ ?9 s8 Q# o        public void agentStep() {- q7 [4 n7 x2 A) V3 k$ y
                System.out.println(id + ":" + Globals.env.getCurrentTime());
  c3 Q- P% G7 s" C4 i        }
5 f4 v$ B, t* I; @& N) z}
# ^) i, G4 J8 H
- T" j, l& x; ~4 y! t4 ^& o0 S0 Zpublic class ActionGroupDemo extends SwarmImpl {
4 t  v6 q, E0 d3 V; G/ K        ScheduleImpl schedule;- T1 T0 [- ?/ z- ^; @7 @( C
        ActionGroupImpl actionGroup;. U  P' y# a  q" d/ A4 I
        ListImpl list;
) ]( O2 }8 y0 ^+ A" ~' L1 e# D        char Id = 'a';4 m% l- ?* k0 n
; V* C, l' i9 S9 O
        ActionGroupDemo(Zone aZone) {7 ?' o, Y+ H! a
                super(aZone);
' J' N, f2 t9 a6 J: x                list = new ListImpl(aZone);
1 Q  I6 ?* F, i, Z% n3 o1 i                swarmSetp();
# u# r0 L, p. _; o; q( `9 h                actionGroup = new ActionGroupImpl(aZone);# B$ U1 m, R2 {/ d
                schedule = new ScheduleImpl(aZone);+ \7 [0 B  {4 {  [$ C3 o
                try {
$ C5 V. x- @6 M1 c, T                        Selector agentSel = new Selector(Agent.class, "agentStep", false);$ c( ^/ x; X. c1 D1 n
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
. Z9 @1 U6 r$ ~# S                        : Q' t" Z! l. ~: R: O$ v
                        actionGroup.createActionForEach$message(list, agentSel);
2 E/ {1 c) [& F, }8 X                        actionGroup.createActionTo$message(this, swarmSel);
! ?7 k# K  F6 c1 N: z- {                        schedule.at$createAction(0, actionGroup);
7 z8 S2 }8 M9 E                        schedule.at$createAction(1, actionGroup);
. h8 m/ n& A8 \. v: ~3 {                        schedule.at$createAction(2, actionGroup);  n" @0 D# j! J8 ^5 ^2 `

' t" @' y  n, s# U. X                } catch (Exception e) {
# ?2 L+ ~$ |+ D+ }9 l                        e.printStackTrace(System.err);
* ]2 h4 u. A; a7 r1 S6 c                        //System.out.println(e);, N3 h; k( ]2 c* @0 F, c
                        System.exit(1);' |. ~4 T: Z' u  Y  C: D* M
                }
% {$ j. _# V. n5 f
; z+ W" @3 Y+ d, k% c) A: @$ l5 k
) |# W( w8 z1 `  [        }
( G- B- E# j6 {3 c$ [1 b
, r: L) G8 Q2 M  n9 ^" T. ]        private void swarmSetp() {6 l: ^5 O7 W" W5 c" f; M, n
                list.addLast(new Agent(Id));
$ h1 {( _& o- o6 m                Id++;
# |+ ^. T) w9 ~  `% e# g        }3 Y! q8 o) ]- q

. N! i4 R2 {: u4 G1 A4 M& M0 W        public Activity activateIn(Swarm context) {
$ I* V0 r0 h! O6 l, R                super.activateIn(context);( [2 E% ~5 ~) e* d7 Z# A7 C$ S
                schedule.activateIn(this);
4 ?. ^$ E6 e" D9 L+ R) t! p2 o* C/ x                return getActivity();
" u6 `; f, s# ~/ k3 q' [; r        }
0 w- Q0 z" q* j- b. @! Z7 T# b2 v' n( G0 o  R3 u
        public static void main(String[] args) {
) L# ]( N( K: K                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);$ m2 q" _/ m+ {. Q5 Q& ]$ E
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
& ], `$ c/ r" r4 E3 \                swarms.buildObjects();
4 B5 w6 {- [( j# O2 J% J# V                swarms.buildActions();. B5 G: E; j1 e7 m; v( b
                swarms.activateIn(null).run();0 {6 j" d5 v: H' i+ B
        }* n$ c; N* |, a: g; Y# `1 k
# E& z" e6 i3 U$ Z# m
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-11-10 13:53 , Processed in 0.018482 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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