Title: Concurrent and Real-Time Programming in Java
1Concurrentand Real-Time Programming in Java
2Preface(????)
- ??????????????Java
- Audience
- Structure and content
- Notations and conventions
- Teaching aids
- Real-Time Systems Research at York
- Acknowledgments
3??????????
- ???????????????????????????????
4??????????????
???????
????????????
5Java???
1994? ?????????Java??
6???????(community)
- (1)?????????????????????????????????????????????
- (2)???????????????(R. M. MacIver)????????????????
???????????????????????
7??????????????Java
Java??????????????????
8Java???????
??????
??????????
9????
?????
10Java?????????
??????????????????????? Java????????????
????????????? ?????????????
11??????
????????????????????????????10???
Java??(?????????)
1994
2004
1999
Java??Real-Time Specification for Java?????????
??????????????????????????????????1?
12RTSJ Real-Time Specification for Java
- ???????Java???????????(Java????????Java??????????
?????????????)
RTSJ???
(1)??????????????????????? (2)???????????????? (3)
???????????????? (4)???Java??????????????
13Real-Time Specification for Java?????????Java
????????(???2????????)
?????????????????????
??????????????????????????????????????????
14???????
Java????????????
????????
Java??????????????
??
15???????????????????????
?????????????????????? ???????????
Java??????????????????????? ????????????
??????????
16Audience(????)
17????
???????
?????(????????????)???4??
?????(????????????)?????
18?????????
???????????
??Andy Wellings
19????
?????????
Java????????????????????
????????????????????(??????????????????????)
20Structure and content(????????)
Introduction
?????3??????????
21Introduction??
????????????????(???????)
??????????????????
2226???
232?
??????????????????????? Java??????????
??35??????
243?
25???????
????
????
??A
??B
264?????
- ???3????????Java????????????????
274?????
- ???????????????????????????
- Java????????????
2856?
- Java???????????????
- 5???????????????????? ??????????????
- 6?????????????????
29Sequential Maze Search
30Concurrent Maze Search
31715???
- Real-Time Specification for Java (RTSJ)?????????
32Real-Time Specification for Java(RTSJ)
- ???????Java???????????(Java????????Java??????????
?????????????)
RTSJ???
(1)??????????????????????? (2)???????????????? (3)
???????????????? (4)???Java??????????????
337?
- ?????????
- Java???????????????????
348?
- ??????????????(???)
- ????????????????????
35101112?
- ????????
- ???????????????????
????
36????????
- ??????????????????????????????????????????????????
????????????????????????????????????
3713?
3814?
??????????????????? ?????????????????????????????
?
3915?
- Physical????raw?????????????
401618??
4116?
- ?????????????????????
- ???????RTSJ???????????
automobile cruise control system (???????????)
4217?
- ????(high-integrity)???????????????Java?RTSJ?????
? - Ravenscar-Java???
- ?????????????????????????????????(mine control
system)???
????????? ???????????????
4318?
???????????????Java?????
44Appendix
- ??????????????????????????
45???????
Real-Time Specification for Java
(RTSJ)??????1.0.1???
(Belliardi et al., 2004)
Java1.5???
????????????????????
46Notations and conventions(??????)
- Java????? ? Courier New ????
- (???????)????? ? boldface ????
- ?????????????????????
- ?????????
- ???????????
- ??????????????
- ? ????UML??
47Java?????
public enum Plane X_PLANE, Y_PLANE,
Z_PLANE public class UserInterface //
Allows the next position of the robot to be //
obtained from the operator. public int new
Setting (Plane dim) ... public class Robot
// The interface to the Robot itself.
public void move (Plane dim, int pos) ...
// Other methods, not significant here.
?p16-17??
48Java????????????
public enum Plane X_PLANE, Y_PLANE,
Z_PLANE public class UserInterface //
Allows the next position of the robot to be //
obtained from the operator. public int new
Setting (Plane dim) ... public class Robot
// The interface to the Robot itself.
public void move (Plane dim, int pos) ...
// Other methods, not significant here.
?p16-17??
49??????????????????
- ?????????????????????
- ?????????
- ???????????
50??????????????
??????????????????????
51Teaching aids(????)
http//www.cs.york.ac.uk/rts/CRTJbook.html
52Real-Time System Research at York
?? ?????(US) ????? ?? ???? ??????????
53Alan Burns
- Real-Time Systems Research Group ????
54Real-Time Systems Research Group
????
?????????????????? ?????????????????
??
??????????? ?????????????????
??????
?????????????????
http//www.cs.york.ac.uk/rts
55Acknowledgments(??)
?????????????? ???????????????
56Doug Locke
- Technical Interpretation Committee
(TIC)???????????
??????????
????????????????????????????????
57Rudy Belliardi, Greg Bollella, Ben Brosgol, Peter
Dibble, David Holmes
- TIC???????
- ????????????????????????????
- ??????????????????
- ?????e-mail????????
??e-mail????????? RTSJ ver1.0.1???????????
58?1??????????? David Holmes
???????????????
59Alan Burns
- ??????????????????????????????
- ?1????????????????
- ?????????????
60Andrew Borg, Hao Cai, Yang Chang, Erik Hu, Jagun
Kwon, Armando Aquilar-Soto, Pat Rogers, and Alex
Zerzelidis
- ?????????????????????????????????????????
61????? ???????????????? Neil Audsley, Iain
Bate, Ian Broster, Guillem Bernat, David Duke,
Steve King, Richard Paige, Paul Sammut
62??
- ???????????????????(20022003? ??? 20032004?)
- ?????????????????????????????????????????????????
?
63Gaynor Redvers-Mutton
- Wiley?(???)??
- ???????????????
64??? Sylvia Holmes
- ???????????????
- ?????????????????????????????????
- ??????????????????
65????? ? ??
- Andy Wellings (andy_at_cs.york.ac.uk)Real-Time
Systems Research Group????? ?????York, YO10
5DD, U.K.August 2004
66Introduction(????)
- Java???
- 1.1 Concurrency
- 1.2 Real-time Systems
- 1.3 Summary
67Java???
- Java?????????????
- 1991????????(??????1995?)
- ?????????????????????
1991?
68??????Java???????????????????Java?
????????????????
?????????
????????????????????????????
?????????????????????????
??????????????????
?????????
69Java?????????
1991? Java?????? ????
??
1994? Java?????? ??????????????
70?????Java?
???UNIX?????????C???????????
Java?????????????????
71Java???
- Java????(Gosling?McGilton, 1996)??Java????????????
?
72????????????????????
- ???????????????
- ???????????????????
- Java????
- ???????
- ????? C ???????
73?????
- ??????????????????????????????????????????????????
?????????????????????????????????????????????????
???????????????????
74????(??????)
75?????
??????????????
76??????????????????????
????????
????????????????????? ????????/?????
???????????? ?????????????????(?????)
77???Java?????????????
??????
78???Java Virtual Machine
79???
Just-in-time??????????????
???????????(Java??????)? ????????(????)??????
80??Just-in-time????? ?/?
??????
???
81????????
- ??????????????(????)??????????????????????????????
??????????????????????????????????????????????????
?????????????????????????????????????????????????
82Just-in-time ?????
- Java???????????????????????????????????(Java??????
)??????????????????????????????????(????????)?????
??????????????????????????????????????????????????
?????????????????????????
83??
??????????????????
????????????????????????
84???????
?????????? ?????????????
??????????????
85Thank You for Your Attention.
?? ???
?? 6?
?? ?????(???????)
?? ??? ?????????????????? ????????? ?? ?????????????