Today, we experience an unprecedented integration of previously disconnected systems. Consequently, there is a leap in the complexity of the software controlling these systems. The challenge we are facing is how to master this complexity while at the same time increasing the reliability of programs. A key element for tackling that challenge will be a better understanding of software composition. We need good answers to questions like these:
- How can we build interesting structures from simple parts?
- What is the right kind of “glue” to connect parts?
- How can we reuse and adapt existing components?
- How can we ensure scalability of our systems and our methods for constructing them?
Good techniques for software composition are the keys to scalable systems. The principal means of writing and composing software is a programming language. Consequently, advances in programming language design are an important factor in solutions of the software composition problem. This is what we work on in our group.
Are you interested in a semester/master project at LAMP? Have a look at the project list and don’t hesitate to talk with LAMP members about your interests and your own project ideas.