Development of Cross-Device Systems

The group develops methods and techniques for the model-driven development of cross-device systems as well as means to enable cross-device application integration.

Members: Dennis Wolters, Gregor Engels

Contact: Dennis Wolters

Description:

In the past, software systems were mainly designed to be accessed from a single type of devices, e.g., a desktop computer. Over the last decade, various other types of computing devices like smartphones and tables gained huge relevance. This led to a shift in software development: Nowadays, applications have to support multiple device types. Additionally, the availability of different device types and their individual strength and weaknesses, increased the need to support interactions across multiple devices at runtime. For instance, users might want distribute their workflows on multiple devices or migrate from one devices to another in order to adapt to context changes. Unfortunately, most of the current systems do not support such cross-device interactions. As a consequence, users have to coordinate them manually or find workaround solutions which ease the coordination up to a certain extent, e.g., use tools like Dropbox to synchronize data between multiple devices.

Systems which consist of one of more applications and natively support interactions across multiple devices (in parallel or sequentially) are called cross-device systems. When developing such system, various different types of devices must be considered and their heterogeneity in terms of functional and non-functional aspects must be properly addressed. Functional aspects include hardware and software characteristics of a device, while the non-functional aspects could be mobility or ownership. An increasing number of tools and frameworks have been developed to support the implementation of cross-device systems. Yet, modeling those systems is still an open issue. We are investigating the shortcomings of current modeling techniques w.r.t. to specifying cross-device systems and develop new languages (or language extension) to overcome those shortcomings.

In addition to modeling cross-device systems, we also focus on enabling cross-device application integration. Thus, instead of developing a cross-device system from scratch, we are searching for solution to integrate existing applications into a cross-device system.