Chair: Jay Almarode
GemStone Systems

Demonstrations provide an opportunity to describe works-in-progress, to display applications of object-oriented technology, and to share unique and interesting technical aspects of object-oriented products, tools, or systems. Demonstrations are intended to be two-way interactions between the authors presenting state-of-the-art technology, and the audience, which has the opportunity to share ideas, interact with the authors in a small scale venue, and learn techniques used in developing innovative and high quality software. This year we have demonstrations that cover a broad range from CORBA to wireless applications to graphical information systems.

Demonstration sessions last for 45 minutes. Attendance at demonstrations is on a first come, space available basis until the session capacity is reached. In perusing the schedule, please note that all demonstrations are offered twice, on different days; this should make your conference scheduling plans easier.


Schedule
Note: All Demonstrations are in the Minneapolis Convention Center

Tuesday and Wednesday 10:30 am - 12:00 noon
Session A (Demos 1 & 2) – Room 206A

Tuesday 10:30 am - 11:15 am
Wednesday 10:30 am - 11:15 am

1. AspectJ™: the Language and Support Tools
Cristina Lopes, Xerox PARC
Erik Hilsdale, Xerox PARC
Mik Kersten, Xerox PARC

    AspectJ is an aspect-oriented extension to the Java programming language that enables the clean modularization of crosscutting concerns. Using AspectJ we can encapsulate in program modules (aspects) the implementation of those design units that would otherwise be spread across the classes. This demo illustrates what the AspectJ language can do and it shows the tools that support developing programs with this language. We present an example program, and demonstrate the edit-compile-debug cycle in an IDE that supports AspectJ.


Tuesday 11:15 am – 12 noon
(LATE CHANGE:) Tuesday, 4:30 pm - 5:15 pm, Room 207A

2. Hyper/J™: Multi-Dimensional Separation of Concerns for Java
Peri Tarr, IBM T. J. Watson Research Center
Harold Ossher, IBM T. J. Watson Research Center

    This demonstration will present Hyper/J, a tool that supports Multi-Dimensional Separation of Concerns (MDSOC) for Java. Hyper/J is a visual compositor tool, which provides the ability to identify concerns, specify modules in terms of those concerns, and synthesize systems and components by integrating these modules. The tool works with any standard Java class files, as both inputs and outputs, whether or not they were developed using Hyper/J. We will demonstrate the use of this tool in several object-oriented software development and evolution activities, and indicate how MDSOC promotes flexible separation and modularization of concerns, system composition and integration (resulting in desirable properties like mix-and-match), non-invasive evolution and adaptation, and non-invasive, on-demand remodularization.


Session B (Demos 3 & 4) – Room 206B

Tuesday 10:30 am - 11:15 am
Wednesday 10:30 am - 11:15 am

3. DejaVu: Deterministic Java Replay Debugger for the Jalapeño JVM
Jong-Deok Choi, IBM T. J. Watson Research Center
Bowen Alpern, IBM T. J. Watson Research Center
Ton Ngo, IBM T. J. Watson Research Center
Manu Sridharan, MIT

    Execution behavior of Java applications can be non-deterministic, even on a uniprocessor, due to Java's multithreading. We present a debugger, built for IBM's Jalapeño JVM, that utilizes the DejaVu replay technique and Remote Reflection to faithfully reproduce the exact execution behavior that led to observed failure(s),deterministic or non-deterministic.


Tuesday 11:15 am - 12 noon
Wednesday 11:15 am - 12 noon

4. Visual Analysis Tools for Component Based Programming in VisualAge® for Java
Mila Keren, IBM Haifa Research Lab
Gil Rudge, IBM Haifa Research Lab
Yael Shaham-Gafni, IBM Haifa Research Lab
Gabi Zodik, IBM Haifa Research Lab

    The VisualAnalysis tools are integrated into the IBM VisualAge for Java environment providing the programmer with a simple-to-use tool for testing and performance analyzing applications. These tools allow the developer to produce selective tracing of an application and view the trace results in an easy-to-understand visual form. The VisualAnalysis package includes the VisualTestCoverage and the VisualPerformanceAnalysis tools; the latter is based on Jinsight tracing support.


Session C (Demos 5 & 6) – Room 207A

Tuesday 10:30 am - 11:15 am
Wednesday 10:30 am - 11:15 am

5. PetShop: a Tool for the Formal Specification of CORBA Systems
Rémi Bastide, Université Toulouse 1

    PetShop is a CASE tool dedicated to the formal behavioral specification of CORBA systems. The tool uses high-level Petri nets as its specification language, and integrates seamlessly in a CORBA distributed environment, allowing for direct interpretation of specification models.


Tuesday 11:15 am - 12 noon
Wednesday 11:15 am - 12 noon

6. Transparent and Flexible Storage of Application Objects in CORBA Environments
Dominik Kuropka, Westfälische Wilhelms-Universität Muenster
Mathias Weske, Westfälische Wilhelms-Universität Muenster

    A persistent state service for the transparent and flexible storage of objects in CORBA environments is presented. Recovery features are demonstrated by a simulated server crash. The demonstration shows how objects survive the crash, i.e., each object is restored to a consistent state. Restoring objects is performed completely transparently for the application.


Session D (Demos 7 & 8) – Room 207B

Tuesday 10:30 am - 11:15 am
Wednesday 10:30 am - 11:15 am

7. Tool-Box Frameworks - The New Challenge Beyond Black-Box And White-Box
Martin Lippert, University of Hamburg & APCON Workplace Solutions GmbH

    This demonstration will show the development of a sample application using the JWAM framework and specialized tools built on top of the framework. We show what we mean by the tool-box metaphor and how this metaphor goes beyond black-box and white-box reuse of frameworks to use them on a higher level, a design-metaphor level.


Tuesday 11:15 am - 12 noon
Wednesday 11:15 am - 12 noon

8. JWARS - Better Warfare through Objects
Donald MacQueen, JWARS

    The Joint Warfare System (JWARS) is a Department of Defense simulation of modern warfare being developed in VisualAge 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 an attempt by the irredentist First Dakota Tank Batallion to retake their ancestral homeland.

Tuesday and Wednesday 1:30 pm - 3:00 pm
Session A (Demos 9 & 10) - Room 206A

Tuesday 1:30 pm - 2:15 pm
Wednesday 1:30 pm - 2:15 pm

9. GLORP - Generic Lightweight Object-Relational Persistence
Alan Knight, Cincom Systems

    We will demonstrate the capabilities of design GLORP (Generic Lightweight Object-Relational Persistence), a simple but powerful mapping layer. GLORP is open-source (hosted on SourceForge), implemented in Smalltalk, and database-independent. It is intended not just to serve as a mapping layer, but to illustrate the principles and patterns that can be applied to this problem space.


Tuesday 2:15 pm - 3:00 pm
Wednesday 2:15 pm - 3:00 pm

10. Developing Palm™ Applications in Java using IBM's VisualAge Micro Edition
Chris Laffra, Object Technology International

    We will demonstrate the process of building Palm applications in Java using IBM's VisualAge Micro Edition product. We will demonstrate the build process, explain the execution environment on the Palm, and demonstrate how to debug a J9-Palm application using a standard Java debugger. Time permitting, we will also show some other advanced debugging and visualization techiques.


Session B (Demos 11 & 12) – Room 206B

Tuesday 1:30 pm - 2:15 pm
Wednesday 1:30 pm - 2:15 pm

11. Clinical Trial Remote Data Capture Client/Server Solution
Russel Traher, IBM

    This presentation illustrates a software/hardware solution that provides speedy but reliable and secure delivery of patient clinical trial data. A wireless data entry terminal captures patient data and performs data cleaning during data entry. The data is then uploaded to a remote database via a wireless service gateway connected to the Internet.


Tuesday 2:15 pm - 3:00 pm
Wednesday 2:15 pm - 3:00 pm

12. Wireless Applications Using C# and XML
Bob Marcus, Rogue Wave Software
Bob Powell, Rogue Wave Software
Bill Martschenko, Rogue Wave Software

    The Internet Dispatcher is next-generation middleware that enables the cross device interfacing of multiple clients (e.g., wireless) to cross enterprise back-end XML resources. The Dispatcher is one of the earliest applications to use the new Microsoft .Net architectures including C#, ASP+ and SOAP. The demo will show how diverse devices can utilize the Dispatcher in a collaborative workflow. Bring your own Web-enabled device to participate.


Session C (Demos 13 & 14) – Room 207A

Tuesday 1:30 pm - 2:15 pm
Wednesday 1:30 pm - 2:15 pm

13. Customer Context Server
Bert Barabas, miosoft Corporation
Mark van Gulik, miosoft Corporation

    The Customer Context Server (CCS) uses a set of frameworks and subsystems operating on an object database to assemble and deliver, within a second, a continuously updated Customer Context to all customer touchpoints even in extremely high volume situations. The CCS enables customer conversations to continue where they left off in a multi-vendor environment. The heart of the CCS is the scalable Update Stream Processor (USP), which performs asynchronous contention-free updates on hundreds of processors concurrently. Several of the CCS's subsystems will be demonstrated including its active modeling and mapping systems used to refine the customer-relationship object model and assemble objects from record-based input data.


Tuesday 2:15 pm - 3:00 pm
Wednesday 2:15 pm - 3:00 pm

14. FoodSmart -- a large-scale distributed object system
Bobby Woolf, GemStone Systems Inc.

    FoodSmart is an open-source, commercial grade application designed to show people how to build large, distributed object systems. In addition to the FoodSmart application, the demo will access design patterns that were developed as part of writing the application. FoodSmart was based on a 5 tier conceptual framework - presentation, application, services, domain, and persistence. The application uses 9 major technologies-JavaScript, HTML, JSP, EJB, JNDI, Persistent Cache Architecture, JDBC, and RDBMS. In addition, FoodSmart was designed to allow four architectural variants with two persistence modes (object and relational). Supporting FoodSmart are multiple design patterns that address key issues in distributed object design, such as use of a service-based architecture, short versus long transactions, object state distribution, scaling techniques, and object to relational mapping.


Session D (Demos 15 & 16) – Room 207B

Tuesday 1:30 pm - 2:15 pm
Wednesday 1:30 pm - 2:15 pm

15. Expressive Objects
Richard Pawson, Computer Sciences Corporation
Robert Matthews, Expressive Objects

    Expressive Objects is a Java-based framework for the design of business systems, in which the core business objects are exposed directly to the user, and in which all user actions are performed by invoking an action (verb) on a selected object (noun). The resulting business systems are highly expressive: they treat the user as a problem solver, rather than a process follower. And the process of analysis and design is significantly shortened because there is no translation between the traditional concept of a user interface and an underlying object model. We will demonstrate a prototype of a real, large-scale business application developed in this fashion, and then perform a live example of functional enhancement to demonstrate the short cycle time.


Tuesday 2:15 pm - 3:00 pm
Wednesday 2:15 pm - 3:00 pm

16. Modeling Behavioral Requirements with UBET
Luciano Rodriguez, Lucent Technologies

    Requirements documentation is inherently ambiguous and incomplete. If the initial specifications are not complete, precise, and comprehensible, then all other phases of development will be intrinsically flawed. This problem is addressed by the Use Case Behavior Engineering Toolset (UBET), which supports a use cases-based technique. The toolset provides a semi-formal, graphical method for capturing requirements more precisely than text-based methods. UBET models make behavioral structure and relationships explicit. UBET supports modeling with two editors: a message sequence chart editor (MSE), and a use-case graph editor (UCE). MSE is used to capture lower-level behaviors, and UCE higher-level behaviors. The two editors are closely integrated, giving the user the ability to model, modify, and traverse behavior from one level to another. In this demo, we will present the two UBET editors' main capabilities, their interaction, their interfaces to design and testing tools, and the algorithms that detect race conditions and generate state machines from message sequence charts.

Tuesday and Wednesday 3:30 pm - 5:00 pm
Session A (Demos 17 & 18) – Room 206A

Tuesday 3:30 pm - 4:15 pm
Wednesday 3:30 pm - 4:15 pm

17. Swazoo-Aida, a Smalltalk Web Application Server
Janko Mivsek

    Swazoo-Aida is a combination of Swazoo, an HTTP 1.1 web server and framework for web servers, created at Camp Smalltalk, and AIDA/Web, a Web server and framework for dynamic Web applications. The intention of our Web Application Server group at Camp Smalltalk was to combine the best work on Web servers in different Smalltalks and produce a common, open-source Web server and framework for e-commerce applications. Although Swazoo-Aida is a work in progress, it is already production-ready and offers session support with or without cookies, security (SSL is coming), active Smalltalk pages, a rich set of elements to compose Web pages, and much more. It comes with Web components such as discussion forums, search engine, and news. This demonstration will consist of an introduction to concepts and work on a small but working Web application.


Tuesday 4:15 pm - 5:00 pm
Wednesday 4:15 pm - 5:00 pm

18. Implementing NetUnify.com Using Squeak as an App Server
Stephen Pair, NetUnify.com

    NetUnify.com facilitates project hosting and collaboration over the Web. The server is based on the open-source implementation of a concept called Swiki. Swiki is short for Squeak+Wiki. The NetUnify server is written entirely in Squeak and utilizes XML for data storage and exchange. To make Squeak viable as a Webserver, we implemented a new socket interface for Squeak on the NT platform. In addition, we refactored an existing Web server for Squeak from the ground up to add flexibility in Web serving, support for HTTP 1.1 persistent connections, and robust error handling. NetUnify has a debugging console that allows any error that a user encounters to be trapped and saved for later interactive debugging. A facility we call Squeak Server Pages enables us to author HTML directly in a class browser with embedded Smalltalk statements. Squeak's excellence in constructing user interfaces, its support for a broad range of platforms, and the fact that the entire system is accessible and customizable add up to a compelling platform.


Session B (Demos 19 & 20) – Room 207B

Tuesday 3:30 pm - 4:15 pm
Wednesday 3:30 pm - 4:15 pm

19. A Simple Geographical Information System
Ahmed Gomaa, Nova Southeastern University, Florida
El Sayed Mostafa, SPG Egypt

    DOCUMENTER is a GIS that provides immediate and accurate information about maps. In our demonstration, we shall present the methodology used in developing the system, the main problems faced in the design phase and how they were resolved. We shall also present the OO techniques incorporated and implemented in the system.


Tuesday 4:15 pm - 5:00 pm
Wednesday 4:15 pm - 5:00 pm

20. Tilcara: An OO Perspective to Handle Continuous Fields in GIS
Arturo Zambrano, LIFIA
Luis N. Polasek, LIFIA
Silvia Gordillo, LIFIA
Javier Bazzocco, LIFIA
Gisella Trilla, LIFIA
Diego Cano, LIFIA
Alejandra Lliteras, LIFIA

    It is now common that GIS applications need to define and handle continuous information. This is of extreme relevance in areas like meteorology and environmental applications. However, typical GISs do not have tools that allow the use of this type of information, and this often prevents making a complete analysis. In this demo, we present an application using object-oriented technology that allows us to manipulate continuous data.


Session C (Demo 21) – Room 206B

Tuesday 4:15 – 5:00 pm
Wednesday 4:15 – 5:00 pm

21. PocketLinux: An open-source, fully portable Java-XML information framework for heterogeneous devices
Philippe Laporte, Transvirtual Technologies

    We will demonstrate the feasibility of multi-threaded GUI Java applications for small embedded systems, explaining the PocketLinux application framework and showing how it is put to work between a PDA and a server (laptop). We will briefly discuss Java optimization in small systems, and the Kaffe Java virtual machine.


Session D (Demo 2) - Room 207A

TUESDAY ONLY, 4:30 pm - 5:15 pm

2. Hyper/J: Multi-Dimensional Separation of Concerns for Java
Peri Tarr, IBM T. J. Watson Research Center
Harold Ossher, IBM T. J. Watson Research Center

    This demonstration will present Hyper/J, a tool that supports Multi-Dimensional Separation of Concerns (MDSOC) for Java. Hyper/J is a visual compositor tool, which provides the ability to identify concerns, specify modules in terms of those concerns, and synthesize systems and components by integrating these modules. The tool works with any standard Java class files, as both inputs and outputs, whether or not they were developed using Hyper/J. We will demonstrate the use of this tool in several object-oriented software development and evolution activities, and indicate how MDSOC promotes flexible separation and modularization of concerns, system composition and integration (resulting in desirable properties like mix-and-match), non-invasive evolution and adaptation, and non-invasive, on-demand remodularization.

Top of Page


Back to Final Program

 OOPSLA'98 Home