ETH Zürich - Chair of Software EngineeringTOOLS - conference series  - Keynote Speakers

Keynote Speakers

Robin Milner (Monday, June 25): Ubiquitous computing, models and the informatic future

Robin Milner was appointed Professor of Computer Science at Cambridge UK in 1995, and was Head of the Computer Laboratory there from January 1996 to October 1999. Before that he spent two years in the Artificial Intelligence Laboratory at Stanford University, then 22 years in the Computer Science Department at the University of Edinburgh, where in 1986 he and colleagues founded the Laboratory for Foundation of Computer Science. He was elected Fellow of the Royal Society in 1988, and in 1991 he gained the A.M. Turing Award.

From 1971 to 1980, at Stanford and Edinburgh, he worked on computer-assisted reasoning; with colleagues he developed LCF (Logic for Computable Functions), a system for machine-assisted formal reasoning. This was a model for several later systems. He led a team which designed and defined Standard ML, a widely used programming language and one of the first industry-scale languages whose semantic definition is fully formal.

His main work has been in the theory of concurrent computation. Around 1980 he developed CCS (Calculus for Communicating Systems), one of the first algebraic calculi for analysing concurrent systems. In the late 1980s with two colleagues he devised the pi calculus, a basic model for mobile communicating systems. These calculi are part of a continuing quest for a theory which unites computing and communication. Some of this work is widely accessible through his book "Communication and Concurrency" (1989) and "Communicating and Mobile Systems (1999).

Abstract: Ubiquitous Computing Systems (UCSs) will be a dominant part of informatics in this century. They will be vast, will evolve, will make decision previously made by us, and will interact with one another. The problem of how to understand them, both as designed and as they evolve, is one of the Grand Challenges for Computing adopted by the UK Computing Research Committee. Many existing and more modest computing systems are not deeply understood when they are specified or built; this phenomenon appears to be a side-effect of the tremendous market demand that has arisen worldwide in the past half century. How, then, do we improve the chances of understanding UCSs? I shall argue that a more scientific approach is both necessary and possible. We often think in terms of models, whether formal or not. These models, each involving a subset of the immense range of concepts needed for UCSs, should form the structure of our science. Even more importantly, the relationships (either formal or informal) among them are the cement that will hold our tower of models together. For example, how do we derive a model for senior executives from one used by engineers in designing a platform for business processes, or by theoreticians in analysing it? Many examples of such relationships exist; we need to base our methodologies on them, and on more of them. As part of the talk, I would like to illustrate this with my own work on mobile systems. This is a mathematical framework, and aims to subsume many existing process calculi {Petri nets, pi calculus, etc.) Already we have related this model to a programming model designed in ITU Copenhagen.

Mark Howard (Monday, June 25): Some observations on taking software engineering seriously in a large investment management firm

Mark Howard is Director of Software Engineering at the Barr Rosenberg Research Center. Before joining what is now AxaRosenberg in 1990 he was a Research Assistant Professor of Mathematics at Purdue University and a Senior Logician at Odyssey Research Associates where he implemented Ariel, a software system used to formally verify the total asymptotic correctness of unrestricted C programs.

Abstract: AxaRosenberg is an institutional equity management firm which actively manages over $130 Billion worldwide. All of our software is built in-house. In 1998 we decided to migrate our expert system running on VMS and implemented in approximately 3 million lines of FORTRAN, C, VMS system calls, stored procedures and COM files to a platform independent pure object oriented representation in Eiffel. This talk explores some of the issues raised and surprising lessons learned in this endeavor.

Erich Gamma (Tuesday, June 26): From Eclipse to Jazz Wiki

Erich is a Distinguished Engineer at IBM Rational Software's Zurich lab. He is one of the leaders of the Jazz project. He was the original lead of the Eclipse's Java development environment (JDT) and is on the Project Management Committee for the Eclipse project. Erich is also a member of the Gang of Four, which is known for its classic book, Design Patterns -Elements of Reusable Object-Oriented Software. Erich has collaborated with Kent Beck on developing JUnit, the de facto standard testing tool for Java.

Abstract: The development of the Eclipse platform can be described as a journey from closed to open transparent development. Throughout this journey the team has continuously tuned our development practices and processes with the goal of achieving the ongoing health of the project. Being toolsmiths ourselves, we have naturally been exploring how tools can help teams apply these practices to improve and maintain healthy projects. The result of this exploration is "Jazz", a new team collaboration platform. In this keynote, Erich reflects on the entire journey and shows a snapshot of the early work on Jazz and its evolving architecture.

Steve Cook (Tuesday, June 26): Separating Concerns with Domain-Specific Languages

Steve Cook has been a Software Architect for Microsoft Visual Studio since 2003. Previously he was a Distinguished Engineer at IBM, which he represented in the UML 2.0 specification process at the OMG. He has worked in the IT industry for 30 years, as architect, programmer, author, consultant and teacher. He was one of the first people to introduce object-oriented programming into the UK, and has concentrated on languages, methods and tools for modelling since the early 1990s. He is a member of the Editorial Board of the Software and Systems Modeling Journal, a Fellow of the British Computer Society, and holds an Honorary Doctor of Science degree from De Montford University.

Abstract: Decades of development of computer languages have seen linguistic and semantic structure move progressively away from the way the computer works and towards the problems they are intended to solve. A central aspect of this development is the need to separate concerns. Many of today's computer systems are built from multiple textual and graphical languages, which address concerns in specific domains. This talk will propose techniques for separation of concerns, look at ways to combine concerns, and discuss some outstanding problems.

Dave Thomas (Wednesday, June 27): Programming for the Rest of Us - Life after Jurassic Middleware

Dave Thomas is a Managing Director of Object Mentor, and Founder and Chairman of Bedarra Research Labs, a company specializing in emerging software technologies and applications. Dave is best known as the founder and past CEO of Object Technology International Inc. (formerly OTI, now IBM OTI Labs) and led the commercial introduction of object and component technology. Dave was the principal visionary and architect for IBM VisualAge Smalltalk and Java tools and virtual machines including the popular open source multi-language IDE. OTI pioneered the use of virtual machines in embedded systems with Tektronix shipping the first commercial products in 1988. He was instrumental in the establishment of IBM?s Pervasive computing efforts and in particular, the Java tooling and virtual machines. Dave is an adjunct research professor at Carleton University and the University Of Queensland, and is widely published in the software engineering literature. Dave remains active in various roles within the technical community including ECOOP, AOSD, JAOO,Agile Development Conference, OOPSLA Onward and Dynamic Language Symposium. He is a founding director of the Agile Alliance, an ACM Distinguished Engineer, President of AITO and an advisor for IEEE Software. He also writes an expert column in the Journal Of Object Technology.

Abstract: In this talk we briefly discuss the global trends in software development and the barriers facing major software companies, application developers and researchers. Next we explore next generation hardware platforms, and the programming challenges associated with using them. We then examine next generation application requirements and the demands they place on application development. We argue that there is a large class of business and engineering applications that need a radically different radical approach which we have called Domain Oriented Programming (DOP). DOP supports rapid development of high performance applications by small teams of knowledgeable end users. We discuss the essential features of domain oriented infrastructure and application programming and relative past and current practice.


Ivar Jacobson (Wednesday, June 27): Enough of Processes -- Let's Do Practices

Dr. Ivar Jacobson is a father of components and component architecture, use cases, aspect-oriented software development, modern business engineering, the Unified Modelling Language and the Rational Unified Process. He is the principal author of six influential and best-selling books. He is a keynote speaker at several large conferences around the world. Ivar Jacobson is a founder of Jaczone AB in Sweden, and he is the chairman of Ivar Jacobson International which has consultant companies in the US, UK, Korea, China and Singapore.

Abstract: The world of software development is constantly changing and evolving. New ideas arise all the time and existing ideas go in and out of fashion. Software development processes find it very hard to keep up with this rapid rate of change, especially as they find themselves quickly going of fashion or becoming bloated as they bolt on more and more information. Teams find themselves struggling as they try to mix-and-match practices from various sources into a coherent way-of-working or work out where to start their improvements. A new approach to capturing and sharing experience is required, one where:

  1. Practices are First Class Citizens,
  2. Practices can be made smart to truly help the developers in their work,
  3. Practices can be used individually or in a multitude of combinations
  4. Process is just a composition of Practices, and
  5. Teams compose the process they need by selecting just the practice that they want to use

To enable this a number of innovations are required: innovations related to the way that practices are collected, presented and applied. We will introduce the new paradigm and its support by EssWork which is an environment for working with practices. In doing so we will demonstrate how the Essential Unified Process is composed as a collection of eight separate practices. This talk promises to explore the outer limits of modern software development practices whether they come from the software engineering camp or from the social engineering (agile) camp.