June 17-21, 1996
Marriott Eaton Centre, Toronto, Ontario, Canada

Sponsored by the USENIX Association

Program Table of Contents

Overview Tutorial Program

Technical Program

Advanced Topics Workshop

Hotel & Travel Information

Student Grant Information

Registration Information and Fees


INTRODUCTION

The COOTS conference showcases advanced R&D work in object-oriented technologies and software systems. The conference focuses on experimental research and experience that is gained by using object-oriented techniques and languages to build sophisticated software systems that meet real-world needs. Particular emphasis will be on software architectures, tools, and programming languages that support distributed object computing.

COOTS includes two days of in-depth tutorials on object-oriented languages and systems. Register early for the best tutorial selections. Two days of technical sessions covering original work in the design, implementation, and use of object-oriented technologies will follow.

On Friday, June 21 there will be a post-conference Advanced Topics Workshop on Distributed Object Computing on the Internet. For details on attending, refer to write-up following the preliminary technical program.

WHAT YOU WILL LEARN

CONFERENCE ORGANIZERS

Technical Sessions Program Chair
Douglas C. Schmidt, Washington University
Tutorial Program Chair
Doug Lea, SUNY Oswego

Program Committee
Don Box, DevelopMentor
Kraig Brockschmidt, Microsoft
David Chappell, Chappell and Associates
Andrew Chien, University of Illinois, Urbana-Champaign
David Cohn, University of Notre Dame
Jim Coplien, Bell Laboratories
Murthy Devarokonda, IBM Watson Research Labs
Peter Druschel, Rice University
Daniel Edelson, IA Corporation
Nayeem Islam, IBM Watson Research Labs
Dennis Kafura, Virginia Tech University
Doug Lea, SUNY Oswego
Dmitry Lenkov, Hewlett-Packard
Mark Linton, Vitria Technology
Calton Pu, Oregon Graduate Institute
Vince Russo, Purdue University
Jerry Schwarz, Declarative Systems
Kevin Shank, Rochester Institute of Technology
Michael Stal, Siemens AG
Bjarne Stroustrup, AT&T Research
Steve Vinoski, Hewlett-Packard
Jim Waldo, Sun Microsystems, Inc. and JavaSoft

PROGRAM AT A GLANCE AND IMPORTANT DATES TO REMEMBER

Hotel Reservation Deadline: May 28, 1996
Pre-registration Deadline: May 31, 1996

On-Site Registration Hours:
Sunday, June 16 6:00pm - 9:00pm (Welcome Reception)
Mon-Wed, June 17-19 7:30am - 5:00pm
Thursday, June 20 7:30am - 12:00pm

Tutorial Program:
Monday and Tuesday, June 17-18 9:00am - 5:00pm

Technical Sessions:
Wednesday, June 19 8:45 am - 5:30 pm
Thursday, June 20 9:00 am - 5:30 pm

Birds-of-a-Feather Sessions:
Tuesday, June 18 6:00pm - 10:00pm
Wednesday, June 19 8:00pm - 11:00pm

Conference Reception:
Wednesday, June 19 6:00pm - 8:00pm

Advanced Topics Workshop 9:00am - 5:00pm
Friday, June 21 (by invitation only)
See details following the Technical Program schedule.

TUTORIAL PROGRAM, Monday and Tuesday, June 17-18, 1996

USENIX tutorials are intensive, informative, practical, and essential to your professional development. They are delivered by experts with hands-on experience.

Attend these tutorials and benefit from the opportunity for in-depth exploration and skill development in essential areas of object-oriented technology.

Seating in limited, so register now to guarantee your first choice.

Tutorial fees include:

Monday, June 17

M1am (9:00 am - 12:30 pm)
Introduction to CORBA and CORBA Services
Bruce Martin, SunSoft, Inc.

Intended Audience: Developers who want an introduction to applying basic object-oriented techniques to distributed applications using CORBA technology.

The Object Management Group's (OMG) Common Object Request Broker Architecture (CORBA) defines a standard architecture for distributed object-oriented communication. This course will describe the CORBA technology. Topics will include:

Additionally, the CORBA Services standard defines a set of distributed object services that integrate distributed objects into distributed applications. CORBA Services to be covered include:

Use of the distributed object technology will be illustrated using a simple distributed stock-trading application. The application is constructed by integrating re-usable distributed objects using CORBA and CORBA Services technology.

Dr. Bruce Martin is a senior staff engineer at SunSoft where he works on distributed object services and distributed application models for SunSoft's NEO system. He was the primary author of several of the OMG's CORBA Services specifications and has authored several papers in the areas of distributed object-oriented systems, interface languages, and transaction models.


M2am (9:00 am - 12:30 pm)
Java: A Language for Providing Content on the World Wide Web
Jim Waldo, Sun Microsystems, Inc. and JavaSoft

Intended Audience: Experienced programmers and technical contributors. Participants should be familiar with the C and C++ programming languages, the basics of object-oriented programming, and the basics of how the World Wide Web operates and is organized.

The first part of this course will introduce Java, an object-oriented language designed to enable live content on the Internet. This "live content" consists of full programs that can be placed into HTML documents. When such a document is loaded into a Java-enabled HTML viewer such as HotJava, the program is run, creating a page with active or even interactive elements.

While designed for creating interactive web content, Java is a general purpose, object-oriented language with such features as garbage collection, exceptions, strong typing, and a clean separation between classes and interfaces. Built around a C-style syntax, Java allows the writing of secure, robust programs that can be relied upon to run in a finite amount of space without crashing into a pile of bits. Language, as well as the set of class and interface libraries which are defined as part of any compliant Java implementation, will be discussed.

How one uses Java to create "applets", programs that can be included as part of a standard HTML document, will be discussed, as well as how to write such applets, what resources are available to these applets, and what features of the language and runtime environment allow these applets to be run securely by anyone on the Internet.

If time permits, the day will end in wild speculation and discussion of the possible technological and social impacts of the kind of computing that Java allows.

After this course, attendees will understand the structure and features of Java and should be able to write programs in it. Attendees should understand how to write applets, how to include those applets in an HTML page, and understand the security features of the language and runtime environment that allow such applets to be run with confidence over the Internet.

Jim Waldo is a senior staff engineer with Sun Microsystems, Inc. where he does research in the area of reliable distributed computing. A long-time advocate of object-oriented programming and the architect of one of the first distributed object request brokers, he has written and spoken extensively on object-oriented programming techniques, distributed computing concepts, and techniques for building robust, reusable software.


M3am (9:00 am - 12:30 pm)
New ANSI C++ Features
Josee Lajoie, IBM Canada Laboratory

Intended Audience: Individuals familiar with C++, but not with the C++ standards committee's work.

The C++ draft standard is based on the C++ Annotated Reference Manual (ARM) by Margaret Ellis and Bjarne Stroustrup. The C++ standards committee has adopted two major language extensions that were not described in the ARM: namespaces and runtime type identification (RTTI). The committee also clarified the template chapter which appeared as a commentary chapter in the ARM. This course will introduce namespaces and RTTI language features, and present the clarifications affecting templates.

Topics will include:

Josee Lajoie is a staff development analyst in the VisualAge C++ compiler group at IBM. She is vice-chair of the ANSI/ISO C++ standards committee and the chair of the Core Language Working Group for the committee. She writes the C++ Standard columns for C++ Report.
M4pm (1:30 pm - 5:00 pm)
Building Distributed Applications With CORBA and C++
Steve Vinoski, Hewlett-Packard

Intended audience: Designers and implementors of distributed systems interested in developing CORBA-based applications in C++. Participants should be comfortable programming in C++, and have some knowledge of basic distributed computing issues.

Attendees will benefit from the presentation of actual, working C++ code that illustrates how Object Request Brokers (ORBs) and CORBA services can be used to deploy working distributed systems.

Version 2.0 of the Common Object Request Broker Architecture (CORBA) Specification provides a standard base on which distributed object computing systems and applications can be built. Part of CORBA 2.0 describes the C++ language mapping which details how applications can be developed and implemented using the Object Management Group (OMG) Interface Definition Language (IDL) and the standard CORBA interfaces with C++.

This course will show how CORBA applications can be written using the standard OMG IDL C++ Language Mapping. In the first half, the basics of CORBA will be presented. Then, examples will show:

The second half will show how standard OMG CORBA services such as Naming, Events, and Lifecycle can be used to support distributed applications.

Steve Vinoski is a software architect in Hewlett-Packard's Chelmsford System Software Laboratory. He is currently the technical leader for the development of HP ORB Plus 2.0, HP's CORBA-conformant ORB product. He chaired the OMG C++ Mapping Revision Task Force and currently represents Hewlett-Packard on the OMG Architectural Board. Together with Doug Schmidt he writes the "Object Interconnections" column for the C++ Report .


M5pm (1:30 pm - 5:00 pm)
Advanced Modeling and Design for Java Systems
Desmond F. D'Souza and Petter Graff, Icon Computing, Inc.

Intended audience: Attendees should be knowledgeable about object design and have some familiarity with Java.

This course will present selected advanced modeling techniques that exploit Java as the implementation vehicle.

The course will cover:
Collaborations and Mutual Models

Refinement

Views and Pattern Composition

Separation of Concerns

Other topics will include:

  • Type and Interface vs. Class
  • Composing collaborations
  • Modeling and understanding frameworks
  • Describing exceptions

    Desmond D'Souza is the president of ICON Computing, Inc. and a faculty member at the Software Quality Institute at the University of Texas at Austin. He is the author of the Education and Training column in the Journal of Object-Oriented Programming and in Report on Object Analysis and Design.

    Petter Graff is the director of technology and applications at ICON Computing. He has worked with object technology since 1989. Petter has presented tutorials on advanced modeling and design techniques at conferences, and has published articles on model integration.


    M6pm (1:30 pm - 5:00 pm)
    STL In Action
    Graham Glass, ObjectSpace, Inc.

    Intended audience: C++ programmers

    This course focuses on the new ANSI C++ Standard Template Library (STL), a set of reusable containers and algorithms.

    The STL design is different from that of traditional container libraries, and maintains a clean separation between algorithms and containers. This philosophy can be applied to many other library domains, and may change the way that C++ libraries are designed and implemented.

    STL users in the C++ community seem to enjoy their new-found power, but some programmers are concerned that STL can be accidentally misused and cannot be used effectively in a multi-threaded environment. The course addresses these issues and also shows how STL can be enhanced in a non-intrusive way.

    The course is comprised of the following sections:

    Graham Glass is the president and co-founder of ObjectSpace, Inc, specialists in object technology, where he heads up the product division. His goal is to predict the next paradigm shift and to create the technology that supports it.

    Tuesday, June 18

    T1am (9:00 am - 12:30 pm)
    Java Applets and the AWT
    Nataraj Nagaratnam, Syracuse University

    Intended audience: Developers interested in developing interactive, animated GUI Java applications by exploiting the capabilities of the Java Abstract Window Toolkit (AWT). Participants should be familiar with Java.

    This course will describe the applet construction using the Java AWT.

    Topics include:

    This course will include in-depth treatment of:

    Participants will be able to start developing applets, and design and implement their graphical user interface applets using the AWT package.

    Nataraj Nagaratnam is a PhD candidate in Computer Engineering at Syracuse University. He is the lead author of the upcoming book "Waite Group's Java Networking and Windowing API SuperBible". He is a part of the Diamonds research group, working in the areas of object-oriented languages and systems.


    T2am (9:00 am - 12:30 pm)
    Programming Distributed Components Using Network OLE and C++
    Don Box, DevelopMentor

    Intended audience: Developers and system architects who are considering using OLE and COM as an object model for building distributed applications. The course assumes a working knowledge of C++.

    Network OLE (formerly known as Distributed COM or DCOM) is a lightweight object model that allows objects to be transparently distributed across heterogeneous platforms and networks. While the initial release is bundled with Windows NT, support for most major platforms, including most UNIX variants, is currently in development.

    This course gives a detailed look at the programming techniques used to implement COM objects that support transparent distribution and language-independent interoperability. The topics covered are:

    COM as a Binary Standard
    Interfaces as binary firewalls
    The C++ Binding for COM
    IUnknown and the Laws of COM
    Packaging and Advertising COM Servers
    Class Objects and Servers
    The Service Control Manager (SCM)
    COM Interface Definition Language (IDL)
    IDL Basics
    Building type libraries using IDL
    Standard Marshaling Architecture
    The Standard Marshaler
    Building Proxy/Stub pairs in IDL
    Custom Marshaling
    Marshaling via private subcontracts
    Marshaling by value
    Implementing Smart Proxies
    Network OLE Specifics
    OXIDs/OIDs/IPIDs - Identifying Servers, Objects, and Interfaces
    Object References on the Wire
    OLE on UNIX
    COM Threading and Concurrency Models
    Apartment Model Threading - Why and How
    Freethreaded COM - Performance and Constraints
    Connection Points
    Bi-directional Contracts
    Exposing and discovering Outbound Interfaces

    Don Box has been working in networking and distributed object systems since 1989. He is currently chronicling the COM lifestyle in book form and writes a regular column on OLE in both the C++ Report and Microsoft Systems Journal. He is active as a consultant on COM-related projects and regularly gives seminars on OLE and COM.


    T3am (9:00 am - 12:30 pm)
    Pattern-Oriented Software Architecture
    Hans Rohnert, Siemens AG

    Intended Audience: Software developers and technical managers. The level of this course is intermediate to advanced; no previous exposure to patterns is necessary.

    A pattern gives a solution schema to a recurring design problem in software development. While patterns have been gaining considerable attention during the last few years, previous efforts concentrated on low-level patterns (idioms) and mid-level patterns (design patterns).

    The course will discuss patterns at the level of overall software architectures. It will present a system of patterns for software architecture that combines the high level patterns with an enriched set of lower-level patterns, and organizes them into a cross-referenced catalog.

    The course will provide in-depth explanation of the notion of patterns, presenting several patterns at different levels of granularity. Example patterns are:

    Participants will be provided with preprints of full pattern descriptions using a system of interrelated patterns in a practical example.

    Dr. Hans Rohnert works for the Siemens Corporate R&D labs in Munich, Germany. He is co-author of an upcoming book, Pattern-Oriented Software-Architecture - A System of Patterns. He studied at the University of Saarland and the International Computer Science Institute at UC Berkeley. His research interests include patterns, object-oriented programming, combinatorial algorithms, and data structures.


    T4pm (1:30 pm - 5:00 pm)
    Inter-Domain Management: CORBA, OSI, SNMP
    Subrata Mazumdar, Bell Laboratories, Lucent Technologies

    Intended Audience: System analysts, architects, and programmers involved in management of networks, systems, and services. Participants should know either CMIP or SNMP. Knowledge about CORBA architecture and OMG Interface Definition Language (IDL) will be helpful.

    After this course, participants will be able to apply CORBA and object services for network and system management applications.

    This course is based on current draft specification of Joint Inter-Domain Management Task Force (XoJIDM) sponspored by X/Open and Network Management Forum. The Inter-Domain Management specification is divided into two parts: specification translation and interaction translation.

    This course will cover:

    After this course, participants will be able to apply CORBA and object services for network and system management applications.

    Subrata Mazumdar currently works at Bell Laboratories, Lucent Techonologies. Previously, he was with IBM T.J. Watson Research Center where he developed the architecture and prototype of a protocol-independent network management agent, a CORBA-based OSI system management agent, and designed and implemented the prototype of a CORBA-based TINA-C Distributed Processing Environment for multi-media services.


    T5pm (1:30 pm - 5:00 pm)
    Introduction to the Python Programming Language
    Jim Fulton, Consultant

    Intended Audience: Participants with some programming experience who would benefit from a powerful, easy-to-use, very high level object-oriented programming language.

    Python is an interpreted high level object-oriented programming language, combining remarkable power with very clear syntax. It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing.

    A large collection of existing modules is available for system programming, GUI development, database management, scientific computing, building WWW applications, distributed computing, and more. New modules are easily written in Python, C, C++, or other languages that can interface with C. Python may also be used as an extension language for applications that need a programmable interface. Python is highly portable: it runs on UNIX, DOS, Windows, Macintosh, OS/2, Amiga, and other platforms.

    This course will provide a basic introduction to Python, including:

    Jim Fulton is a consultant and software engineer with several years experience building systems using a variety of object-oriented languages. He has served on the ANSI Smalltalk committee and is currently a member of the Python Software Activity steering committee. Mr. Fulton holds a BS and MS from Case Western Reserve University, and an MS from George Mason University.


    T6pm (1:30 pm - 5:00 pm)
    OO Design Patterns for Concurrent, Parallel, and Distributed Systems
    Douglas C. Schmidt, Washington University, Missouri

    Intended audience: Software developers familiar with general object-oriented design and programming techniques (design patterns, modularity, and information hiding), fundamental OO programming language features (classes, inheritance, dynamic binding, and parameterized types), basic systems programming concepts (process/thread management, synchronization, and interprocess communication), and networking terminology (client/server architectures and TCP/IP).

    This course examines and evaluates a suite of OO design patterns that help to alleviate the complexity of developing concurrrent, parallel, and distributed object-oriented software. These patterns (and the framework components that implement them) have been used successfully on major OO communication software projects to build telecommunication switch management applications, network management for large-scale global personal communication systems, and electronic medical imaging systems.

    The course illustrates by example how to significantly simplify and enhance the development of software that effectively utilizes concurrency and network services via the use of:

    The course examines patterns and C++ code abstracted from production distributed electronic medical imaging and telecommunication systems to illustrate key points in the examples.

    Doug Schmidt is an assistant professor of Computer Science at Washington University in St. Louis, Missouri. His research focuses on design patterns, implementation, and experimental analysis of object-oriented techniques for developing high-performance, distributed communication systems on parallel processing platforms that run over high-speed networks.

    Continuing Education Units (CEUs)

    USENIX provides CEUs for a small administrative fee. Established by the International Association for Continuing Education and Training, the CEU is a nationally recognized standard unit of measure for continuing education and training, and is used by thousands of organizations across the United States.

    Completion of one full day of the tutorial program qualifies for 0.6 CEUs. You can request CEU credit by checking the appropriate box on the registration form. USENIX provides a certificate and maintains transcripts for each attendee who chooses CEU credits. CEUs are not the same as college credits. Consult your employer or school to determine their applicability.

    TECHNICAL PROGRAM
    Wednesday & Thursday, June 19-20

    Wednesday, June 19

    8:45 - 9:00 OPENING REMARKS
    Douglas C. Schmidt, Washington University

    9:00 -10:00 KEYNOTE ADDRESS:
    Experiences on the Road to Object Utopia: An Industrial Research and Development Perspective
    Dave Thomas, Object Technology International

    Mr.Thomas will offer a critical look at where we have been and where we are going with object technology research and practices. Dave Thomas is founder and CEO of Object Technology International, Inc. (OTI), an advanced software technology company and leader in object- oriented technology, specializing in joint product development and technology licensing.

    10:30-12:00 C++
    Session Chair: Daniel Edelson, IA Corporation

    Compiler Optimization of C++ Virtual Function Calls
    Sara Porat, David Bernstein, Yaroslav Fedorov, Joseph Rodrigue, and Eran Yahav, IBM Haifa Research Laboratory

    Composing Special Memory Allocators in C++
    Keith Loepere, Open Software Foundation

    Building Independent Black Box Components in C++
    Mark Addesso, Software AG

    1:30 - 3:30 CORBA AND DISTRIBUTED OBJECTS
    Session Chair: Steve Vinoski, Hewlett-Packard

    Interlanguage Object Sharing with SOM
    Jennifer Hamilton, IBM Toronto Laboratory

    Extending a Traditional OS Using Object-Oriented Techniques
    Jose Bernabeu, Vlada Matena, and Yousef Khalidi, Sun Microsystems Laboratories

    Object Caching in a CORBA Compliant System
    R. Kordale and M. Ahamad, Georgia Tech; M. Devarakonda, IBM T.J. Watson Research

    Asynchonrous Notifications Among Distributed Objects
    Yeturu Aahlad, Bruce E. Martin, Mod Marathe, and Chung Lee, SunSoft, Inc.

    4:00 - 5:30 TOOLS
    Session Chair: Doug Lea, SUNY Oswego

    Preliminary Design of ADL/C++ -- A Specification Language for C++
    Sreenivasa Rao Viswanadha, SUNY Albany

    Software Composition with Extended Entity-Relationship Diagrams
    Pornsiri Muenchaisri and Toshimi Minoura, Oregon State University

    A Measure of Testing Effort
    John McGregor and S. Srinivas, Clemson University

    Thursday, June 20

    9:00 -10:30: PATTERNS
    Session Chair: Doug Schmidt, Washington University

    Design Patterns for Dealing with Dual Inheritance Hierarchies in C++
    Robert Martin, Object Mentor

    The Object Group Design Pattern
    Silvano Maffeis, Olsen & Associates, Zurich

    Pattern Languages for Handing C++ Resources in an Exception-Safe Way
    Harald Mueller, SIEMENS

    11:00 - 12:30 OBJECT-ORIENTED FRAMEWORKS AND COMPONENTS
    Session Chair: Jim Waldo, Sun Microsystems Labs and JavaSoft

    The Any Framework: A Pragmatic Approach to Flexibility
    Kai-Uwe Maetzel and Walter Bischofberger, UBILAB

    Design and Performance of an Object-Oriented Framework for High- Performance Electronic Medical Imaging
    I. Pyarali, T. Harrison, and D. Schmidt, Washington University

    Class Relationships and User Extensibility in Solid Geometric Modeling
    James R. Miller, University of Kansas

    2:00 - 4:00 DISTRIBUTION LANGUAGES
    Session Chair: Vince Russo, Purdue University

    A Distributed Object Model for the Java(tm) System
    Ann Wollrath, Roger Riggs, and Jim Waldo, Sun Microsystems, Inc.

    Smart Messages: An Object-Oriented Communication Mechanism
    Eshrat Arjomandi, York University, Toronto; William G. O'Farrell, Gregory V. Wilson, IBM Canada Ltd.

    Pickling State in the Java(tm) System
    Roger Riggs, Jim Waldo, and Ann Wollrath, Sun Microsystems, Inc.

    Highly Concurrent Distributed Knowledge Objects
    K.L. Clark and T.I. Wang, Imperial College

    4:30 - 5:30 WRITER'S WORKSHOP
    This session will focus on three to four of the technical papers presented in "writer's workshop" form. The goal is to focus on the papers selected for the USENIX Computing Systems Journal special issue on Distributed Objects in order to make them more solid before publication.

    ADVANCED TOPICS WORKSHOP, Friday, June 21

    9:00 - 5:00 Distributed Object Computing on the Internet

    This one-day post-conference workshop will focus on the development of methods, tools, and services supporting distributed object computing on the Internet. The topics include, but are not limited to, the performance, scalability, reliability, management and security issues surrounding:

    *Java and content-oriented languages for the WWW
    *CORBA and Network OLE in large-scale distributed applications

    Attendance is limited and based on acceptance of a position paper. Potential workshop attendees are invited to submit a position paper of at most three (3) pages (ASCII) via electronic mail to David Cohn (dlc@cse.nd.edu) no later than May 1st, 1996. Acceptance notices to all participants will be issued by May 20th, 1996. Position papers should briefly describe experiences, interests, works in progress, and/or ongoing research and development. A representative subset of authors of position papers will be invited to make informal presentations at the workshop.

    USENIX Conference Proceedings:

    One copy of the proceedings is included with your Technical Sessions registration fee. To order additional copies, contact the USENIX Association at 510.528.8649, or send your email to: office@usenix.org

    Birds-of-a-Feather Sessions (BoFs) - Tuesday & Wednesday Evenings

    Do you have a topic that you'd like to discuss with others? Our Birds-of-a-Feather Sessions may be perfect for you. BoFs are very interactive and informal gatherings for attendees interested in a particular topic. Schedule your BoF in advance by telephoning the USENIX Conference Office at 714.588.8649, or email to: conference@usenix.org

    HOTEL AND TRAVEL INFORMATION

    The Conference headquarters will be:

    Toronto Marriott Eaton Centre
    525 Bay Street
    Toronto, Ontario, Canada M5G 2L2
    Toll Free: 800.228.9290 (U.S. and Canada)
    Local Telephone: 416.597.9200
    Reservation Fax: 416.674.7011

    Room Rates (Canadian Funds)

    $139.00 Single or Double Occupancy (plus applicable taxes)

    Note: Current bank exchange rate is approximately 35%, making your U.S. dollar hotel room rate approximately $91. The exchange rate can fluctuate.

    To Make Your Reservation: Call the hotel directly and ask for the Reservations Desk. You must mention USENIX to get this special rate. To guarantee your arrival after 6:00 pm, a one night's deposit is required. To cancel your reservation, you must notify the hotel at least 24 hours prior to your scheduled arrival.

    IMPORTANT:

    The room reservation deadline is May 28, 1996. Requests for reservations received after the deadline will be handled on a space-available basis.

    Discount Airfares

    It is suggested that you fly into Pearson International Airport in Toronto. Special airline discounts will be available for USENIX attendees. Please call for details:

    JNR, Inc. Toll Free 800.343.4546 (USA)
    Telephone 714.476.2788

    Airport to Hotel Transportation

    Pearson International Airport is located approximately 27 miles from the Marriott Eaton Centre. The Airport Express provides airport to hotel transportation. Reservations are not needed. The bus runs every 20 minutes on the hour and takes approximately 1 hour to get to the hotel. Service from the airport runs from 6:50 am to 12:20 am. The cost for round trip is $19.70, one way is $11.50, Canadian. (You may pay in American dollars at the current exchange rate). To catch the bus after claiming your baggage, proceed outside and look for the Airport Express Bus post at curb side.

    A Taxi cab takes approximately 35 minutes to the hotel and costs approximately $35 Canadian, one way.

    WELCOME TO CANADA

    Proof of Citizenship

    All visitors must provide a passport or birth certificate as proof of citizenship. Citizens of countries other than the United States should check with the Canadian Embassy or nearest Consulate before their departure.

    The Goods and Services Tax (GST)

    The following will provide you with some general information about obtaining a tax rebate on some goods and services received while in Canada. For more detailed information, please refer to the "Tax Refund for Visitors Pamphlet" which may be obtained from your hotel.

    The Goods and Services Tax is a seven percent tax charged on most goods and services sold or provided in Canada. In Canada you will pay this tax on most of your purchases. Under the VISITOR Rebate Program, you may get a refund of the tax you paid on goods you take home and on hotel accommodations in Canada, provided your stay for less than one month per lodging establishment.

    Information You Need to Know!

    You qualify for a tax refund if:

    As noted above, you may receive a refund for the tax you pay for hotel accommodations. There is no refund for tax paid on meals, wine, liquor, beer, and other alcoholic beverages. For a more complete list of what qualifies, see the "Tax Refund for Visitors Pamphlet."

    You may apply for your rebate by mail by completing the Visitor Application for Refund form located in the "Tax Refund for Visitors Pamphlet". You must send your original sales receipts. Credit card slips and photocopies are not acceptable! (Your original receipts will be returned to you.) Receipt of your refund will take approximately 8-10 weeks. If you wish to file your claim while in Canada, you may do so at a participating Canadian Duty Free Shop. A list of these shops can be found in the above mentioned pamphlet.

    Driving in Canada

    U.S. drivers licenses are valid in Canada for varying periods of time as legislated by the individual provinces and territories.

    Toronto Facts:

    Climate:
    Average temperature for June is a high of 75 Degrees Fahrenheit and a low of 57 Degrees Fahrenheit.

    Electricity:
    Electrical current is 115 volts; 60Hz

    Currency:
    Money system in Canada is based on dollars and cents. Because of current exchange rates, there will be a difference in value between Canadian and the U.S. Attendees are advised to change some of their currency before coming to Canada if they expect to arrive late in the evening or on the weekend. Of course, traveler's cheques, ideally in Canadian funds and credit cards are readily accepted.

    Points of Interest

    CN Tower - The tallest freestanding structure in the world which includes spectacular observation decks, revolving restaurant, Putt Putt Golf and Q-Zar, the futuristic laser game.

    Royal Ontario Museum - Canada's largest museum offering collections in art, archeology and natural history. Favorite galleries include Dinosaurs, Ancient Egypt, world renowned Chinese collections and a Canadian Heritage Floor.

    Ontario Science Centre - Over 650 exhibits and programs to get your hands on and bodies into. Make discoveries about the sports you play, the foods you eat, the ways you communicate and the technology you use.

    Ford Centre for the Performing Arts - Metropolitan Toronto's newest performing arts centre. Its spectacular 1,850 seat Main Stage Theatre is home to one of the hottest tickets in town.

    Skydome - The World's Greatest Entertainment Centre, under the world's largest retractable roof. Over 250 events a year including baseball games, indoor carnivals, concerts, circuses and consumer shows.

    Casa Loma - Experience Toronto's majestic castle estate. Explore elegantly furnished rooms, secret passages, towers, and 800 foot tunnel and stables.

    Art Gallery of Ontario - The AGO is one of the largest and finest art museums in North America, with 50 new and renovated galleries celebrating 600 years of creativity.

    ABOUT THE USENIX ASSOCIATION

    Since 1975, the USENIX Association has provided a forum where the community of engineers, scientists, and technicians working on the cutting edge of the computing world come together to communicate the results of innovation and research in UNIX and modern open systems. USENIX is well known for its technical conferences, tutorial programs, and the wide variety of publications it has sponsored over the years.

    USENIX is the original, not-for-profit membership organization for individuals and institutions interested in UNIX and related technologies. Evolving with technology, USENIX has broadened its activities to include open systems and the globally interconnected and interoperable computing environment.

    The USENIX Association and its members are dedicated to:

    REGISTRATION FORM

    ============================cut here=================================
    

    2nd Conference on Object-Oriented Technologies (COOTS) June 17-21, 1996, Toronto, Ontario, Canada

    Please complete the form below and return with full payment to:
    
    USENIX Conference Office
    22672 Lambert St., Suite 613, Lake Forest, CA  92630
    Phone:  714.588.8649 / Fax:  714.588.9706
    Email:  conference@usenix.org
    Office Hours:  8:30am - 5:00pm Pacific Time
    
    NAME________________________________________________________________
             (first)                                 (last)
    
    FIRST NAME FOR BADGE____________________________Member Number_______
    
    COMPANY OR INSTITUTION______________________________________________
    
    MAILING ADDRESS_____________________________________________________
    						(mail stop)
    
    ____________________________________________________________________
    
    CITY___________________________STATE____ZIP___________COUNTRY________
    
    TELEPHONE NO:_________________________FAX NO._________________________
    
    NETWORK ADDRESS______________________________________________________
                              (one only please)
    The address you provide will be used for all future USENIX
    mailings unless you notify us in writing.
    
    ATTENDEE PROFILE
    Please help us serve you better.  By answering the following
    questions, you help us plan our activities to meet members'
    needs.  All information is confidential.
    
    [ ] I do not want to be on the attendee list
    [ ] I do not want my address made available for other than USENIX
        mailings
    [ ] I do not want USENIX to email me notices of Association activities.
    
    What is your affiliation? [ ]academic  [ ]commercial  [ ]gov't  [ ]R&D
    
    What is your role in purchase decision?
    1.[] final  2.[] specify  3.[] recommend 4.[] influence 5.[] no role
    
    What is your job function? (check one)
    1.[] system/network administrator    2.[] consultant 
    3.[] academic/research   4.[] developer/programmer/architect 
    5.[] system engineer    6.[] technical manager  7.[] student
    
    How did you hear about this meeting:
    1.[] USENIX mailing  2.[] newsgroup/bulletin board 3.[] ;login:  
    4.[] World Wide Web  5.[] from a colleague  6.[] magazine
    
    What publications or newsgroups do you read on object-oriented
    technologies? _____________________________________________
    
    =================================================================
    
    TUTORIAL PROGRAM 
    Select one AM and one PM tutorial per day.  Please, no partial
    or split-day registration allowed.
    
    Monday, June 17, 1996
    ========================
    [ ] M1am:  CORBA and CORBA Services
    [ ] M2am:  Java Overview
    [ ] M3am:  New ANSI C++ Features
    
    [ ] M4pm:  Distributed Apps with CORBA and C++
    [ ] M5pm:  Modeling and Design for Java
    [ ] M6pm:  Standard Template Library (STL)
    
        Second Choice of first is filled:____________________________
    
    Tuesday, June 18, 1996
    =========================
    [ ] T1am:  Java Applets and the AWT
    [ ] T2am:  Network OLE and C++
    [ ] T3am:  Pattern-Oriented Software Architecture
    
    [ ] T4pm:  Inter-Domain Management
    [ ] T5pm:  Introduction to Python
    [ ] T6pm:  OO Design Patterns
    
        Second Choice of first is filled:____________________________
    
    
    TUTORIAL PROGRAM FEES - Monday & Tuesday, June 17-18
    	Tutorial Program for two days..........$590	$_________
    	CEU credit (optional)..................$ 30	$_________
    	Tutorial Program for one day...........$320	$_________
    	CEU credit (optional)..................$ 15	$_________
    
    	Late fee applies if postmarked after 
    	  Friday, May 31, 1996...............Add $ 50	$_________
    
    TECHNICAL SESSION FEES - Wednesday & Thursday, June 19-20
    
    	Current Member Fee.....................$310	$________
            (Applies to current USENIX, EurOpen, JUS 
    	 and AUUG members)
    
    	Non-Member or Renewing Member Fee*.....$380	$________
    	*Join or renew your USENIX membership 
    	and attend the conference for same low price 
                                             -Check here [ ]
    
    	Late fee applies if postmarked after 
    	  Friday, May 31, 1996..........Add $ 50	$_________
    
    	Full-Time Student Fee: pre-registered  
    	                       or on-site......$ 75	$_________
    	(Students must include photocopy of current 
    	 student I.D.)
    	
    	Full-time student, including USENIX membership
    	fee....................................$100	$_________
    
                           TOTAL ENCLOSED...................$_________
    
    
    PAYMENT MUST ACCOMPANY THIS FORM.  
    Payment in US Dollars must accompany this form.  Purchase orders,
    vouchers, telephone or email registrations cannot be accepted.  
    
    [ ] Payment Enclosed (Make check payable to USENIX Conference)
    
    CHARGE TO MY:  ___VISA ___MASTERCARD ___AMERICAN EXPRESS ___DINERS CLUB
    
    ACCOUNT NO.______________________________________ EXP. DATE___________
    
    _______________________________________/___________________________
     Print Cardholder's Name                 Cardholder's Signature
    
    You may fax your registration form if paying by credit card to 
    USENIX Conference Office, fax:  714 588 9706.  (To avoid duplicate 
    billing, please DO NOT mail an additional copy.)
    
    REFUND/CANCELLATION POLICY
    If you must CANCEL, all refund requests must be in writing and 
    postmarked no later than June 7, 1996.  Cancellations cannot be 
    taken over the telephone.  If you have registered but are unable 
    to attend, you may call to substitute another person in your place.