<< back to topics

Cloud Computing & Enterprise Information Systems

A selection of papers from Bernhard Rumpe and the Software Engineering Group

As web-based application and service architectures are continuing to grow in complexity, criticality and into new application domains, their development, integration, evolution, migration, operation and migration poses ever more and ever larger challenges to Software Engineering. In [KRR14] we discuss in detail the paradigm of Cloud Computing that is arising out of a convergence of existing and new technologies. It promises to enable new business models, to lower the barrier for web-based innovations and to increase the efficiency and cost-effectiveness of web development.

Cloud-based systems pose a multitude of different challenges. The demand for seamless scalability with system load leads to highly distributed infrastructures and software architectures that can grow and shrink at runtime. The lack of standards, complemented by the variety of proprietary infrastructure and service providers, leads to a high degree of technological heterogeneity. High availability and interconnectivity with a multitude of clients leads to complex evolution and maintenance processes. These challenges come coupled with distinct requirements posed by the individual application domain. Application classes like Internet of Things as described in [HHK+14], Cyber-Physical Systems described in [KRS12], Big Data, App and Service Ecosystems bring attention to aspects like responsiveness, privacy and open platforms. Regardless of the application domain, developers of such systems are in need for robust methods and efficient, easy-to-use languages and tools. For example in [HHK+14] and [HHK+15a] we discuss how to handle privacy in the cloud.

In our research [PR13] we tackle these challenges by perusing a model-based, generative approach. The core of this approach are several modeling languages that describe different aspects of a cloud-based system in a concise and technology-agnostic way. Software architecture and infrastructure models describe the system and its physical distribution on a large scale. UML/P models, and class diagrams in particular, describe several other aspects of the system, such as its domain and data models, its interfaces and interactions, and its monitoring and scaling capabilities. Among other tools, code generators most prominently take these models as input and generate application-specific frameworks that implement big parts of the system's technical aspects and provide technology-agnostic, ease-to-use interfaces for the cloud-based application's actual business logic.


We have applied these technologies to various cloud systems, cars, buildings, smart phones and smart pads and various other kinds of sensors. We built a rather successful and technologically sound framework for web based software portals [HKR12] that we offer under sselab.de for general use. Another set of cloud systems helps to deal with energy management and is described in [FPPR12] and [KPR12]. It continuously monitors building operation systems to derive operational data and compare these to the building specification. We use cloud technologies to maintain data, dynamically execute calculations and host management services enabling reduction of building energy costs.


Summary:

  1. Model-based, generative development of cloud-based systems helps to reduce development time, increase flexibility and adaptivity.
  2. Models can be used for architecture as well as domain and data modeling.
  3. For connecting the Cloud with Cyber-Physical Systems it is especially interesting to use configurable model-based technology.

Further Topics:


Selected(!) Publications:



<< list of all topics list of all publications >>