Technical Program
Educators' Symposium
Doctoral Symposium
Student Research

Student Volunteers
Special Events
Housing Information
Registration Information

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.95

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.95

Seven Software Engineers as One Mind

Lawrence Carleton
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
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
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
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.