设为首页收藏本站

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

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12854|回复: 1

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

  [复制链接]
发表于 2010-11-11 10:28:14 | 显示全部楼层 |阅读模式
本帖最后由 generate2000 于 2010-11-11 10:46 编辑 $ x! r  m3 ~: X

) I/ t( G. O, B  W! c本人swarm菜鸟,有个问题请教下下.swarm2.2,jdk1.6update215 Z, P, V  @. w, _/ d
以下是actiongroupdemo程序,在执行时出现以下错误.请各位高手帮忙解决一下,不胜感激.' Z$ R" N+ j+ C
swarm.SignatureNotFoundException7 {1 B: f* h3 i+ `* _
        at swarm.Selector.<init>(Selector.java:76)2 A1 ?, r$ l" C+ w* Q% E
        at ActionGroupDemo.<init>(ActionGroupDemo.java:37); y1 s! p& h; k5 t8 }, {. ^* Q
        at ActionGroupDemo.main(ActionGroupDemo.java:67)& X1 ~$ y) o) v' t. k% X  F

# Z( B1 O$ z4 H9 r2 _# n$ `( T) V( m; r% r9 c* l
import swarm.objectbase.SwarmImpl;1 V9 m+ ?% J/ d" D/ S! t. b
import swarm.objectbase.Swarm;3 {7 `8 H0 w- w* J; ?
import swarm.activity.ScheduleImpl;
- ^# j( C7 X7 }1 _. W2 w7 oimport swarm.activity.Activity;: d7 n& O( b* g) ^, N
import swarm.activity.ActionGroupImpl;7 G" @" y) E( R& k1 u; a+ Y, a/ }
import swarm.collections.ListImpl;
1 T6 g# s1 Z% V, u& Aimport swarm.defobj.Zone;
3 R1 U! m- |$ K* N* b% h5 qimport swarm.Globals;
/ K; Z. z# U: v* E& w: Oimport swarm.Selector;
6 @* |9 q0 \% c. C5 V$ b9 k7 Q# aimport swarm.activity.ActionGroup; ! q( J0 d4 z1 ^' G
class Agent {; Z# l* U, J" @) p
        char id;
" \2 J9 `% A3 C  m
3 O% ~* _: L2 I* A1 y/ }        Agent(char id) {" L) |( j( w+ p' T1 |! O) }: v! K
                this.id = id;5 ]5 m. V5 u. W( U1 s
        }
( g* H& U. `, k& y
6 {% i) t; F- e2 a# ?3 X2 u* O1 U        public void agentStep() {" ~! c6 D3 o! d/ y
                System.out.println(id + ":" + Globals.env.getCurrentTime());
  K3 r: W6 ~; f6 U7 [        }6 x% _3 p2 n0 [) m; t
}
4 F9 A4 t5 B- R9 ?+ a; X9 T4 F+ }; `1 J
public class ActionGroupDemo extends SwarmImpl {
3 E8 `3 [- r, r1 e1 ]        ScheduleImpl schedule;3 k2 `; F* d/ O& r8 Y
        ActionGroupImpl actionGroup;# h3 u* c, v: O- P9 W
        ListImpl list;" {3 x/ h  d% q! V- \6 h5 }
        char Id = 'a';
7 `' d9 c5 G- j$ a! z9 c9 G6 R1 `& ]3 G8 K
        ActionGroupDemo(Zone aZone) {/ o, m7 ?* X9 \; _2 v
                super(aZone);
& b/ ?# }  F! @  V; d                list = new ListImpl(aZone);" D8 k3 c+ f  ]6 a6 p- [8 P! r
                swarmSetp();
, K9 Q& r" i5 J                actionGroup = new ActionGroupImpl(aZone);- a" j. _4 B8 Y5 ?  |. g
                schedule = new ScheduleImpl(aZone);
3 f+ p/ q! `6 B" L' X1 x8 N                try {7 P' _) Z' `$ l4 L
                        Selector agentSel = new Selector(Agent.class, "agentStep", false);
, E. Y  T( k/ D8 `: U) s                        Selector swarmSel = new Selector(ActionGroupDemo.class,"swarmSetp", false);//问题就出现在这一行
) U6 o* C; U+ Y7 q                        1 G. b" e, d% o% b& [* q# S, M" u
                        actionGroup.createActionForEach$message(list, agentSel);8 e% p. s# X. w
                        actionGroup.createActionTo$message(this, swarmSel);' g  a2 O& \' }+ Q  X" O0 {" U$ F
                        schedule.at$createAction(0, actionGroup);
5 y, z- y" s$ ^+ I. A" L                        schedule.at$createAction(1, actionGroup);% I5 l5 b6 O  i& h
                        schedule.at$createAction(2, actionGroup);3 ^  l# J/ k+ T) t+ a/ K2 V; z
# H- `5 L9 _2 X3 e3 r4 g
                } catch (Exception e) {( ^' L7 o8 z; c- r' M# d+ \3 G1 ~
                        e.printStackTrace(System.err);7 ^- z5 Z- Q+ |1 x, a2 o
                        //System.out.println(e);& L  e, s+ a% e
                        System.exit(1);
7 A6 q& @' {* B7 E                }
  F  Y! Q$ o+ H4 ]! J
* w2 u8 X' m: I: T2 U
8 u0 c% g9 m: o1 O1 ^$ n/ V        }
+ r% d+ c! ?+ y9 K
. Q2 O$ p2 o& B        private void swarmSetp() {
' S. T: I; ^) n9 O                list.addLast(new Agent(Id));
2 }, H/ Q; }# g' f2 |5 Y- Z4 N0 L                Id++;5 r: Q; u: E) }8 z
        }7 Q2 t3 v8 f" K

7 _4 v( n/ d* x        public Activity activateIn(Swarm context) {0 O- H, i' g0 b8 K8 c6 J' O
                super.activateIn(context);8 {, B" r4 K0 u3 S; h% G2 V% Z
                schedule.activateIn(this);( |' r3 K; A0 g/ S# o/ ^; W; [. h1 n9 m
                return getActivity();* z( ]0 h4 G( U0 X, h
        }9 g6 [& C+ B" ?3 Q

4 z5 |$ Q; K8 I+ F        public static void main(String[] args) {+ a& j2 K) t2 ?& d+ S! J
                Globals.env.initSwarm("ActionGroupdemo", "1.1", "s@s", args);& L" Q$ S# b* X& W$ i# ?) z( c
                Swarm swarms = new ActionGroupDemo(Globals.env.globalZone);
3 ?6 R) C  \0 Y" v9 A                swarms.buildObjects();
! k3 l% M8 J" k; y) b6 I% Z                swarms.buildActions();
) x3 {$ a" }5 C                swarms.activateIn(null).run();
" E) M# o9 F- ?        }
3 b$ w* |; W; g2 O/ V( b- y9 r; g8 |
}
发表于 2010-11-22 22:09:23 | 显示全部楼层
你的函数swarmStep 不能为private 要是public才行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-8-21 10:45 , Processed in 0.016673 second(s), 14 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

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