Keynote Speakers

Krzysztof Czarnecki, University of Waterloo, CanadaKrzysztof Czarniecki

Krzysztof Czarnecki is Associate Professor in the Department of Electrical and Computer Engineering at the University of Waterloo and NSERC/Bank of Nova Scotia Industrial Research Chair in Requirements Engineering of Service-oriented Software Systems. He received the MS degree in Computer Science from California State University, Sacramento, and his PhD in Computer Science from Technical University of Ilmenau, Germany. Before coming to University of Waterloo in 2003, he worked eight years at DaimlerChrysler Research, Germany, focusing improving software development practices and technologies in enterprise and embedded software. He is a co-author of the book "Generative Programming" (Addison-Wesley, 2000), which is regarded as founding work of the area and is used as a graduate text at universities around the world. He was a keynote speaker the 2006 International Conference on Generative Programming and Component Engineering and will be the program chair of 11th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems in 2008. He received the Premier's Research Excellence Award in 2004 and the British Computing Society in Upper Canada Award for Outstanding Contributions to IT Industry in 2008.

He is currently the Principal Investigator of a $9.3 million project on "Model-Based Software Service Engineering", which was recently funded by the Province of Ontario (2008-2013). His current work focuses on improving the productivity and quality of software development using domain-specific abstractions and program generation.

Invited lecture: Model-Driven Engineering: The Challenges Ahead

Effective engineering of complex systems requires adequate models. Although analysis and design models are not new in software development, they rarely enjoy the same status as code. The reality of most software projects is that models are not kept up-to-date with the code, and therefore they become obsolete and useless over time. Model-Driven Engineering (MDE) elevates requirements and design models to source artifacts from which implementations are derived automatically. Although MDE has been hailed as the future of software development, the majority of software development is still code rather than model centric. After describing and comparing existing approaches to MDE, I will examine the challenges MDE faces today and the reasons why progress has been slow. Following that analysis, I will speculate on how successful MDE will look tomorrow and discuss the research challenges that lie ahead.

Thomas Gschwind, IBM Zurich Research Lab, Switzerland

Thomas Gschwind is a researcher at IBM. His research focuses on business process models, their translation to software systems and on software engineering in general. Before joining IBM, he was assistant professor at Technische Universität Wien where he has been working on the EASYCOMP project. In this project, he has been leading the development of new component composition technologies such as type-based adaptation. Thomas Gschwind has served on the program and organizing committees of many major conferences such as the IEEE European Conference on Web Services. You can reach Dr. Gschwind at thg.at zurich.ibm.com.

Invited lecture: Quality-Aware Business Process Modeling

Business Process Modeling moves from informal documentation towards the specification of SOA solutions in the form of business processes. Business processes allow businesses to optimize their processes and to prove that the implementation of their processes meets new regulations such as the Sarbane Oxley Act. This effort, however, can only be successful if the process models are used as input of the software-development process and if the software-artifacts created can be linked with their corresponding business process model artifacts.

As a consequence, the impact of process models on the IT systems is increasing. One of the hurdles to achieve a positive impact is the availability of high quality process models. In this presentation, we will discuss common mistakes done by business process developers and how today's modeling tools can be improved such that these errors can be avoided. Only process models that do not exhibit these errors can be used as input during the software-engineering process.

Mauro Pezzè, University of Milano Bicocca, Italy

Mauro Pezzè is professor of software engineering at the University of Lugano and at the University of Milano Bicocca. He is interested in software engineering and in particular in software test and analysis. Before joining the Faculty of Informatics at the University of Lugano and the Department of Informatics, Systems and Communication of the University of Milano Bicocca, Mauro Pezzè was associate professor at Politecnico di Milano and visiting scientists at the University of California Irvine and at the University of Edinburgh. Mauro Pezzè hold a laurea degree from the University of Pisa and a PhD from Politencico di Milano. He is member of ACM, where he serves as associate editor of Transactions on Software Engineering and Methodologies (TOSEM), and of IEEE, where he served as executive chair of the Technical Committee on Complexity in Computing (TCCX). Mauro Pezzè is co-author of a book on Software Testing and Analysis: Process, Principles and Techniques, published by John Wiley in 2007.

Invited lecture: Achieving cost-effective software reliability through self-healing

Heterogeneity, mobility, complexity and new application domains raise new software reliability issues that cannot be met cost effectively only with classic software engineering approaches. Run time software failures are hard to predict and avoid under all possible circumstances, and faults are difficult to diagnose and remove before software deployment. In this talk, we will see why run time software failures are becoming harder and too expensive to predict and avoid, and why we need new approaches that go beyond classic software engineering and software testing and analysis. We will learn self-adaptive and self-healing approaches, and we will understand how they can increase software reliability at low cost when classic engineering fails. We will identify open problems, research directions, scope and limitations, as well as new results.