Wednesday
Thursday


Coors Field
Chair: Peter Kriens
Ericsson Application Research
oopsla_demos@acm.org

The proof of the value of OOPSLA can be found in the demonstrations. This year we have 23 groups that prove beyond doubt that object oriented technology is alive and kicking. We have demonstrations ranging from the exciting JINI technology to Smalltalk on the PalmPilot.

This year we have asked (offered?) the demonstrators to request as much feedback from the audience as possible. OOPSLA demonstrations are not smooth running acts with the purpose to sell. OOPSLA demonstrations are intended to be useful for the audience to see innards of state of the art applications. Demonstrations are also valuable for the demonstrators to get feedback on the used technology.

Demonstrations are given during the exhibition hours on Wednesday and Thursday. Due to the large number of demonstrations this year we will have three demonstrations going on simultaneously. Each demonstration will be given twice, once on Wednesday and once on Thursday. Demonstration rooms can be found in the exhibits hall. Come and see what the future might bring.

Wednesday & Thursday 10:15am-11:00am
1 Collaborative White board Software Design over the Internet
Colorado Convention Center - Exhibit Hall Room 1
Greg Schottland and Cameron Skinner
Advanced Software Technologies

A display of unique collaboration technology that allows any number of software developers to work in a "collaborative white board" design at once. Users may be connected over the Internet or a normal network. The important technology displayed includes distributed white boards, real-time software design collaboration and management and associated locking issues and technology.

2 Pocket Smalltalk, a Demo
Colorado Convention Center - Exhibit Hall Room 2
Eric Arseneau and Andrew Brault,
Pocket Smalltalk Group/Applied Thought
A demonstration of Open Source Smalltalk on Palm Computing Platform devices. Several applications will be shown on the Palm Pilot that have been built. One of the applications is an Integrated Development Environment (IDE). This IDE allows the creation of Pocket Smalltalk applications in itself as well as creating Pocket Smalltalk applications from within other Smalltalk dialects.

3 OSGi Residential Gateway
Colorado Convention Center - Exhibit Hall Room 3
Ulrich Gall
Sun Microsystems
The residential gateway is a rapidly becoming the next computer platform. The Open Service Gateway Initiative (OSGI) has defined a standard API for this type of gateways. Hardware devices connected to the service gateway can be accessed through Java interfaces. Control software containing interaction semantics between these devices can be deployed dynamically on the gateway. The gateway controls the life cycle of this dynamically downloaded code. Interoperability with various device networking standards through object oriented APIs will be demonstrated.

Wednesday & Thursday 11:00am-11:45am
4 Practical Experience with an Application Extractor for Java
Colorado Convention Center - Exhibit Hall Room 1
Peter F. Sweeney
IBM Thomas J. Watson Research Center
Java programs are routinely transmitted over low bandwidth network connections as compressed class file archives (i.e., zip files and jar files). Since archive size is directly proportional to download time, it is desirable for applications to be as small as possible. The Java Application eXtractor (JAX) can be used to reduce the final size of Java programs. JAX can perform program transformations such as removal of dead methods and fields, inlining of method calls, and simplification of the class hierarchy. This demonstration will show how a user can control JAX's functionality, and then show its effectiveness in reducing the size of some real Java Programs.

5 Hyper/JTM: Multi-Dimensional Separation of Concerns for Java?
Colorado Convention Center - Exhibit Hall Room 2
Harold Ossher and Peri Tarr
IBM Thomas J. Watson Research Center
Hyper/J is a visual compositor tool that supports identification, encapsulation and integration of concerns in Java? software. Concerns are units of interest to developers that are not necessarily units of code; e.g, classes, features, aspects, units of change, and configurations. Java provides separation according to only one kind of concern: classes. Hyper/J permits the separation and flexible integration of any concerns, while still using standard Java. In so doing, it also supports system composition and integration, non-invasive evolution and adaptation, and non-invasive, on-demand remodularization. Hyper/J operates on class files, and is independent of any particular Java compiler or environment.

6 High Performance Numerical Computing in Java
Colorado Convention Center - Exhibit Hall Room 3
Jose E. Moreira
IBM T. J. Watson Research Center
This demo will illustrate the importance of library and compiler codesign for optimizing the performance of Java numerical applications. The base of the demonstration is an Array package, a Java class library for multidimensional arrays. This Array package supports extensive manipulation of multidimensional arrays and can be used to write both regular and irregular numerical code. Special optimization techniques were developed in a research prototype compiler to speed up the usage of the Array package. The library/compiler combination allows the development of 100% Java code that achieves up to 90% of the speed of highly optimized Fortran code.

Wednesday & Thursday 11:45am -12:30pm
7 Dynamic Application Assembly Distribution and Adaptation
Colorado Convention Center - Exhibit Hall Room 1
Darren Govoni
Metadapt Design Systems, Inc.
MetaBuilder is a next generation distributed component and application builder. It allows for the dynamic loading and registry of many kinds of distributed objects and JavaBeans. Once objects are loaded into MetaBuilder, they are introspected and can be connected into working applications. Dynamic adapter generation allows different components to communicate. Furthermore, objects can be transparently moved across a network while they are running and formed into distributed applications and systems without any specific coding; and at a later time can be acquired, reconfigured and relocated on-the-fly.

8 Toad - An Environment for Understanding and Optimizing Java Applications
Colorado Convention Center - Exhibit Hall Room 2
Matt Greenwood
IBM
One of the major areas of activity in Java is the attempt to speed-up and slim-down Java applications. The Toad environment has been developed as an umbrella framework for a set of tools that monitor, understand and optimize Java applications. Each tool in itself is useful, but their interaction under the Toad framework allows the whole to be far greater than the sum of the parts. The Toad environment, through its static and dynamic analysis mechanisms, may serve as a key component in optimizing distributed applications. Some tools available today: Jackie, a class file integrated editor, Jan, a tool for static analysis, and MonGUIse, a tool for monitoring and managing distributed Java applications.

9 JWARS - The Joint Warfare System
Colorado Convention Center - Exhibit Hall Room 3
Donald MacQueen
JWARS
The Joint Warfare System (JWARS) is a Department of Defense simulation of modern warfare being developed in Visual Age Smalltalk. The purpose is not only to model new weapons, but also to provide decision making, logistics, weather, mobility, and the collection and dissemination of information from sensors. It uses a Global Coordinate System to model a round earth and to access global terrain databases.
Objects on the battlefield are called BattleSpace Entities (BSEs). BSEs are composed using a black box framework that allows JWARS to model both existing and future weapon configurations. Argonne National Labs wrote the GeoViewer 2D-display manager package in Smalltalk. JWARS will be demonstrating a scenario depicting the irredentist Army of the South attempting to take Washington, DC.

Wednesday & Thursday 1:30pm-2:15pm
10 Sun JINI
Colorado Convention Center - Exhibit Hall Room 1
Sun Microsystems Inc.
Jini is an enabling technology that has the potential to change the computing landscape. Jini allows discovery and using of devices on the network without prior installation of software. The software needed to communicate with the device is loaded from that device. Devices on the network register a Java object at registries. These can subsequently be discovered by clients that wants to use these devices. Combined with Jini is support for transactions and JavaSpace: a unique network storage and communication model. Jini is written in Java and leverages many of the Java features: Type safe, RMI, IP connectivity, Activation.

11 Objectspace Voyager
Colorado Convention Center - Exhibit Hall Room 2
Objectspace Inc.
Voyager ORB is a high-performance, full-featured object request broker that simultaneously supports CORBA and RMI. Its innovative dynamic proxy generation takes ease of use to the next level by removing the need for stub generators, making it very easy to deploy. Voyager ORB includes a universal naming service, universal directory, activation framework, publish-subscribe, and mobile agent technology.

12 Oracle Application Server
Colorado Convention Center - Exhibit Hall Room 3
Thomas Kurian
Oracle

Wednesday & Thursday 2:15pm-3:00pm
13 Supporting Object Mobility - from Thread Migration to Dynamic Load Balancing
Colorado Convention Center - Exhibit Hall Room 1
Eddy Truyen, Frank Matthijs, Wouter Joosen, Bart Vanhaute, Bert Robben, and Romain Slootmaekers,
Distrinet Computer Science Department Katholieke Universiteit Leuven
Mobile objects create new opportunities to reduce traffic, overcome latency and construct more robust and fault tolerant programs. The Correlate prototype system provides support for these systems. Mobility is tackled on three different levels:

    1. An execution environment supporting the basic mechanisms for object mobility using pure Java. Provided is support for thread mobility, message routing, serialization, etc.

    2. A wide range of algorithms are then offered, for example dynamic load balancing. These algorithms are completely separated from the application's functional behavior using a specific designed meta-object protocol.

    3. Distribution policies can be defined. These policies can range from completely application independent to very application specific, as they are able to express an application's specific characteristics with respect to mobility and distribution.

14 Jun for Java, an Open Source 3D Library for Topology and Geometry
Colorado Convention Center - Exhibit Hall Room 2
Yoshikazu Hayashi
Software Research Associates Inc.
Computing platforms are becoming powerful enough to provide intricate visualizations of complex data, but programming these representations is very time-consuming and tedious due to the mathematics involved. Jun is a library for developing 3D graphics applications provided as Open Source Software at no cost. It is a carefully crafted object oriented library and based on 400 classes (Java and Smalltalk versions are available). It helps programmers, application designers, and systems architects to build complex 3D visualizations by providing higher level building blocks and many examples.

15 Jinsight: Using Information Exploration Techniques to Analyze Java Behavior
Colorado Convention Center - Exhibit Hall Room 3
Gary Sevitsky
IBM T. J. Watson Research Center
A demonstration of ongoing research work on Jinsight, showing how various information exploration techniques can be used to analyze Java program behavior. The demo shows how database queries and multidimensional reporting techniques, along with Jinsight's existing visualization and pattern extraction features can be used to diagnose performance and memory problems. It also shows some techniques that are helpful in the analysis of data intensive applications.

Wednesday & Thursday 3:00pm-3:45pm
16 Coast in Action: A Fast Way to Build Collaborative Applications
Colorado Convention Center - Exhibit Hall Room 1
Jan Schummer and Christian Schuckmann
GMD-IPSI
Till Schummer
Darmstadt University of Technology
Developing synchronous co-operative groupware applications where multiple users jointly manipulate a common set of data elements is challenging. Technical problems arise from concurrency control and state synchronization, maintenance of consistency between local views and shared state, and multiple cooperation modes. The COAST framework implemented in VisualWorks Smalltalk solves these problems and significantly reduces groupware development effort. The framework assists developers in defining the shared domain model, modeling users and their work, and building co-operative user interfaces. COAST applications benefit from transparent object replication, transaction processing, and automatic view updating. The demonstration will show how to build a simple COAST application.

17 Smalllint
Colorado Convention Center - Exhibit Hall Room 2
Don Roberts and John Brant
The Refactory, Inc.
Smalllint is a tool to detect or 60 hard-to-find bugs and style errors in Smalltalk code. For instance, it can detect situations when the standard do: iterator was used instead of a more specific one such as select: or collect:. This tool helps developers achieve a consistent style as well as instruct newer developers in some of the standard idioms. The tool has been developed for Smalltalk, but the implementation technology may be applied to other languages. The core technology is used in the Refactoring Browser and in the Synchrony Migration Tool.

18 eBusiness Smart Components - EJB Techniques and Patterns
Colorado Convention Center - Exhibit Hall Room 3
William Lee, Charles Paclat, and Ravi Sompalli
The Theory Center
eBusiness Smart Components is a family of server-side Enterprise JavaBeans (EJB) components for building eBusiness applications. With the advent of EJB components, it is now possible to assemble applications from pre-built business components. The demonstration discusses how UML modeling is combined with advanced distributed object technologies to build truly reusable software components. The discussion explores techniques of using component inheritance in EJB, proxy pattern on top of EJB Handle, pass-by-value objects in EJB, strategy and chain of responsibility patterns for managing property hierarchy, and techniques for mapping UML to EJB. Appropriate real world case studies will be presented.

Wednesday & Thursday 3:45pm-4:30pm
19 MUM - A Multi-universe Virtual Environment
Colorado Convention Center - Exhibit Hall Room 1
Ivan Tomek and Ms. Min Wu
Jodrey School of Computer Science, Acadia University
The concept of a networked Virtual Environment emulating selected features of the physical world has been known and popular at least since the late 1970's when the first game oriented MUD (Multi-User Dungeons) was developed. Lately, there has been a lot of interest in using VEs in collaborative work, particularly by geographically dispersed teams. MUM (Multi-Universe MOO) is a virtual environment based on MOO (MUD object oriented) concepts. Unlike existing implementations, it places heavy emphasis on the client, uses an event driven model, and allows its users to create an arbitrary number of interconnected universes. The programming language of MUM is Smalltalk, which allows easy run-time extensions of the environment.

20 The Refactoring Browser
Colorado Convention Center - Exhibit Hall Room 2
Don Roberts and John Brant
The Refactory, Inc.
The Refactoring Browser is a freely available reimplementation of the standard Smalltalk system browser that adds several refactorings to standard operations provided by the browser. The refactorings that are implemented are fast and safe and have been used successfully on several commercial software projects. The refactorings range from mundane operations such as adding classes and instance variables, to the complex such as extracting a portion of a method into a new method, or moving a method from one class to another through either an argument or an instance variable. Refactoring can go as far as renaming Object.

Wednesday & Thursday 4:30pm-5:15pm
21 Tukan - A Team Environment for Software Implementation
Colorado Convention Center - Exhibit Hall Room 1
Till Schummer and Jan Schummer,
GMD-IPSI, Darmstadt University of Technology
TUKAN is an enhancement of the VisualWorks/ENVY Smalltalk programming environment that continuously monitors programmer's actions and detects if more than one programmer works on the same part of the system. By carefully signaling possible conflicts, TUKAN initiates a smooth transition from single-user mode towards tightly coupled cooperation. Thus, developers are encouraged to work in on-demand formed teams corresponding to their current focus. The demonstration will show the synchronous parts of collaborative software development in TUKAN, including loosely and tightly coupled sessions. TUKAN was implemented using the COAST framework for synchronous groupware.

22 A Web-based Information System in Java
Colorado Convention Center - Exhibit Hall Room 2
Kurt Derr, Greg Corbett, Dan Kurkowski, Allen Lundeen, and Kyle Oswald
Lockheed Martin Idaho Technologies
The Analysis and Visualization System (AVS) is a Web-based information system for viewing, analyzing, and modifying information related to the life-cycle management of waste and contaminated media in the Department of Energy (DOE) complex. AVS consists of system administration, security, data maintenance, 2D map drawing, and report generation functions. The information in AVS is accessible to registered users through a Netscape browser and the server side is based on the Smalltalk GemStone application server.Graphical diagrams depicting the disposition path of waste through the DOE complex are dynamically generated from the object application server.

23 Components in Mainstream Programming
Colorado Convention Center - Exhibit Hall Room 3
Bina Ramamurth and Joseph Toney
University at Buffalo
Component based software development is gaining ground at a real fast pace. Components emphasize the key software engineering concepts of code reusability and portability. A component is a collection of related classes bundled together to form a part of a software system. commonly referred to as container. It offers its container the ability to introspect its behavior, to modify its properties, and to interact with other components that may be present in the container. A component may be as simple as a button to as complex as a real-time process controller. Objective of this demonstration is to present components from the user as well as the designer perspective. A series of components in various application domains and of varying complexity will be demonstrated. Java beans as well as Active-X components and the interaction among them will be illustrated.

Return To Final Program

 OOPSLA'98 Home