technical program

thursday morning

8:30am-10:00am -- General Session -- Invited Speaker

"Growing a Language"

Exhibit Hall A

Guy L. Steele Jr., Sun Microsystems Laboratories

Over the last quarter-century I have become convinced that trying to design a complete and perfect programming language is now the worst thing you can do. A programming language (including its associated libraries) must grow over time as its user community and its development community grows. This is a different situation from 25 years ago, when all such communities were relatively small. The difference is a problem of scale. As a result, programming language design now and in the future is necessarily as much a matter of social engineering as technical engineering and must rely more on a set of general principles than on a set of specific technical decisions.

Guy L. Steele Jr. is a Distinguished Engineer at Sun Microsystems, Inc. He received his A.B. in applied mathematics from Harvard College (1975), and his S.M. and Ph.D. in computer science and artificial intelligence from M.I.T. (1977 and 1980). He has also been an assistant professor of computer science at Carnegie-Mellon University; a member of technical staff at Tartan Laboratories in Pittsburgh, Pennsylvania; and a senior scientist at Thinking Machines Corporation. He joined Sun Microsystems in 1994.

He is author or co-author of five books: Common Lisp: The Language (Digital Press); C: A Reference Manual (Prentice-Hall); The Hacker's Dictionary (Harper&Row), which has been revised as The New Hacker's Dictionary by Eric Raymond (MIT Press); The High Performance Fortran Handbook (MIT Press); and The Java Language Specification (Addison-Wesley).

The Association for Computing Machinery awarded him the 1988 Grace Murray Hopper Award and named him an ACM Fellow in 1994. He was elected a Fellow of the American Association for Artificial Intelligence in 1990. He led the team that received a 1990 Gordon Bell Prize honorable mention for achieving the fastest speed to that date for a production application: 14.182 Gigaflops. He was also awarded the 1996 ACM SIGPLAN Programming Languages Achievement Award.

He has served on accredited standards committees X3J11 (C language), X3J3 (Fortran), and X3J13 (Common Lisp). He designed the original EMACS command set and was the first person to port TeX.

At Sun Microsystems he is responsible for research in language design and implementation strategies, and architectural and software support, and for the specification of the Java programming language.

 

10:30 a.m. - 12:00 p.m.

Panel:  "The Project Manager Game"

Ballroom B

An OOPSLA '98 exclusive! Watch contestants vie for fabulous prizes as you the audience choose the project manager of your dreams from this illustrious set of project manager wannabes. Master of ceremonies Kent Beck will put them through their paces for your edification and amusement.

Emcee: Kent Beck, First Class Software

Contestants:
David Cleal, JP Morgan
Luke Hohmann, SmartPatents, Inc.
Chet Hendrickson, Chrysler Corporation
Allen B. Davis, Mission Software
John Nolan, Kleinwort Benson


Technical Papers:

Exhibit Hall A

Chair: Kathleen Fisher, AT&T Labs - Research

"A Type System for Object Initialization in the Java Bytecode Language"
Stephen N. Freund and John C. Mitchell, Stanford University

"Reasoning about Java Classes"
Bart Jacobs, Joachim van den Berg, Marieke Huisman, and Martijn van Berkum, University of Nijmegen; and Ulrich Hensel and Hendrik Tews, Technical University of Dresden

"What is Java Binary Compatibility?"

Sophia Drossopoulou, David Wragg, and Susan Eisenbach, Imperial College


Practitioner Reports:

Ballroom A

Components & Reflection Session Leader: Peter Sommerlad, IFA Informatik

"Incremental development of a repository-based framework supporting organizational inquiry and learning"
Martine Devos and Michel Tilman, Argo

In this paper we report on our experience with the development of a framework for administration and a supporting method for incremental development and learning. The framework helps us develop applications iterative, interactive and incrementally, with strong emphasis upon the process of problem appreciation. Thus we build increasingly complete specifications of applications that can be executed at once. The resulting system is easy to adapt to changes in the business. Argo can develop new applications through modeling and configuration, rather than through coding.

The framework is based on a repository in two ways. First, it consists of a set of tools for managing a repository of documents, data and processes, including their history and status. These tools let users select applications, enter and view data, query the repository, access the thesaurus and manage electronic documents, workflow processes, and task assignments. More importantly, the repository drives the framework behavior. In the repository we capture knowledge of the business model, none of which is hard coded. The tools consult the repository at runtime. End-users can change the behavior of the system by using high-level tools to change the business model. Thus we separate descriptions of an organization's business logic from the application functionality.

Since we can afford users to change their mind, inspired by learning experience with the technology at hand and the broader range of possibilities it offers, we use methods and techniques from soft system thinking to encourage our users to reflect on their applications and to envision better ways of working, even after initial delivery. To incorporate the feedback, we adapt both framework and the applications.

"Use of Dynamic, Reflective, and Meta-level Language Facilities in the Application Domain"
Darrow Kirkpatrick, Haested Methods, Inc.

Proponents of dynamic object-oriented languages with reflective or meta-level facilities assert that these facilities provide more flexibility and adaptability for reacting to changing business requirements. However, typically such language features are only applied in development tools. This paper argues that dynamic, reflective, and meta-level facilities can provide an advantage in implementing application domain solutions, and draws on a significant commercial object-oriented application framework for supporting examples.

"An Evolutionary Path to Component-Based Solution Development"
Floyd A. Berus, David A. Boyle, and Dehzen 'Jean' Cai, Complete Business Solutions, Inc.

This paper presents the evolutionary path to Component Based Solution Development by a medium sized organization of approximately 100 people. Three stages of the organization's maturation are presented.  For each stage, the goals, organizational structure, development process, and conclusions are discussed. A brief summary of the projects executed during each stage are presented only for the purpose of setting the context within which the organization evolved. This organization's experience can be thought of as a single instance of the class of organizations attempting to implement the "Reuse Business" presented in "Software Reuse: Architecture, Process and Organization for Business Success," Jacobson, Griss, Jonsson, Addison-Wesley, 1997. No attempts are made to justify the path taken or any individual decision made by this team. Rather, the experiences, successes, and failures and an ideal end state are presented.

Component-Based Development represents the maturation of the Object-Oriented paradigm. While objects themselves inherently provide a better mechanism for reuse they do not guarantee reuse success. By developing components comprised of objects, taking advantage of their clear and simple interface mechanisms, it becomes possible to develop groups of industry-specific components which may be "plugged" together to create complex business systems. This provides the value ascribed to but seldom realized by the "buy versus build" strategy or COTS (Commercial Off The Shelf) solution, while allowing organizations to retain the flexibility to customize the solutions to match their business processes. It is through components that real and predictable reuse becomes possible.

 

OOPSLA'98 Home
Last updated 25 September 1998 10:07:03