You are hereProgram / Research Track / Carlo Ghezzi - The Fading Boundary between Development Time and Run Time
Carlo Ghezzi - The Fading Boundary between Development Time and Run Time
The Fading Boundary between Development Time and Run Time
by Prof. Carlo Ghezzi, Politecnico di Milano, Italy
Modern software applications are often embedded in highly dynamic contexts. Changes may occur in the requirements, in the behavior of the environment in which the application is embedded, in the usage profiles that characterize interactive aspects. Changes are difficult to predict and anticipate, and are out of control of the application. Their occurrence, however, may be disruptive, and therefore the software must also change accordingly. In many cases, changes to the software cannot be handled off-line, but require the software to self-react by adapting its behavior dynamically, in order to continue to ensure the required quality of service. The big challenge in front of us is how to achieve the necessary degrees of flexibility and dynamism required in this setting without compromising dependability of the applications.
To achieve dependability, a software engineering paradigm shift is needed. The traditional focus on quality, verification, models, and model transformations must extend from development time to run time. Not only software development environments (SDEs) are important for the software engineer to develop better software. Feature-full Software Run-time Environments (SREs) are also key. SREs must be populated by a wealth of functionalities that support on-line monitoring of the environment, inferring significant changes through machine-learning methods, keeping models alive and updating them accordingly, reasoning on models about requirements satisfaction after changes occur, and triggering model-driven self-adaptive reactions, if necessary. In essence, self-adaptation must be grounded on the firm foundations provided by formal methods and tools in a seamless SDE-SRE setting.
The talk discusses these concepts by focusing on non-functional requirements---reliability and performance---that can be expressed in quantitative probabilistic requirements. In particular, it shows how probabilistic model checking can help reasoning about requirements satisfaction and how it can be made run-time efficient.
The talk reports on some results of research developed within the SMScom project, funded by the European Commission, Programme IDEAS-ERC, Project 227977 (http://www.erc-smscom.org/).
Carlo Ghezzi is a Professor and Chair of Software Engineering in the Department of Electronics and Information of Politecnico di Milano. He is the Rector's delegate for research, past member of the Academic Senate and of the Board of Governors, and past Department Chair. He held temporary positions at University of California at Los Angeles, University of North Carolina at Chapel Hill, University of Padova, ESLAI-Buenos Aires, University of California at Santa Barbara, Technical University of Vienna, University of Klagenfurt, University of Lugano.
He is an ACM Fellow, an IEEE Fellow, and a member of the Italian Academy of Sciences. He was awarded the ACM SIGSOFT Distinguished Service Award (2006). He has been a member of the ACM Nominating Committee, and is presently a member of the committee for the ACM Software Systems Award and a Member-at-Large of the ACM Executive Committee. He has been on the evaluation board of several international research projects and institutions in Europe, Japan, and the USA.
He is a regular member of the program committee of important conferences in the software engineering field, such as the ICSE and ESEC/FSE, for which he also served as Program and General Chair. He was General Co-Chair of the International Conference on Service Oriented Computing.
Ghezzi has been the Editor in Chief of the ACM Trans. on Software Engineering and Methodology (from 2001 till 2006). He is currently an Associate Editor of IEEE Trans. on Software Engineering, Science of Computer Programming, Service Oriented Computing and Applications, and Software Process Improvement and Practice.
Ghezzi’s research has been focusing on software engineering and programming languages. Currently, he is especially interested in methods and tools to improve dependability of adaptable and evolvable distributed applications, such as service-oriented architectures and ubiquitous/pervasive computer applications. He co-authored over 160 papers and 8 books. He coordinated several national and international (EU funded) research projects. He has recently been awarded an Advanced Grant from the European Research Council.
Download the keynote slides (PDF, 8.5MB)