Invited talk 1 The Forgotten Interfaces: A Critique of Component-based Models of Computing Bran Selić Malina Software and Monash University Although the notions of software components and component-based systems has been discussed since the earliest days of software engineering, it was the broader adoption of the object paradigm in the late 80’s and early 90’s that provided the critical impetus for research into this domain. Specifically, object- oriented programming provided an alternative to the traditional algorithm-driven model of software by representing a software program primarily as a network of collaborating specialized modules (i.e., objects). In this paradigm, it was nat- ural to characterize components as ”black boxes” characterized by their input- output behaviours - a model that is strongly reminiscent of similar models in other forms of engineering (e.g., control, electrical, mechanical). This in turn has led to a number of new theoretical models of computing that exploit the relative simplicity of this representation. However, most of component-based theories overlook one fundamental difference between software and traditional engineering media: that all software requires an ”engine” for it to work. This engine is ultimately rooted in hardware, but, there can be numerous layers be- tween the hardware and the components, each one presenting a realizing its own engine to the software it supports. As explained in this talk, the influence of these oft-neglected platform layers can have a fundamental impact on the design and operation of a component-based software system. A closer examination of the interrelationship between a component and its underlying platforms (NB: in practice there is never just one platform!) reveals what may be a surpris- ing level of complexity. In this talk, we outline how component-based models of computing must be refined to account for these effects to ensure that software component systems fulfill their functional and engineering requirements. This, in turn, leads to further refinements including, notably, the crucial notions of software layering and platform independence. Bran Selić is President of Malina Software Corp., a Canadian company that provides consulting services to corporate clients and government institutions worldwide. He is also Director of Advanced Technology at Zeligsoft Limited in Canada, and a Visiting Scientist at Simula Research Laboratories in Norway. In 2007, Bran retired from IBM Canada, where he was an IBM Distinguished Engineer responsible for setting the strate- gic direction for software development tools. Currently, he is also an adjunct professor at Monash University and the University of Sydney in Australia. With over 40 years of practical experience in designing and implementing large-scale industrial software systems, Bran has pioneered the application of model-based engineering methods and has led the definition of several international standards in that domain, including the widely used Unified Modeling Language (UML). In 2016, he was presented with a life- time Career Award by the steering committee of the IEEE/ACM MoDELS conference in recognition of his contributions to model-driven technologies and practice.