home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-08-13 | 59.1 KB | 1,247 lines |
- Newsgroups: comp.object
- Path: sparky!uunet!wupost!m.cs.uiuc.edu!johnson
- From: johnson@m.cs.uiuc.edu (Ralph Johnson)
- Subject: OOPSLA '92 tutorials
- Message-ID: <1992Aug14.124040.13090@m.cs.uiuc.edu>
- Summary: description of all OOPSLA '92 tutorials
- Organization: University of Illinois, Dept. of Comp. Sci., Urbana, IL
- Date: Fri, 14 Aug 1992 12:40:40 GMT
- Lines: 1236
-
- This year's tutorials are by far the most advanced ever. They cover
- a wide range of topics, so there should be something for everyone.
- Although there are a few beginning tutorials, and lots of intermediate
- ones, the real strength lies in the advanced tutorials. We have tried
- to design these tutorials for the kind of person who comes to OOPSLA,
- who is in general someone who regularly uses object-oriented technology,
- not just someone interested in it. Come to OOPSLA to increase your
- skills, to see the latest in technology, and to meet others with similar
- interests.
-
- Please post this on local bulletin boards, especially in the Northwest
- region close to Vancouver, and especially in big companies like Microsoft.
- The tutorials are October 17 and 18 (in Vancouver, of course). To get
- an official registration form, send e-mail to mann@eola.cs.ucf.edu.
-
- You can get a nicely formatted copy of this document in Rich Text Format
- by anonymous ftp from st.cs.uiuc.edu in /pub/oopsla. There is also an
- archive server that will send you copies by e-mail. Send a message to
- archive-server@st.cs.uiuc.edu of the form
-
- path your-id@your-host-id
- send oopsla/Tutorials.rtf
-
- Ralph E. Johnson -- University of Illinois at Urbana-Champaign
- _____________________________
-
- This year's tutorials cover a wide range of topics, and are designed
- to appeal to practitioners, managers, and researchers. The tutorials
- have been placed in three categories depending on the amount of
- experience you require with object-oriented technology in order to
- benefit from them. The "beginning" tutorials assume no knowledge of
- object-oriented programming, though tutorial 16 would be suitable for
- someone with more experience since it focuses on management
- techniques. "Intermediate" tutorials assume some knowledge of
- object-oriented techniques, and "advanced" assume several years
- experience. Note that these categories describe your levels of
- object-oriented knowledge. For example, tutorial 27 assumes an
- advanced level of object-oriented experience, but does not assume that
- you know much about visual programming languages.
-
- Concepts of Object-Oriented Programming -- Full Day
- Object Design for Modularity, Reuse and Quality -- Full Day
- A Comparison of Object-Oriented Analysis and Design Methods -- Morning
- Integrating Analysis and Design Methods -- Afternoon
- Object-Oriented Concurrent Programming -- Full Day
- Types for the Working Programmer -- Morning
- Types for the Language Designer -- Afternoon
- Simulation with DEVS-CLOS -- Morning
- Advanced CLOS and Meta-Object Protocols -- Afternoon
- Introduction to Object-Oriented Database Management Systems -- Full Day
- Object-Oriented Software Development with the Demeter Method -- Afternoon
- Object-Oriented User interfaces -- Morning
- Evaluating Reusable Class Libraries -- Afternoon
- Object Engineering -- Morning
- Teaching Object-Oriented Programming and Design -- Afternoon
- Object-Oriented Project Management -- Full Day
- Introduction to Object-Oriented Design -- Morning
- The Pragmatics of Building Object-Oriented Systems -- Afternoon
- A Case Study of Domain Analysis: Health Care -- Morning
- The Analysis and Design of Distributed Systems -- Afternoon
- Specification Techniques for Object-Oriented Software -- Full Day
- Writing Efficient C++ Programs -- Morning
- The Design and Management of C++ Class Libraries -- Afternoon
- Hardware Support for Object-Oriented Systems -- Morning
- Efficient Implementation of OOP Languages -- Afternoon
- Constraint-Based Languages and Systems -- Morning
- Visual Programming Languages from an Object-Oriented Perspective -- Afternoon
- Intermediate Smalltalk: Practical Design and Implementation -- Morning
- Writing Efficient Smalltalk Programs -- Afternoon
- Testing Object-Oriented Software -- Full Day
- Object-Oriented Geometry and Graphics -- Morning
- The Design of an Object-Oriented Operating System:
- A Case Study of Choices -- Afternoon
- Teaching "Object-Think" with Multi-Sensory Engagement -- Morning
- Schema Updates for Object-Oriented Database Systems -- Afternoon
-
- Analysis and Design
-
- Tutorial 2 is a design tutorial suitable for those
- who might have been using an object-oriented programming language,
- but have never followed any particular design method. It covers all
- areas of the design phase, with an emphasis on design for reuse. It is
- also suitable for those who are moving into object-oriented technology
- and prefer an explicit design phase, or those who want an
- object-design method that emphasizes reuse. Tutorial 17, which is a
- quick survey of Booch's design method, is also suitable for those with
- no experience with a formal design method. On the other hand, tutorial
- 18 assumes that you know Booch's design method. Tutorials 3 and 4
- both compare different design and analysis methods, so you should know
- at least one method before you take them. They have different points
- of view (3 is analytic and 4 is synthetic) so many methodologists will
- want to take both. Tutorials 20 and 21 are advanced tutorials that
- focus on particular aspects of design and analysis. Tutorial 20
- describes techniques to analyze and design distributed object-
- oriented systems, while 21 surveys operational and descriptive
- specifcation techniques for object-oriented software engineering.
- You should only take them if you have a sufficient background in
- design and analysis methods to be able to integrate these techniques
- into whatever method you are currently using. Tutorial 11 is a
- fast-paced introduction to a formal design method that is backed by
- tools that convert graphics into code. Tutorial 19 is a case study in
- object-oriented domain analysis. The other case studies (8, 31 and 32)
- might also be of interest to those studying design.
-
- Languages
-
- Tutorials 22 and 23 focus on C++. Tutorial 14 focuses on
- low-level design issues important for C++. Tutorial 32 is a case study
- of a system written in C++. Most of the libraries used as examples in
- tutorial 13 are in C++. Tutorials 28 and 29 focus on Smalltalk.
- Tutorial 31 is a case study of a system written in Smalltalk, and
- tutorial 5 uses Smalltalk as a language for examples. Tutorial 9 is
- about the CLOS meta-object protocols, and is of interest both to CLOS
- programmers and to language designers who want to see practical and
- useful examples of reflective programming. Tutorial 8 is a case
- study of a simulation system in CLOS, and can serve as an introduction
- to CLOS for non-CLOS programmers wanting to take tutorial 9, though it
- is primarily a case study, and is as much an introduction to
- simulation as to CLOS. Tutorials 6, 7, 24 and 25 will be interesting
- to language designers and implementors, or to those who like to know
- how their programming languages work, and why. We have tried to avoid
- duplicating material in tutorials 6 and 7. Thus, 7 does not motivate
- contravariance, and those interested in 7 who are not familiar with it
- should be sure to take 6. Tutorial 5 covers concurrent languages, 27
- visual languages, and 26 constraint languages.
-
- Software Engineering
-
- There is more to software engineering than analysis and design
- methods. There are tutorials on managing the development of
- object-oriented software (16), on testing (30), on reusable
- libraries(13 and 23), on user interface design (12) and on low-level
- object engineering (14). These tutorials are designed to appeal to
- people with a wide range of expertise in objects, so don't be worried
- if they are labeled "intermediate" and you consider yourself an
- expert.
-
- Education
-
- There are two tutorials on how to teach what you've learned at OOPSLA.
- Tutorial 15 is aimed at academics, who have a semester to teach, while
- tutorial 33 is aimed at teachers in industry, who have only a short
- time to enable their students to "get it" and who need quick,
- effective teaching methods.
-
- Databases
-
- Tutorial 10 is an introduction to OODBMS, while 34, although it is an
- intermediate tutorial, assumes some exposure to OODBMS, such as that
- given by 10.
-
- Graphics and User Interfaces
-
- Tutorial 12 is entirely on user interfaces, and 31 is on both graphics
- and user interfaces. Constraint systems, the topic of tutorial 26,
- are a common part of user interfaces, so that tutorial might be of
- interest to user interface implementors. Tutorial 27 is an application
- of graphics and user interfaces, though it is more closely related to
- language design.
-
- SUNDAY, OCTOBER 18
-
-
- Concepts of Object-Oriented Programming
-
- Sunday: Full Day
- Level: Beginning
- Raimund K. Ege, Florida International University
-
- This tutorial defnes and teaches the basic concepts of object-oriented
- programming, illustrates the advantages of object-oriented techniques
- over conventional programming, introduces the components of an
- object-oriented programming environment, and gives an overview of the
- features of object-oriented languages and environments. This tutorial
- will let you make an informed decision about what language/environment
- will best serve your programming needs.
-
- Raimund K. Ege is an associate professor of Computer Science at the
- Florida International University, Miami. He is the author of
- Programming in an Object-Oriented Environment (Academic Press, 1992).
- His research interests include the application of object-oriented
- concepts to programming, user interfaces, databases, simulation and
- software engineering. He has given many tutorials at OOPSLA, and is
- rated very highly by his audiences.
-
-
- Object Design for Modularity, Reuse and Quality
- Sunday: Full Day
- Level: Intermediate
- Douglas Bennett, Design Ways
-
- Turning buzzwords like modularity, reusable components, extensibility,
- testability, and robustness into reality requires more than just a
- compiler for an object-oriented language, or even an integrated
- development environment. These properties must be "designed into" the
- software product. This tutorial shows how to make design decisions so
- the product will do what its users want and so the buzzwords actually
- show up in the product. The tutorial will work through the steps of a
- design project, documenting user and producer needs, modeling the
- "thing" objects, describing behavior with event response models, and,
- fnally, developing an architecture for the product. Part of each step
- is evaluating the design against the magic words. The result will be a
- product structure that is probably very different from conventional
- software architectures, but one that can be measured against the
- design criteria.
-
- This tutorial teaches the explicit design of software. It uses
- notations from several existing methods. You may use your own
- notations, if you wish.
-
- Doug Bennett is a chemical engineer who moved into software 10 years
- ago. He believed the hype about a "better way to build software" and
- taught object technology for Stepstone. When he learned that the
- "better way" did not come with the compiler, he returned to his
- engineering design roots and founded Design Ways. His training and
- consulting clients have included Bellcore, Bank of New York, Timeplex,
- Contel IPC, and Dun & Bradstreet Software. He has used the design
- techniques in this tutorial on a telephone switch, a T1 network,
- accounting systems, and a bank position limit monitor system.
-
- A Comparison of Object-Oriented Analysis and Design Methods
- Sunday: Half Day-Morning
- Level: Advanced
- Martin Fowler
-
- This tutorial shows how to look inside design and analysis methods to
- see how they differ, and more importantly, how they are the same. It
- examines several of the most well-known methods, including Booch,
- Coad/Yourdon, Odell/Martin, Rumbaugh, and Schlaer/Mellor, but its
- analysis techniques can be applied to any method.
-
- In general, each method is made up of several techniques (e.g. ER
- modeling, state transition diagrams) each of which emphasizes a
- particular aspect of the system. These techniques can be classifed as
- being for structural (data), behavioral or architectural modeling. The
- tutorial shows the techniques each method uses and how different
- methods use different dialects of the same techniques, varying the
- notation and introducing new concepts. It uses examples to show how
- the same system is expressed in different ways by the various methods.
- The tutorial also compares the design approach advocated by each
- method.
-
- This tutorial will help you decide which method will work best for
- you. In addition, you will learn how ideas from different methods can
- be combined to better suit the system under analysis.
-
- Martin Fowler is an analyst and designer with previous experience with
- Coopers & Lybrand UK and with ADT. For the last three years he has
- been employed by the UK National Health Service to produce a generic
- model for health care, which is the subject of tutorial 13. He also
- teaches and consults on object-oriented analysis and design.
-
-
- Integrating Analysis and Design Methods
-
- Sunday: Half Day-Afternoon
- Level: Advanced
- Paul Jeremaes & Patrick Arnold, HP Labs, England
-
- Most of those who practice object-oriented analysis and design do not
- follow any standard method exactly, but combine different techniques
- to suit their own unique requirements. Each method employs its own set
- of models, notations, and processes, so it can be difficult to combine
- them. This tutorial shows how to design a method by providing a
- framework for understanding and evaluating current methods, applying
- it to three recent methods (OMT (Rumbaugh et al), Responsibility
- Driven Design/CRC cards, Booch 91 Method), and combining them to
- produce a new method, FUSION, that builds on their best aspects.
-
- The tutorial introduces a set of criteria for evaluating methods from
- the viewpoint of the object-oriented concepts they support, the kinds
- of models and notations they employ and the process steps that they
- recommend. The criteria provides a way to understand the underlying
- similarities and differences between methods.
-
- The criteria were developed as part of a program to assess what kind
- of method should be made available to HP engineers, which led to the
- development of the FUSION method. The tutorial ends with a brief
- account of the usefulness of FUSION in practice.
-
- Derek Coleman is a Project Manager at HP Laboratories leading a
- research and consulting team working on object-oriented methods. Derek
- is an active member of the object-oriented research community and the
- author of many papers on software engineering.
-
- Patrick Arnold has worked as a researcher in software engineering at
- HP Laboratories for the past fve years. His interests are developing
- formal specifcation languages and CASE tools to support them.
-
-
- Object-Oriented Concurrent Programming
- Sunday: Full Day
- Level: Advanced
- Jean-Pierre Briot, Institute Blaise Pascal, France
-
- This tutorial treats object-oriented concurrent programming (OOCP) as
- the natural generalization of object-oriented programming. OOCP
- decomposes a large program into a collection of small modules that run
- and interact concurrently and are capable of exploiting parallel
- hardware. The tutorial describes various levels of integration between
- object- oriented programming and concurrency, leading to the notion of
- an active object, which unifes object and activity, message passing
- and synchronization.
-
- The tutorial introduces Concurrent Smalltalk to describe concepts,
- constructs, and methodology. Examples include programming with
- continuations, divide and conquer, and pipelining. It also shows how
- to implement active objects, and uses Actalk as an example. Finally,
- it compares various OOP models and languages, with a special focus on
- the Actor computation model.
-
- Although the tutorial uses Smalltalk for examples, you don't need to
- know Smalltalk to understand it; a quick introduction to Smalltalk
- syntax is included. It assumes that you understand object-oriented
- programming well, but little more about concurrency than intuitive
- concepts of processes and synchronization.
-
- Jean-Pierre Briot is a researcher working at LITP, Institute Blaise
- Pascal, Paris. He has performed tutorials on this topic at TOOLS and
- ECOOP Conferences. He designed the Actalk testbed based on Smalltalk,
- to model, classify, and experiment with various OOCP models in a
- unifed programming environment. He is co-heading an Esprit parallel
- computing action to develop an OOCP programming environment on
- multiprocessors.
-
-
- Types for the Working Programmer
- Sunday: Half Day-Morning
- Level: Advanced
- Andrew Black, DEC
-
- There has been recent progress in understanding types for
- object-oriented languages, but most of it has had little or no impact
- on real programmers. This tutorial aims to extract from the confusion
- those topics that are important to programmers who must use or choose
- an object-oriented language. The tutorial explains the role of types
- in object-oriented languages, what types can do for programmers, and
- how the trend towards distributed and heterogeneous systems and
- object-oriented databases influences what it means for a program to be
- type-correct.
-
- The tutorial describes the difference between objects and values, what
- types are and why they are good for you, what refnement and subtyping
- are, what problems they solve, and what problems they do not; why
- contravariance isn't an unnatural act; why inheritance is a
- relationship between programs, not between classes; what is the type
- of nil, and whether it has one; and whether you should care that type
- is not a type.
-
- By the end of the tutorial, you will understand how abstract concepts
- like subtyping can help you solve practical problems such as deciding
- when one piece of code can be substituted for another.
-
- Andrew Black is a research staff member at Digital Equipment
- Corporation's Cambridge Research Lab and a Visiting Faculty Member at
- Harvard University. Before joining Digital he was a faculty member at
- the University of Washington in Seattle, where he was a co-designer of
- the Emerald programming language. Dr. Black's research interests are
- in operating systems, distributed systems, object-oriented programming
- and programming language design, and most particularly in the space
- where these areas overlap. His research goal is to make everything as
- simple as possible, but no simpler.
-
-
- Types for the Language Designer
- Sunday: Half Day-Afternoon
- Level: Advanced
- Michael Schwartzbach & Jens Palsberg,
- Aarhus University, Denmark
-
- The type systems of object-oriented languages have specifc goals: they
- serve as partial documentation, they provide modularity, and they
- ensure safety and efficiency at run-time. There are many choices in
- the design of a type system, and it is hard to evaluate their
- tradeoffs. This tutorial teaches a coherent theory of type systems for
- object-oriented languages that can be used for both explicit systems
- (where the programmer supplies type annotations) and implicit systems
- (where the compiler must perform type inference), and forty systems
- based on interfaces, classes, and sets of classes.
-
- The tutorial defnes an idealized object-oriented language, inspired by
- Smalltalk, and develops several type systems for it. This uniform
- framework makes it easy to compare different approaches. The tutorial
- explores the limitations of static type checking and shows how dynamic
- type checking can be introduced. It demonstrates how subclassing is
- different from subtyping, how specifcation types differ from
- implementation types, and the influence of a type system on separate
- compilation.
-
- This tutorial is for anyone interested in language design issues. If
- you are not confdent of your ability to follow the issues, then you
- should frst take tutorial 6.
-
- Michael I. Schwartzbach is associate professor and Jens Palsberg is
- research associate in the Computer Science Department of Aarhus
- University. They have co-authored several papers on object-oriented
- type systems and organized the ECOOP'91 Types Workshop. They have
- also worked on type systems for functional and procedural languages.
-
-
- Simulation with DEVS-CLOS
- Sunday: Half Day-Morning
- Level: Intermediate
- Suleyman Sevinc, University of Sydney , Australia
-
- This tutorial has two purposes: to show how the features of CLOS
- affect a design and to describe the design of a general-purpose
- simulation system. The tutorial is designed for those who want to
- understand the practical importance of the unique features of CLOS and
- also those who would like to learn how to use or build object-oriented
- simulation systems.
-
- The tutorial emphasizes the underlying model of object-oriented
- programming in CLOS and distinguishes it from other models. It also
- describes the requirements of a simulation system and the design of
- DEVS-CLOS, a publicly available simulation system. DEVS-CLOS is an
- extension to CLOS that supports modeling and simulation. It supports
- visualization, supports hierarchical design of simulations, allows
- frst-order logic in models, and supports adaptive system simulation.
- The tutorial shows how a system like DEVS-CLOS can be used to solve
- typical simulation problems, and how CLOS concepts like multimethods,
- multiple inheritance, pre- and post-methods and dispatching algorithms
- were used in the design of DEVS-CLOS.
-
- Since receiving his Ph.D. from the University of Arizona, Dr. Sevinc
- has been with the Basser Department of Computer Science, University of
- Sydney, where he teaches software engineering, functional and
- object-oriented programming, and both teaches and conducts research in
- simulation, especially applying object-oriented programming, AI, and
- logic to simulation systems. He often teaches C++, but is always happy
- to introduce C++ programmers to the joy of CLOS.
-
-
- Advanced CLOS and Meta-Object Protocols
- Sunday: Half Day-Afternoon
- Level: Advanced
- Jon L. White, Lucid
-
- One of the important characteristics of CLOS is its dynamic
- flexibility to change descriptions, programs, and even data objects
- "on the fly". A typical CLOS system is implemented by a set of
- meta-objects, which can be changed by the programmer, essentially
- letting you create a new language. Thus, CLOS is a reflective
- programming language.
-
- The main purpose of this tutorial is to teach you how to put a
- meta-object protocol to a practical use. In addition to describing the
- implementation of a typical CLOS system and discussing the various
- issues raised by the book "Art of the Meta-Object Protocol", it gives
- practical examples of meta-object extensions including techniques for
- making user-defined metaclasses, for making alternations to SLOT-VALUE
- so that certain slots can be "persistent", and for making metaclasses
- whose classes automatically keep a table of all their instances.
-
- The tutorial is aimed at the CLOS programmer or the programming
- language expert who would like to learn more about reflective
- programming using a meta-object protocol. The emphasis is on practical
- uses of a meta-object protocol, not on the philosophy of reflection.
-
- Jon L. White is Principal Scientist at Lucid, Inc. The frst Lisp
- system that he developed was MacLisp, which he developed at the M.I.T.
- A.I. Lab in the early 1970's. He also worked on NIL, InterLisp, and
- Lucid Common Lisp. He is the editor of Lisp Pointers, an ACM SIGPLAN
- publication devoted to Lisp.
-
-
- Introduction to Object-Oriented Database Management Systems
- Sunday: Full Day
- Level: Intermediate
- David Maier, Oregon Graduate Institute
-
- This tutorial begins by explaining object-oriented database management
- systems (OODBMS) in terms of what is the value added beyond
- record-oriented database systems and object-oriented programming
- languages. It presents most of the current commercial OODBMS and
- several advanced prototypes with particular attention to
- distinguishing them in their data models, application interfaces and
- system architectures. It will also contrast the OODBMS approach with
- extended relational systems. A goal of the tutorial is to give
- participants an appreciation for the consequences of design choices
- made in the different systems. It concludes with a critique of current
- market offerings, and suggests there are signifcant regions of the
- design space to explore, and needs of advanced applications that are
- still largely unmet by any database product.
-
- This tutorial is designed both for those considering investing in
- OODBs and those who just want to understand the technology. It assumes
- knowledge of object-oriented programming concepts, and some
- familiarity with conventional database systems, particularly
- relational databases.
-
- David Maier is a professor at the Oregon Graduate Institute, where he
- explores the principles, applications, and design of OODBMS. He was
- involved in the design of Gemstone, one of the frst commercial OODBMS,
- spent a sabbatical at Altair (predecessor of O2 Technology), is a
- scientifc advisor for Object Design and is currently evaluating
- GemStone, ObjectStore and Versant in scientifc data management.
-
- Object-oriented Software Development with the Demeter Method
- Sunday: Half Day╨Afternoon
- Level: Advanced
- Karl Lieberherr, Northeastern University
-
- The Demeter Method is a formal method that lifts object-oriented
- software development to a higher level of abstraction by using a
- graphical specifcation language for describing object- oriented
- programs. Executable programs are automatically generated by a CASE
- tool (the Demeter System/C++) from the graphical high-level
- descriptions. Unlike other specifcation languages, the Demeter Method
- allows you to keep the binding of methods to classes flexible under
- changing class structures. The higher level of abstraction leads to
- shorter and more reusable programs than by programming directly in one
- of today's object-oriented languages such as C++, Smalltalk, Eiffel or
- CLOS.
-
- Because the Demeter Method is regularly taught at NU both at the
- graduate and undergraduate level with the 10 week quarter system, it
- has become, by necessity, very easy to learn.
-
- This tutorial is for professionals who want to learn powerful,
- formally defned high-level concepts that describe the programming task
- in terms of data-model-based graphs and their subgraphs.
-
- Karl Lieberherr is a Professor of Computer Science at Northeastern
- University leading the Demeter Team working on methods and tools for
- simplifying object-oriented software development. Members of his team
- have published a paper every year since 1988, either at OOPSLA or
- ECOOP or at both conferences.
-
- Object-Oriented User Interfaces
- Sunday: Half Day-Morning
- Level: Intermediate
- Dave Collins, IBM
-
- The principles of objects, polymorphism, classes, and inheritance can
- apply to the end user's external view of a user interface, just as it
- can apply to the language that is used to implement it. This tutorial
- shows how to design (not implement) a user interface that is truly
- object- oriented. It gives guidance on the design of the "externals"
- of object-oriented user interfaces, and shows how developers can
- capitalize on the isomorphism between the user's conceptual model of
- the interface and the constructs provided by object-oriented
- programming languages. The tutorial exposes a (perhaps surprisingly)
- deep analogy between object-oriented programming languages and
- object-oriented user interfaces. This analogy is valuable because it
- can be used to map "external" user interface design in a clear and
- natural way onto object-oriented application frameworks. The tutorial
- is illustrated with historical examples, many on videotape.
-
- Dave Collins is an Institute Fellow in End User and Object-Oriented
- Technologies (formerly the User Interface Institute) at the IBM Thomas
- J. Watson Research Center, where he is working on object-oriented
- tools for prototyping advanced user interfaces. Previously, he was a
- Senior Instructor at the IBM Systems Research Education Center, where
- he developed and taught courses on software usability, user interface
- design, and object-oriented programming.
-
-
- Evaluating Reusable Class Libraries
- Sunday: Half Day-Afternoon
- Level: Intermediate
- Timothy Korson, Clemson University
-
- Object-oriented technology not only affects the way we design
- individual applications, it holds the potential of ushering in the
- "software industrial revolution." A key to the success of object
- technology is the widespread availability of high quality class
- libraries. These class libraries are the re-usable parts of the
- software industry.
-
- This tutorial teaches how to evaluate object-oriented libraries. The
- same criteria can be used for selecting commercial libraries or for
- designing libraries for use in-house. The tutorial also describes
- practical criteria for specifying and cataloging in-house corporate
- software libraries. In addition to these technical criteria, the
- tutorial also shows you the corporate infrastructure that is necessary
- for enabling large scale reuse.
-
- Timothy Korson is an assistant professor of Computer Science at
- Clemson University, and president of the Consortium for the Management
- of Emerging Software Technologies (COMSOFT). His current research and
- consulting activities focus on the management of information assets
- with emphasis on managing a corporate transition to object-oriented
- technology.
-
-
- Object Engineering
- Sunday: Half Day-Morning
- Level: Intermediate
- R. Stonewall Ballard,
- Component Software Corporation
-
- Converting an object-oriented design into class defnitions in an
- object-oriented language often requires many engineering decisions. It
- is easy to make these decisions incorrectly for languages that give
- the programmer a lot of control over data representation, such as C++.
- This tutorial covers low-level issues in building extensible and
- evolvable programs, issues that are important if you want to build
- well-balanced abstractions. It describes how to use multiple
- inheritance properly in spite of the compiler, when to use forwarding
- instead of inheritance, how to encapsulate state, and when to use
- references instead of copying objects.
-
- This tutorial teaches how to convert object-oriented designs into code
- that is easy to extend and reuse. Many of the issues are more
- interesting to C++ programmers than Smalltalk programmers, and C++ is
- the language used for examples, but most of the issues are language
- independent.
-
- Stoney Ballard was introduced to object-oriented programming in 1974
- at M.I.T. by Richard Steiger. He built DEC's Smalltalk-80 interpreter
- as part of the roll-out of Smalltalk in 1981. He has been a graphics
- and workstation designer at Perq Systems, a research scientist at
- Xerox PARC, and a systems architect at On Technology. He is currently
- founder and president of Component Software Corporation.
-
-
- Teaching Object-Oriented Programming and Design
- Sunday: Half Day-Afternoon
- Level: Intermediate
- James C. McKim Jr., Hartford Graduate Centre
-
- A course in object-oriented programming and design should address the
- claims made for the object-oriented paradigm, namely that it promotes
- reuse, models the problem space, facilitates maintenance, incorporates
- changes easily, and shortens the development lifecycle. One way
- (perhaps the only way) for students to test such claims is to build a
- small but high quality product as part of the course.
-
- This tutorial shows how to have students in a conventional computer
- science program build such a product, and addresses such issues as how
- to pick good projects, whether and how students should work together
- in teams, how to keep students on schedule, and how to divide a
- project into a sequence of deliverables within the context of a one
- semester course.
-
- The tutorial also describes how to scale back the approach so that
- students in short courses , common in industry, can get maximum beneft
- in the limited time that is allowed.
-
- James McKim is professor of Computer Science at the Hartford Graduate
- Center, where he has been putting this approach into action and
- fne-tuning it. He has more than twenty years experience teaching
- mathematics and computer science, and has authored, co-authored and
- reviewed many textbooks and articles.
-
- Monday, October 19
-
-
- Object-Oriented Project Management
- Monday: Full Day
- Level: Beginning
- Kenneth Rubin & Adele Goldberg, ParcPlace
-
- Object-oriented projects have to be managed properly to obtain the
- most benefts from object-oriented technology. This tutorial explains
- the effect of object-oriented technology on costs, staffng and choice
- of methodology. It describes the pitfalls that attend object-oriented
- projects so that you can avoid them, and explains the key processes,
- including development style, use of prototyping, and reuse. It gives
- specifc guidelines for organizing projects, managing a reuse library,
- estimating the size and cost of projects, and introducing object-
- oriented technology into an organization.
-
- Kenneth S. Rubin is Professional Services Manager at ParcPlace Systems
- where he manages the development of methodologies to support
- successful object-oriented software engineering.
-
- Adele Goldberg is Chairman of ParcPlace Systems, and author of several
- books on Smalltalk-80. She is responsible for ParcPlace's overall
- technology and methodology vision.
-
-
- Introduction to Object-Oriented Design
- Monday: Half Day-Morning
- Level: Intermediate
- Lori Stipp & Grady Booch, Rational
-
- This tutorial describes the Booch method for object-oriented design,
- including details of the notation and the design process. It describes
- the principles that are necessary for thinking and abstracting in
- terms of classes and objects. The tutorial includes a number of
- examples, including "war stories" from specifc projects. It also
- covers extensions to the notation beyond that described in
- Object-Oriented Design with Applications.
-
- This tutorial is a condensed version of Booch's popular tutorial given
- at past OOPSLA's. If you have attended that in the past then you
- should attend tutorial 18 instead of this one.
-
- Lori Stipp develops courseware on object-oriented analysis and design
- for Rational. Before working at Rational, she spent 6 years at Aion
- Corporation developing and applying methods for designing
- object-oriented, knowledge-based systems.
-
- Grady Booch is the Director of Object-Oriented Products at Rational
- and an international consultant. He has pioneered applying
- object-oriented design methods to a wide spectrum of object-oriented
- and object-based languages.
-
-
- The Pragmatics of Building Object-Oriented Systems
- Monday: Half Day-Afternoon
- Level: Advanced
- Grady Booch, Rational
-
- This tutorial expands upon the process described in Booch's
- Object-Oriented Design with Applications to provide a prescriptive,
- iterative process for object-oriented development. It describes both
- the macro and micro process of development. It gives guidelines for
- managing iterative development, and addresses the pragmatic issues of
- milestones and planning, staffng, integration and release management,
- reuse, testing, quality assurance and metrics, documentation, tools,
- and technology transfer.
-
- This tutorial assumes that you are familiar with Booch's design
- method. If you are not, but have a good understanding of
- object-oriented concepts and design principles, you should take
- tutorial 17 to be prepared for this tutorial.
-
- Grady Booch is the Director of Object-Oriented Products at Rational
- and an international consultant. He has pioneered applying
- object-oriented design methods to a wide spectrum of object-oriented
- and object-based languages.
-
- A Case Study of Domain Analysis: Health Care
- Monday: Half Day-Morning
- Level: Advanced
- Martin Fowler & Thomas Cairns,
- St Mary's Hospital Medical School , England
-
- Three years ago the UK National Health Service decided to develop a
- generic model to describe all aspects of its management and operation.
- Several projects were launched to describe the health care process
- using the object-oriented modeling technique Ptech (now published by
- James Martin and Jim Odell). One of these projects, the Cosmos
- project, produced the Cosmos Clinical Process Model (or CCPM), which
- describes the medical record. The CCPM contains approximately 70
- object types in a highly abstract structure describing clinical
- procedures, observations, evidence and assessment, accountabilities
- and contracts, care planning, and clinical knowledge. The model has
- gained widespread interest in both the UK and Europe and will be used
- as the focus for a number of EEC sponsored projects, and is taking a
- leading standardization role in Europe.
-
- The CCPM is an example of the result of domain analysis. Its use of
- abstractions, some of which are applicable outside health care, and
- its use of an operational/knowledge divide can guide those working on
- large-scale generic models in other areas. The tutorial describes the
- relationship between generic and specifc models since these issues are
- key in the acceptance of a highly generic application area model by
- those with specifc applications to develop. The question of adapting
- an object-oriented method for particular needs is also addressed.
-
- Martin Fowler is an analyst and designer with previous experience with
- Coopers & Lybrand UK and with ADT. For the last three years he has
- been employed by the UK National Health Service to produce a generic
- model for health care, which is the subject of tutorial 13. He also
- teaches and consults on object-oriented analysis and design.
-
- Thomas Cairns is a renal physician. He began object-oriented modeling
- with the Cosmos project in 1989 and is the leading clinician in
- developing the CCPM. He is also researching in transplantation and
- immunology.
-
- The Analysis and Design of Distributed Systems
- Monday: Half Day╨Afternoon
- Level: Advanced
- Mehmet Aksit, University of Twente
-
- The design of distributed object-oriented systems involves a number of
- considerations that rarely arise in sequential object-oriented design
- or in non-object-oriented languages. The tutorial describes analysis
- and design techniques for data abstraction, inheritance, delegation,
- persistence, atomicity, concurrency, synchronization, and coordinated
- behavior in a distributed object-oriented framework. Special attention
- will be paid to the uniform integration of these concepts with the
- object-oriented paradigm. Discussions will be accompanied by examples
- that arose from constructing such systems.
-
- Mehmet Aksit is an associate professor at the University of Twente. He
- is a consultant for several companies, has presented a number of
- tutorials and courses in Europe, and is the tutorial chair of this
- year's ECOOP conference. His areas of interests are object-oriented
- analysis and design methodologies, object-oriented CASE tools,
- programming environments, languages and object based management
- systems.
-
-
- Specifcation Techniques for Object-Oriented Software
- Monday: Full Day
- Level: Advanced
- Mahesh H. Dodani, University of Iowa
-
- There are many techniques for specifying software. However, they are
- not usually presented in a way that is directly applicable to
- object-oriented software. This tutorial surveys both operational and
- descriptive specifcation techniques, shows how to use them in several
- popular object-oriented software engineering methods, and provides
- case studies of developing useful, formal specifcation mechanisms that
- are appropriate for object-oriented software engineering.
-
- The tutorial frst describes criteria for choosing specifcation
- mechanisms from both a theoretical (syntax and semantics, specifying
- properties, reasoning about properties, verifcation) and practical
- (ease of use, modularity, applicability, supporting tools)
- perspective. These criteria are then used to survey several popular
- operational (data flow diagrams, fnite state machines, and petri nets)
- and descriptive (entity-relationship models, logic, and algebraic
- specifcations) specifcation mechanisms. Finally it shows how to extend
- two of these techniques (algebraic specifcations and fnite state
- machines) so that they are suitable for object-oriented software
- engineering.
-
- Mahesh Dodani is an assistant professor of Computer Science at the
- University of Iowa, where he has been developing a graduate curriculum
- for object-oriented software engineering in response to demands from
- local industry. He directs several groups conducting object-oriented
- research, and has been involved in building object-oriented systems
- ranging from interface builders to database design tools.
-
-
- Writing Efficient C++ Programs
- Monday: Half Day-Morning
- Level: Intermediate
- Scott Meyers, Brown University
-
- This tutorial teaches the competing meanings of "high performance;"
- the characteristics of object-oriented systems that can decrease
- performance; how to locate and eliminate computational bottlenecks in
- C++ programs; and the trade-offs between high performance and system
- reusability, maintainability, and portability. It describes in detail
- the factors that affect the performance of C++ software. Whether your
- primary concern is high system speed, small system size, fast
- recompilation, or a combination of these, this tutorial provides you
- with the tools necessary to come up with an appropriate
- object-oriented design, to implement it efficiently in C++, and to
- fne-tune it for maximum performance.
-
- The reasons for bottlenecks in C++ programs are often surprising.
- Contrary to popular belief, virtual functions usually exact a
- negligible performance cost, while unexpected calls to constructors
- and destructors frequently hamstring applications. This tutorial
- teaches you what is really important if you want to deliver high
- performance, and the techniques you need to achieve it.
-
- Scott Meyers has been teaching C++ in academic and industrial settings
- since 1989. He is the author of "Effective C++"(Addison-Wesley, 1992),
- and has authored or co-authored more than a dozen conference and
- journal articles on software development, many of which deal
- specifcally with C++.
-
-
- The Design and Management of C++ Class Libraries
- Monday: Half Day-Afternoon
- Level: Intermediate
- Arthuir Riel, Vanguard Training
-
- Producing reusable C++ class libraries takes more than just knowing
- the language: it requires careful design. This tutorial shows how to
- create truly reusable C++ class libraries. It includes how to design a
- minimal public interface, variable-size objects, memory leakage,
- heuristics for operator overloading, designing reusable base-classes,
- using inheritance and containment, and deciding how to place classes
- in a class library.
-
- Arthur Riel has over ten years experience programming in C and C++. He
- has participated in the development of many large systems including
- two real-time process control systems, a microcode assembler, the
- Demeter system (an object-oriented CASE tool co-developed at
- Northeastern University with Karl Lieberherr et al.), and a commercial
- library of reusable C++ components called Classix. He is the founder
- and editor of The C++ Insider, a bi-monthly newsletter specializing in
- C++ design and implementation techniques. In addition, Arthur helps
- spread the object-oriented gospel by teaching over twenty fve courses
- (C++, OOD, OOP) per year in both corporate and academic environments.
-
-
- Hardware Support for Object-Oriented Systems
- Monday: Half Day-Morning
- Level: Advanced
- Mario Wolczko, University of Manchester, England
-
- When the performance penalty of object-oriented systems is mentioned,
- a common response is to blame antiquated hardware designs for not
- supporting object-oriented languages as they deserve. To what extent
- can the performance gap between conventional languages and
- object-oriented languages be closed using hardware? What architectural
- changes beneft object-oriented systems, and by how much?
-
- There have been many attempts to make hardware that better supports
- object-oriented programming. This tutorial describes these systems,
- and the extent that they have succeeded or failed in their aims. These
- systems include SOAR, Rekursiv and MUSHROOM, as well as some features
- from mainstream architectures such as SPARC. Issues covered include:
- choice of instruction set, design of the memory system including
- caches and virtual memory hardware, scaleability, use of parallelism,
- and hardware/software trade-offs.
-
- A common misconception is that if something is implemented in hardware
- then it must be fast. One aspect of the tutorial is to show that there
- are limits to what hardware support can achieve. However, better
- hardware can reduce the cost of some language features, such as
- dynamic binding, and can make a system more scaleable.
-
- Mario Wolczko is a researcher in the Department of Computer Science at
- the University of Manchester. He has been involved in the
- implementation of object-oriented languages and systems for eight
- years, most recently with the MUSHROOM project, which has been
- investigating architectural support for object-oriented systems.
-
-
- Efficient Implementation of Object-Oriented Programming Languages
- Monday: Half Day-Afternoon
- Level: Advanced
- Craig Chambers, University of Washington
- David Ungar, Sun Labs
-
- This tutorial is for those who like to know how object-oriented
- languages work "under the hood," why some things are expensive while
- other things are cheap, and why language defnitions include certain
- restrictions. This tutorial provides that, and more. It describes
- features of object-oriented languages that are difficult to implement
- efficiently, and how this has affected language designs. It describes
- state-of-the-practice and state-of-the-art techniques for implementing
- languages like C++ and Smalltalk.
-
- Language features include dynamic binding and generic operations,
- inheritance, user- defned control structures, static type systems,
- multiple inheritance and virtual base classes, and mixing
- object-oriented and non-object-oriented programming.
-
- The tutorial also addresses questions like: What are the trade-offs in
- using the various implementation techniques? What problems remain that
- block more efficient object-oriented language implementations? What
- might be promising areas for future research?
-
- Craig Chambers and Dave Ungar are well-known for their work on Self, a
- language even harder to make fast than Smalltalk. Craig is an
- assistant professor at U. of Washington and Dave is at Sun
- Microsystems Laboratories.
-
-
- Constraint-Based Languages and Systems
- Monday: Half Day-Morning
- Level: Advanced
- Bjorn Freeman-Benson , University of Victoria, Canada
- Alan Borning, University of Washington
-
- A constraint is a relation that should be satisfed, for example, that
- a line remain horizontal, that a resistor in an electrical circuit
- simulation obey Ohm's Law, or that the height of a bar in a bar chart
- be proportional to some number in an application program. Constraints
- have been used in a variety of languages and systems, particularly in
- user interface tool kits, in planning and scheduling, and in
- simulation. They provide an intuitive declarative style of programming
- that integrates well with object-oriented systems.
-
- This tutorial teaches what constraints are, how to use them in
- applications such as user interfaces, how to implement them (including
- how to implement constraint hierarchies), and how to embed them in
- object-oriented and logic programming languages. You don't have to
- know anything about constraints, but it would be helpful to have a
- strong background in programming languages.
-
- Bjorn Freeman-Benson is an assistant professor at the University of
- Victoria. He worked for many years as a software engineer and recently
- completed his Ph.D. at the University of Washington; his dissertation
- was on the integration of constraint and imperative programming
- languages. His research interests are in object- oriented languages,
- constraint-based languages and systems, and user interfaces.
-
- Alan Borning's Ph.D. thesis in 1979 was one of the frst on constraint
- programming, and also one of the frst describing a system (ThingLab)
- written in Smalltalk. Although his degree was from Stanford, he worked
- with Alan Kay and the Learning Research Group at Xerox PARC. He has
- been at the University of Washington since 1980, where he is currently
- an associate professor. His research interests are in object-oriented
- languages, constraint-based languages and systems, and user
- interfaces.
-
- Visual Programming Languages from an Object-Oriented Perspective
- Monday: Half Day-Afternoon
- Level: Advanced
- Allen L. Ambler, University of Kansas
- Margaret M. Burnett,
- Michigan Technical University
-
- Visual programming language research has evolved greatly since its
- early days. At frst, attempts at visual programming mostly took the
- form of flowchart-like diagrams. But in recent years, a wide number of
- innovative approaches have been incorporated into visual languages,
- including object-oriented programming, form-based programming,
- programming by demonstration, and dataflow programming. Unfortunately,
- while many of these systems represent important ideas, only a few have
- been successful as complete visual programming languages. This
- tutorial explains why this is true, and describes ways in which the
- problem can be addressed.
-
- This tutorial explores the issues behind the successes and failures of
- earlier approaches from a design perspective. It identifies
- characteristics of successful visual programming languages, and
- explains how to design an object-oriented language that maintains
- those characteristics. It shows solutions to a number of problems by
- looking at existing visual programming languages, including Prograph.
-
- Allan L. Ambler is an associate professor in the Department of
- Computer Science at the University of Kansas. He has led the design
- and implementation of the visual programming languages Forms,
- Forms/2,Forms/3, and PT, and is currently involved in the
- development of a visual programming approach to scientifc
- visualization.
-
- Margaret M. Burnett is an assistant professor in the Department of
- Computer Science at Michigan Technological University. In her recent
- doctoral dissertation, working with Allen Ambler, Dr. Burnett
- developed approaches to abstraction in visual languages, using these
- approaches to solve several subproblems associated with using visual
- programming languages for realistic programming.
-
- Intermediate Smalltalk: Practical Design and Implementation
- Monday: Half Day-Morning
- Level: Intermediate
- Trygve Reenskaug, TASKON , Norway
-
- Careful design before programming is as important in Smalltalk as in
- other languages. This tutorial describes techniques that have proven
- useful in commercial development of large Smalltalk systems. The
- tutorial shows how to develop a language independent design and then
- go to detailed programming and testing. The examples will be based on
- Smalltalk-80 and use the release 4.1 graphical user interface
- framework.
-
- Trygve Reenskaug started using Smalltalk-76 when he visited Xerox PARC
- in the 70's, where he introduced the idea of model/view/controller,
- and has been developing in Smalltalk ever since. He is responsible for
- research at Taskon A/S in Oslo and is Professor of Informatics at the
- University of Oslo. He has been involved in software engineering and
- the development of software products since 1958.
-
-
- Writing Efficient Smalltalk Programs
- Monday: Half Day-Afternoon
- Level: Intermediate
- Ken Auer, Knowledge Systems Corp.
-
- Smalltalk has a reputation for being slow and a memory hog. In
- reality, the Smalltalk environment offers many ways to create
- inefficient code, and programmers often exploit those opportunities.
- However, there are just as many ways to create efficient code, some of
- which may not be available in more traditional languages. Whether an
- application is efficient or not has more to do with the way the
- programmer has used the available tools than the tools themselves.
-
- This tutorial teaches Smalltalk programmers how to write efficient
- programs. The emphasis is on how to exploit, rather than sacrifce, the
- benefts of good object-oriented design. You should have at least six
- months experience with Smalltalk writing non-toy programs to get the
- most beneft from the tutorial.
-
- Ken Auer is a senior member of the technical staff at Knowledge
- Systems Corporation. He has been applying Smalltalk to real-world
- problems since 1985, serving as a chief architect of several large
- object-oriented systems. Ken has concentrated his efforts on
- developing quality reusable components and frameworks, and teaching
- others to do the same.
-
-
- Testing Object-Oriented Software
- Monday: Full Day
- Level: Intermediate
- Edward Berard, Berard Software Engineering
-
- Testing of object-oriented software is just as important as testing
- non-object-oriented software, but the process is fundamentally
- different because of such factors as information hiding,
- encapsulation, and inheritance. This tutorial teaches you the terms
- and concepts of testing software in general, and object-oriented
- software in particular; how to apply a number of different testing
- techniques to object-oriented software; how to construct test cases;
- and an appreciation of what is involved in planning a successful
- software testing effort. The testing techniques that are covered
- include both white-box testing such as basis path testing and coverage
- testing, and black-box testing techniques such as equivalence class
- partitioning and boundary value analysis.
-
- This course is designed for those with experience in object-oriented
- software engineering who would like to follow a more rigorous approach
- to testing.
-
- Edward V. Berard is the founder and President of Berard Software
- Engineering, Inc. He has nearly twenty years of software-related
- experience in varied environments, with the last decade being spent in
- the area of object-oriented software engineering. He is best known for
- his efforts in the areas of object-oriented approaches to the software
- life-cycle, software reusability, software engineering metrics, and
- software engineering education.
-
-
- Object-Oriented Geometry and Graphics
- Monday: Half Day-Morning
- Level: Intermediate
- Jan Krc-Jediny & Augustin Mrazik, ArtInAppleS, Czechoslovakia
-
- Spatial information is an important part of geographic information
- systems, CAD and CAM systems, and user interfaces for visualization of
- any kind of information. The object-oriented approach to spatial
- object modelling results in much more understandable designs than non-
- object-oriented approaches.
-
- This tutorial describes the design of several key components of a
- system for dealing with spatial information which are: analytical
- geometry closed with respect to union, intersection and complement
- operations; hierarchically structured objects for maintaining
- topological information; object identity and problems arising from
- change of spatial objects in the database and user interface,
- transactions and copies of objects; dependencies of spatial objects
- and their copies in the MVC user-interface architecture.
-
- You should have experience in building user-interfaces and should have
- some background in analytical geometry. Examples are shown in
- Smalltalk, so a basic knowledge of Smalltalk would be helpful.
-
- Jan Krc-Jediny is a researcher and developer at ArtInAppleS Ltd.,
- Bratislava, Czeckoslovakia. His main area of interest is
- object-oriented graphics and hypermedia systems. Before joining
- ArtInAppleS he spent 15 years at the Department of Applied Mathematics
- of the Commenius University in Bratislava in research and development
- of computer graphics systems and standards.
-
- Augustin Mrazik is co-founder and president of ArtInAppleS Ltd. His
- main interest is object-oriented spatial information processing,
- knowledge representation and object-oriented GIS. He led the
- development and implementation of the Spacetalk system,which was
- demonstrated at OOPSLA╘89.
-
-
- The Design of an Object-Oriented Operating System: A Case Study of Choices
- Monday: Half Day-Afternoon
- Level: Intermediate
- Roy H. Campbell & Nayeem Islam,
- University of Illinois
- Peter M Madany, SUN Microsystems
-
- This tutorial describes the object-oriented design of a complete
- operating system, written to be object-oriented, with a user and
- application interface that is object-oriented. The main objective is
- to illustrate object-oriented design trade-offs by studying a large
- object-oriented system, the Choices operating system.
-
- Choices is an object-oriented multiprocessor operating system that
- runs native on SPARC stations, Encore Multimaxes, and IBM PCs. The
- system is built from a number of frameworks that implement a general
- fle system, persistent store for persistent objects, process
- switching, parallel processing, distributed processing, interrupt
- handling, virtual memory, networking, and interprocess communication.
-
- If you bring a 386-based portable computer running MS-DOS to the
- course then you may experiment by writing application programs for
- PC-Choices. All participants will receive a copy of PC-Choices on a
- floppy.
-
- Participants should have experience with building object-oriented
- systems and have a basic understanding of operating systems design.
- Reading knowledge of C++ is helpful, but not necessary.
-
- Roy Campbell is a professor of Computer Science at the University of
- Illinois at Urbana-Champaign, where his research interests include
- software engineering, operating systems, and networking.
-
- Peter Madany recently fnished his Ph.D. thesis at the University of
- Illinois on a framework for fle systems and persistent storage, and is
- now at Sun Microcomputer Laboratories.
-
- Nayeem Islam is a Ph.D. candidate and a member of the Choices project
- at the University of Illinois, and has published several papers on
- distributed and object-oriented programming.
-
-
- Teaching "Object-Think" with Multi-Sensory Engagement
- Monday: Half Day-Morning
- Level: Advanced
- Peter Coad, Object International, Inc.
-
- This is a tutorial about how to teach the "big picture" of objects,
- especially in an industrial environment where time is short. It is
- based on the whole brain theory and multi-sensory engagement. The
- tutorial shows over twenty specifc techniques for teaching using
- multi-sensory engagement, many of these unifed into "The Object
- Game", which lets those new to objects see and manipulate them. The
- tutorial describes a set of specifc techniques for leading someone
- into more effective "object think", and compares and contrasts
- whole-brain multi-sensory engagement with other "object think"
- techniques, such as graphics, languages, and CRC cards.
-
- This tutorial is designed for those trying to teach object-oriented
- development who have been frustrated by the inability of some people
- to reach effective "object think". It will also be of interest to
- those planning to teach object-oriented programming, or those
- responsible for selecting such a course.
-
- Peter Coad builds an average of ten object-oriented models each month
- for clients and seminar participants in a wide range of industries.
- Teaching is one of the things he enjoys best, and he has been
- developing the techniques described in this tutorial as a way to
- become more effective and solve the problems that plague all those
- teaching about objects. He is the author (with Ed Yourdon) of
- Object-Oriented Analysis, Second Edition and Object- Oriented Design
- and (with Jill Nicola) of Object-Oriented Programming (Fall 1992).
-
-
- Schema Updates for Object-Oriented Database Systems
- Monday: Half Day-Afternoon
- Level: Intermediate
- Roberto Zicari , Johann Wolfgang Goethe University, Germany
-
- OODBMS are often used for complex data whose structure is likely to
- change over time, yet the problem of schema updates has not been
- completely solved by any commercial or research OODBMS. This tutorial
- describes the schema modifcation problem and why it is important, what
- is really offered by products, what a good solution would be like, and
- whether we are likely to see it soon.
-
- The tutorial reviews several commercial OODBMS products that provide
- facilities for updating the schema, namely: GemStone (Servio
- Corporation), ITASCA(Itasca), O2(O2Technology), ObjectStore
- (ObjectDesign), Ontos (Ontologic) and Statice (Symbolics). It also
- describes the solutions proposed in some experimental research
- prototypes and the open problems that remain.
-
- Roberto Zicari is full professor of Computer Science (Databases and
- Information Systems) at the Johann Wolfgang Goethe-Universitaet,
- Frankfurt am Main, Germany. His current research and professional
- interests are in object-oriented database systems and their
- applicability to complex applications.
-
-