设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7925|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 ! r2 n4 U) _5 z5 k/ G7 ^" j, y) q
6 k( d, {9 u, _% D* K8 p
本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update21
- x/ ?% \6 n6 w以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.
) n7 W. n$ o1 S  P* b7 \swarm.SignatureNotFoundException$ a* L( t1 Z. r! a
        at swarm.Selector.<init>(Selector.java:76)
/ ~& z/ B4 U+ @! M8 _+ e8 N% T        at ActionGroupDemo.<init>(ActionGroupDemo.java:37); D& _& X& \  d, ?5 o* F) S
        at ActionGroupDemo.main(ActionGroupDemo.java:67)( W0 |( P: r6 }; @& i
* S& O, G2 S) F* g' z$ J4 u

/ G1 {) o# m" {. |0 P5 U( Himport swarm.objectbase.SwarmImpl;$ s: Z3 [8 m3 S; G6 O
import swarm.objectbase.Swarm;" D0 w* k% P6 X. j4 C0 o2 r
import swarm.activity.ScheduleImpl;
1 R6 l6 |6 _, f0 y/ ~9 simport swarm.activity.Activity;6 K+ ^( `: o+ R& e4 ^
import swarm.activity.ActionGroupImpl;
0 c, H6 W9 U4 e8 a' s% g* w0 ximport swarm.collections.ListImpl;+ ?+ Q9 h; T2 a% z
import swarm.defobj.Zone;
7 b) ~& }6 B, S  a0 f% k' e  H5 kimport swarm.Globals;
& z) ^, F; v$ i0 Himport swarm.Selector;
/ J! e. ^; T: D# Simport swarm.activity.ActionGroup; - B& Q4 F- B- w
class Agent {  u: G+ F4 H" v
        char id;
1 Z& ^( ?7 l3 q' }* `1 r; _
" N! l# r( {$ E# D# @! D+ O        Agent(char id) {
/ b8 G2 K9 H! C- Y                this.id = id;3 _( x4 i. T% y1 m2 @  }4 L& P
        }' a- [7 F9 b4 f: R
- m9 D, G, u% y8 j0 ~' ], {
        public void agentStep() {5 F& A2 Z: v7 @  y. n3 L
                System.out.println(id + ":" + Globals.env.getCurrentTime());& F5 R% Q% `  M$ D+ S# Z8 Q
        }
- Z/ b9 u6 `8 v$ }1 @/ {' Y}  W0 K4 p" Z5 D# k/ c

0 {7 K; ]0 e5 ~; \. e2 ]5 zpublic class ActionGroupDemo extends SwarmImpl {
- w; d/ [4 |/ v2 p        ScheduleImpl schedule;: \' h4 c3 j3 g# p
        ActionGroupImpl actionGroup;
1 V8 X7 k8 P4 m: p) z        ListImpl list;6 a! T( r' B' a3 [
        char Id = 'a';2 j" i/ c- u: I7 N6 ?! G

/ i0 @! a+ b: v: v, h' G. V        ActionGroupDemo(Zone aZone) {$ s& t# ]) n  l$ g* o% P9 ^
                super(aZone);! j9 e  l3 r) q. g/ T# x$ S
                list = new ListImpl(aZone);
) |" W; g- S3 |9 V( Z3 q: ^7 K                swarmSetp();$ q# q8 e& f' P0 |! M4 f3 D7 ~
                actionGroup = new ActionGroupImpl(aZone);- _- F; v% A7 V) |
                schedule = new ScheduleImpl(aZone);
+ H; a* n+ M9 ^' j% s                try {
3 B. \4 b1 k5 b  y) k                        Selector agentSel = new Selector(Agent.class, "agentStep", false);1 {: |$ l% d- E$ C9 G! `. ]( B
                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
) n% I* c( `5 T+ M: g; G% d  }                        
$ l: _" h: U6 B' d                        actionGroup.createActionForEach$message(list, agentSel);" t+ y2 F9 t9 h3 c* [, X4 l# b4 [
                        actionGroup.createActionTo$message(this, swarmSel);
. X$ z1 z' |1 g                        schedule.at$createAction(0, actionGroup);
* r% v: ]$ B+ Q( ]$ ], K: L( A                        schedule.at$createAction(1, actionGroup);- W; F( A+ O. k) |+ E. \7 V
                        schedule.at$createAction(2, actionGroup);
/ Q% Z: w; \6 ~9 R( L1 L6 j& W1 I) y& C5 |
                } catch (Exception e) {
' r: Z* T0 O1 Z/ J6 R+ v                        e.printStackTrace(System.err);
* A4 \) V: g8 S5 p0 r2 r- y                        //System.out.println(e);& E, w9 O, C8 h4 N- {! l
                        System.exit(1);! T* Y. Z6 d6 m" }7 ?( g
                }- F9 ]8 D4 d" b+ N+ c8 F
% Q3 [1 u* d3 n! ]# V0 R- Y% i
9 J$ C7 |* l1 y  w
        }
" p# Q6 g: f9 L9 ~8 _  ~
. e8 V* h  d% K) z        private void swarmSetp() {, n* j5 I+ E8 P" x
                list.addLast(new Agent(Id));
/ b4 q! j; c4 \. v7 D% b                Id++;& M1 Q8 ]- ~/ @, D' X4 ]0 X
        }! ~; t8 N0 N' Q- K5 L+ ^3 N8 B$ Q

4 j; L2 z$ z* y" K/ g3 F        public Activity activateIn(Swarm context) {
6 b  L* f- F  Y5 ^                super.activateIn(context);
, w0 J+ |) ^& M' A& {                schedule.activateIn(this);
! b6 f% X% R5 y2 j  s3 I* Y% ~& g                return getActivity();3 Y! `. v0 G! a4 h0 _) Z. Z8 P* m5 p
        }
& M0 [% r0 M& x
7 S& U& {  v* ^( p        public static void main(String[] args) {% E3 Q5 S* Y% j4 o6 ^0 i+ X* l1 n
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);
5 U; s, F: S; \/ n                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);) ]9 m% _% s) ^2 M
                swarms.buildObjects();
- h$ n+ ^% Y* c& ?( {" P4 G                swarms.buildActions();
' F2 y; z& Q  a9 c: r6 e* S4 _. H  v                swarms.activateIn(null).run();
$ P( o0 X; {- N; t$ s/ j1 Q1 c( x" L4 d  v        }
  Z  A+ Q& u  U( C. M* F% f6 V3 I( n: C# [( H5 S/ Q2 G
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-22 04:27 , Processed in 0.015578 second(s), 15 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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