Software, Programming Models and Formal Methods
The development of software is one of the classical domains of Information Technology and a key challenge is to provide more reliable software. This is one of the very basic requirements for our 21st Century society to be safe since some software is used as infrastructures and safety control systems for our society; failures of software controlling the infrastructure of the society would result in very serious damages.
At the fundamental and basic research level, Formal Methods, using the logical and mathematical methodology, provide the foundations of secure and safe software for practical and crucial applications.
At the intermediate level of programming models, new programming paradigms have emerged in the last decades and they are more and more applied to concrete problems and applications, such as for instance Multi-Agent Systems for real-time simulation and Constraint Programming for combinatorial search and optimization.
Finally at a practical level, at the intersection between Artificial Intelligence and Software Engineering, the engineering of Ambient Intelligence is a new domain aiming at producing joint development of complete software-hardware systems and platforms, for instance cognitive agents and sensor networks in a pervasive environment.