Tutorials

Welcome...
Organisation
Program Commitee
Sponsors

Conference Venue
Social Activities
Meetings

Program Overview
Paper Sessions
Tutorials
Workshops

Registration / Contact
Hotel / Accomodation

Final Program (PDF)

Full Day Tutorials

Half Day Tutorials


 

Full-Day Tutorials

Full-Day Tutorial F1

Robert L. Nord, Daniel J. Paulish, Robert W. Schwanke, and Dilip Soni, Siemens Corporate Research, USA dpaulish@scr.siemens.com

September 10, 2001, 9:00 - 17:00

Software Architecture in a Changing World: Developing Design Strategies that Anticipate Change

Abstract:
One of the few known certainties when designing a new software architecture is that the design and its implementation will likely change over time as market requirements, technologies, and business factors change. Separating software architecture into multiple views helps reduce complexity and supports design trade-off decisions. At Siemens we use four main views, based on best current practice, that address different engineering concerns. This tutorial will teach experienced software engineers, architects, and project managers how global analysis can improve your design, and how to use UML to describe these four views: the conceptual, module, execution, and code architecture views.

Biographies:
Dr. Schwanke is a senior member of the software architecture program at Siemens who has successfully applied the four views, as described in "Applied Software Architecture."
Dr. Paulish is a software project manager at Siemens who is writing "Architecture-Centric Software Project Management," also to be published by Addison Wesley.

top

Full-Day Tutorial F2

Wolfgang Emmerich, Zuhlke Engineering Ltd, UK, wje@zuehlke.com Nima Kaveh, University College London, UK, n.kaveh@cs.ucl.ac.uk

September 10, 2001, 9:00 - 17:00

Component Technologies: Java Beans, COM, CORBA, RMI, EJB and the CORBA Component Model

Abstract:
This full-day tutorial is aimed at both industrial and academic participants, who wish to get an overview of the local and distributed component technologies that are currently available. We assume that participants are familiar with object-oriented programming concepts. We introduce the idea of component-based development by defining the concept and providing its economic rationale. We describe how object-oriented programming evolved into local component models (e.g. Java Beans) and distributed object technologies (e.g. CORBA, RMI and COM). We then address how these technologies matured into distributed component models (e.g. Enterprise Java Beans and CORBA). We give an assessment of the maturity of each of these technologies and sketch how they are used to build distributed architectures.

Biographies:
Dr. Wolfgang Emmerich is a co-founder, Director and Chairman of Zuhlke Engineering (UK) Ltd. He has authored a Wiley text on "Engineering Distributed Objects".
Wolfgang Emmerich has delivered numerous tutorials at international software engineering conferences. He is also a Senior Lecturer in Computer Science at University College London. Nima Kaveh investigates model checking techniques for distributed objects and components during his PhD studies at UCL.

top

Full-Day Tutorial F3

Gregor Kiczales, University of British Columbia, Canada; gregor@cs.ubc.ca Erik Hilsdale, Xerox PARC, USA; hilsdale@parc.xerox.com

September 11, 2001, 9:00 - 17:00

Aspect-Oriented Programming

Summary:
Aspect-oriented programming (AOP) is a technique for improving separation of concerns in software design and implementation. AOP works by providing explicit mechanisms for capturing the structure of crosscutting concerns. Using traditional techniques the implementation of concerns like exception handling, multi-object protocols, synchronization, and resource sharing tends to be spread out across the source code. The lack of modularity for these concerns makes them more difficult to develop and maintain. This tutorial will show how to use AOP to implement concerns like these in a concise modular way. The effect of using AOP on modularity, extensibility, separate development and overall program comprehensibility will be discussed, as well as issues in the adoption of AOP into existing projects.

The tutorial will predominantly work with AspectJ, a seamless aspect-oriented extension to the Java(tm) programming language, and with AspectC, an aspect-oriented extension to C in the style of AspectJ. It will also include a description of their underlying model, in terms of which a wide range of AOP langauges can be understood. Applications of AOP techniques and environments will include general-purpose programming, operating systems, and embedded systems. Attendees should have experience doing object-oriented design and implementation, and should be able to read Java and/or C code. No prior experience with aspect-oriented programming is required.

The focus of his research is enabling programmers to write programs that, as much as possible, look like their design. Prior to developing aspect-oriented programming he worked on open implementation, metaobject protocols and the CLOS object-oriented programming language. He is co-author of "The Art of the Metaobject Protocol", a key work in compuational reflection. He has given numerous invited talks, lectures and tutorials at conferences, universities and in industry.

Biographies:
Erik Hilsdale is a member of the research staff at Xerox's Palo Alto Research Center. As a member of the AspectJ project team, he focuses on language design, pedagogy and compiler implemetation. He has written several conference and workshop publications in programming languages. He is an experienced and energetic instructor in programming languages with a long background with AspectJ.
Gregor Kiczales is Professor of Computer Science and Xerox/Sierra Systems/NSERC Chair of Software Design at the University of British Columbia. He is also a Principal Scientist at the Xerox Palo Alto Research Center, where he leads the group that has developed aspect-oriented programming and AspectJ.

top


Half-Day Tutorials

Half-Day Tutorial F4

Richard A. Kemmerer, University of California, Santa Barbara, USA kemm@cs.ucsb.edu

September 11, 2001, 9:00 - 12:30

Internet Security

Abstract
The growth of the Internet and the World Wide Web (www) during the past few years has been phenomenal. Most every business and government institution has a web page, and the web and web browsing are fast becoming the primary source of information for people of all ages. Unfortunately, the the Internet and the web were designed with little or no concern for security. This tutorial introduces some known threats to secure Internet computing and analyzes protection mechanisms and techniques for countering these threats. Example break-in scenarios that combine different protocol attacks and an experience compromising an online banking application will be presented.

Biography:
Richard A. Kemmerer is a Professor and past Chair of the Department of Computer Science at the University of California, Santa Barbara.
Dr. Kemmerer has written numerous papers on the subject of computer security, and he is co-author of the book "Computers at Risk: Safe Computing in the Information Age."

top

Half-Day Tutorial H5

Kurt Wallnau and Robert Seacord, Software Engineering Institute at CMU; {kcw,rcs}@sei.cmu.edu

September 10, 2001, 9:00 - 12:30

Building Systems from Commercial Components: Method Foundations.

Abstract:
This tutorial describes fundamental ideas of component based development. The tutorial touches on different categories of component-based development method, and the problems they address. We then sharpen the focus to one class of design problem and the essential methodological response to this class of problem: systems developed from pre-existing components acquired from commercial sources, where these components are deployed onto operating system platforms. Topics covered include: evaluation techniques and myths associated with them; design as search; risk and feasibility as search criteria; and, representation and management of the search space. A case study, drawn from first-hand experience on an industrial-scale project, will be presented to illustrate the main ideas.

Biographies:
Kurt C. Wallnau is a senior member of the technical staff of the Software Engineering Institute (SEI) at Carnegie Mellon University. He designed and taught the fall semester MSE course in methods of software development.Mr. Wallnau is co-author of the book "Building Systems from Commercial Components."
Robert C. Seacord is a senior member of the technical staff at the Software Engineering Institute and an eclectic technologist. He is co-author of the book "Building Systems from Commercial Components" as well as more than 30 papers on component-based software engineering.

top

Half-Day Tutorial H6

Martin Lippert, Stefan Roock, University of Hamburg, Germany; lippert@informatik.uni-hamburg.de

September 10, 2001, 9:00 - 12:30

Adapting XP to Complex Application Domains

Abstract:
Extreme Programming (XP) works well for small software projects in not too complex application domains. In many of these projects the rather simple requirements engineering of XP (customers write story cards) was suitable. But today we are more often faced with complex application domains in which the classical XP techniques will not suffice. The tutorial shows how to adapt extreme programming to complex application domains and for demanding development tasks. We focus mostly on the requirements engineering part and show how to enhance XP with interviews, scenarios and system visions. We also integrate the management perspective into the "planning game" reconciling this perspective with users' needs. We propose a set of best-practice methods, we have used in a number of industrial high-risk projects for different complex application domains.

The tutorial assumes that the participants are familiar with the XP techniques on a base level. The introduction into XP will be quite short to assure that we will be able to discusss the advanced topics also.

Bios:
Martin Lippert and Stefan Roock are research assistants at the University of Hamburg and professional software architects and consultants at APCON WorkplaceSolutions. They are coaches for professional XP projects and gained experience in successful XP projects over the past years.

top

Half-Day Tutorial H7

Engin Kirda

September 10, 2001, 13:30 - 17:00

Engineering of Web Services with XML and XSL

Abstract:
The life cycle of a Web service includes the analysis, design, implementation and maintenance stages. Web service engineering covers all phases of the Web service life cycle. The majority of Web tools developed so far only address the implementation phase and lack support for the other stages. This tutorial shows how to design, implement, and manage flexible, XML/XSL based Web services. We discuss our methodology and describe our experiences in maintaining and building the Vienna International Festival Web (www.festwochen.at) service and give an overview of our Web engineering tools. Further, we summarize the lessons learned in designing and managing several large, interactive Web sites and give guidelines for flexible Web service engineering with XML/XSL.

Biography:
Engin Kirda is a research assistant in the Distributed Systems Group at the Technical University of Vienna (TUV). His main research interests are engineering device independent Web services and distributed systems. He holds a MSc in computer science from TUV. He has built and managed several large Web services such as the Vienna International Festival and the Austrian Academy of Science sites.

top

Half-Day Tutorial H8

Barry Boehm, University of Southern California, USA; boehm@sunset.usc.edu Paul Grünbacher, Johannes Kepler University, Austria; pg@sea.uni-linz.ac.at

September 10, 2001, 13:30 - 17:00

EasyWinWin: A Groupware-Supported Methodology For Requirements Negotiation

Abstract:
EasyWinWin is a requirements definition methodology that builds on the win-win negotiation approach and leverages collaborative technology to improve the involvement and interaction of key stakeholders. With EasyWinWin, the stakeholders move through a step-by-step win-win negotiation where they collect, elaborate, and prioritize their requirements, and then surface and resolve issues.

This tutorial introduces the EasyWinWin negotiation approach and situates it with respect to other leading requirements determination approaches, and within the spiral model of software development. We explain the objectives and deliverables of each step in the methodology, and offer tips and pitfalls from the field. We give a live demonstration of the collaborative tools and the methodology in action, and demonstrate facilitation techniques that keep the process moving forward. Throughout the tutorial, we will present the highlights from several real-world EasyWinWin projects.

The intended audience are those professionals involved in requirements definition (e.g. as project managers, engineers, executives, users, customers); software requirements engineering researchers. The level of presentation is introductory with no specific background knowledge required.

see also: http://sunset.usc.edu/research/WINWIN/EasyWinWin/

Biographies:
Barry Boehm is TRW Professor of Software Engineering and director of the Center for Software Engineering at the University of Southern California.
Paul Grünbacher is an assistant professor at the Johannes Kepler University Linz, Austria.

top

Half-Day Tutorial H9

Michael Mannion, Glasgow Caledonian University, Scotland, UK; M.A.G.Mannion@gcal.ac.uk Hermann Kaindl, Siemens AG Österreich, PSE, Austria; hermann.kaindl@siemens.at

September 11, 2001, 9:00 - 12:30

Requirements-Based Product Line Engineering

Abstract
Reuse and requirements are very important for efficient and successful systems development. This tutorial presents a Method for Requirements Authoring and Management (MRAM) and reports on some experiences of applying requirements reuse using the method. MRAM is a method for establishing product line requirements and for selecting from them. A product line is a group of products within the same market segment e.g. mobile phones. TRAM (Tool for Requirements Authoring and Management) supports MRAM, utilising current proven office technology (MS-Word, MS-Access). The tutorial presents the results of applying MRAM/TRAM to Product-Line Engineering of a real-world application.

Biographies:
Professor Michael Mannion is Head of Department of Computing, Glasgow Caledonian University, Glasgow, Scotland, UK.
Dr. Hermann Kaindl is a Senior Consultant in Requirements Engineering and Object-Oriented Modeling with the Division of Program and Systems Engineering at Siemens AG Österreich.

top

Half-Day Tutorial H10

Albert Zündorf, Technical University of Braunschweig, Germany; zuendorf@ips.cs.tu-bs.de

September 11, 2001, 9:00 - 12:30

From Use Cases to Code -- Rigorous Software Development with the UML

Abstract:
The Rational Unified Process lacks technical guidance for the development of OO applications. This tutorial fills this gap. We first use UML scenario diagrams to analyze use-cases. Next, we show a method to analyze scenarios and to derive UML class diagrams and UML behavior modeling for active classes and methods. We show how to choose and embed design patterns in a design and how to employ different architectural styles. From such a precise design, smart CASE tools generate fully functional implementations. We explain state-of-the-art code generation concepts for UML and assess current CASE tools for their code generation capabilities and for their support through all software development phases more generally.

Biographies:
Dr. Albert Zündorf has a temporary position as full professor in Computer Science at the Technical University of Braunschweig, Germany. Dr. Zündorf is leader of the FUJABA case tool project that aims to provide tool support for round-trip engineering with structural and behavioral design diagrams.

top

Half-Day Tutorial H11

Karl Aberer, EPFL, Switzerland; karl.aberer@epfl.ch Manfred Hauswirth, Technical University of Vienna, Austria; m.hauswirth@infosys.tuwien.ac.at

September 11, 2001, 13:30 - 17:00

Peer-to-peer information systems: concepts & models, state-of-the-art, and future systems

Abstract:
The limitations of client/server systems become evident in an Internet-scale distributed environment. P2P systems offer an alternative to traditional client/server systems: Every node acts both as a client and a server and "pays" its participation by providing access to its computing resources. Systems such as Napster and Gnutella have proven their practical applicability. In this tutorial we position the P2P paradigm in the design space of distributed information systems, present underlying models and concepts, and show the structure, protocols, and algorithms of current systems. Then we elaborate on the novel requirements for P2P algorithms (resource discovery, complexity, and scalability) and present future research areas.

Biographies:
Karl Aberer is full professor at EPFL (Lausanne) heading the Distributed Information Systems Laboratory. His main research interests are on the self-organization of information systems and databases.
Manfred Hauswirth is an assistant professor for distributed systems at TU Vienna. His research focuses on distributed systems, e-commerce and Internet applications.

top

Half-Day Tutorial H12

Alexander Ran, Nokia Research Center, USA; alexander.ran@nokia.com

September 11, 2001, 13:30 - 17:00

Fundamental Concepts for Practical Software Architecture

Abstract:
Architecture of software is a collection of design decisions that are expensive to change. These include the architecturally significant requirements (ASR), the conceptual model, system structures, and replicated microstructure or texture of software. We introduce a system of concepts useful in order to understand, design, and evaluate architecture of software intensive systems and system families. Our approach is based on a model that relates architectural decisions to goals of system stakeholders. We utilize multiple software structures in order to control important system qualities related to its development, performance, and evolution. This tutorial should be useful to engineers and technical managers involved in construction or evaluation of complex software.

Bios:
Alexander Ran is Principal Scientist of Software Architecture at Nokia Research Center, where he leads a research group focusing on methods, tools, and technology for development of complex software that is reliable, extendible, and efficient in its utilization of computing, communication, and energy resources.

top

 

 
back continue