ECOOP / Keynote Lectures

European Conference on Object-Oriented Programming


Molecular Programming

Keynote: Luca Cardelli
Microsoft Research Cambridge, UK and University of Oxford, UK
Wed, 8.30

Luca Cardelli


Nucleic acids (DNA/RNA) encode information digitally, and are currently the only truly `user-programmable' entities at the molecular scale. They can be used to manufacture nano-scale structures, to produce physical forces, to act as sensors and actuators, and to do computation in between. Eventually we will be able to use them to produce nanomaterials at the bottom end of Moore's Law, and to interface them with biological machinery to detect and cure diseases at the cellular level under program control. Recently, computational schemes have been developed that are autonomous (run on their own power) and involve only short, easily producible, DNA strands with no other complex molecules. While simple in mechanism, these schemes are highly combinatorial and concurrent.

Understanding and programming systems of this new kind requires new software technologies. Computer science has developed a large body of techniques for analyzing (modeling) and developing (engineering) complex programmable systems. Many of those techniques have a degree of mathematical generality that makes them suitable for applications to new domains. This is where we can make critical contributions: in developing and applying programming techniques (in a broad sense) that are unique to computing to other areas of science and engineering, and in particular at the interface between biology and nanotechnology.


Luca Cardelli is a Principal Researcher at Microsoft Research Cambridge. He heads the Programming Principles and Tools Group and his main interests are type theory and operational semantics, mostly for applications to language design and distributed computing. Currently he is working in Computational Systems Biology.

Luca implemented the first compiler for ML and one of the earliest direct-manipulation user-interface editors. He was a member of the Modula-3 design committee and has designed a few experimental languages, of which the latest are Obliq, a distributed higher-order scripting language, and Polyphonic C#, an object-oriented language with modern concurrency abstractions. His more protracted research activity has been in establishing the semantic and type-theoretic foundations of object-oriented languages.

Luca was born in Monecatini, Italy, and studied at the University of Pisa until 1978; he has a PhD in computer science from the University of Edinburgh (1982). He worked at Bell Labs, Murray Hill, from 1982 to 1985, and at DEC Systems Research Center in Palo Alto from 1985 to 1997 before joining Microsoft Research in Cambridge, UK. He is a Research Professor and Fellow of The Royal Society, an ACM Fellow, and an Elected Member of Academia Europaea and AITO. He was awarded the AITO Dahl-Nygaard Senior Prize in 2007.

Software Environmentalism

Tudor Gîrba
CompuGroup Medical Schweiz AG
Thu, 8.30

Tudor Girba


As software grows in size, complexity and age, software engineering becomes as much about dealing with existing systems as about building systems. Despite several decades of research into reverse engineering and program comprehension, the state of practice is still that engineers largely rely on manual code reading as the preferred means to understand systems. The main reason is that most existing approaches tend to be generic and ignore the context of systems. We cannot continue to let systems loose in the wild without any concern for how we will deal with them at a later time.

Two decades ago, Richard Gabriel coined the idea of software habitability. We go further and introduce the concept of software environmentalism as a systematic discipline to pursue and achieve habitability. Engineers have the right to build upon assessable systems and have the responsibility of producing assessable systems. For example, even if code has often a text shape, it is not text. The same applies to logs and anything else related to a software system. It's all data, and data is best dealt with through tools. No system should get away without dedicated tools that help us take it apart and recycle it effectively. Every significant object in a system should be allowed to have dedicated inspectors to reveal its various facets and interactions, and every significant library should come with dedicated debugging possibilities. We need to go back to the drawing board to (1) construct moldable development environments that help us drill into the context of systems effectively, (2) reinvent our underlying languages and technologies so that we can build assessable systems all the way down, and (3) re-educate our perception of what software engineering is.


Tudor Gîrba attained his PhD from the University of Berne (2005), and now works as team and innovation lead at CompuGroup Medical Schweiz, and as an independent consultant. He leads the work on Moose, a smart open-source platform for software and data analysis and he is part of the board of Pharo, the new cool kid on the object-oriented languages arena.

He advocates that software assessment must be recognized as a critical software engineering activity. He developed the humane assessment method, and he is helping companies to rethink the way they manage complex software systems and data sets. To demystify innovation, he developed the demo-driven innovation method as a combination of design thinking, idea prototyping and storytelling. He is applying it in multiple contexts varying from research labs to engineering companies.

How do you like your software models?

Towards empathetic design of software modeling methods and tools

Robert France
Colorado State University, USA and INRIA, France
Thu, 16.15

Robert France


The terms Model Driven Development/Engineering (MDD/E) are typically used to describe software development approaches in which models of software systems play a pivotal role. In the past I have argued that good support for software modeling is essential to bringing software development closer to an engineering endeavor. As in other engineering disciplines, modeling should be an integral part of software processes that tackle the very challenging problems associated with the creation and evolution of complex software-based systems. While MDD/E research targets important software development problems, the results have not yet led to widespread effective use of software modeling practices. While the wicked problems associated with the development of complex systems is a factor, another is a lack of attention to the issue of fitness-for-purpose with respect to modeling methods and tools. The state-of-the-art leaves some practitioners with the impression that modeling techniques add significant accidental complexity to the software development process.

In this talk, I argue that there is a need to take a more empathetic approach to the design of tools and methods. In {\em empathetic design}, methodologists and tool developers actively consider and evaluate how their tools and methods fit with how modeling practitioners across a wide skill spectrum (expert, average, novice modelers) work. This should lead to methods and tools that are fit-for-purpose, and open the door for more widespread use of software modeling techniques.


Robert France was born in Jamaica and received his B.Sc. in Natural Sciences with First Class Honors from the University of the West Indies in Trinidad and Tobago. He attended Massey University in New Zealand under a Commonwealth Scholarship, where he graduated with a Ph.D. in Computer Science (1990). He is currently a Professor in the Department of Computer Science at Colorado State University. His research on model-driven software development focuses on providing software developers with mathematically-based software modeling languages and supporting analysis tools that they can use to specify and analyze critical software properties (e.g. behavioral and security properties). He is also actively engaged in research on domain-specific modeling languages, model-based approaches to software product line engineering, and models@runtime.

Robert is a founding editor-in-chief of the Springer journal on Software and Systems Modeling, and a founding steering committee member of the international conference series on Model Driven Engineering Languages and Systems (MODELS). In 2008 he and his co-authors (Andy Evans, Kevin Lano, Bernard Runpe) were awarded the MODELS 2008 Ten Year Most Influential Paper Award for the paper The UML as a Formal Modeling Notation. In 2013 he was awarded a 5-year International Chair at INRIA, the French National Institute for research in Computational Sciences. He was awarded a Colorado State University, College of Natural Sciences Professor Laureate in 2014.

A View on the Past, Present and Future of Objects

William Cook
University of Texas at Austin, USA
Fri, 8.30

William Cook


Object-oriented programming has always been somewhat mysterious. It has been realized in a fairly pure form in several ways, in Smalltalk, Beta, COM, and SELF. There are several theories (three in Pierce's Types and Programming Languages, and more given by Abadi and Cardelli, Bruce and others). Many partial and failed theories have been published. Most programming languages today are hybrids of objects with other styles of programming. Yet many programming language researchers believe that objects are somehow evil. And still we are experimenting with different forms and inventing new ideas on top of objects. Objects have 'won' as far as I am concerned, or at least objects have won a place at the table.

So where do we go from here? While there are many low-level improvements that can be made, it is a reasonable time to consider the big picture. One of the original views of objects was as a form of modeling. Modeling has taken on a life of its own, but has not been as successful as objects were. In this talk I will sketch out a path forward for objects and modeling to work together.


William Cook is an Associate Professor in the Department of Computer Sciences at the University of Texas at Austin. His research is focused on object-oriented programming, programming languages, modeling languages, and the interface between programming languages and databases. Prior to joining UT in 2003, Dr. Cook was Chief Technology Officer and co-founder of Allegis Corporation. He was chief architect for several award-winning products, including the eBusiness Suite at Allegis, the Writer's Solution for Prentice Hall, and the AppleScript language at Apple Computer. At HP Labs his research focused on the foundations of object-oriented languages, including formal models of mixins, inheritance, and typed models of object-oriented languages. He completed his Ph.D. in Computer Science at Brown University in 1989.


Diamond Sponsors

Gold Sponsors


Silver Sponsors


Bronze Sponsors



In Cooperation With