ASCOLA - Aspect and Composition LAnguages
The team addresses the general problem of developing and evolving software by new concepts, languages, implementations and tools for building software for large-scale, mostly distributed software systems, notably the Cloud. Its long term goal is the development of new abstractions for the programming of software architectures, their representation in terms of expressive programming languages, and their correct and efficient implementation.
New concepts and techniques for the compositional definition and implementation of complex software systems, notably involving crosscutting concerns that cannot be handled modularly using traditional software development approaches.
New programming techniques and algorithms for resource management in mutualized environments. We provide language abstractions and implementation techniques for large-scale applications in cloud- and grid-based systems, both on the level of (service-based) applications and (virtualized) infrastructures. We develop solutions, in particular, for the optimization of the energy consumption in such environments (data centers …)
We develop new formal theories for and apply formal methods to the correctness of software systems. We aim at developing more powerful techniques for theorem proving and enable complex, often dynamic, software systems to be proven correct using program transformations and analysis techniques. We develop solutions, in particular, for the constructive enforcement of security properties on the level of software systems.
Finally, we apply and validate our results based on real-world applications from numerous domains, notably enterprise information systems, the Cloud, and pervasive systems. We pursue, in particular, applications in the domains of smart manufacturing, health and societies.