Gil Müller - Services for Software Architecture

Back to Projects

The Lab

Modular Programming Language Design

This paper discusses how to provide a modular programming language design. The main idea is that modules are created with respect to language features - similar to the idea of aspect-oriented programming. The paper disucsses the concept separartely for syntax and processing. Quite important for the modularization are parametric snytactic rules(or generic functions in the domain of processing), which are particularly useful to deal with dependencies. The modularization concept is demonstrated with a language which is extended several times.

Shapeshifting Appliance (SSA)

The shapeshifting appliance (SSA) combines the versatility of mobile devices with fit-to-purpose appliances like digital cameras. The key to this is its ability to morph dynamically into a shape that is defined by the current application. The core concept is the ability of the display to morph its surface to the desired form. Apart from the concept and the required technologies, we will also discuss, how present WIMP technology can be adapted for such a device. Here is the concept paper.

Interaction Server (IAS)

IAS (Interaction Server) is a server, which is controlled by a script. The server is designed to be used for protocol handling and streaming. Most suitable would be a role as an intermediate. Additionally, it may be used for parsing and file conversion. The scripting language has in-built support for streaming, parsing and interpretation. Particularly, its meta-interpreter supports the interpretation of domain specific languages. It directly evaluates syntactic patterns, so that the processing is as natural as writing a function. For more complex languages several layers can be used. Additionally, it also supports a feature-oriented language design. Check the description and the code (for Python).

Interaction Framework (IAF)

IAF is a framework for specifying interactions between components or subsystems. It has some similarity with IDLs, coordination languages, aspect-oriented languages, or architecture description languages. It is actually a light-weight realization of the interaction-oriented paradigm.

The Soft Car

This paper discusses an architecture for IT services in the car which fits both to best practices in the automotive industry and the IT industry.


This paper proposes a morphable programming language, which simplifies the creation of domain languages, frameworks and middleware. A basic interpreter for this language is available. Some examples demonstrate how to create language processing stacks and how to morph languages.

© 2008-2013 by Gil Müller