[an error occurred while processing this directive]

TOOLS Europe '99 Tutorial Programme

Tutorials Chair: Alan Cameron Wills, TriReme International Ltd, UK

Monday, June 7, 1999

M1
 9:30 - 13:00

Unleashing the Power of Distributed Enterprise Information Systems
Trygve Reenskaug and Lasse Bjerde, Numerica Taskon AS, Norway

The communication-centered architectures represent a new paradigm that subsumes the older storage-centered and computation-centered architectures. The main advantages of the new architectures are unlimited size and complexity, distributed ownership and control, and a higher level of reuse through components.

This tutorial is intended to prepare the participant to meet the challenges of the era of distribution by giving a roadmap to the new technology. What changes are needed in personal competence, organization, and development processes in order to meet its challenges and reap its benefits? Architectural themes covered include 1) The connected society, a new system paradigm; 2) Separation of concern with role models, responsibilities and interfaces; 3) Powerful reuse with components; 4) The component developer - a new layer in the value chain.

Trygve Reenskaug has 35 years experience in developing industrial strength software products combined with software engineering research. He has extensive teaching experience including several OOPSLA tutorials. His firsts include structured programming and data base oriented architectures in the early sixties; object oriented applications and personal computer systems in the early seventies; experimental Model-View-Controller, the world's first reusable object-oriented framework, in 1979; and the premier book on role modeling in 1995. He is currently developing a method for the practical application of distribution technology.

Lasse Bjerde is currently R&D Manager at Numerica Taskon. He has been part of the development team behind the OOram Method and Tools since the beginning of the nineties. He is currently heading several international projects dealing with distributed development.


M2
 9:30 - 13:00

Seamless Development with Eiffel: from Analysis to Implementation and Back
Bertrand Meyer, Interactive Software Engineering, USA

Traditional software engineering techniques have introduced damaging gaps between successive activities of software development. The Eiffel method, with its emphasis on full lifecycle coverage and its reliance on the central technique of Design by Contract as a unifying theme for all software activities, provides an integrated approach to activities of analysis, design, implementation and maintenance. The tutorial will introduce the essential elements of the method and show the new paradigm of software development made possible by Eiffel's emphasis on seamlessness and reversibility

Bertrand Meyer is President of Interactive Software Engineering and an adjunct Professor at Monash University. He is known as the author of several reference books including "Object-Oriented Software Construction" and the principal developer of the Eiffel method.


M3
 9:30 - 13:00

Understanding Software Component Technologies: JavaBeans and ActiveX
Gilda Pour, San Jose State University, USA

In component-based software development (CBSD), reusable software components are assembled within appropriate software architectures. This delivers the promise of large-scale software reuse and has the potential to improve software reliability, time-to-market, maintainability and quality. This tutorial will provide participants with the opportunity to acquire a good understanding of the two leading component technologies: JavaBeans and ActiveX (DCOM), so as to be able to select the right one for their projects.

Gilda Pour has twelve years of R&D and industrial experience and seven years of academic experience in object-oriented software engineering for parallel and distributed systems. Dr. Pour's current research lies in OO component-based enterprise application development, including multi-tier Web-based enterprise application development. She has contributed to several projects on related topics at Hewlett-Packard R&D Laboratories and Software Engineering Research Center. She has also given sessions at many international conferences, and lectured in both industry and academia on the same topics. She serves as Workshops and Panels Chair for the TOOLS USA '99 Conference and Tutorials Chair for the TOOLS ASIA '99 Conference.


M4
 9:30 - 13:00

Introduction to the OPEN Method with UML
Brian Henderson-Sellers, University of Technology, Sydney, Australia

OPEN is the premier third-generation, process-focussed, public domain OO methodology. It is documented in a number of professional-level texts. In this tutorial, a beginner's level presentation, OPEN is introduced through a number of case studies using UML as the notation.

Brian Henderson-Sellers is a Professor of Computer Science at the University of Technology, Sydney. He is author of eight books on object technology and is well-known for his work in OO methodologies (MOSES, COMMA and OPEN) and in OO metrics. He is a frequent writer and invited speaker at international OT conferences.


M5
 14:30 - 18:00

Catalysis: Precision Modeling and Design for Components
Alan Cameron Wills, TriReme International Ltd, UK

The business value of components is derived from their configurability: like Lego or logic chips, they can be rewired and substituted to make new software end-products, keeping pace with business change.

Like these hardware analogies, software component kits are viable only if there is a clear definition of the interface definitions that they all conform to. In the case of enterprise-scale components, this means much more than the COM, CORBA or RMI interface, and includes a common understanding of the business concepts and business rules.

In this session, we'll look at what an architecture team needs to work out in order to make a kit of components coherent; how to use UML for that purpose; and some innovative modelling techniques well suited to CBD. The material is based on the presenter's Catalysis approach, developed with Desmond D'Souza (Objects, Frameworks and Components in UML, Addison-Wesley 1998).

Alan Cameron Wills has been working in object oriented design since 1986, and has been a consultant since 1991, working with clients in a wide variety of fields on both sides of the Atlantic. He is director of TriReme International Ltd, a consultancy in object and component based design. With Desmond D'Souza, Alan developed the Catalysis method of component based development.

Alan is Tutorials Chair of TOOLS Europe '99.


M6
 14:30 - 18:00

CORBA and DCOM: Architectures for Distributed Computing
Damien Watkins, Monash University, Australia

Building large scale distributed systems is a complex task. Achieving interoperability between different hardware and software platforms is a daunting challenge. Two emerging standards address many of the issues associated with distributed heterogeneous object oriented programming: the Common Object Request Broker Architecture (CORBA) from the Object Management Group (OMG) and the Distributed Component Object Model (DCOM) from Microsoft. While both systems have their advantages, each has their hidden costs. This tutorial will outline the basic architectures and development stages of each system and then highlight some of the major similarities and differences between them. Attendees should be familiar with object oriented concepts, but an understanding of COM or CORBA is not required.

Damien Watkins Damien Watkins is an Assistant Lecturer with the School of Computer Science and Software Engineering at Monash University, Australia. Damien lectures in Distributed Object Technologies at the Masters level and is just about to complete his Ph. D. in this leading edge area. He has published several papers on the topic of COM and CORBA at TOOLS Pacific and TOOLS Asia. He is also actively involved in the promotion of object technology being on the organizing committees of both TOOLS Pacific and Developer.au.


M7
 14:30 - 18:00

Advanced Programming by Contract
James C. McKim, Rensselaer at Hartford, USA

In this Tutorial I provide a number of Principles for using PBC to rigorously document class interfaces in a way that is accessible to technically oriented software developers. With each Principle I present an example, a justification, and advice about when it might be appropriate to violate the Principle (and how to document such violations). The complexity of the Principles vary. Some are simple enough that we can use them to improve the documentation of almost any class. Others are sufficiently complex and time-consuming to use that they may only be appropriate in designing class libraries. Indeed, I will use examples from ELKS, the Eiffel Library Kernel Standard to illustrate the power of the Principles.

James C. McKim is a professor of computer science at the Hartford Graduate Center and has more than 25 years experience teaching mathematics and computer science. He has authored, coauthored and reviewed a number of textbooks and articles in both areas. His research interests include object oriented programming and design in general, and class interface specification in particular.


M8
 14:30 - 18:00

Reflexivity and Meta-Tools to Manage your Software Real Estate
Darius Blasband, Raincode, Belgium

This tutorial describes tools and techniques for extracting information from large software code bases. Applications described include:

Tools and techniques used cover a range from Perl to the use of reflexive language features. The emphasis will be put on how does OO technology contribute to these techniques, and even more importantly, how do these techniques apply to OO code.

Darius Blasband has over 10 years of industrial experience in software development in the OO world, specializing in design of compilers, translators, metrics, and profiling tools.

Tuesday, June 8, 1999

T1
 9:30 - 13:00

Design and Use of Industrial Software Architectures
Jan Bosch, University of Karlskrona/Ronneby, Sweden

Industry is increasingly performing its software development in the context of an explicitly defined software architecture. A typical example of this is formed by the recent adoption of product line architectures by several large corporations. The tutorial presents experiences and research results collected in the domain of software architecture within our research group based on our cooperation with a large collection of software development companies. More concretely, the tutorial presents experiences from architectural design, a method for architectural design, architecture evaluation techniques, and results from a case study on the problems and issues of industrial use of product-line architectures.

Jan Bosch's research interests include product-line architectures, architecture design and object-oriented frameworks and component-oriented programming, especially in the context of the layered object model.

Jan is Workshops Chair of TOOLS Europe '99.


T2
 9:30 - 13:00

Introduction to OCL
Jos Warmer, IBM, Netherlands, and Anneke Kleppe, Klasse Objecten, Netherlands

Visual modeling languages are appealing because "a picture tells more than a thousand words". The UML is such a visual language and is well known for its graphical notation and diagramming techniques. However, pictures often only tell half of the story and additional information needs to be captured in a different way. For this reason the UML includes the Object Constraint Language (OCL), a textual language which allows a UML modeler to specify these additional constraints.

This tutorial shows the importance of constraints as an object-oriented modeling technique and how they add value to the visual modeling techniques and help "telling the complete story". The OCL language itself and the connection with the visual UML diagrams is thoroughly explained. The final part of the tutorial will show how one can achieve a good balance between the visual and constraint modeling in UML.

Jos Warmer is senior consultant in IBM's European Object Technology Practice. He was co-author of the IBM/ObjecTime proposal for an object analysis and design language to the OMG and was the representative of IBM in the UML 1.1 core team. He is the chief architect of OCL. Jos has been active in the OT community since 1985, as a trainer, mentor and consultant.

Anneke Kleppe has over seven years of experience with object technology, and runs a training and coaching company, Klasse Objecten ("Class objects"): clients include PTT Telecom, NCR, IBM, and the Dutch government. For Dutch PTT Research, she has worked on conformance testing (TTCN), formal specification languages (LOTOS) and established a centre for object technology. She has extensive experience of UML, C++ and Smalltalk.

Anneke and Jos are co-authors of "The Object Constraint Language: precise modeling with UML" [AWL] and two other books on OT.


T3
 14:30 - 18:00

DSDM: Dynamic Systems Development Method
Jennifer Stapleton, British Computer Society, UK

DSDM is about people, not tools. It is about truly understanding the needs of a business, delivering software solutions that work and delivering them as quickly as possible.

The Dynamic Systems Development Method provides a framework of controls and best practice for rapid application development. It was created by a consortium of organisations and since its publication in January 1995, it has proved to be extremely effective in delivering maintainable systems which match the needs of the business better than those produced using traditional life cycles.

This tutorial is an introduction to DSDM, given by the Chairman of the Technical Committee which developed the method.

Jennifer Stapleton is Technical Vice President of the British Computer Society and Chairman of the DSDM Technical Work Group.


T4
 14:30 - 18:00

Analysis by Contract: UML with Attitude!
Richard Mitchell, University of Brighton, UK

At the heart of the UML are a number of visual modeling notations for describing classes, states, and so on. The UML also contains an Object Constraint Language, OCL, for adding precision to models. OCL can be used to add preconditions, postconditions and invariants to classes or types, allowing the precision of design by contract to be applied at any level of abstraction.

This tutorial will introduce OCL, and show it in action on a small case study. It will emphasise how abstraction need not lead to a loss of precision, and how precision can allow powerful cross-checking of models, thereby improving the analysis process.

Precision will be increasingly important as the software industry moves further towards component-based development. The case study will emphasise:

Richard Mitchell is Professor of Computing at the University of Brighton, UK, where he has been teaching and researching object technology since the 1980s.

He is a member of the recently-formed Trusted Components project, which is examining all aspects of the trustworthiness of software components, and has recently been working on that project as a visiting professor at Monash University in Melbourne, Australia.

Richard's research addresses the use of contracts at all levels of software development. He is working with Jim McKim on extensions to the latter's methodological guidelines for design by contract, and a book is on its way. He is a member of the "Amsterdam group" of experts on the Object Constraint Language.

Richard has given tutorials on the use of constraint languages in object-oriented analysis at a number of TOOLS conferences. He travels often to the USA to provide consultancy services in object-oriented analysis and design.

Richard is Programme Chair of TOOLS Europe '99.

Wednesday, June 9, 1999

W1
 9:30 - 13:00

Multiparadigm Design and Implementation in C++
James O. Coplien, Bell Laboratories, USA

C++ is a programming language that supports multiple paradigms: classes, overloaded functions, templates, modules, procedural programming and more. Despite the language's flexibility and richness, however, there has previously been little effort to create a design method to support multiple paradigms within a single application.

This tutorial explores a coherent framework for multi-paradigm design, offering an advanced set of design practices that form the foundation for a formal multi-paradigm design method. Attendees will gain an understanding of domain engineering methods that support multi-paradigm design. The presentation reveals how to analyze the application domain using principles of commonality and variation to define subdomains according to the most appropriate paradigm for each. The course explores deep questions of design to address fundamental issues of software abstraction.

James O. Coplien is a Distinguished Member of Technical Staff at Bell Laboratories. He is author of "Multiparadigm Design for C++" and is author or editor of several other books on C++, objects, and patterns.


W2
 9:30 - 13:00

Building Reusable Software
Simon Parker, Eiffel Ireland, Ireland

Reusing software improves quality as well as productivity. In practice, it is hard to achieve significant levels of reuse in commercial applications beyond generic support software. This tutorial will present programming and design techniques for achieving more reuse. The first session will examine the obstacles to reuse in commercial data processing, and illustrate the potential benefits. The main session will:

The final session addresses organisational aspects of reuse, an alternative project lifecycle, metrics and developer motivation. The tutorial is intended for developers and their managers regardless of language, method or platform.

Simon Parker has been involved in commercial software development, training and consultancy for many years. He has presented papers and workshops at DECUS and TOOLS conferences. His business, Eiffel Ireland, specialises in object oriented software development, tools and education.


W3
 9:30 - 13:00

Applied Software Engineering Principles for UML
Bernhard Rumpe, Ruth Breu, and Ingolf Krüger, Munich University of Technology, Germany

The crucial factors for UML's broad acceptance in the future are the thorough understanding of its concepts, an in-depth knowledge about the meaning and manipulation of notations, and a coherent methodological framework. Therefore, in this tutorial we focus both on a thorough treatment of UML's description techniques and on their seamless integration into a practical development process for sequential and concurrent systems.

Bernhard Rumpe is working in the field of diagrammatic modeling languages, especially UML, and their application to software engineering. He developed an approach for a sound semantic integration of different notations, including traceability techniques for behavior models. He co-authored two books, co-organized workshops with related themes at previous ECOOP and OOPSLA conferences, and he is program chair of UML'99.

Ruth Breu's major field of interest is the foundation of object-oriented concepts and notations with an emphasis on OOA/OOD techniques and UML. She is author of two books in this area and has given several industrial seminars on UML.

Ingolf Krüger works in the area of software engineering for distributed systems. Part of his research is the formal foundation of widely used description techniques for component interaction, aiming at their seamless integration into the overall software development process.

Bernhard, Ruth, and Ingolf work together in the group of Prof. Manfred Broy at the Technical University of Munich, collaborating with many industrial companies where the presented techniques have been applied and proven useful.


W4
 14:30 - 18:00

Extreme Programming
Kent Beck, Daedalos, Germany

Extreme Programming (XP) is a lightweight design method developed by Kent Beck, Ward Cunningham, and others. After notable successes, XP has been generating huge interest, and no small amount of controversy. Much of the interest stems from XP's pragmatic approach to development. Key practices include pair programming, writing tests upfront, frequent refactoring and rebuild, continuous integration and testing. Key principles incremental and iterative development, working with the simplest solution, cutting out extraneous documentation, and collective code ownership.

Kent Beck is a leading authority on software design. His many talks and articles are rooted in practical experience of a range of projects. Books include Smalltalk Best Practice Patterns, Refactoring (with Martin Fowler) and, forthcoming, Extreme Programming: Embracing Change. He hates writing pseudo-third-person biographies, so somebody else wrote this for him.


W5
 14:30 - 18:00

Comprehensive Object-Oriented Business Process Modeling
Graham McLoed, University of Cape Town, South Africa

The tutorial will present an integrated set of techniques for performing competent and comprehensive Business Process Modeling. Concepts have been drawn from a number of sources, including Stakeholder modeling Enterprise modeling based upon value chains and objects developed at the GMD in Germany Event models from James Odell and the corresponding UML activity diagrams Simulation techniques for multi-server queuing network analysis. These have been synthesised and integrated in a manner which is comprehensive, non-redundant and practical for commercial developers. The dynamic models reflecting the business process are built against the background of a static business object model represented using a standard UML Class Diagram. The approach is architecture and repository based. Resultant models can be easily expanded into system level event models reflecting the full impact of operations on the underlying business objects. If desired, this can extend to model technical events, such as user interaction with a GUI. The resultant models are easily mapped to technical design architectures which are GUI, Client Server and Internet capable. The tutorial will cover the concepts, but not the detail involved in this mapping. A paper will be issued to attendees which covers the mapping in detail.

Graham Mcloed has 23 years experience of system development, project management. His consulting practice, Inspired, is at the forefront of the adoption of object technology by many large South African corporates. He is also a senior lecturer at the University of Cape Town, researching in system modeling and delivery techniques. Graham is co-author of the book Managing I.T. Projects [Thomson], as well as author of many conference and journal papers, and an active member of IFIP WG 8.1.


W6
 14:30 - 18:00

Visual Programming: Tips and Techniques - Using VisualAge for Java
Steve Edwards, The Object People, UK

This talk provides an insight into a variety of approaches to using visual programming tools. The talk introduces techniques that assist in the production of well designed, visually programmed software systems. Visual programming tools are very powerful but offer many paths that allow for the production of software that is difficult to maintain and interpret. The techniques introduced in this talk provide a basic framework for reducing the possibilities for developers to 'shoot themselves in the foot'. IBM's VisualAge for Java is used as the basis for a variety of demonstrations showing these techniques in action.

Steve Edwards is Director of The Object People's European Office based in Southampton, U.K. The Object People are world renowned for bringing organisations up to speed with Java, Smalltalk, Visual Programming and Object Technology.

Thursday, June 10, 1999

J1
 9:30 - 13:00

Efficiency in C++
Stanley Lippman, ObjectWrite Inc., USA

In this talk, we present a series of C++ programming design idioms for writing efficient C++ programs, briefly review the underlying C++ object model, and turn to design alternatives when the idioms themselves become overwhelmed with, say, large-scale object creation and copy. We look at object-based and object-oriented design, use of the STL container classes and generic algorithms, and the design alternatives of inheritance versus parameterization through use of the C++ template facility.

This is a particularly effective area of program efficiency because (a) the idioms generally make for more readable programs, and (b) once the idioms and implementation (or object) model is internalized, these gains in efficiency come mostly for free - I like to think of them as low-hanging fruit. In the course of the tutorial, I'll point out areas where experienced C programmers tend to write correct but frightfully sluggish C++ code by contrasting C and C++ programming idioms.

Stanley Lippman is a consultant in both the entertainment and aerospace industries in the efficient use of C++ for large-scale software systems. Prior to this, he was principal software engineer at Walt Disney Feature Animation, then software technical director for a segment of Fantasia 2000. While at AT&T Bell Laboratories, he led the cfront Release 3.0 and Release 2.1 compiler development team. Following that, Stan was a member of the Bell Laboratories Foundation Project, responsible for the object model component of a research C++ programming environment. He has presented talks on C++ worldwide, including OOPSLA, ECOOP, Sigplan, and TOOLS.


J2
 9:30 - 13:00

Using Components, Patterns and Frameworks to Realize Architecture
Timothy Korson, Software Architects, USA

Understanding and using components, patterns and frameworks in the design and development of an application system architecture is critical to the successful development of enterprise solutions. You will learn how components, patterns and frameworks can and should be utilized to establish an industrial strength architecture that supports the total needs of the business. Reuse comes in many forms at numerous levels of abstraction. This tutorial will consider the aspects necessary to a successful corporate reuse program. We will examine how to plan and attain effective reuse by combining class libraries, patterns, frameworks, domain specific pattern languages and the corporate infrastructure necessary for enabling large scale reuse. Reuse is often touted as one of the primary benefits of the object-oriented approach to software development. Yet reuse is not an automatic by-product of employing object technology. There are as many cultural and organizational barriers to reuse as there are technical ones.

Timothy Korson is a senior partner of Software Architects and the Dean of the School of Computing at Southern Adventist University. Dr. Korson has extensive industrial experience in applying object-oriented techniques. Dr. Korson is co-author of the book Object Centers of Excellence, writes the management column for Component Strategies, and is frequent tutorial speaker at major conferences worldwide.


See the TOOLS Europe '99 programme (PDF)
contact us at tools-europe@tools-conferences.com to receive your copy.

Schedule | Keynotes | Technical Papers | Workshops
Home | Nancy | Programme Committee | Registration
[an error occurred while processing this directive]