technical program

wednesday afternoon

1:30-3:00pm -- Invited Speaker

"The Object Technology Morass"

Exhibit Hall A

Ole Lehrmann Madsen, Ärhus University

A software developer who is going to make use of object-orientation is confronted with a number of technologies: methodologies; CASE tools; programming languages; object-oriented /object-relational databases; component technologies like COM, OLE, ActiveX, and Java/Beans; distributed object technologies like CORBA, and DCOM; various forms of patterns; and many more.

To use these technologies, it is necessary to learn many different languages. The methodologies suggest more or less fancy graphical languages, and the supporting CASE tools often have insufficient support for code generation and reverse engineering. There are a large number of programming languages from class-based to prototype-based and from traditional (and unsafe) C-based to new simple and general languages. When using object-based databases, there may be special languages for data definition. For components and distribution it may be necessary to learn one or more interface definition languages.

Object-orientation originally started with programming, and at that time the picture was much simpler However, during the last 5-10 years, a morass of new technologies has appeared. Object-orientation started with the development of Simula in the sixties: Simula was created as a means for making simulation models of real world phenomena; Simula was a general purpose programming language; Simula was used for analysis, design and implementation; Simula has been characterized as a programming language with a built-in method; a Simula program reflected the real world; and with Simula there was no need for structured analysis/structured design.

A large number of interesting ideas have of course been developed since the days of Simula, but in a number of areas, the main stream technologies have a number of unnecessary problems. One of the main advantages of object-orientation is that it provides an integrating approach to many areas of software development, including analysis, design, implementation, distribution and data definition in databases. Object-orientation provides a common set of concepts and a core of abstract language constructs that may be applied to these areas.

At the language level, the use of different notations for analysis/design, implementation, data definition, distribution and components is an unnecessary complication. Most modern methodologies recommend an iterative and evolutionary approach in which developers alternate between analysis, design and implementation. The transitions between these phases should be easy and supported by tools. If different notations are used, it is difficult to keep all the representations consistent and up-to-date, just as there is a mental overhead.

At the conceptual level, most methodologies and programming languages are weak on the underlying conceptual framework for object-orientation. To be able to develop systems it is necessary to have a rich conceptual framework for understanding concepts and phenomena from the application domain. Too often methodologies concentrate on notations and simple means for analysis and design, but it is often necessary to go beyond object-orientation.

This talk will: (1) present a number of examples where things can be simpler by using the same abstract language for as many aspects of the software development process as possible; (2) discuss the importance of a conceptual framework that is richer than the languages in use; and (3) touch on a multi-perspective approach to software design that goes beyond object-orientation. These issues have a long tradition in the Scandinavian approach to object-orientation as exemplified in the development of Simula, BETA and the Mjølner System. This talk will also discuss how important new developments such as prototype-based languages, patterns, and component technologies might benefit from these issues.

Ole Lehrmann Madsen ( http://www.daimi.aau.dk/~olm ) has worked with object-orientation for more than 25 years starting with Simula programming. He is one of the developers of the BETA programming language and has been a research manager for the Mjølner project where the first version of the BETA software was developed. He has been engaged in a large number of research projects in object-orientation. He is currently a research manager for a large project in object technology with participants from industry and academia ( http://www.cit.dk/COT ). He is currently a professor of Computer Science, Aarhus University, Denmark and research manager for the National Danish Centre for IT-research ( http://www.cit.dk ). He is a cofounder and chairman of the board for Mjølner Informatics (http://www.mjolner.com ), developers of the BETA environment.


Goldfish bowl:   "Getting Value for Money from Software Architecture"

Ballroom C

Most people agree that software architecture is concerned with components, their externally observable behaviour, and their interconnections. But will we get the best return simply by using these concepts to describe particular systems or should we invest in capturing the generic rules that lead to a design? Or must we give equal weight to both? In this highly interactive discussion session, invited participants and members of the audience will examine this and other related issues.

Moderator: John Daniels, Bankers Trust Company

Invited Participants:
Frank Buschmann, Siemens Corporate Technology (Germany)
Martin Fowler, Independent Software Consultant (USA)
Kevin Tyson, Enterprise Engineering Associates (USA)
Alan Wills, Trireme Limited (UK)


Technical Papers:

Ballroom A

Chair: Mary Fernandez, AT&T Labs - Research

"Vclusters: A Flexible, Fine-Grained Object Clustering Mechanism"
Mark L. McAuliffe, TimesTen Performance Software; Michael J. Carey, IBM Almaden Research Center; and Marvin H. Solomon, University of Wisconsin - Madison

"System Support for Object Groups"
Rachid Guerraoui, Pascal Felber, and Benoît Garbinato, Swiss Federal Institute of Technology, Lausanne; and Karim Mazouni, Union Bank of Switzerland

"Extending the ODMG Object Model with Composite Objects"

Elisa Bertino, Università di Milano and Giovanna Guerrini, Università di Genova


3:30-5:00pm

Goldfish bowl:  "A goldfish bowl on patterns"

Ballroom C

This goldfish bowl will allow some experienced pattern-masters and you the audience to discuss how patterns are working today in the OO community. Some questions to be answered include: How are patterns effective for you? How do you use them in your organisation? Who writes them? Who are they most useful for? Who finances them? Where do they come from? How are they stored and accessed? Are they at the architectural, design and/or programming level? Is their use enforced? Bring your own points of discussion and make your way to the stage in this highly interactive session.

Moderator: Bruce Anderson, IBM OTP

Invited Participants:
Jens Coldewey, Coldewey Consulting (Germany)
Gerard Meszaro, Object Systems Group (Canada)
Linda Rising, AG Communication Systems (USA)
Doug Schmidt, Washington University (USA)
John Vlissides, IBM T.J. Watson Research Center (USA)


Technical Papers:

Exhibit Hall A

Chair: Eric Jul, University of Copenhagen

"Visualizing Dynamic Software System Information through High-level Models"
Robert J. Walker and Gail C. Murphy, University of British Columbia; and Bjorn Freeman-Benson, Darin Wright, Darin Swanson, and Jeremy Isaak, Object Technology International, Inc.


"Object Lessons Learned from a Distributed System for Remote Building Monitoring and Operation"
Frank Olken, Hans-Arno Jacobsen, Chuck McParland, Mary Ann Piette, and Mary F. Anderson, Lawrence Berkeley National Laboratory


"Lightweight Object-Oriented Shared Variables for Distributed Applications on the Internet"

Jacob Harris, MIT; and Vivek Sarkar, IBM T. J. Watson Research Center


Practitioner Reports:

Ballroom A

Prototyping & Architecture Session Leader: Patrick Logan, GemStone Corp.

"The Mount Sinai Human Resources Case Management System: an Example of Rapid Application Development in a Java Environment"
Michael DeBellis, Deloitte & Touche LLC; and Cliff Anderson, CSC Healthcare

The Mount Sinai Human Resources Case Management system was developed using several new software development tools and techniques. The system was developed with 2 FTE developers in six months as a series of iterative prototypes, starting with paper-based mock-ups, proceeding to executable throw away prototypes developed in Java, and ending in a deployed three-tiered architecture with a Java client, an Oracle server, and Symantec's dbAnywhere middleware product. This article describes the tools and techniques used to develop the system and some lessons learned from the project.

"A Look Behind Internet's First Digital Trading Cards"
Tansel Ersavas, RASE Inc.; and Michael de la Peña, iQ Productions Inc.

This paper outlines our experience in developing a challenging and fun system; the first limited edition digital trading cards to be offered on the Internet. The challenges included implementing the required complex mechanism for a deceptively simple looking product in a very short amount of time, with a limited amount of resources. The product needed to be deliverable and maintainable over the Internet and the system needed to offer a high level of security, scalability, and reliability. We developed the first phase of the project by utilizing an object oriented architecture and a database system, RASE (Rapid Systems Engineering) tools, and design patterns as well as a variety of multimedia development tools.

"An Improved Smalltalk Application Server for a Web-based Business Solution"
Charles Frisk, Lina Gladshteyn, Mark Kuperman, and William Rachmiel, Brooklyn Union

The project team started with a corporate human resources application which was used to log, approve, and reimburse employee purchases. The application was fully distributed with the client functionality delivered across the corporate intranet. The server portion contained the domain model and was constructed using a combination of VisualWorks Smalltalk and Gemstone Smalltalk for persistence. The application scalability was adequate but limited.

The report describes a revision to the application architecture which improved the response time of the application and gave it the potential to support a greater number of concurrent users. The revised architecture uses a series of new management objects, most notably the Session Broker and the Session Manager, to respond to variations in the demand pattern. In addition, another series of objects, representing the remaining components of the application architecture were separated from the domain model with the intention of producing a generalized framework applicable to other business problems.

"Architecture for a Production-quality Java Application"
Piaw Na, Mpath Interactive, Inc.

The Avalon project was aimed at providing an interactive entertainment experience for consumers used to television-like entertainment via a Java applet. To accommodate a typical consumer's low-bandwidth, no-storage, high security requirements, we prototyped and then rebuilt our applet environment. This report will cover the following technical areas: the designs used in order to deliver production-quality applications over the consumer internet, the use of Java in reality, and lessons learned in the process.


Practitioner Reports:

Ballroom B

Transitioning to OO Session Leader: TBD

"Automated Testing of an Object Application"
Dean Mackie and Martin Xue, Ontario Teachers' Pension Plan Board

The system used for administrating the pension benefits for teachers in the province of Ontario is an example of a feature-rich intelligent agent participating in a highly  complex business process. In addition to the challenge of developing the application itself, of major concern was the system testing for validation of the initial deployment  and for regression testing of subsequent releases for maintenance, upgrades, and extensions. To that end, an automated testing system was also developed with the requirement that it be accessible to business experts: not just software developers. It also had to be usable at all stages of the business application's development: not just with a complete product but also at an object class and instance level. This paper illustrates how object design enabled software developers, testers, and business analysts to work together throughout the development and deployment process to improve quality and productivity.

"Lessons Learned: Transitioning COBOL Programmers to OO"
Scott Curry, Object Components Corporation

Typical object technology (OT) courses provided by professional trainers are one week long and most managers expect developers to be productive after attending one or more of these courses. Yet, it is broadly acknowledged within the object-oriented (OO) community that the OT learning curve is anywhere from 6-18 months. Conventional wisdom concludes a longer-than-normal training program transitioning to object technology is better which we refute based on a recent experience. We attempt to provide a few primary reasons for the contradiction to conventional wisdom and offer suggestions to improve your experience.

"An Integration Architecture for Implementation of the DoD Computerized Patient Record"
Gary A. Ham, Battelle Memorial Institute

U.S. Military health systems include a very large set of heterogeneous systems involving multiple organizations, care environments, computing environments, and health care elements. Systems integration and interoperability in such an environment presents a series of challenges, particularly with respect to architectural and semantic mismatch. This report focuses on a particular logical architecture that facilitates meeting these challenges incrementally, on a requirements-based, mission increment by mission increment basis. Initial team experience in following the architecture and future implementation plans is also discussed.

OOPSLA'98 Home
Last updated 09 October 1998 10:19:11