April 6, 2007

Real time Java Requirements
- Mike Elliott

Abstract

The concept of multiply threaded real-time software has traditionally been most commonly found in communications, embedded systems and process control - and those industries took care of training their practitioners in the aspects of the use of multiple threads in an application and the need to react to events in real-time. Increasingly, however, the need for multiply threaded and real-time software is becoming more and more pervasive. Indeed, the entire web-based business model relies on multiply threaded applications reacting in real-time to customer requests and financial applications are making buy/sell decisions with millisecond response requirements.

Although there have been computer programming languages in existence for decades which supported multiple threads of execution - Ada and Modula-3 in particular - as well as addressing real time considerations, none have really made a significant impact on common industry practice. One side effect of this is to make each project which requires multiple threads to use whatever threading and synchronization primitives are available from the underlying operating system. This leads to fragmentation in the methods used to implement threading and difficulty in reusing software in disparate environments.

All this may be in the process of changing with the increasing popularity of the Java programming language. Java provides synchronization primitives within the language itself and is designed from the outset to cleanly support multiply threaded applications. In 2006 JSR 1, the real-time specification for Java, was adopted and multiple vendors now make real-time Java development and runtime environments for use in customer's applications.

If indeed Java's promise of providing a single, consistent, portable method for creating multi-threaded and real-time software comes to fruition it will bring about a greatly increased base of trained software professionals who feel at home in this world and greatly increase the use of these techniques. It is therefore prudent that system architects and managers, those stakeholders who make initial requirements, be aware of the impact of these new techniques. This presentation will explore the details of the real-time specification for Java, how it works and what has to be done by the individual practitioners to exploit these powerful (but not all that new) concepts.

Your Presenter: Mike Elliott began working with Java while at Sun Microsystems where he was initially involved in the porting of the Java Virtual machine to various embedded microprocessors. His work at Sun Microsystems soon grew to include the engineering involved in the use of Java in customers' embedded computer systems with real-time requirements.

Mike is a long time practitioner of object-oriented programming starting with C++ but quickly moving on to Modula-3, Eiffel, Python and, especially, Java. He has utilized this experience in both management and engineering, having held positions in industry ranging from embedded systems programmer to Principal Engineer to Manager of Operations Software.

Mike has extensive experience in the teaching of programming and software engineering in industry and at the college and university level. He has been an invited speaker, presented papers, classes and tutorials at TOOLS Europe, The Embedded Systems Conference, The JDJ Edge Conference, The Coast Open-Source Software Techniques Conference, the Unix Users Association of Southern California and the Boeing Software Conference.

If you wish to receive email flyers of future meetings please send a blank email, with a subject line of "subscribe" to: spin@uces.csulb.edu

Logistics

Location:Northrop Grumman E2 Presentation Center (in tall building off of Entrance 2), Redondo Beach, CA (formerly TRW) - 2299 Marine Ave., Redondo Beach, CA 90278
Directions: Take the 405 Inglewood exit (southbound it's the exit after Rosecrans East, northbound it's the exit just after Hawthorne) and go north on Inglewood Avenue (southbound, turn left at the end of the ramp, northbound, turn right). Turn left at Marine. Continue West under the freeway past the railroad tracks three lights to Simon Ramo Drive. E2 is on the tall white building to the LEFT, past the shorter presentation building. (See page 733 A5 of the Thomas Brothers Guide.)
Time: 9 a.m. - 12:00 noon
Admission: Free

SoCal SPIN is sponsored by:

Northrop Grumman Information Technology logo and link to home page

and co-sponsored by:

University College and Extension Services logo and link to home page