Tuesday – 17:30-19:30
Sheraton Hotel - Grand Ballroom
Wednesday – 10:00-13:30
Convention Ctr - Exhibit Hall 4A
Wednesday – 15:00-18:30
Convention Ctr - Exhibit Hall 4A
Thursday – 10:00-17:00
Convention Ctr - Exhibit Hall 4A
Friday – 10:00-14:00
Convention Ctr - Exhibit Hall 4A

Posters on display

Computational Performance of Java and C++ in Processing fMRI Datasets
Rodrigo Vivanco
University of Manitoba

Nicolino Pizzi
National Research Council Canada

The analysis of image-based biomedical data requires a flexible data model, fast computational techniques and a graphical user interface. Java and C++ are object-oriented programming languages which provide the foundations for data analysis applications. This paper explores the advantages and disadvantages of using these two programming environments for scientific computing.

Meeting the Requirements of a Large Scale Software Engineering Environment with Open Software Solutions
Tero Laine
Nokia Networks

Timo Laitinen
Nokia Networks

Ingrid Schembri
Nokia Research Center

Can a Software Engineering Environment (SEE) be built from Open Software? We introduce the requirements for a SEE in a large-scale, global, distributed object-oriented software development project and suggest how open software solutions can fulfill these requirements. Our suggestions are being applied in the domain of network development within Nokia.

Seven Software Engineers as One Mind
Lawrence Carleton
BAE SYSTEMS, Inc.

This is an analysis of the mental life a team of software engineers can have as a cognitive entity in itself, distinguishable from the engineers who participate in the team. Literature in cognitive science, philosophy, and software development is cited to support the analysis and provide examples.

Realizing Adaptive Systems
William Ray
Naval Postgraduate School

For a system to be truly adaptive, it must also change in support of evolving technologies and ontologies. When engineering to support these requirements, some of goals of reflective technologies can also be met without changes to middleware and languages. The Enterprise Intelligent Distributed Architecture (EIDA) is an attempt to realize these goals by creating a set of development tools that are also deployed with the system as run time servers. By completely automating the development of key components of the runtime system, the goal is to enable the adaptation of these components to changes in the environment, technology and ontology of the system.

GOOAL: Generating Object Oriented Models from Natural Language Analysis
Hector Perez-Gonzalez
University of Colorado at Colorado Springs

Jugal Kalita
University of Colorado at Colorado Springs

The purpose of this methodology is to promote rapid software development, reusability, and support memorable experiences in “object oriented thinking”. We automatically produce static and dynamic model views from natural language analysis of problems with the use of “Role posets” technique and a semi-natural language.

Domain-Specific Visual Languages
Juha-Pekka Tolvanen
MetaCase

Jeff Gray
University of Alabama at Birmingham

Matti Rossi
Helsinki School of Economics

An upward shift in abstraction leads to a corresponding increase in productivity. In the past this has occurred when programming languages have evolved towards a higher level of abstraction. This poster describes how domain-specific visual languages provide a viable solution for continuing to raise the level of abstraction beyond coding.

The Javaputer: Java programming in a MOO
John Towell
Carroll College

A MOO was modified to permit the writing, compilation and execution of simple Java programs. In addition to serving as an online environment for teaching object-oriented concepts, the MOO can now be used to teach the Java programming language.

Object technology: community and culture
Helen Sharp
Open University

Hugh Robinson
Open University

Studying the community surrounding object technology and the culture it supports provides insights for current practice, future developments and training. We are using empirical studies to characterise the community and culture of object technology. The poster describes some of our findings and invites you to contribute your own experiences.

Specifying and Executing Requirements - The Play-In/Play-Out Approach
Rami Marelly
The Weizmann Institute of Science

Hillel Kugler
The Weizmann Institute of Science

David Harel
The Weizmann Institute of Science

A powerful methodology for specifying scenario-based requirements of reactive systems is described, in which the behavior is “played in” directly from the system's GUI or some abstract version thereof, and can then be “played out”. The approach is supported and illustrated by a tool, which we call the play-engine.

CLAM, Yet Another Library for Audio and Music Processing?
Xavier Amatriain
Music Technology Group - UPF

Pau Arumí
Music Technology Group - UPF

Miquel Ramirez
Music Technology Group - UPF

CLAM (C++ Library for Audio and Music) offers extensible, generic and efficient design and implementation solutions for developing Audio and Music applications. Although similar libraries exist, some particularities make CLAM of high interest for the field. CLAM demonstrates that, in DSP, a structured OO design does not imply inefficient run-time behavior.

A Coordination Methodology and Technology for Agile Businesses
Luís Andrade
ATX Software

José Fiadeiro
ATX Software and Univ. de Lisboa

João Gouveia
ATX Software

Georgios Koutsoukos
ATX Software

Michel Wermelinger
ATX Software and Univ. de Lisboa

This poster presents three primitives for design (coordination laws), implementation (coordination contracts), and system configuration (coordination contexts), that are based on methodological and mathematical principles and facilitate the evolution of software systems by encouraging the separation of computation from coordination aspects. A tool implementing coordination contracts for Java is available.

Assessing Distributed Pair Programming
Prashant Baheti
North Carolina State University

A distributed pair programming experiment was conducted at North Carolina State University in fall 2001. The results of the experiment indicate that it is feasible to develop software using distributed pair programming, and that the resulting software is comparable to software developed in collocated or virtual teams (without pair programming) in terms of productivity and quality.

The Zonnon Language Experiment or How to Implement a Non-Standard Object Model for .NET
Jürg Gutknecht
ETH Zürich

Eugene Zueff
ETH Zürich

We present Zonnon for .NET, an evolution of Oberon for .NET that we have implemented as Academic participants in Project 7. Zonnon is a Pascal language family member featuring a non-standard object model. We emphasize the mapping of Zonnon's constructs to .NET and its integration, using the novel CCI compiler technology.

Component Based Development of UDBC
Xiaobing Liu
School of Computing and Engineering, Southern Polytechnic State Univ.

Kai Qian
School of Computing and Engineering, Southern Polytechnic State Univ.

Andy Wang
School of Computing and Engineering, Southern Polytechnic State Univ.

Hongwei Tao
School of Computing and Engineering, Southern Polytechnic State Univ.

A Universal DataBase Connectivity (UDBC) component has been developed with component-based approach. This paper presents our design goal, software architecture, and implementation issues for UDBC. Strength, limitations, and possible extension of JavaBean component architecture and its design environment are discussed.

11th OOPSLA Workshop on Behavioral Semantics - Serving the Customer
Haim Kilov
Financial Systems Architects

Kenneth Baclawski
College of Computer Science, Northeastern University

The workshop is about clear, precise and explicit OO specifications of business and system semantics, independently of any (possible) realization. The systems we build or buy are all too often not what they are supposed to be. The specific theme this year is on serving the customer.

A Definition of Convergence in the Area of Information and Telecommunication Technologies
Wolfgang Radinger
Vienna University of Technology, Institute of Computer Technology

Karl Michael Göschka
Frequentis Nachrichtentechnik GmbH

As the term convergence is heavily used in current publications, we suggest to define it as multidisciplinary, inhomogeneous integration with the aim to reach an added value. We use the convergence between telecommunication and information technology as an example to show different classes of convergence on different levels of abstraction.

OODLE: A Prototype Object Oriented Design Learning Environment
Eric Domeshek
Stottler Henke Associates, Inc.

Elias Holman
Stottler Henke Associates, Inc.

Stottler Henke Associate's Inc.'s Object-Oriented Design Learning Environment (OODLE) is an early prototype intelligent tutoring system aimed at teaching object-oriented design skills by coached practice with realistically complex design problems. OODLE's pedagogical approach is based on the instructional practices of Craig Larman, author of Applying UML and Patterns.

A Bottom-up Combinable Name Service for Peer-to-Peer Network
Yuichi Ueno
Fuji Xerox Co., Ltd.

We need various higher level services for using Peer-to-Peer(P2P) network effectively and for building useful applications. We introduce a new distributed name service which enables bottom-up combination of local name spaces by complete decentralized control. Our name service provides much benefit for P2P networking and groupware applications.

Web-based Exercise System for Engineering Teaching
Ka Wai Eric Cheng
Department of Electrical Engineering, The Hong Kong Polytechnic University

Tsz Kong Cheung
Department of Electrical Engineering, The Hong Kong Polytechnic University

A Web-based exercise package for engineering is developed for teaching engineering students. It is based on PHP and can be accessible from the Web by both students and administrator. It is very user-friendly and can be updated easily. Various types of exercises are available and found very useful for teaching.

Tackling the Discovery Costs of Evolving Software Systems
Dennis Mancl
Lucent Technologies

William Opdyke
North Central College

Steven Fraser
Consultant

If software is so easy to create, why is it so difficult to change existing software to keep up to date with changing requirements? Discovery costs -- the costs of learning what one needs to know in order to evolve an existing software system -- has proven to be the dominant (but often unrecognized) cost in many software systems.

Many to Many Invocation: A New Object Oriented Paradigm for Ad Hoc Collaborative Systems
Alan Kaminsky
Rochester Institute of Technology

Hans-Peter Bischof
Rochester Institute of Technology

Many-to-Many Invocation (M2MI) is a new paradigm for building collaborative systems that run in wireless proximal ad hoc networks M2MI provides an object oriented method call abstraction based on broadcasting.

Emerging Software Frameworks for Exploiting Polymorphous Computing Architectures
Dan Campbell
Georgia Tech Research Institute

Polymorphous Computing Architectures (PCA) represent a significant leap in the capabilities of computing systems, but also a dramatic increase in software complexity and fragility. We present our synthesis of technologies generated to date in the DARPA-funded Morphware Forum, to develop a stable and scalable software development platform for PCA devices.

Reusable C++ Code for an Electron-Phonon Simulation
Sandria Kerr
Winston-Salem State University

Guanghui Lei
Wake Forest University

William Kerr
Wake Forest University

This poster describes the code developed for simulations of disordered electron-phonon systems. This code uses the C++ Standard Template Library (STL) and is designed to be easily changed when the physicists want to change aspects of the simulation.

A Translation Approach to Component Specification
Fei Cao
University of Alabama at Birmingham

UniFrame is a framework for seamlessly assembling heterogeneous distributed components. It's based on the Unified Meta-component Model (UMM) for describing components. Two-level grammar (TLG) can be used not only to formally specify UMM component model, but also for translation into other component representations for component service exportation and assembly.

Building A Stable Model-Based Bidding/Quotation System
John Erickson
University of Nebraska - Lincoln

Yuhui Jiao
University of Nebraska - Lincoln

Yi Chen
University of Nebraska - Lincoln

Mohamed Fayad
University of Nebraska - Lincoln

This project proposes a stable model-based bidding/quotation system. The primary goal is to highlight the benefits to systems analysis, design and building, of a stable modeling approach, as opposed to the more commonly used traditional modeling approaches.

Data-aware Cache Simulation With Partial Data Traces
Jaydeep Marathe
North Carolina State University

We describe the a framework for extracting partial data traces and using these to drive an incremental cache simulator. The application binary is instrumented for memory accesses and a compressed subevent trace is produced. The memory addresses are mapped to variables in source code, enabling reference specific cache statistics generation.

Multilingual Distance Learning for Engineering
Ka Wai Eric Cheng
The Hong Kong Polytechnic University

Kam Fai Kwok
The Hong Kong Polytechnic University

An advanced distance learning method is introduced that is especially programmed for non-native English speakers. Many language features have been implemented to arouse undergraduate students' interests in learning. The package is also programmed to help professors to teach much easier than before.

QuickUML: A Beginner's UML Tool
Eric Crahen
University at Buffalo, SUNY

Carl Alphonce
University at Buffalo, SUNY

In order to teach objects and classes effectively with an “object-first” approach, some basic knowledge of UML is required. In this paper, we describe a beginners UML tool that was created to assist in teaching introductory level, object-oriented programming courses - without overwhelming students with the complete UML syntax.

Built for Life - Constructing Software to Outlive Its Creators
Andrew Hunt
The Pragmatic Programmers

Dave Thomas
The Pragmatic Programmers

Andy Schneider
BJSS

Brian Marick
Independent Consultant

Our poster will summarize the discussion of the earlier workshop with the same title. In that workshop, we will have explored techniques for making software more easily understood by programmers, testers, and even end users inclined to thinker with it. We're restricting our scope to code and, secondarily, tests.