“A Research Agenda for the Programmable World: Software Challenges for IoT Era”
Tommi Mikkonen. University of Helsinki.
The Internet of Things (IoT) represents the next significant step in the evolution of the connectivity and programmability. While the majority of research work in the IoT area today is about data acquisition, real-time and offine analytics, machine learning, data visualization and other fashionable big data topics, in this keynote we argue that there is in fact even more profound change that we are facing the programmability aspect that is intimately associated with all IoT systems. Advances in computing hardware development are making it feasible to introduce full-edged operating systems in even smallest devices; advances in radio and battery technologies are enabling constant connectivity in the Global scale. This new world that is populated by programs of various degree of complexity requires programming skills in various fields that we now typically consider distinct, including in particular web and mobile development on the surface, and embedded and distributed software development at the core. Combining the characteristics of these fields will also force us to reconsider some of the fundamentals of software engineering in the process.
I work as a full professor responsible for distributed and mobile software. More recently, I have also been looking into using the browser as the platform. At present, I’m on partial leave of absence, working for Mozilla connected devices.
In more detail, my research interests include mobile systems, web programming, distributed systems, software architectures, and aspect-oriented software development, as well as their different combinations. I am an active member of two research teams in the institute, Practise and DisCo. Moreover, during my recent visit at Sun Microsystems Laboratories, I have participated in the development of Sun Labs Lively Kernel. After returning to my own desk, we have composed a similar system on top of the Qt framework, so-called Lively for Qt.
In the field of teaching, I have been pioneering the teaching of mobile software development in Finland since 2002, and the classes have been transmitted to a number of different universities. I have recently completed a book on mobile software development, published by Wiley. The book is intended both for researchers and practitioners, and it will complement the courses in mobile software development that we are arranging regularly at our university. More recently, I’ve been teaching embedded programming in general, merging the most important lessons from mobile programming with the practice of programming in a restricted environment in general.