Software is now an essential ingredient in many different aspects of our society. The improvement of software and its development is therefore a broad area of academic pursuit.
A lot of important research is about writing software that is correct, efficient and secure. The research presented in this thesis, however, is primarily about writing software that is modular and easy to maintain. Now that software is updated over the internet —even hosted entirely online—, release cycles become ever shorter and it becomes ever more important that software be easy to adapt and extend without making it too complex.
Specifically, this thesis is about Abstract Delta Modeling, a formal framework developed to achieve modularity and separation of concerns in software, as well as provide the opportunity for variability management and automated product generation in Software Product Line Engineering (SPLE).
The thesis follows a predominantly formal approach. This is important, as it avoids vagueness and ambiguity. It allows the use of mathematical proof techniques, which gives the academic community a high level of confidence in the results. While software engineering in general has come a long way when it comes to formal analysis, SPLE has been mostly an empirical field of study. But this has changed in recent years. This thesis is a product of the European HATS project:
Software using Formal Models
This thesis presents a formal foundation for the techniques of delta modeling, which was the main approach to variability used by the HATS project. To do this, it employs (among other things) abstract algebra, modal logic, operational semantics and Mealy machines, and lays the bridges between the different disciplines as we go. Its chapters provide a broad overview of the ADM framework and its possibilities, as well as a number of existing practical applications, laying a foundation for further research and development.
This thesis is unusual, in that it is actually a product line itself, with 11 features that, when selected, include additional chapters and content. Use the panel above to generate a specific version. If you include the feature, a chapter is included that further explains the Thesis product line.
Talescape is a mobile application and cloud-based platform. It has been referred to as a "locative media platform" and an "audio augmented reality application". Talescape offers a simple-to-use API that can be used to develop web-applications that connect physical (GPS) locations to any targeted content or behavior.
The focus right now is on serving location-specific audio. For that alone, there are numerous possible applications: storytelling, real-space messaging, real-world adventure games and scavenger hunts, providing information for tourists, and so on.
Scire is a new web application I'm currently working on in my free time. Unlike many of the other projects I would like to work on (such as Mist), with this one I feel I can actually create something useful before the end of, say, 2013.
I won't release too many details right now, as the idea is still in its infancy and may still change significantly in the near future.
Watch sci.re in the following months!