Keynote Speaker
Pictures (new)
WOW Online Magazine
Schedule Overview
Tutorial Program
Workshop Program
Technical Sessions
Conference Schedule
Special Attractions
- Invited Industry Presentations
Case Studies
Doctoral Workshop
Formal Research Demos
Informal Research Demos
Harlan Mills Memorial Colloqu.
Other Events
Attractions & Local Links
- Conference Registration
Hotel Reservation
Discounted Airfaires
- Exhibit Contracts
Contact Us
Call for Participation

page created 1/14/99 by
Alexander Egyed

  Tutorial Program

Tutorials are an opportunity, for relatively modest cost, to learn from a recognized expert in a software area. The ICSE99 Tutorial Program offers a wide spectrum of up to date material to suit both new and experienced software professionals. The tutorials have been carefully selected to give a balance between introductory and specialized material and to address many of the most pressing issues in the real world of software engineering.

Object-orientation continues to progress, leading to concerns about distribution, interoperability, design patterns and component adaptation. All are covered by half or full day tutorials. Requirements remain a major problem area so techniques for analyzing and validating them are valuable, while management issues, such as risk management, reliability and project control will be of interest to practicing and aspiring project leaders. Other key tutorial topics covered include software architecture and software measurement and while all of the tutorials reflect the experience of their presenters there are also some that are based primarily on industrial experience with, for example, object-oriented software design or software reuse.

In summary, participants can fashion their own combination of tutorials from this wide selection as we believe that there should be something here to interest every software practitioner or `researcher.

TMF1 Distributed Objects

Wolfgang Emmerich, University College London, we@acm.org
Neil Roodyn, Cognitech Ltd., City Cloisters
Monday 18 May, 8:30 am - 5:00pm

Imperial Ballroom Suite B
The aim of this full-day tutorial is to motivate the need for and discuss the principles of object-oriented distribution middleware, such as OMG/CORBA, Microsoft/DCOM and Java/RMI. We will present common problems that occur when designing applications using distributed objects, such as non-synchronous communication, locating objects, administering the object life cycle and object transactions. We will then outline techniques for solving these problems and show how these techniques can be implemented with CORBA, DCOM and RMI. The tutorial is designed for an audience with intermediate experience level, who have basic knowledge of OO design and programming.

TMF2 Overview of Practical Software Measurement
Joyce Statz, TeraQuest Metrics, Inc., statz@teraquest.com
Monday 17 May, 8:30 am - 5:00pm

In this workshop students learn a method to select and apply software measures that directly support their project needs and address project-specific issues. The Practical Software Measurement (PSM) material was developed using measurement experiences of personnel from about 50 organizations, working with both large and small projects. The workshop covers the key concepts of PSM and gives students experience with PSM practices using a case study. Students base their work on a collection of common project issues and useful standard measures defined in the PSM Guide Book. Using the tailoring practices, they match appropriate measures to project issues. They specify the data to collect and describe the types of analyses to perform in order to answer particular project questions. They interpret graphs of results for the case study and describe their findings. Based on this experience and using the PSM Guide Book, they can develop a useful set of measures for their own specific project.

TMF3 Introduction to Personal Software Engineering Project Management Process
A. Winsor Brown, University of Southern California, awbrown@sunset.usc.edu
Monday 17 May, 8:30 am - 5:00pm

Understanding and practice in a Personal Software Engineering Project Management Process (PPMP), and the lower levels of the Personal Software Process (PSP), are provided by this tutorial. It covers the full content and context of PPMP, a proven, practical way to expose software engineering practitioners and students to the software engineering project management issues of estimating, planning and tracking in the PSP spirit. Using a combination of presentation, discussion and seven exercises to communicate the material, it provides the attendees with the basic tools and techniques to increase their personal productivity in managing their SE projects as well in as writing and software development.

TMA1 Inquiry Driven Requirements Analysis
Colin Potts, College of Computing, Georgia Institute of Technology, potts@cc.gatech.edu
Monday 17 May, 8:30 am - 12:30pm

New Orleans
Requirements analysis is all about thinking and deciding. This tutorial introduces an incremental, question-driven refinement process for system and software requirements that manages the transitions from vague to precise, abstract to concrete, and idealized to robust requirements. Goal-driven and scenario-exploration techniques are given equal weight. An example of an evolving system is used throughout. The material is based on ScenIC, a method developed for evolving systems under DARPA/EDCS, but no specific modeling notations or tools will be introduced. Instead, the emphasis is on participants evaluating these principles and practices so that they can apply them in their own contexts.

TMA2 Defining Families - Commonality Analysis
Mark A. Ardis, Lucent Technologies, maa@lucent.com
David A. Cuka, Bell Laboratories,
Monday 17 May, 8:30 am - 12:30pm

A recent trend in both the software engineering research and industrial communities has been to seek ways to systematically engineer software domains. One approach is to develop families of software and to invest in facilities for rapidly producing family members. This tutorial teaches the commonality analysis process, a systematic approach to analyzing families. The result of the analysis forms the basis for designing reusable assets that can be used to rapidly produce family members. Participants will learn the principles underlying the approach and will perform a practice commonality analysis guided by experienced users of the process.

TMP1 Verification and Validation of Requirements for Mission Critical Systems
Steve Easterbrook, Research Associate Professor, NASA IV&V Facility
Fairmont, West Virginia email address?
Monday 17 May, 1:30 - 5:30 pm

New Orleans
The aim of this tutorial is to introduce a number of practical techniques for analyzing requirements for embedded, mission critical systems, along with a general model for applying them as part of an independent verification and validation process. We will emphasize the use of formal modeling techniques, but with a purely practical aim: we will demonstrate how to select and apply an appropriate analysis technique, irrespective of whether the project to which it is to be applied routinely uses any formal specification languages. The tutorial draws on our experiences with lightweight formal techniques applied to NASA programs, in which we have demonstrated that formal techniques offer a great deal of value as a modeling tool for analysis of mission critical software requirements, without incurring the expense of formally specifying these requirements. The tutorial will include several NASA case studies.

TMP2 Software Interoperability: Principles and Practice
Jack C. Wileden , Computer Science Department, University of Massachusetts, wileden@cs.umass.edu
Alan Kaplan, Department of Computer Science, Clemson University,
Monday 17 May, 1:30 - 5:30 pm

Software interoperability is fundamental to a number of contemporary software engineering topics, such as component-based software development, software reuse and distributed or network-based software. A variety of (often partial) approaches to interoperability exist, but what they do, how they compare, and exactly what problems they are solving is sometimes unclear. This tutorial is intended to provide a solid understanding of software interoperability problems and various proposed approaches to solving those problems. Participants should expect to gain a generally applicable foundation for assessing both problems and approaches, a detailed understanding of several specific approaches, and an ability to understand and critically evaluate new and different interoperability problems and approaches in the future.

TTF1 Managing By The Numbers: Quantitative Measurement and Control of Software Projects
Richard E. (Dick) Fairley, Oregon Graduate Institute, dfairley@cse.ogi.edu
Tuesday 18 May, 8:30 am - 5:00 pm

Software is an intangible entity produced by the intellectual effort of software engineering teams. It is therefore important that those involved have effective mechanisms for measuring project status in a reliable and timely manner and that corrective action be taken before deviations become disasters. Project factors that must be measured and controlled include schedule milestones, cost of resources, product features, quality attributes, risk factors, and process effectiveness. This one-day course presents an integrated framework of methods, tools, and techniques for measuring and controlling project factors. Elements of the framework include work breakdown structures, activity networks, work packages, incremental development, binary tracking, earned value reporting, technical performance measurement, and closed-loop problem resolution.

TTF2 Risk Management in Software Development: A Technology Overview and the Riskit Method
Jyrki Kontio, Nokia Telecommunications, jyrki.kontio@ntc.nokia.com
Tuesday 18 May, 8:30 am - 5:00 pm

Explicit and systematic management of risks in software projects has become a more common practice amongst leading software organizations. However, often the methods used have severe theoretical and practical limitations that may lead to biased or inappropriate control of risks. The first part of this tutorial presents a critical overview of the current risk management technology, discussing the pros and cons of main approaches, as well as guidelines for their use. The second part of the tutorial presents the Riskit method with concrete examples and exercises. Riskit is a risk management method that has been developed to provide a theoretically sound, yet practical risk management approach. The method has been used and evaluated in several industrial projects in Europe and in the U.S.

TTF3 Failure and Success Factors in Reuse Programs: A Synthesis of Industrial Experiences
Michel Ezran, Valtech, France, me@valtech.fr
Maurizio Morisio, Politecnico di Torino, Italy,
Colin Tully, European Software Process Improvement Foundation,
Tuesday 18 May, 8:30 am - 5:00 pm

Software reuse has long been recognized as having very high potential impact in building better software, cheaper and sooner. This full-day tutorial presents the essential concepts of systematic reuse and how to introduce it effectively. Main topics include: overview; reusable assets; repository; processes; management; metrics; technology. Running throughout are examples and lessons learned (success and failure factors) from industrial case histories. Delegates will receive free copies of “Practical software reuse: the essential guide”, authored by the presenters of the tutorial. Participants should have a reasonable background in software engineering and process; no prior knowledge of software reuse is required.

TTF4 Round-Trip Engineering with Design Patterns, UML, Java and C++
Wilhelm Schaefer and Albert Zuendorf, Dept. of CS, University of Paderborn
wilhelm@uni-paderborn.de and zuendorf@uni-paderborn.de
Tuesday 18 May, 8:30 am - 5:00 pm

The tutorial presents the state-of-the-art in methodologies and tools for round-trip-engineering of object-oriented software systems. Round-trip-engineering allows designing an application, (semi) automatically deriving its implementation, manually adapting and completing this implementation, automatically updating the design documents, allowing design changes, updating the implementation without loss of manually created code, etc. Design documents cover not only (UML) class diagrams but also behavior diagrams like message sequence charts, collaboration diagrams, state charts, and activity diagrams.
In addition, round-trip engineering with design patterns is addressed. This covers design by combining design patterns, implementation of design patterns (including code generation), and the recognition of standard design patterns in code fragments.

TTA1 Adaptable Components
Grady H. Campbell, Jr., Prosperity Heights Software, gradycampbell@acm.org
Tuesday 18 May, 8:30 am - 12:30 pm

Traditional approaches to reuse are characterized by uncertainty, complexity, and excessive effort: deciding whether a component with appropriate capability exists, choosing between several components apparently meant for the same purpose, and safely modifying a chosen component to fit a particular need properly. Reuse routinely requires tailoring to support particular needs but the most effective time to consider and accommodate alternate uses is during component development rather than at the time of reuse. As part of a systematic methodology of Domain-specific Engineering, Adaptable Components are the means for developers to instrument reusable components so that alternate versions can be derived mechanically from a single source.

TTA2 Using Subject-Oriented Programming to Overcome Common Problems in Object-Oriented Software Development and Evolution
Harold Ossher and Peri Tarr, IBM T.J. Watson Research Center, tarr@watson.ibm.com
Tuesday 18 May, 8:30 am - 12:30 pm

Subject-oriented programming (SOP) is a practical approach to object-oriented (OO) programming-in-the-large. SOP addresses some well-known limitations of OO development without forcing developers to adopt new languages or abandon the OO paradigm. These limitations include impediments to non-invasive system extension and evolution, large-scale reuse and integration, system decomposition, and multi-team and decentralized development. The tutorial shows participants how to use the SOP approach and describes tools to facilitate its use in practice. Participants will learn how to identify and address, using SOP, some difficult and pervasive problems in their own OO development activities. They will also learn how to leverage SOP to facilitate the use of design patterns, frameworks, and reusable components.

TTP1 Quick Introduction To Software Reliability Modeling
Jarrett Rosenberg, Sun Microsystems, Jarrett.Rosenberg@Sun.COM
Tuesday 18 May, 1:30 - 5:30 pm
Software reliability modeling is attracting increasing attention, yet most software engineers have little familiarity with these models or their basis in traditional reliability engineering. This half-day
tutorial is designed to provide software engineers with a broad overview of the concepts and statistical models used in traditional reliability engineering, and to demonstrate how those models have been applied to software reliability. Participants will learn both the basic techniques for software reliability testing as well as the use of various statistical methods for effectively analyzing the data gathered by software reliability tests.

TTP2 Modeling and Analyzing Software Architectures
Bob Monroe, Carnegie Mellon University, bmonroe@cs.cmu.edu
Tuesday 18 May, 1:30 - 5:30 pm
Software architecture is increasingly recognized as an important level of design for software systems. Issues include overall organization of a software system, assignment of function to computational elements, protocols of interaction, and emergent system properties such as end-to-end latencies and throughputs. Until recently, design and analysis of software architecture has been largely informal and ad hoc, relying on box-and-line diagrams and conventions about the meanings of those documents. Recently, a number of architectural modeling notations and tools have been proposed. Several of these have reached a level of maturity at which they can provide tangible benefits to practicing software architects. This tutorial provides an overview of emerging approaches to architectural modeling and an in-depth treatment of selected architectural specification, analysis, and design techniques.

Overview - Greetings - Committee - Schedule Overview - Keynote Speaker - Tutorials - Workshops
Technical Sessions - Conference Schedule - Exhibits - Harlan Mills Memorial Colloquium - Other Events - Attractions and Links
Conference Registration and Hotel Reservation - Contact Us - Call for Participation - What's New