(1) Java-based Paradigms for Mobile Agent Facilities
Cobb Galleria Centre, Room 107
Since the advent of the WWW and Java, researchers and developers have been constantly looking for new ways to program the Internet in novel and efficient ways. The WWW has exponentially increased the possibilities for distributed computing, data distribution and sharing, and collaboration. At the same time, the explosion of the volume and frequency of data being transmitted over the Internet has posed new challenges. Computation migration is being explored as one possible way of tackling the situation. Instead of moving large volumes of data from the server to the client for the client to sift through and choose what is of interest, the computation engine itself (which does the sifting and choosing) is moved to the server where it executes, and only the final results are returned to the client. This forms the context of mobile agent facility. Agents are launched from the client computer and roam the Internet through various servers collecting and sifting through data, collaborating with other agents, and finally returning the accumulated results to the client. As the usage of laptops and other mobile devices - which are limited in memory and other resources, and which connect intermittently to the Internet -- increases multi-fold, mobile agent facilities with their capabilities for security, disconnected operations, and persistence, will boost the technology.
This workshop will focus on issues and solutions in using Java for building mobile agent facilities over the Internet -- combining the two powerful technologies to solve the problems facing Internet computing.
Combining the mobile agent facility with features of the object paradigm will be the focus of this workshop. Topics dealing with one or more of the following areas in the context of the mobile agent facility will be welcome: (1) Agent scheduling, communication, persistence, migration, and security; (2) Monitoring, debugging, performance analysis and optimization issues; (3) Graphical user interfaces for such systems; (4) Inter-operability and CORBA; (5) Software frameworks for mobile agent computing; (6) Language and compiling issues; and (7) Experience reports and applications.
Organizers:
Dr. Neelakantan Sundaresan, IBM. Almaden Research Center
Dr. Daniel T. Chang, Database Technology Institute, IBM Corporation
(2) Exploring Large System Issues
Cobb Galleria Centre, Room 108
Individuals interested in, and involved in the construction of, large systems employing OO Technology (OOT) are invited to participate in a workshop dedicated to Exploring Large System Issues. OO practitioners interested in articulating issues related to the design and development of large systems will be provided a forum to discuss strategies/approaches that work and those that don't.
The motivations for this workshop are several, especially the need to promote the following: (1) Articulate the needs of teams that develop large systems - in terms of methods, processes, practices, tools, products, vendor support, life-cycle issues; (2) Make the OO community in general, and the vendors of OO tools and products in particular, appreciate the problems and issues related to the design and development of large systems; (3) Highlight the issues of scalability and performance; (4) Share "horror stories" and "success stories" among OO practitioners addressing large system issues; (5) Share information on "what works", and information on good practices; and (6) Discriminate among the plethora of solutions, methods and products that seem to have been made for "toys" and not for "real" large systems.
The goals for the workshop are: Providing a forum for data collection and information exchange; Discussions on large OO systems; Sharing experiences - "horror stories" and "success stories"; and Sharing information on "what works", and what doesn't; Information on good practices.
Dissemination of information: Articulation of the needs of teams that develop large systems - in terms of methods, processes, practices, tools, products, vendor support, life-cycle issues.
Please visit http://www.ccsi.com/~brr/LargeSysInfo.html for further details.
Organizers:
Lizette Velazquez, Lucent Technologies
Bindu Rama Rao, Stanford & Bennett, L.L.P.
(3) Reuse in the Classroom: Classifying and Sharing
O-O Course Materials
Cobb Galleria Centre, Room 109
Object technology is rapidly changing, and object technology education must keep pace. It is difficult for educators to keep up with these changes. There are, of course, many excellent textbooks for introducing various object-oriented languages. However, there is a dearth of lab exercises -- particularly those that incorporate OOA and OOD -- and instructional materials on advanced topics, such as distributed object systems.
OOPSLA Educators' Symposia have been very effective in spreading the word about what can be done in an object-technology curriculum. But they have provided very little help in actually implementing these ideas. This workshop is an opportunity for educators to get together and share course materials, which will provide these benefits: (1) Instructors can share lecture material and lab exercises. This will save them time and often give students the benefit of a more carefully thought-out assignment than their instructor would have time to put together. (2) Educators will have an opportunity to meet others who share their teaching style. This will foster cooperation on improving existing courses and designing new ones.
The workshop will be organized into three sessions: (1) Working groups based on course type and language: to discuss lecture topics, and programming or lab assignments; (2) Teaching resources: recommended and non-recommended textbooks, useful Web sites, software environments; and (3) Managing group projects: Selecting groups of students, devising topics, documentation requirements, and milestone reports.
Organizers
Edward F. Gehringer, North Carolina State University
Mary Lynn Manns, University of North Carolina at Asheville
(4) Garbage Collection and Memory Management
Cobb Galleria Centre, Room 110
Modern programming languages usually now include automatic memory management facilities, in the form of a garbage collector. This eliminates the need for error prone and inefficient hand-crafted code to release data structures, avoiding the hazards of dangling pointers and store leaks when application programmers get their memory management code wrong. Garbage Collectors have been studied for almost forty years and at least one and a half thousand academic papers and articles have been written about them, yet they remain an active area of research. Recent years have also seen increasing industrial investment in garbage collected languages. With the recent interest in Java as a possible replacement for C++, garbage collected languages have never been more popular.
This workshop is intended to bring together active researchers and systems implementors with an interest in garbage collection. It follows on from the OOPSLA workshops on Garbage Collection from the beginning of the decade, and is intended to bridge the gap between the 1992 & 1995 International Workshops in Memory Management and the next in that series, which is likely to be held in 1998.
Organizers:
Peter Dickman, Department of Computing Science, University of Glasgow
Paul Wilson, University of Texas at Austin
(5) Overcoming Cultural Barriers to the Adoption
of Object Technology
Cobb Galleria Centre, Room 111
A successful transition to using object technology depends to a large degree on the attention paid to the organizational and cultural issues surrounding the transition. Problems are bound to arise as organizations and people struggle to move from using traditional and familiar methods of software development to a new and different approach required by the object-oriented paradigm. These problems often act as barriers to the adoption of object technology.
This workshop seeks to identify the cultural and organizational issues which act as barriers to the successful adoption of object technology by sharing of participants' experiences with the task of adopting object technology. At the same time, we also seek to find methods and procedures which have proven successful in avoiding or overcoming these barriers.
Short presentations of selected position papers will serve to begin discussion and identify problems which the workshop will try to resolve. Subgroups will then tackle these problem issues and report back to the entire group. Attempts will be made to quantify the issues identified and the solutions presented. The workshop will conclude with an open session that will provide opportunity for conclusions and the formation of plans for future activities and collaboration.
Organizers:
Jared Bruckner, School of Computing, Southern Adventist University
Luke Holmann, SmartPatents, Inc.
Timothy Korson, Comsoft and Southern Adventist University
Vijay Vaishnavi, Comsoft and Georgia State University
(6) Dependable Distributed Object Systems
Cobb Galleria Centre, Room 112
Most OO languages do have some distributed extension, and almost every new architectural development in the distributed system community is, to some extent, object-based. OO technology is particularly emerging in the field of distributed dependable systems, and OO flexibility and reusability features are very appealing to handle the complexity of these systems. This workshop aims at bringing together researchers and developers from academia and industry, who are advancing the state-of-the-art in dependable distributed OO systems, or experimenting with dependable distributed OO systems in industrial applications.
The workshop topics include: OO dependable distributed systems and applications, OO patterns for dependable distributed systems, Object replication, OO dependable distributed frameworks, Transactional object systems, Dependability issues in CORBA and OLE, OO methodologies for designing dependable systems, and OO languages for dependable applications.
Organizers:
Jean-Charles Fabre, LAAS-CNRS/INRIA, France
Gul Agha, University of Illinois, Urbana
Rachid Guerraoui, EPFL, Switzerland
(7) Resources for Early Object Design Education
Cobb Galleria Centre, Room 119
Object-Oriented programming is now the basis for many introductory courses in programming. While it seems students successfully learn program implementation in such courses, it is less clear whether they learn program design. At OOPSLA '96 we organized a workshop on "Teaching and Learning Object Design in the First Year". For OOPSLA '97 we will focus specifically on building a resource base for helping educators integrate object design into the undergraduate curriculum.
Our goal is to investigate ways of identifying, classifying, cataloging, and disseminating resources for early object design education. Our intention is to thereby help educators perform their role more successfully. We will explicitly avoid language wars, and specifically welcome people from both academia and industry to contribute their perspectives.
The workshop will focus on object design, rather than implementation, and on the key kinds of resources that will be helpful to educators in teaching object design early in the curriculum. Prospective participants are invited to submit a sample resource for presentation. We will discuss the resources presented, and evaluate their effectiveness in helping object design education. Then we will address how to best disseminate our findings and to best facilitate sharing resources on an ongoing basis. For example, we will consider establishing a web repository for early object design education resources.
Organizers:
Rick Mercer, Penn State Berks-Lehigh Valley College
Robert Biddle, Victoria University, New Zealand
(8) System Envisioning
Waverly Hotel, Andover
Software systems are conceived out of an understanding and conceptualizing of a problem space. Object-orientation is not only a way of implementing powerful abstractions but also a way of thinking. In keeping with the evolving tradition of patterns, system envisioning should be seen as exploring the relationship between problem situations and system solutions.
System Envisioning is a creative process for establishing the possibility of viable system concepts and technologies by first reaching a shared understanding of a problem situation and desired futures and then nominating solution architectures. System Envisioning is motivated by ideas from Checkland's work on Soft Systems Thinking, Beer's work on Viable Systems, Gelernter's work on Mirror Worlds and Miller's work on Living Systems metaphors.
Our vision sees the job of information systems professionals as one of matching business patterns with information system mechanisms to create viable conceptual architectures. This shift from building software to evolving enactable models of business worlds is viewed at two levels. At the highest level it involves the entire picture of the enterprise in its market ecology context, enabled by a cognitive structure of standard information system mechanisms. At the most granular level, it involves understanding the connection between business concept patterns and object-oriented architectures.
The first System Envisioning Workshop, held at OOPSLA '96, focused upon how we create possibilities for what a software system might and should do. For this second workshop the emphasis is on system metaphors.
Organizers:
Ralph Hodgson, IBM Consulting Group
Doug McDavid, IBM Consulting Group
Charles Matthews, Synergistic Technologies
Jean-Pierre Paillet, Footprint Software
(9) Doing your first OO project: OO Education Issues
in Industry and Academia
Waverly Hotel, Brayton
This workshop will address problem areas inherent in project-oriented approaches to object-oriented education. To set up your first object-oriented project the availability of reliable experiences is very important. By knowing the key success factors, your first object-oriented project will run smoother and faster and have a higher learning curve.
This workshop will bring together people from industry and academia to: (1) share and discuss experiences from project oriented introductions/transitions to object technology; (2) identify key success factors; (3) establish an initial checklist with do's and don'ts; and (4) gather ideas for reference projects.
The participants will discuss concrete experiences of successful and unsuccessful approaches and the issues involved in teaching and learning object technology. Prospective topics include (but are not limited to): (1) the role of the development process (i.e. should all phases be done using object-oriented approaches); (2) the role of management support; (3) the role of previous experiences (OO and non-OO); (4) the role of methods, languages and tools; (5) the role of libraries and frameworks; (6) the role of patterns and design heuristics; (7) the role of formal methods; (8) the role of courseware; (9) the role of the type of the project; and (10) differences in object-oriented education between industry and academia.
Organizers:
Juergen Boerstler, Department of Computing Science, Umee University
Vladimir Bacvanski, InferData Corporation
(10) OO Process and Metrics for Effort Estimation
Waverly Hotel, Chancellor
This workshop is a continuation of similar, very successful workshops held at OOPSLA '95 and OOPSLA '96 with the same theme.
Software development remains difficult to plan. Object-orientation has thus far not changed the picture. However due to the greater continuity in OO across the life-cycle - objects everywhere - there is good hope that OO may improve the predictability of OO projects. At least two ingredients are required for planning SW projects: (1) More detailed processes than what is currently available (waterfall, spiral, fountain, clean-room, etc.). This would help to identify more intermediate milestones. (2) Effort tracking and estimation metrics. This would help to measure progress and to recognize earlier that unexpected roadblocks have been encountered.
Problem Areas: (1) What are good micro processes for OO analysis, design, implementation, testing, maintenance? (2) How do we preserve the developers' creativity when development processes are defined with a finer granularity than is currently customary? (3) How do we ensure compatibility of micro processes and macro processes like waterfall, spiral, fountain, clean-room, etc.? (4) What are project characteristics for choosing a macro process? (5) How does reuse fit in the development process? (6) At what level should process instrumentation occur? At the individual level (e.g., Humphreys PSP)? Or can higher levels of granularity be just as good? What is the relationship between measurements taken at different levels? (7) Can the Albrecht function point technique be used (as is? modified?) for an initial effort estimate? (8) Is task points a good alternative? (9) How do we estimate remaining effort during development? (10) How frequently should measurements be taken during a project and how should this fit into a given project life-cycle? (11) How do we correct effort estimation for reuse? (12) Which product metrics, if any, can be used for effort estimation? (13) Effort estimation is rooted in reasoning by analogy. Can we have a generic estimation technique or will they be domain/company/ product line/ (?) specific? (14) Effort estimation requires systematic collection of data. At what granularity? Per subsystem? Per class? Per attribute? Per transition network? Per member function? (15) What role can/ should OO CASE tools play?
Organizers:
Granville (Randy) Miller, Make Systems
Fernando Brito e Abreu, INESC
Dennis de Champeaux, OntoOO
Philip Haynes, Object Oriented Pty Ltd
Brian Henderson-Sellers, Swinburne University of Technology, Australia
Simon Horner, IBM Corporation
(11) Non-Software Examples of Software Design Patterns
Waverly Hotel, Dardenelles
Many people are overwhelmed by their initial exposure to design patterns. Requests for more examples are common feedback from Design Pattern training courses. Unfortunately, meaningful examples are not always readily available.
The patterns presented by Gamma, Helm, Johnson, and Vlissides (Gang Of Four), are by their own admission, elegant solutions to problems, rather than the designs that people initially develop. The proprietary nature of software further limits the access to meaningful examples. Although access to examples of patterns may be limited, examples can be found elsewhere. Software Design Patterns have roots in both the work of architect Christopher Alexander, and in the Object movement. According to Alexander, patterns repeat themselves, since they are a generic solution to a given set of forces. The object movement looks to the real world for insights into modeling software relationships.
With these dual roots, it is a reasonable hypothesis that the software design patterns should be repeated in real world objects. This workshop will present an opportunity to develop real world examples of the Gang Of Four patterns, and explore the insights gained from the process of developing the examples.
Organizers:
Michael Duell, AG Communication Systems
John Goodsen, Saguaro Software
Linda Rising, AG Communication Systems
(12) Object-Oriented Design Quality
Waverly Hotel, Etalage
Despite the burst in the availability of OO analysis and design methodologies, languages, database management systems, and tools, relatively little work has been done in the area of OO design quality assurance, assessment, and improvement. We badly need a better understanding of the properties of OO system design, in the small and in the large, and their effect on quality factors such as maintainability, evolvability, and reusability. The understanding of desirable and non-desirable properties may contribute to improvement of risk assessment and product selection, better planning, more accurate assessment of maintenance efforts, improved productivity evaluation, a better foundation of design methods, improved system evolvability, and eventually to better design practices.
We seek participants to cover practical and theoretical issues related to the quality of OO designs, addressing the two key questions: (1) What makes a good OO design? (2) How do we achieve a good OO design?
Theme topics are the following, as they help resolve those two key questions: (1) Examples of good OO design; (2) Conflicts and contradictions in asking for "good" OO designs; (3) Characteristics of good OO designs; (4) Design techniques to obtain good designs; (5) Evaluation experiences of existing proposed OO design metrics; (6) New design metrics (only if attached to motivating examples); (7) Relationship between good OO analysis and good OO design; and (8) Testing OO designs for quality
The workshop activities will include pre-distribution of position papers (via the workshop web site), initial round-table discussion, short presentations, discussions of selected topics in work groups, and final gathering to compare impressions and identify consensus, issues and directions of the topic.
Organizers:
Rudolf K. Keller, University of Montreal, Dept. IRO
Alistair Cockburn, Humans and Technology
(13) Developing Successful Object-Oriented Frameworks
Waverly Hotel, Hallmark
Frameworks are key components for achieving reuse of analysis, design and implementation in object-oriented technology. However, developing high-quality frameworks is a challenging task for most organizations. The purpose of this workshop is to help identify the key ingredients for developing, supporting, and maintaining successful frameworks. It will be a forum for individuals actively involved in real-world framework development projects to discuss issues and share valuable experiences.
Areas of discussion will include, but will not be limited to, documenting frameworks, building successful framework development teams, and turning frameworks into stand-alone products and supporting them. Of particular interest are:
(1) The relationship between frameworks and design patterns; (2) The effects of centralized vs. decentralized framework development and adoption; (3) Optimal framework development team structure and characteristics; (4) Communicating the framework and convincing prospective customers to use it; (5) Dealing with feedback between framework developers and framework users; (6) Distribution of framework services; and (7) Any other issues of concern to framework development.
The workshop will consist of an initial group introduction session to briefly discuss participants' interests and expectations. Subsequently, individuals will be divided into focused discussion groups based on common interests. These breakout groups will brainstorm on a specific topic and reassemble at the end of the workshop to present their findings.
Organizers:
Todd Hansen, Softbank Net Solutions
Steven Fraser, Nortel, USA
Craig Hilsenrath, Greenwich Capital Markets, USA
Bill Opdyke, Lucent Technologies/Bell Labs, USA
Arthur Riel, Vanguard Training, USA
(14) Bridging the Gap between Design and Implementation:
Object-Oriented Modeling with an Eye Towards Implementation
Waverly Hotel, Library
Object-Orientation (OO) enthusiasts have quarreled over the line between analysis and design. We now venture to argue that the real quandary is not in determining the line between analysis and design, but the demarcation between design and implementation. At what point should a designer say: "Yet enough of this, let's see if it really works!" Many argue that design should stop at a very high level (i.e., as soon as the domain model has been specified). Others beg to differ and argue that design should be so fine-grained that a developer can implement directly from the pages of detailed object models and supporting event traces. The developer's background and experience often determine the level and type of design artifacts expected as input to implementation.
Our goal is to analyze design experiences of the participants (designers and developers) in an effort to develop guidelines for future design efforts. The workshop's goal is to focus on the challenge of determining the appropriate level of detail at which to model; including enough detail to ensure a consistent software logical design while allowing developers the flexibility to implement the design more efficiently. Our goal is to investigate these issues based on successful as well as not so successful experiences.
The workshop will focus on mainstream industry experiences and lessons learned that deal with the following issues: (1) How much of the software architecture should be modeled (e.g. brokers)? (2) What other design artifacts in addition to object models (e.g., event traces, object interaction diagrams, traditional software design documents, use case documents) are meaningful to the developer? How are these artifacts related? (3) How does the iterative development approach affect and influence class and use case ownership (what about classes that cross use cases)? (4) How does iterative development play a role in determining at what level of detail to model? (5) How are technical risks identified, mitigated, and managed during each iteration? (6) How are technical and management tradeoffs handled from a modeling perspective weighing immediate project needs and long-term enterprise business goals?
Organizers:
Feinula Bhanji, Lockheed Martin Corporation
Kay Ogden, GEICO
Dave Weaver, GEICO
(15) OO Technology for the Insurance Industry
Waverly Hotel, Rondelet
With the increased demand on the insurance industry to respond to a changing market and to gain competitive advantage and fast to market products, current insurance systems must undergo major changes to meet these requirements. Using object-oriented technology is a viable way to address these demands and certainly will affect the extent to which new opportunities are realized.
Below are a number of specific areas that could benefit from applying object-oriented technology to the insurance industry: (1) Introduction of new product; (2) Policy underwriting; (3) Proposals; (4) Agent/agency compensation and compliance; (5) Workers compensation; (6) Claim management and processing; (7) Intelligent claim review process; (8) Fraud detection; (9) Customer service; (10) Marketing insurance products; (11) Executive information systems; (12) Integrating heterogeneous insurance databases; (13) Security of object-oriented insurance systems; and (14) Object models for insurance industry.
The primary expectation of this workshop is to identify those areas within the insurance industry that can benefit the most from object-oriented technology. Also, another result is to assess the extent to which new opportunities in this field can be realized if the object-oriented technology is adopted.
Organizers:
Mamdouh Ibrahim, Electronic Data Systems
Nancy Box, Liberty Mutual
Tim Duval, EDS/LMIC Technical Infrastructure
Dory Velten-Lerescu, The Equitable
Leroy Bliven, EDS/LTM/IOS
Robb Powell, Anatec Inc.
(16) Object Metrics and Estimation Process Workshop
Waverly Hotel, Tyndall
As the use of object technology is becoming more prevalent the need to more accurately estimate and predict the size and effort involved in building an OO system is becoming increasingly critical. Not only does there still exist a need for metrics and effort estimation in the object-oriented world, it has become more critical and complex. The workshop will focus on answering the why, what, and how of object-oriented metrics and effort estimation.
With all the potential benefits of object-oriented metrics, this workshop seeks to explore the issues and practicalities of capturing, analyzing, and using object-oriented metrics in software development.
Some of the questions/issues to address may be : (1) What is a good process for capturing these metrics? What are the cost/overhead/issues involved? (2) What tools are available to support and automate capturing of metrics? How much value do they provide? What additional tool support is needed? (3) What are the advantages of capturing and using metrics from project management perspective? Development team perspective? Client perspective? Quality assurance perspective? (4) How do we account for different stages of the development life-cycles - incremental and iterative, etc.? (5) What defines object complexity? How does complexity relate to effort? (6) Internal verses External Metrics (OO counts verses function points)? Is there a meaningful relationship? How can it be leveraged? (7) What is a good size estimator for object-oriented systems at a user requirements level? At an analysis level object model? At a detailed design level object model? Etc. (8) How do these estimators relate to one another? For example, how can the size of an analysis design object model be estimated based on size of user requirements? (9) What role do object paradigms play in consuming resources- inheritance, coupling, cohesion? (10) How does one account for reusability?
Organizers:
Monica Sood, American Management Systems
Chris Ball, American Management Systems, Inc.
Frank Armour, George Mason University
[ OOPSLA '97 Home Page | SIGPLAN | ACM ]