beautypg.com

Java se – Google 2007 JavaOne Advance Conference Guide User Manual

Page 21

background image

java.sun.com/javaone |

technical sessions | track two : java SE

|

|

19

Java SE

TS-1130 JFugue: Making Music with Java MIdI and Illustrating

API usability

David Koelle, Charles River Analytics Inc.
Geertjan Wielenga, Sun Microsystems, Inc.

Are you interested in creating Java technology-based programs that play
or create music but you’re intimidated by MIDI programming? JFugue is
an open source API that lets you program music with just one line of code.
And if you’re intrigued by how an API can be that easy and still be useful,
attend this presentation, which uses JFugue to illustrate some principles
of API usability.

The session first takes a look at JFugue: why it exists, what it can do, and
how it simplifies a fun task that would otherwise require much more
investment of time, knowledge, and energy. It also digs deeper into
the library to see some of the really cool stuff JFugue can do: how it can
transform phrases of music, connect to external devices, and be easily
integrated with your own programs.

It then uses JFugue to illustrate examples of what it takes to make a
usable API. Sometimes the complexity of an API can be a barrier to its
adoption, which can easily discourage people from using your library.
The presentation shows how some of the key principles of API usability
have been applied to JFugue and how these can be applied to your own
work as well.

The session concludes with a demonstration of how easy it can be to
create a Swing client-side application that serves as a graphical front end
to JFugue, enabling users to craft music directly in their own application.

TS-1519 All About Java Technology-Based robotics

Paul Perrone, Perrone Robotics, Inc.

This session describes why Java technology is ideal for emerging mobile
robotics applications as well as for more-mature industrial robotics and
automation applications. It describes the speaker’s experiences and
concrete examples of employing Java technology in robots of all shapes
and sizes and covers use of Java SE, Java ME, Java Real-Time System (Java
RTS), and Project Sun SPOT technologies for a wide variety of robotics
applications. It includes descriptions and example code for rat- and
cat-size applications that range from hobbyist examples for developers
to get their hands on, to real-world commercial examples. And it also
presents grander, more elephant-size applications, such as the speaker’s
experiences with an autonomous dune buggy, Tommy, for the 2005 DARPA
Grand Challenge, and Tommy Junior, an autonomous Scion xB, being built
for the 2007 DARPA Urban Challenge.

The session also presents experiences and examples with unmanned
air vehicles, industrial robotics, and automation applications. It
is intended to leave attendees with a sense of the broad range of
applications along with concrete examples and code samples for use of
Java technology in emerging mobile robotics applications and mature
industrial automation applications.

TS-1990 Exploring the deep with SoNIA

Martin Morissette, SONIA AUV team
Félix Pageau, SONIA AUV team

SONIA, an autonomous underwater vehicle (AUV), has proven that Java
technology is a technology of choice for modern robotics applications.
A team composed of volunteer engineering students from École de
Technologie Supérieure (ETS) has successfully demonstrated the power,
versatility, and portability of Java technology by building AUVs that
continuously rank among the three best in the world.

Each year more than 20 teams from the United States, Canada, Japan,
and India compete at the International AUV Competition, hosted by
the Association for Unmanned Vehicle Systems International (AUVSI)
and the U.S. Office of Naval Research (ONR), in which each team has
to demonstrate its vehicle’s intelligence by successfully completing
an underwater mission. The mission usually consists of robotic vision,
acoustic navigation, and vehicle control tasks.

This session presents how the switch to Java technology enabled SONIA
to become a winning platform. It delves into the methodologies used to
achieve high productivity within a part-time volunteer organization and
provides details on its

• Flexible architecture for data gathering, fusion, and decision systems
• Simulator using Java 3D™ API
• Telemetric interface managed by Java Management Extensions (JMX)
• Swing-based vision client to modify robotic vision parameters and

algorithms on the fly

• Visual AI editor tool powered by JGraph

TS-2007 Improving Software Quality with Static Analysis

William Pugh, Univ. of Maryland

Static analysis tools can examine your code without executing it and
find code quality problems you’ll want to pay attention to. These tools
have moved far beyond lint and complaining about not using curly
braces in your if statements. They can find things such as statements
that are guaranteed to dereference a null pointer if executed, methods
that do nothing but invoke themselves again and again in an infinite
recursive loop, SqL injection, and many other serious programming
faults. Some of the faults these tools find in production software are
straightforward; others are programming-puzzler-worthy. In fact, many
of Joshua Bloch and Neal Gafter’s programming puzzlers can be detected
by static analysis, including a puzzler bug Bloch and Gafter inadvertently
introduced into one of the solutions provided in their book.

This session discusses primarily FindBugs, an open source tool for finding
defects in Java technology-based programs. It covers the kinds of errors
it finds and gives examples of bugs found by FindBugs in production
software. Generally, FindBugs finds a serious issue every several thousand
lines of code. FindBugs reports more than 450 serious correctness
warnings in Sun’s JDK™ software, and the speakers’ own auditing and
experience have shown that the substantial majority of those warnings
correspond to coding defects that should be fixed.

The presentation also discusses how to integrate static analysis into
your development process, including issues such as false-positive
suppression; rule filtering; auditing; and differential analysis, such as
getting a report of just the warnings that have been introduced since
the last release to customers.

TS-1130 JFugue: Making Music with Java MIDI and Illustrating API Usability

TS-1519 All About Java Technology-Based Robotics

TS-1990 Exploring the Deep with SONIA

TS-2007 Improving Software Quality with Static Analysis

:

track two : Java SE

cont.

>>

n

n

n

n

n

n

n

n

n

Te

ch

n

ic

al

S

es

sio

n

s

:

Tr

ac

k 2

|

J

av

a

SE

Conference overview

Javaone

Pavilion

Conference-at-a-Glance

After dark Events

Java university

Hands-on Labs Program

Home

registration

Special Programs

Technical Sessions

BoF Sessions

Java Technology

Business day

CLICK HErE

to view real-time session information and updates.