From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: *** X-Spam-Status: No, score=3.7 required=5.0 tests=BAYES_00,FILL_THIS_FORM, FILL_THIS_FORM_FRAUD_PHISH,FILL_THIS_FORM_LOAN,TO_NO_BRKTS_PCNT autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,8d4dabb7bf65ea9d,start X-Google-Attributes: gid103376,public From: toni@usenix.org (Toni Veglia) Subject: 2nd Conference on Object-Oriented Technologies & Systems (COOTS) Date: 1996/05/23 Message-ID: X-Deja-AN: 156340176 organization: USENIX Association newsgroups: comp.lang.ada Date: 1996-05-23T00:00:00+00:00 List-Id: ================================================================== 2nd Conference on Object-Oriented Technologies and Systems (COOTS) Sponsored by the USENIX Association June 17-21, 1996 Marriott Eaton Centre, Toronto, Ontario, Canada ================================================================== 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 -How to build high-performance distributed object systems with CORBA -How to write robust programs using C++ and Java -How to develop fault tolerant object-oriented distributed systems -How to write distributed applications with Java -How to apply successful design patterns for communication software systems -How to use the ANSI C++ Standard Library effectively 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 Laboratories ==================================================== 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 Preliminary Technical Program schedule. ======================================================= TUTORIAL PROGRAM, Monday and Tuesday, June 17-18, 1996 ======================================================= Java Overview CORBA and CORBA Services New ANSI C++ Features Distributed Apps with CORBA and C++ Modeling and Design for Java Standard Template Library (STL) Network OLE and C++ Java Applets and the AWT Pattern-Oriented Software Architecture Inter-Domain Management Introduction to Python OO Design Patterns 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: * Admission to the tutorials you select * Lunch * Printed and bound tutorial materials from your sessions ==================== 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: * the interface definition language * the object request broker * the interface repository 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: * Events * Naming * Relationships * Life cycle * Transactions 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 Labs 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 Laboratories 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: o Namespaces -- Namespaces and class libraries *How are namespaces defined? *How do they resolve the global name space pollution problem? *How can they be used to package class libraries? -- Using directives and using declarations o Templates--An overview of the template compilation model -- Instantiations *How, when, and where do template instantiations take place? *How can users take control over the template instantiation mechanism if performance is a priority? --Template Specializations *How can users provide their own template specializations for template classes or functions? --Templates and Namespaces *How do template instantiations interact with namespaces? o RTTI -- The type_info class and the typeid operator *What functionality do they provide? *How are they used for object persistence? --The dynamic_cast operator * Why and how are they used for navigating class hierarchies? 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: * how IDL constructs (such as interfaces, operations, object references, and sequences) can be used to describe and implement CORBA objects, and * how C++ applications can use client-side stubs and the Dynamic Invocation Interface to request services from such objects. 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 * Developing a consistent vocabulary * Uncovering any serious misconceptions and interface deficiencies early * Clear understanding of assumptions, guarantees, and exceptions Refinement * Maintaining traceability from problem domain model to Java code * Utilizing an incremental and compositional approach to model development * Managing complex problems more readily * Safely defering details when necessary * Handling development with mixed levels of detail and completeness Views and Pattern Composition * Achieving early reuse by composing existing patterns and components * Dividing and conquer complex problems * Understanding more complex models * Exploiting framework techniques from specs to implementations Separation of Concerns * Separating decisions of "what, who, and how" * Mapping to Java 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: - the background, philosophy, and operation of STL - making STL easier to use - using STL in a multi-threaded environment - adding persistence to STL 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: * Applet construction * Structure of the AWT package * Principal AWT classes and methods * Designing and implementing Java GUIs. This course will include in-depth treatment of: *Developing platform-independent GUIs *Laying out windowing components using layout managers *Enhancing the applets by using the graphical classes *Event handling *Hierachical event propagation through containment and inheritance. *Using classes and methods for manipulating images 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: *Broker *Layers *Blackboard, *Model-View-Controller *Publisher-Subscriber *Client-Dispatcher-Server *Counted Pointer 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: --Overview and Status of XoJIDM Activities --Overview of CORBA and IDL --Issues in Inter-Domain Management -- Specification Translation Schemes o Mapping of ASN.1 Types to CORBA-IDL Types o Mapping of GDMO Templates to CORBA-IDL Interfaces and Operations o Mapping of SNMPv2 MIB to CORBA-IDL Types and Interfaces --Issues related to Interaction Translation in OSI System Management o Mapping of Names o Mapping of LifeCycle Service o Mapping of Events and support for Filtering --Gateway between ORB and CMIP/SNMP network Management Agent --Summary and Discussion 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: o Python Basics - Using the Python interpreter interactively, - Python expressions and control statements, - Using Python modules and high-level data types, - Creating Python scripts, - Standard Python object protocols, - Writing Python functions, - Creating Python Modules, - Using documentation strings to make objects self-documenting, - Overview of pre-existing modules o Object-Oriented Programming in Python - Class definition, - Special methods for implementing standard protocols: o Numeric types, o Sequence types, o Mapping types, o Callable objects, o Overriding standard method attribute lookup, - Overview of defining new object types using C or C++ extension modules. 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: * Object-oriented design techniques - design patterns, layered modularity, and information hiding * C++ language features - abstract classes, inheritance, dynamic binding, and parameterized types * Tools - object-oriented communication frameworks (such as ACE) and object request brokers (ORBs) * Advanced operating system mechanisms - event demultiplexing, multi-threading, multi-processing, and explicit dynamic linking * Emerging standards for distributed object computing - OMG CORBA and Network OLE/COM 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. =============================================================== PRELIMINARY 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 David Bernstein, Yaroslav Fedorov, Sara Porat, Joseph Rodrigue, and Eran Yahav, IBM Haifa Research Lab. 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 Extending a Traditional OS Using Object-Oriented Techniques Jose Bernabeu, Vlada Matena, and Yousef Khalidi, Sun Microsystems, Inc. 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 Testing Process Metrics 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 Cornell University 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 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 Arjomani, William O'Farrell, Greg Wilson, IBM 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 Attendence 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 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: * you are not a resident of Canada * you spend $100 (Canadian) or more on qualifying goods and/or accommodationsanywhere in Canada. * you have original receipts * you apply for the refund within one year of purchasing the qualifying goods and accommodations. 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: * problem-solving with a practical bias, * fostering innovation and research that works, * rapidly communicating the results of both research and innovation, and * providing a neutral forum for the exercise of critical thought and the airing of technical issues. ============================cut here============================ ************************************************************************ REGISTRATION FORM 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.