Content deleted Content added
m HTTP to HTTPS for Cornell University |
|||
(93 intermediate revisions by 54 users not shown) | |||
Line 1:
{{more footnotes|date=June 2017}}
'''Real time Java''' is a catch-all term for a combination of technologies that allows programmers to write [[Computer program|program]]s that meet the demands of [[Real time]] [[systems]] in the [[Java (programming language)|Java programming language]].▼
{{primary sources|date=June 2017}}
▲'''Real
Java's sophisticated [[memory management]], native support for [[
* Real-time Java supports a strict [[preemption (computing)|priority-based]] [[thread (computing)|threading]] model,
*
* event handling.
The initial proposal<ref>{{Cite web| title=Issues in the Design and Implementation of Real-Time Java | url=https://www.cs.cornell.edu/courses/cs614/1999sp/papers/rtji.pdf | archive-url=https://web.archive.org/web/20170809011950/http://www.cs.cornell.edu/courses/cs614/1999sp/papers/rtji.pdf | archive-date=2017-08-09}}</ref> for an open standard for real-time Java was put forth by Kelvin Nilsen, then serving as a research faculty member at Iowa State University. A follow-on overview paper was published in the ''[[Communications of the ACM]]''.<ref>{{cite journal | url=https://dl.acm.org/doi/abs/10.1145/276609.276619 | doi=10.1145/276609.276619 | title=Adding real-time capabilities to Java | date=1998 | last1=Nilsen | first1=Kelvin | journal=Communications of the ACM | volume=41 | issue=6 | pages=49–56 }}</ref> The overwhelmingly positive response to these early proposals resulted in a series of meetings hosted by the National Institute of Standards and Technology in an effort to establish an open standard for real-time Java. NIST was ultimately told that they were not the appropriate body to establish standards related to the Java language, as Java was trademarked, and the technologies were owned by Sun Microsystems. Therefore, NIST ended their efforts with publication of consensus requirements.<ref>{{cite journal | url=https://www.itl.nist.gov/div897/ctg/real-time/rtj-final-draft.pdf | title=Information Technology Laboratory | journal=NIST | date=28 April 2015 }}</ref> that could be considered by future standardization efforts to be hosted by Sun Microsystems.
▲* Because Java threads do not support priorities, Java [[Lock (software engineering)|locking]] mechanisms do not support [[priority inversion]] avoidance techniques, such as [[priority inheritance]] or the [[priority ceiling protocol]].
The RTSJ
▲To overcome these difficulties, the [[Java Community Process|Java Community]] introduced a specification for real-time Java, JSR001. As of 2006, a number of implementations of the resulting ''[[Real-time specification for Java|Real-Time Specification for Java]]'' (RTSJ) have emerged, including a [[Reference implementation (computing)|reference implementation]] from [[Timesys]], and [[Sun Microsystems]]'s Java SE Real-Time System.
▲The RTSJ addresses the critical issues by mandating a minimum specification for the threading model (and allowing other models to be plugged into the VM) and by providing for areas of [[memory]] that are not subject to garbage collection, along with threads that are not preemptable by the garbage collector.
==Real-Time Specification for Java==
The ''Real-Time Specification for Java'' (RTSJ) is a set of [[Interface (computer science)|interface]]s and behavioral
==See also==
▲*[[Javolution]] - RTSJ Compliant Java Library ([[open-source]])
==References==
{{Reflist}}
==External links==
* [https://www.cs.cornell.edu/courses/cs614/1999sp/papers/rtji.pdf Issues in the Design and Implementation of Real-Time Java]
* [https://dl.acm.org/doi/abs/10.1145/276609.276619 Adding Real-Time Capabilities to Java]
* [https://www.itl.nist.gov/div897/ctg/real-time/rtj-final-draft.pdf Requirements for Real-Time Extensions for the Java Platform]
* [http://jcp.org/en/jsr/detail?id=282 JSR-282]
* [http://www.rtsj.org/ Real-Time Specification for Java (RTSJ)]
* [http://jcp.org/en/jsr/detail?id=1 JSR-1]
* [https://web.archive.org/web/20090130041631/http://www-
* [http://www.aicas.com/jamaica.html JamaicaVM] {{Webarchive|url=https://web.archive.org/web/20120229051714/http://www.aicas.com/jamaica.html |date=2012-02-29 }} an RTSJ SE implementation with deterministic garbage collection
* [http://www.
* [http://
* [http://www.apogee.com/ Apogee real-time Java with real-time GC (discontinued)]
* [http://www.timesys.com/java/ Timesys RTSJ implementation and testing toolkit]
* [
* [http://www.cs.purdue.edu/homes/jv/JTRES05/index.html International Workshop on Java Technologies for Realtime and Embedded Systems (JTRES 2005)] {{Webarchive|url=https://web.archive.org/web/20130831081730/http://www.cs.purdue.edu/homes/jv/JTRES05/index.html |date=2013-08-31 }} [http://www-users.cs.york.ac.uk/~andy/JTRES06/ JTRES 2006] [http://www.vmars.tuwien.ac.at/jtres2007/ JTRES 2007] {{Webarchive|url=https://web.archive.org/web/20120206032740/http://www.vmars.tuwien.ac.at/jtres2007/ |date=2012-02-06 }} [http://jtres.java.sun.com/2008/ JTRES 2008] {{Webarchive|url=https://web.archive.org/web/20080628074409/http://jtres.java.sun.com/2008/ |date=2008-06-28 }} [http://pan.vmars.tuwien.ac.at/jtres2009/ JTRES 2009] {{Webarchive|url=https://web.archive.org/web/20150714214039/http://pan.vmars.tuwien.ac.at/jtres2009/ |date=2015-07-14 }} [http://d3s.mff.cuni.cz/conferences/jtres2010/ JTRES 2010] [http://www.artist-embedded.org/artist/JTRES-2011.html JTRES 2011] [http://jtres2013.atego.com/ JTRES 2012] {{Webarchive|url=https://web.archive.org/web/20131007110627/http://jtres2013.atego.com/ |date=2013-10-07 }} [http://jtres2013.atego.com/ JTRES 2013] {{Webarchive|url=https://web.archive.org/web/20131007110627/http://jtres2013.atego.com/ |date=2013-10-07 }} [http://jtres2014.compute.dtu.dk/ JTRES 2014] [http://jtres2015.univ-mlv.fr/ JTRES 2015]
* [https://git.cs.lth.se/ljrt/ljrtcompiler LJRT Lund Java based Real-Time open source]
* {{usurped|1=[https://web.archive.org/web/20110106194536/http://www.ovmj.net/ Ovm]}}
* {{usurped|1=[https://web.archive.org/web/20090714105647/http://www.fiji-systems.com/ Fiji VM real-time Java ]}}
[[Category:Java programming language]]▼
* [https://rtjava.blogspot.com/2009/07/real-time-java-vms.html Real-time Java VMs ]
▲[[Category:Java (programming language)]]
▲[[ja:Real-Time Specification for Java]]
[[Category:Real-time computing]]
|