"Unleashing Creativity While Still Getting the Job Done"Paul B. MacCready, AeroVironment, Inc. |
Exhibit Hall A |
| Some pioneering developments of remarkable vehicles are presented. Although entertaining themselves, their greater value is in serving as a framework for exploration of the development process - the mingling of motivation, goals, questions, problem solving, creativity, teams, economics, constraints, and competition. The use of computational tools is put in perspective, together with learning from nature and sometimes utilizing Evolutionary Computations or Multidisciplinary Design Optimization. Paul MacCready holds a Ph.D. from the California Institute of Technology and has, since the age of 16, been involved in a wide variety of interesting research and development projects, none of them object-oriented, but all of them more innovative, more creative, and farther along the technology curve than anyone else. In 1977, his team made the first sustained, controlled flight by a human-powered aircraft with the Gossamer Condor. In 1979, his team bettered that with the Gossamer Albatross flight across the English Channel. In 1980, they flew a solar powered aircraft, the Gossamer Penguin, and in 1981, they flew the Solar Challenger from Paris to England. Not content to stop there, his team built the Bionic Bat high-speed human powered aircraft, and in 1987 they trounced the competition in the 1,867 mile solar-powered race across Australia using their GM Sunraycer. This project went on to become part of the GM Impact battery-powered sports car. Each and every one of these projects has pushed the envelope in ways not thought possible, and Mr. MacCready has an excellent perspective on what it takes to succeed in the far reaches of what is possible - how to find interesting problems, how to solve those problems when it appears impossible, and how to think "outside the box". Because of his creativity and ingenuity, he has won a wide variety of awards including the Collier Trophy, the Reed Aeronautical Award, the Inventor of the Year Award, the Lipper Award for outstanding contribution to creativity, the United Inventors' Pioneer of Invention Award, and many others. He has been awarded five honorary degrees, authored or co-authored over one hundred papers. He lectures for industry and educational institutions, emphasizing creativity and the development of broad thinking skills. |
|
Panel: "Object-Oriented practice in 1998: Does it help or hinder collaboration?" |
Ballroom B |
Groups of people working in concert perform most commercial, industrial or in-house software development. These groups are often quite diverse. To successfully complete today's projects, does object-oriented development as practiced today do an adequate job of supporting ALL of the participants who must collaborate? To address this question, we bring together not only object-oriented consultants and developers but also practitioners and researchers interested in human factors and user-centered design, project management and technical writing.
Moderator: John Artim, OOCL
Panelists:
Charlie Bridgeford, Employer's Reinsurance Corporation
Lillian Christman, Human Factors, OOCL
(USA), Inc.
James Coplien, Bell Laboratories
Mary Beth Rosson, Virginia Polytechnic Institute and State
University
Stanley Taylor, Apple Computer
Rebecca Wirfs-Brock, Wirfs-Brock
Associates
Technical Papers: |
Exhibit Hall A |
| Chair: Peter Sweeney, IBM Research "An Evaluation of Automatic Object
Inline Allocation Techniques" |
|
Practitioner Reports: |
Ballroom A |
| Use Cases Session
Leader: Ron Crocker, Motorola Inc. "Process Improvement to Overcome Use Case Weaknesses: an
Experience Report" In this report, we describe a real-life experience obtained in employing a use case modeling approach (as part of the requirements modeling process) in the successful delivery of a major release of a large, object-oriented, insurance software development project. The strengths and weaknesses of the approach, as experienced in the project, are introduced. The software process improvement initiatives put in place to overcome the inherent weakness associated with the use case modeling approach, and those associated with our specific process, are described. The process improvement initiatives were derived using not only qualitative measures, but also quantitative results from the measurement program. Finally, a plan to quantitatively evaluate the effectiveness of our process improvement initiatives is provided. "Object Behaviour Modeling in Large
Software Systems" Today, most software designers are familiar with structural object modeling, which defines the compile-time relationships between objects. However, relatively few software designers have formally modeled the internal behaviour of objects. Commercially, there are a number of CASE tools, such as ObjecTime, Rhapsody, and CAP, that model detailed object behaviour, and subsequently generate production-quality code in popular languages such as C++ or Java. With these, the next generation of CASE tools, behavioural modeling is rapidly moving towards the forefront of software design. This paper critically examines the merits of behavioural object modeling, and presents a series of practical guidelines developed over the course of a very large commercial software engineering effort. "Application of Use Cases in Formal
Requirements Management Processes" The use case model provides practitioners of an object-oriented methodologies with a technique for defining and clarifying software requirements. Carnegie Group has had success with using use cases for modeling requirements in certain projects. However, use cases alone have not proven sufficient in ensuring that the software that we develop meets user expectations. Therefore we have undertaken to combine use cases with more formal requirements definition and management processes. This report presents results from reviewing the requirements analysis process and documentation of five projects that were preformed as we attempted to combine use cases with formal requirements management processes. |
|
Invited Speaker: "What to Expect From Your Garbage Collector" |
Exhibit Hall A |
Hans-J. Boehm, Silicon Graphics Most C and C++ programs explicitly deallocate or recycle memory that is no longer needed by the program, so that memory can be reused. For programs that manipulate complex data structures this is often a major source of errors. Languages like Java, as well as some C and C++ libraries, introduce an automatic garbage collector to detect and reuse unneeded memory without programmer intervention. In most cases this significantly simplifies the programmer's job. It also substantially changes the costs associated with memory allocation. The time required to allocate and deallocate an object is no longer even approximately fixed. Small short-lived objects may become much less expensive to allocate, while large long-lived objects often introduce significant garbage collection overhead. It becomes easier to trade execution time for space. Garbage-collection related pauses may become an issue. We present some common garbage collection algorithms and look at their common performance characteristics, their performance differences, as well as other visible differences, such as whether they can be used directly with standard C or C++ code. Hans-J. Boehm holds a Ph.D. in Computer Science from Cornell University. He was on the faculty at the University of Washington and Rice University. Subsequently he joined Xerox PARC and is currently at Silicon Graphics. He has published papers on a variety of topics related to programming language implementation, has chaired the ACM POPL conference, and is the author of a widely used garbage collector for C and C++. |
|
Debate: "Is the Licensing of Software Engineers Good for the OT Community?" |
Ballroom B |
There is a major debate brewing in the software engineering community regarding licensing. Currently, no state in the U.S. which licenses professional engineers (PEs) allows it in the discipline of software engineering; however, at the time of this writing, Texas is on the brink of doing so, starting in June 1998. (See the December 1997, January 1998, and March 1998 issues of the FASE electronic newsletter at http://www.cs.ttu.edu/fase for details.) Other states are expected to follow soon. Since the news concerning the Texas State Board was released on the Internet, there has been a great deal of response and discussion - sometimes very intense - among software professionals. Licensing certainly affects all those in the Object Technology industry. The panelists will supply a variety of perspectives (academia, training, industry) on how licensing might affect the OT community. Moderator: Donald J. Bagert, Texas Tech University Panelists: |
|
Technical Papers: |
Ballroom A |
| Chair: Oscar Nierstrasz, University of Bern "Ownership
Types for Flexible Alias Protection" |
|
Panel: "The New Crop of Java Virtual Machines" |
Ballroom B |
I want to use the Java Programming Language. But, will the new Java Virtual Machines be any good? And how will they do it, anyway? This panel will bring together the creators of next-generation JVMs from Intel, Oracle, OTI/IBM, and Sun. There, each will explain how their system is unique, why each path was chosen and how successful each system has been in achieving its goals. Then, we will give the audience a chance to goad the panelists into a bit of friendly debate. When the smoke clears, we will have reconnoitered some of the unknown territory of the new Java Virtual Machines. Moderator: David Ungar, Sun Microsystems Panelists: |
|
Technical Papers Session 1: |
Exhibit Hall A |
| Chair: Harold Ossher, IBM Research "Adaptive Plug-and-Play Components for Evolutionary
Software Development"
|
|
Technical Papers Session 2: |
Ballroom A |
| Chair: Martin Abadi, DEC Systems Research Center "Data Groups: Specifying the Modification of Extended
State" |
|
"Components in the Key of C"Craig Wittenberg, Microsoft Research |
Exhibit Hall A |
Object-oriented programming has not had the dramatic impact many had hoped. Many are weary of the technology. Some who have adopted it are regretting their choice. To be sure, there have been successes. In comparison with other technologies, we don't have a healthy marketplace in which many can contribute their ideas and where the marketplace will be the judge of those ideas. Necessary to a healthy marketplace are the standards by which the marketplace operates. Even if we agreed on an infrastructure standard (COM, Java, CORBA, etc.), there are other technical and non-technical problems that prevent successful reuse and thus a burgeoning object/component marketplace. As part of our work, my group is trying to understand the nature of those problems and, where possible, to solve them. Our goal is to build a technology and set of components that we can use to build many different products. Our technology is based on COM, but many of the same techniques can be applied to the other infrastructures. This talk will discuss five areas of our work and show how they address some of the problems preventing the formation of the object/component marketplace. Our work stems from many different threads of inquiry and, like the parts of a symphony, we have woven them together into a unified whole. This talk will also cover some of this background to our work. Craig Wittenberg has been held prisoner by various groups in Microsoft, including Tools, Applications and OS Services since the early years of the PC. Debugging tools for the first Macs, the apps pcode compiler, various features of Word for Windows 2.0 and the first implementation of Microsoft's COM are among his claims to fame. He doesn't have any books to his credit, but did manage to get cited as an ABC engineer in a prominent trade journal and less anonymously in two books about COM. He graduated with a B.S. degree in Computer Science from the University of Washington, although Dr. Lazowska probably wouldn't want to admit it. He has been in Microsoft Research since 1996. |
|
| Panel: "Question Time! about Use Cases" | Ballroom B |
Following a format from the British television program, "Question Time," our moderator will question four expert panelists with differing views, to expose their views and their reasons for differing. There are no position statements, the 90-minute panel is filled by discussing eight questions. The questions are submitted in advance by the public and audience members. The moderator picks eight questions that will be interesting and help tease apart subtle issues and differences between the panelists. For each question, all four panelists respond, moderated by the panel moderator, a well known (English!) OO figure. The questioner then makes a brief reply, and there is a brief period of comments from the floor. If you would like to submit a question for this Panel session, please send it to Martin Fowler (fowler@acm.org). Moderator: Martin Fowler, Independent Consultant Panelists: |
|
| Technical Papers: | Exhibit Hall A |
| Chair: Scott Smith, Johns Hopkins University "Making the Future Safe for the Past: Adding Genericity
to the Java Programming Language" |
|
| Practitioner Reports: | Ballroom A |
| Frameworks Session
Leader: Douglas C. Schmidt, Washington University "Building an Object Relational Database Access
Layer" This report discusses the experience we gained designing and implementing an object-oriented application using a relational database. In particular, it focuses on the object relational database access layer. The database access layer handles the transition of the object-oriented paradigm to concepts of the relational database. It hides database specific information and guarantees the persistence and consistency of application object data. The database access layer's architecture is described in detail. Performance requirements and design and implementation problems and their solutions are discussed. Finally, some general experiences and observations refering to an object-oriented project are reported. We found the object relational database access layer has been a well performing approach to combine the object-oriented paradigm with a relational database. It also proved to be easy to handle. "Business Object Framework as an Enabler
of Business Application Development, an Experience in Enterprise Software
Engineering" Business systems are hard to develop because the developer must become expert in a number of diverse domains. A Business Object Framework (BOF) can make it possible for novice object developers to be employed effectively on complex business system development projects. This is possible because the BOF separates the business logic from the user interface and the object persistence domains thus greatly simplifying development. This finding is particularly important given the expectation of widespread adoption of CORBA (and the current definition of a CORBA-based BOF by the OMG) and the recent release of the Enterprise Java Beans specifications. It is our belief that as the industry moves to BOF development environments, our experiences using a BOF provide a glimpse of the way most developers will be working in the near future. Our experience demonstrates that once you have a well-designed business object framework in place, you can build high quality and complex business systems with complete (OO) novices. "Deploying an Application Framework and
its Applications" IFA Informatik has developed an application framework for building web-based server applications. This framework has been used to create several applications for large customers. We want to tell some of the things that happened in the last two years, since the framework evolved and applications using it were built and deployed. We have learned that there is a substantial difference between developing and using an application framework within a small group of qualified developers and giving the framework to customers and their development organizations. The information we are going to present has the nature of an Anti-Pattern. We feel it important to show our observations, what we did right and where our measures didn't reach expectations. Nevertheless, we still believe in building and using application frameworks, but we learned that organizing their use and evolution in a real-world environment is hard.
|
|
| 1:30pm - 3:00pm | |
| "The Object Technology Morass" | Exhibit Hall A |
Ole Lehrmann Madsen, Ärhus University A software developer who is going to make use of object-orientation is confronted with a number of technologies: methodologies; CASE tools; programming languages; object-oriented /object-relational databases; component technologies like COM, OLE, ActiveX, and Java/Beans; distributed object technologies like CORBA, and DCOM; various forms of patterns; and many more. To use these technologies, it is necessary to learn many different languages. The methodologies suggest more or less fancy graphical languages, and the supporting CASE tools often have insufficient support for code generation and reverse engineering. There are a large number of programming languages from class-based to prototype-based and from traditional (and unsafe) C-based to new simple and general languages. When using object-based databases, there may be special languages for data definition. For components and distribution it may be necessary to learn one or more interface definition languages. Object-orientation originally started with programming, and at that time the picture was much simpler However, during the last 5-10 years, a morass of new technologies has appeared. Object-orientation started with the development of Simula in the sixties: Simula was created as a means for making simulation models of real world phenomena; Simula was a general purpose programming language; Simula was used for analysis, design and implementation; Simula has been characterized as a programming language with a built-in method; a Simula program reflected the real world; and with Simula there was no need for structured analysis/structured design. A large number of interesting ideas have of course been developed since the days of Simula, but in a number of areas, the main stream technologies have a number of unnecessary problems. One of the main advantages of object-orientation is that it provides an integrating approach to many areas of software development, including analysis, design, implementation, distribution and data definition in databases. Object-orientation provides a common set of concepts and a core of abstract language constructs that may be applied to these areas. At the language level, the use of different notations for analysis/design, implementation, data definition, distribution and components is an unnecessary complication. Most modern methodologies recommend an iterative and evolutionary approach in which developers alternate between analysis, design and implementation. The transitions between these phases should be easy and supported by tools. If different notations are used, it is difficult to keep all the representations consistent and up-to-date, just as there is a mental overhead. At the conceptual level, most methodologies and programming languages are weak on the underlying conceptual framework for object-orientation. To be able to develop systems it is necessary to have a rich conceptual framework for understanding concepts and phenomena from the application domain. Too often methodologies concentrate on notations and simple means for analysis and design, but it is often necessary to go beyond object-orientation. This talk will: (1) present a number of examples where things can be simpler by using the same abstract language for as many aspects of the software development process as possible; (2) discuss the importance of a conceptual framework that is richer than the languages in use; and (3) touch on a multi-perspective approach to software design that goes beyond object-orientation. These issues have a long tradition in the Scandinavian approach to object-orientation as exemplified in the development of Simula, BETA and the Mjølner System. This talk will also discuss how important new developments such as prototype-based languages, patterns, and component technologies might benefit from these issues. Ole Lehrmann Madsen ( http://www.daimi.aau.dk/~olm ) has worked with object-orientation for more than 25 years starting with Simula programming. He is one of the developers of the BETA programming language and has been a research manager for the Mjølner project where the first version of the BETA software was developed. He has been engaged in a large number of research projects in object-orientation. He is currently a research manager for a large project in object technology with participants from industry and academia ( http://www.cit.dk/COT ). He is currently a professor of Computer Science, Aarhus University, Denmark and research manager for the National Danish Centre for IT-research ( http://www.cit.dk ). He is a cofounder and chairman of the board for Mjølner Informatics (http://www.mjolner.com ), developers of the BETA environment. |
|
Goldfish bowl: "Getting Value for Money from Software Architecture" |
Ballroom C |
Most people agree that software architecture is concerned with components, their externally observable behaviour, and their interconnections. But will we get the best return simply by using these concepts to describe particular systems or should we invest in capturing the generic rules that lead to a design? Or must we give equal weight to both? In this highly interactive discussion session, invited participants and members of the audience will examine this and other related issues. Moderator: John Daniels, Bankers Trust Company Invited Participants:
|
|
Technical Papers: |
Ballroom A |
| Chair: Mary Fernandez, AT&T Labs - Research "Vclusters: A Flexible, Fine-Grained Object Clustering
Mechanism" "System Support for Object Groups" |
|
Goldfish bowl: "A goldfish bowl on patterns" |
Ballroom C |
This goldfish bowl will allow some experienced pattern-masters and you the audience to discuss how patterns are working today in the OO community. Some questions to be answered include: How are patterns effective for you? How do you use them in your organisation? Who writes them? Who are they most useful for? Who finances them? Where do they come from? How are they stored and accessed? Are they at the architectural, design and/or programming level? Is their use enforced? Bring your own points of discussion and make your way to the stage in this highly interactive session. Moderator: Bruce Anderson, IBM OTP Invited Participants:
|
|
Technical Papers: |
Exhibit Hall A |
| Chair: Eric Jul, University of Copenhagen "Visualizing Dynamic Software System Information through
High-level Models" |
|
Practitioner Reports: |
Ballroom A |
| Prototyping &
Architecture Session Leader: Patrick Logan, GemStone Corp. "The Mount Sinai Human Resources Case Management System:
an Example of Rapid Application Development in a Java Environment" The Mount Sinai Human Resources Case Management system was developed using several new software development tools and techniques. The system was developed with 2 FTE developers in six months as a series of iterative prototypes, starting with paper-based mock-ups, proceeding to executable throw away prototypes developed in Java, and ending in a deployed three-tiered architecture with a Java client, an Oracle server, and Symantec's dbAnywhere middleware product. This article describes the tools and techniques used to develop the system and some lessons learned from the project. "A Look Behind Internet's First Digital
Trading Cards" This paper outlines our experience in developing a challenging and fun system; the first limited edition digital trading cards to be offered on the Internet. The challenges included implementing the required complex mechanism for a deceptively simple looking product in a very short amount of time, with a limited amount of resources. The product needed to be deliverable and maintainable over the Internet and the system needed to offer a high level of security, scalability, and reliability. We developed the first phase of the project by utilizing an object oriented architecture and a database system, RASE (Rapid Systems Engineering) tools, and design patterns as well as a variety of multimedia development tools. "An Improved Smalltalk Application Server
for a Web-based Business Solution" The project team started with a corporate human resources application which was used to log, approve, and reimburse employee purchases. The application was fully distributed with the client functionality delivered across the corporate intranet. The server portion contained the domain model and was constructed using a combination of VisualWorks Smalltalk and Gemstone Smalltalk for persistence. The application scalability was adequate but limited. The report describes a revision to the application architecture which improved the response time of the application and gave it the potential to support a greater number of concurrent users. The revised architecture uses a series of new management objects, most notably the Session Broker and the Session Manager, to respond to variations in the demand pattern. In addition, another series of objects, representing the remaining components of the application architecture were separated from the domain model with the intention of producing a generalized framework applicable to other business problems. "Architecture for a Production-quality
Java Application" The Avalon project was aimed at providing an interactive entertainment experience for consumers used to television-like entertainment via a Java applet. To accommodate a typical consumer's low-bandwidth, no-storage, high security requirements, we prototyped and then rebuilt our applet environment. This report will cover the following technical areas: the designs used in order to deliver production-quality applications over the consumer internet, the use of Java in reality, and lessons learned in the process. |
|
Practitioner Reports: |
Ballroom B |
| Transitioning to OO Session
Leader: TBD "Automated
Testing of an Object Application" The system used for administrating the pension benefits for teachers in the province of Ontario is an example of a feature-rich intelligent agent participating in a highly complex business process. In addition to the challenge of developing the application itself, of major concern was the system testing for validation of the initial deployment and for regression testing of subsequent releases for maintenance, upgrades, and extensions. To that end, an automated testing system was also developed with the requirement that it be accessible to business experts: not just software developers. It also had to be usable at all stages of the business application's development: not just with a complete product but also at an object class and instance level. This paper illustrates how object design enabled software developers, testers, and business analysts to work together throughout the development and deployment process to improve quality and productivity. "Lessons Learned: Transitioning COBOL
Programmers to OO" Typical object technology (OT) courses provided by professional trainers are one week long and most managers expect developers to be productive after attending one or more of these courses. Yet, it is broadly acknowledged within the object-oriented (OO) community that the OT learning curve is anywhere from 6-18 months. Conventional wisdom concludes a longer-than-normal training program transitioning to object technology is better which we refute based on a recent experience. We attempt to provide a few primary reasons for the contradiction to conventional wisdom and offer suggestions to improve your experience. "An Integration Architecture for
Implementation of the DoD Computerized Patient Record" U.S. Military health systems include a very large set of heterogeneous systems involving multiple organizations, care environments, computing environments, and health care elements. Systems integration and interoperability in such an environment presents a series of challenges, particularly with respect to architectural and semantic mismatch. This report focuses on a particular logical architecture that facilitates meeting these challenges incrementally, on a requirements-based, mission increment by mission increment basis. Initial team experience in following the architecture and future implementation plans is also discussed.
|
|
technical program |
thursday |
| "Growing a Language" | Exhibit Hall A |
Guy L. Steele Jr., Sun Microsystems Laboratories Over the last quarter-century I have become convinced that trying to design a complete and perfect programming language is now the worst thing you can do. A programming language (including its associated libraries) must grow over time as its user community and its development community grows. This is a different situation from 25 years ago, when all such communities were relatively small. The difference is a problem of scale. As a result, programming language design now and in the future is necessarily as much a matter of social engineering as technical engineering and must rely more on a set of general principles than on a set of specific technical decisions. Guy L. Steele Jr. is a Distinguished Engineer at Sun Microsystems, Inc. He received his A.B. in applied mathematics from Harvard College (1975), and his S.M. and Ph.D. in computer science and artificial intelligence from M.I.T. (1977 and 1980). He has also been an assistant professor of computer science at Carnegie-Mellon University; a member of technical staff at Tartan Laboratories in Pittsburgh, Pennsylvania; and a senior scientist at Thinking Machines Corporation. He joined Sun Microsystems in 1994. He is author or co-author of five books: Common Lisp: The Language (Digital Press); C: A Reference Manual (Prentice-Hall); The Hacker's Dictionary (Harper&Row), which has been revised as The New Hacker's Dictionary by Eric Raymond (MIT Press); The High Performance Fortran Handbook (MIT Press); and The Java Language Specification (Addison-Wesley). The Association for Computing Machinery awarded him the 1988 Grace Murray Hopper Award and named him an ACM Fellow in 1994. He was elected a Fellow of the American Association for Artificial Intelligence in 1990. He led the team that received a 1990 Gordon Bell Prize honorable mention for achieving the fastest speed to that date for a production application: 14.182 Gigaflops. He was also awarded the 1996 ACM SIGPLAN Programming Languages Achievement Award. He has served on accredited standards committees X3J11 (C language), X3J3 (Fortran), and X3J13 (Common Lisp). He designed the original EMACS command set and was the first person to port TeX. At Sun Microsystems he is responsible for research in language design and implementation strategies, and architectural and software support, and for the specification of the Java programming language. |
|
| Panel: "The Project Manager Game" | Ballroom B |
An OOPSLA '98 exclusive! Watch contestants vie for fabulous prizes as you the audience choose the project manager of your dreams from this illustrious set of project manager wannabes. Master of ceremonies Kent Beck will put them through their paces for your edification and amusement. Emcee: Kent Beck, First Class Software Contestants: |
|
| Technical Papers: | Exhibit Hall A |
| Chair: Kathleen Fisher,
AT&T Labs - Research "A Type System for Object
Initialization in the Java Bytecode Language" |
|
| Practitioner Reports: | Ballroom A |
| Components & Reflection
Session Leader: Peter Sommerlad, IFA Informatik "Incremental development of a repository-based framework
supporting organizational inquiry and learning" In this paper we report on our experience with the development of a framework for administration and a supporting method for incremental development and learning. The framework helps us develop applications iterative, interactive and incrementally, with strong emphasis upon the process of problem appreciation. Thus we build increasingly complete specifications of applications that can be executed at once. The resulting system is easy to adapt to changes in the business. Argo can develop new applications through modeling and configuration, rather than through coding. The framework is based on a repository in two ways. First, it consists of a set of tools for managing a repository of documents, data and processes, including their history and status. These tools let users select applications, enter and view data, query the repository, access the thesaurus and manage electronic documents, workflow processes, and task assignments. More importantly, the repository drives the framework behavior. In the repository we capture knowledge of the business model, none of which is hard coded. The tools consult the repository at runtime. End-users can change the behavior of the system by using high-level tools to change the business model. Thus we separate descriptions of an organization's business logic from the application functionality. Since we can afford users to change their mind, inspired by learning experience with the technology at hand and the broader range of possibilities it offers, we use methods and techniques from soft system thinking to encourage our users to reflect on their applications and to envision better ways of working, even after initial delivery. To incorporate the feedback, we adapt both framework and the applications. "Use of Dynamic, Reflective, and
Meta-level Language Facilities in the Application Domain" Proponents of dynamic object-oriented languages with reflective or meta-level facilities assert that these facilities provide more flexibility and adaptability for reacting to changing business requirements. However, typically such language features are only applied in development tools. This paper argues that dynamic, reflective, and meta-level facilities can provide an advantage in implementing application domain solutions, and draws on a significant commercial object-oriented application framework for supporting examples. "An Evolutionary Path to Component-Based
Solution Development" This paper presents the evolutionary path to Component Based Solution Development by a medium sized organization of approximately 100 people. Three stages of the organization's maturation are presented. For each stage, the goals, organizational structure, development process, and conclusions are discussed. A brief summary of the projects executed during each stage are presented only for the purpose of setting the context within which the organization evolved. This organization's experience can be thought of as a single instance of the class of organizations attempting to implement the "Reuse Business" presented in "Software Reuse: Architecture, Process and Organization for Business Success," Jacobson, Griss, Jonsson, Addison-Wesley, 1997. No attempts are made to justify the path taken or any individual decision made by this team. Rather, the experiences, successes, and failures and an ideal end state are presented. Component-Based Development represents the maturation of the Object-Oriented paradigm. While objects themselves inherently provide a better mechanism for reuse they do not guarantee reuse success. By developing components comprised of objects, taking advantage of their clear and simple interface mechanisms, it becomes possible to develop groups of industry-specific components which may be "plugged" together to create complex business systems. This provides the value ascribed to but seldom realized by the "buy versus build" strategy or COTS (Commercial Off The Shelf) solution, while allowing organizations to retain the flexibility to customize the solutions to match their business processes. It is through components that real and predictable reuse becomes possible.
|
|
| Panel: "Experiences in Distributed Systems" | Ballroom B |
Everyone is building a distributed systems these days, but the "how" has become a matter for religious debate and the "why" is often neglected completely. This panel brings together practitioners from every aspect of industry including middleware customers, vendors, consultants and academics. Each has built at least one distributed system, and will explain:
Moderator: Laura Hill, Sun Microsystems Panelists:
|
|
| Panel: "Software Reuse: Nemesis or Nirvana?" | Ballroom A |
As we reach the end of the millennium, the concept of software reuse and the discipline of software engineering have matured for almost thirty years. Has the reuse community evolved beyond visionaries devoted to an intellectual fad - the early adopters of a new technology? Has this evolution established a state of advancement in civilization with distinctive beliefs and traditions? How has this evolution been successful and how will success be sustained? This panel will share its experience and perspectives with the audience in a dialogue initiated by the following questions and positions:
Moderator: Steven Fraser, Nortel Panelists: |
|
| Panel: "DesignFest Wrap-up" | Exhibit Hall C |
| Panel: "Educators' Symposium Review" | Ballroom C |
| Technical Papers: | Exhibit Hall A |
| Chair: John
Lamping, Xerox Palo Alto Research
Center "Compound Types for
Java" |
|

Last updated 16 October 1998 10:30:40/Teresa Warwaruk