设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8199|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ( Q7 C, @* E% h
1 {  s( g+ A" F( x- J( A% V
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
# R% C( O1 R, @以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.5 I+ d% F# X. X3 r& h% G
swarm.SignatureNotFoundException
. i' C" p' e( P- ^        at swarm.Selector.<init>(Selector.java:76)
. y, R2 Q3 d7 d. |5 B1 g        at ActionGroupDemo.<init>(ActionGroupDemo.java:37)4 M+ M! ~5 J3 D; S# I, ]
        at ActionGroupDemo.main(ActionGroupDemo.java:67)
9 Y+ t) d% c8 s# G& G$ V: w  Y0 Z% d3 M  t2 y% G$ f9 a& ~7 m/ [

. x: e  y: j+ _# simport swarm.objectbase.SwarmImpl;2 Y$ J6 a0 U, q( v- r: U" P9 ^6 U( `$ m
import swarm.objectbase.Swarm;
- D3 E1 M: d" `  B- m0 |import swarm.activity.ScheduleImpl;
4 Q. H: u2 E6 R; W5 simport swarm.activity.Activity;" v: U  _7 m1 F$ ^. s
import swarm.activity.ActionGroupImpl;
) ]5 y8 |% c& B- U3 c- Simport swarm.collections.ListImpl;0 ~7 c/ d$ A) i& _% Z5 ^" h
import swarm.defobj.Zone; ! X* S4 |9 |" n% s1 I; M
import swarm.Globals;8 O( o% a' A  f# \% a5 P
import swarm.Selector;0 p( _$ N# j: [) o
import swarm.activity.ActionGroup; 5 U6 J6 J1 _+ f
class Agent {
0 L, M" R% e) b1 \: v! A- m0 z        char id;3 d- o5 u& v. `$ c* X! S

% W1 s3 y* P# W$ Z7 l# f        Agent(char id) {
8 N" W2 ~6 c. o" q/ W9 x                this.id = id;5 D3 r3 S. k- z/ q/ w! c
        }
% ^0 Q; V# Y+ B6 E0 K- h) Y  R8 N
        public void agentStep() {
  C  S+ i" m; w+ u1 d0 U                System.out.println(id + ":" + Globals.env.getCurrentTime());/ c; K5 u! V1 P5 {$ E
        }* m/ K# P7 V: p4 y! V
}
$ q+ s. q  n8 z, n
) b+ N0 f# ?+ d8 v6 e* ^public class ActionGroupDemo extends SwarmImpl {" b( G7 k. L: q" I+ {
        ScheduleImpl schedule;( P  r. T5 z7 Z. Q3 r5 w" j8 \
        ActionGroupImpl actionGroup;0 M+ e9 x; Q( h6 X. R" o3 b
        ListImpl list;3 j" h: \' y8 R
        char Id = 'a';* u( N6 x" A0 O! k4 G

3 ^+ h% R' {- f" i        ActionGroupDemo(Zone aZone) {
% \" _) a. N$ [+ E' ?+ v) f" p                super(aZone);
( J( L, ]2 ~2 L0 t) |; b7 X                list = new ListImpl(aZone);, c; L/ `6 @2 K. a
                swarmSetp();
1 p" \( A; K" ?7 |3 `' F6 i0 R                actionGroup = new ActionGroupImpl(aZone);
/ h! X5 ~/ v& t$ j. x" F  F                schedule = new ScheduleImpl(aZone);& E" z1 N" p2 W' n/ I& v2 p4 h  H7 d1 h
                try {) p/ a/ u  a1 x7 g) |* F! S
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
- ^  G/ m% `  C& c2 S$ ^6 {                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
  s  z0 W) ]- ?8 N+ Q: A% k; V+ M                        
1 R/ s; X# o1 q6 I: L# Y                        actionGroup.createActionForEach$message(list, agentSel);) u9 G4 f, D. _  b& b
                        actionGroup.createActionTo$message(this, swarmSel);
  Y2 z& q* C4 ?' n& k" P0 D% E. _                        schedule.at$createAction(0, actionGroup);
6 H8 u. C0 Z! i' L. H, p3 U0 N& q                        schedule.at$createAction(1, actionGroup);3 P, z2 h* m9 v+ x
                        schedule.at$createAction(2, actionGroup);" [& \3 U) [- w5 _2 h

  s+ Y% \- x5 T* \& w6 S$ z$ {                } catch (Exception e) {
( ]% j- _8 P( d                        e.printStackTrace(System.err);
- R! Z- {7 r3 W5 w, l* A' @                        //System.out.println(e);% u% R. `. C0 ~+ R2 A6 H9 A' V
                        System.exit(1);
" a$ n) y7 D8 O$ S- K                }' O; O; f0 y) B( s& T  ^) a# q
/ ^4 A2 R& j& |* n/ G6 \, X, g' P

  i+ u. `7 X3 B' w  o0 N        }
3 x, q2 Y) ^( _) `  G  i$ ?( e2 R  z4 }( ]
        private void swarmSetp() {- U, `  b8 C; l
                list.addLast(new Agent(Id));
8 u7 D" K2 n7 w) d* ~                Id++;
" J  M' p# j9 v8 m0 D# B        }
1 R' }/ \/ U9 o  M1 r- a) X  e' _. u5 o& n) E. J
        public Activity activateIn(Swarm context) {. ]6 B% q* |; [. V" z
                super.activateIn(context);2 ?3 ^& l# S& ]& D1 ^# N- I2 \; d
                schedule.activateIn(this);% G4 R2 p: j' U- b& `
                return getActivity();% N. S7 k! o( |& D$ @/ m
        }% D( S" [/ i" E+ q$ I- J$ U

& h3 T" d# x/ C# e1 G        public static void main(String[] args) {* G" @' y! O9 X$ ?4 S9 P8 [
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
+ J% v! P% k" h$ L6 Q                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);& E& w9 r/ |9 J$ o$ F* [/ e
                swarms.buildObjects();
  p. N/ K4 H, @% d0 x                swarms.buildActions();
# T" d& B1 p7 d+ x: C                swarms.activateIn(null).run();- J- W0 x- f  l$ l9 n
        }
+ p, i. }2 j7 Q- [+ A6 ]- B
% O5 I7 r: c* i8 [}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-4-2 21:12 , Processed in 0.024273 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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