Aktuelle Forschungsthemen
Contact Person: Enes Yigitbas
Interactive systems are an integral part of our daily lives today. The simple and intuitive operation of the user interface (UI) of interactive systems is critical for user acceptance. However, the UI of interactive systems becomes increasingly complex as many heterogeneous and dynamically changing contexts of use (platform, user, environment) have to be supported. It is no longer sufficient to provide a single “one-size-fits-all” UI. Therefore, adaptive UIs have been promoted as an innovative solution for context variability due to their ability to automatically adapt to the context of use at runtime. Allowing a flexible and personalized user experience in this manner requires UI adaptivity features to monitor context changes in platform, user and environment parameters and to automatically react to these changes by adapting the UI at runtime.
The development of adaptive UIs demands for sophisticated engineering processes and methods. Therefore, we are applying and extending model-driven software development techniques to support the efficient development of adaptive UIs in a systematic, precise and appropriately formal way. Key aspects of our investigation are modeling, transformation, execution and evaluation of adaptive UIs. In this regard, we are working on the following topics:
- Domain specific languages (DSLs) to specify adaptive UIs,
- Transformation methods (M2M/M2T transformations) to process/adapt UI models and generate code for adaptive UIs,
- UI architectures and UI execution frameworks for adaptive UIs,
- Usability evaluation methods for adaptive UIs.
Contact Person: Sebastian Gottschalk
Due to shorter product life cycles and uncertain customer needs, the development of a good business model gets more and more important for a company to stay competitive. The business model itself can be defined as an abstraction of the rationale of how the company creates, delivers, and captures value. This abstraction can be modeled in various ways. The most prominent example is the Business Model Canvas (BMC) of Osterwalder, which consists of 9 building blocks (e.g. Value Propositions, Customer Segments, Revenue Streams) that need to be filled out. Each of these building blocks consists of assumptions and therefore hypotheses about the business that needs to be evaluated. For this development and evaluation, different engineering processes can be defined. In our research group, we focus on the modeling of business models for software-intensive businesses (e.g. software ecosystems, software products) and corresponding engineering processes.
Contributions
We are working on the topic of business model development for software products and software ecosystems. Here, we pay special attention on the software ecosystems of mobile apps stores and On-The-Fly Computing Markets with their apps and services. For that, we are focusing on the modeling of structures and engineering processes for business model development.
In the modeling of structures, we work on meta-models that can store the variability of different business models within a single structure. Moreover, we focus on the modeling of relationships between different business models within a business ecosystem.
In the modeling of engineering processes, we work on method engineering to guide the development of business models. Moreover, we focus on the hypothesis-driven development of business models and related product functions of mobile applications.
Topics
- (Meta-)Modeling of Business Models for Software Products and Software Ecosystems
- Variability Modeling of Business Model Decisions
- Method Engineering for Business Model Development
- Hypothesis-driven Development of Business Models and Product Features
Publications
- S. Gottschalk, E. Yigitbas, and G. Engels, “Model-based Hypothesis Engineering for Supporting Adaptation to Uncertain Customer Needs,” in Business Modeling and Software Design, Berlin, 2020 (View in RIS)
- S. Gottschalk, F. Rittmeier, and G. Engels, “Hypothesis-driven Adaptation of Business Models based on Product Line Engineering,” in Proceedings of the 22nd IEEE International Conference on Business Informatics, Antwerp, 2020 (View in RIS)
- S. Gottschalk, F. Rittmeier, and G. Engels, “Intertwined Development of Business Model and Product Functions for Mobile Applications: A Twin Peak Feature Modeling Approach,” in Software Business, Jyväskylä, 2019 (View in RIS)
- S. Gottschalk, F. Rittmeier, and G. Engels, “Business Models of Store-Oriented Software Ecosystems: A Variability Modeling Approach,” in Business Modeling and Software Design, Lisbon, 2019 (View in RIS)
Contact Person: Zahra Nouri
Introduction
The concept of crowdsourcing was introduced in 2006 by Jeff Howe. After some years, it became prevalent with the aim of providing solutions or services with lower cost and higher creativity to organizations and individuals problems. Crowdsourcing is an innovative outsourcing model in which the organizational tasks are outsourced to a large group of unknown people using an online platform instead of to one or several known companies.
A crowdsourcer (i.e., an individual or an organization) starts the basic process of crowdsourcing by broadcasting a task in the form of an open call to the crowd via a web-based crowdsourcing platform. Subsequently, the interested workers accept the task, create the expected result and then submit the result. The submitted results are then evaluated and accepted on certain conditions and the winners gain the predetermined prize.
In comparison with the in-house and traditional work form, crowdsourcing is a form of outsourcing model in which the organizations have access to an unlimited pool of people as potential workers, while the workers can freely select a task based on their personal skills, abilities and interest from an enormous set of available tasks.
We focus on crowdsourcing platforms and we aim at designing a reference architecture which defines the structure and a comprehensive functionality of future crowdsourcing platforms.
Topics
- Reference architecture and Functionality design of crowdsourcing platforms
- Interactions and communication between crowdsourcers and crowdsources
Contact Person: Jonas Kirchhoff
Corporate decision makers must find optimal decisions as fast as possible to help their company stay competitive. This is more and more challenging due to the increasing volatility, uncertainty, complexity and ambiguity in business environments. As a result, decision makers are increasingly relying on decision support software.
Consulting companies and academia have already reacted in many domains and provide a multitude of services that support decision making, reaching from actual software over datasets to more abstract methods and processes for decision making. However, our experiences from projects with industry partners show that it is very difficult for decision makers to identify which decision support services are available and which of the available services fit their individual decision problem at hand with respect to decision objectives and (situational) constraints. This is a significant problem since selecting the wrong services might lead to suboptimal or delayed decisions.
Contribution
We want to ensure that decision makers find optimal solutions in a timely manner by having them follow a process that best fits their planning problem at hand. To provide such assistance, we help decision makers to understand which steps are needed to identify an optimal decision in their current situation and what services should be used to implement the individual steps.
For this purpose, we envision a "Decision Support Ecosystem" to bring service providers and decision makers together. Service providers can store their decision support services (software, data, sub-processes, etc.) in a central repository. This repository is then queried by an orchestration engine which selects and composes the services together according to the individual planning problem specification provided by each decision maker.
We are proving the technical feasibility of such a Decision Support Ecosystem in the domain of energy-related utility companies.
Topics
- Decision Support Ecosystems (Data Ecosystems for Decision Making)
- Adaptive & Situational Decision Support
- Service Orchestration / Service Composition
- Software Architecture for Decision Support Systems
- Decision Support for energy-related utility companies
Contact Person: Gregor Engels, Enes Yigitbas
The term ‘Digital Twin’ initially is introduced in the context of Industry 4.0 as a framework for establishing efficient Cyber-Physical integration. It is defined as a framework for mirroring the behavior of the physical systems as close as possible in the virtual world. Until now, most of the research approaches focus on the development of Digital Twins of physical products or processes, which integrate with the existing Cyber-Physical Systems and provide appropriate knowledge and possibilities for optimization of the business processes. However, the existing Cyber-Physical Systems (CPS) are not designed to offer personalized assistance for the individuals in the workplace, since the CPS don’t possess enough knowledge about the human workers and their individual skills, capabilities and preferences.
In our research group, we focus on extending the term ‘Digital Twin’ by incorporating the human factor in order to develop innovative software solutions for providing personalized assistance for the human workers. The ‘Digital Twin of a Human’, as a framework, should be integrated with the existing Cyber-Physical and Assistance Systems in order to provide accurate knowledge about every individual, such that they can receive appropriate personalized and context-specific assistance in the workplace. For this purpose, we systematically approach the problem space, by targeting the following topics:
- Establishing a Reference Model of the ‘Digital Twin of a Human’ for efficient integration with the existing Cyber-Physical and Assistance Systems
- Developing a Software Architecture for the ‘Digital Twin of a Human’
- Developing Domain Specific Languages for specifying the ‘Digital Twin of a Human’
- Developing software techniques for accurate knowledge extraction for the ‘Digital Twin of a Human’, based on the established models
To achieve our objectives, we apply appropriate software engineering methods and techniques and incorporate approaches from the fields of Requirements Engineering, Human-Centered Software Engineering, Model-driven Software Development, Digital Assistance Systems and Adaptive UIs.
Contact Person:
Introduction
With economic and industrial change and the associated digitalization of human workflows, the demand for a stronger focus on people in particular is increasing. The aim of digital assistance systems is to create better support for the employees in their everyday working life with usable, smart and self-descriptive tools, without the need to develop or adapt the training or qualification opportunities. Already at the conception stage, digital assistance systems should be designed through participatory software engineering, including usability and user experience techniques, in such a way that the resulting assistance systems support people collaboratively in their added value. The essential task of an assistance system is to provide information quickly and continuously, so that employees are supported in their work and can fully concentrate on their core competences. What is particularly important here is the traceability of systems’ decisions for the employee and the associated feeling of fair treatment.
Contribution
We are working on iterative approaches combining software engineering paradigms like human-centered design, agility and DevOps to address the challenge of fostering the communication between all people involved in designing and developing adequate and usable digital assistance systems (e.g. manager, supervisors, work councils, system integrators, employees).
(see also Human-Centered Software Engineering).
Topics
- Human-centered design (HCD) of interactive systems
- Individual and organizational acceptance criteria for work 4.0
- Quality models for usability and user experience
- Employee participation in the development of assistance systems
Selected Publications
- H. Fischer, F. Rittmeier, T.F. Strothmann, N. Schwenniger, Partizipation von Beschäftigten in der Gestaltung einer digitalisierten Arbeitswelt 4.0 mittels einer Canvas-Methode, in: C.K. Bosse, K.J. Zink (Eds.), Arbeit 4.0 im Mittelstand, Springer Gabler, Berlin, Heidelberg, 2019. (View in RIS)
- Holger Fischer and Björn Senft and Florian Rittmeier and Stefan Sauer: A Canvas Method to Foster Interdisciplinary Discussions on Digital Assistance Systems. In Proceedings of the 20th International Conference on Human-Computer Interaktion (HCI International 2018). Springer, LNCS, vol. 10918, pp. 711-724 (2018)
- Holger Fischer and Michael Engler and Stefan Sauer: A Human-Centered Perspective on Software Quality: Acceptance Criteria for Work 4.0. In Proceedings of the 19th International Conference on Human-Computer Interaktion (HCI International 2017). Springer, LNCS, vol. 10288, pp. 570-583 (2017)
- Holger Fischer and Björn Senft and Katharina Stahl: Akzeptierte Assistenzsysteme in der Arbeitswelt 4.0 durch systematisches Human-Centered Software Engineering. In Eric Bodden and Falko Dressler and Roman Dumitrescu and Jürgen Gausemeier and Friedhelm Meyer auf der Heide and Christoph Scheytt and Ansgar Trächtler (eds.): Wissenschafts- und Industrieforum 2017 - Intelligente Technische Systeme. Verlagsschriftenreihe des Heinz Nixdorf Instituts (Paderborn), vol. 369, pp. 197-210 (2017)
- Holger Fischer and Björn Senft: Human-Centered Software Engineering as a Chance to Ensure Software Quality Within the Digitization of Human Workflows. In Human-Centered and Error-Resilient Systems Development. Proceedings of the 6th International Conference on Human-Centered Software Engineering (HCSE). Springer, LNCS, vol. 9856, pp. 30-41 (2016)
Contact Person: Bahar Schwichtenberg, Dennis Wolters
Introduction
Domain-specific languages (DSLs) are powerful design instruments to enable domain experts to efficiently design and develop software systems in specific application domains. In comparison to general-purpose languages, DSLs facilitate just the right abstraction level by making the domain knowledge reusable. Therefore, the domain experts can design the system architecture without being confronting with overwhelming details.
Contribution
We work on modeling and analyzing open architectures. An example of open architectures is open platforms, e.g., Google Android, that are used by millions of developers to develop third-party software on top of the platforms and make their developments available on online marketplaces such as Google Play. SecoArc is a DSL that is developed in our group to model and analyze the ecosystem around open platforms. Using SecoArc, platform providers can specify diverse and interrelated architectural design decisions of open platforms in three levels, i.e., business, application, and infrastructure. Afterward, the architecture can be analyzed with respect to the quality attributes of ecosystem health.
Topics
- Cross-Device Systems
- Modeling of Design Rules for Software-Intensive Systems using DSLs
- Architectural Analysis
- Pattern-Matching
Contact Person:
Introduction
Nowadays, a technological development boost can be observed within information technology and its application possibilities, e.g. in industrial manufacturing or business software. This development results in a digitalization of economic processes as well as human workflows. Furthermore, the discussion of “Arbeit 4.0” (en. Work 4.0) about the level of digital assistance and automation leads to an ongoing change of work tasks and responsibilities of employees. Decision makers will have to focus on organizational, human and technological aspects to ensure acceptance of digital solutions both by organizations and their employees. Despite all efforts, today’s digital systems still suffer from missing or unused functionality, bad usability, or negative user experience. Current software engineering methods as well as organizational cultures seem to be insufficient to address the challenges of the digital transformation and thereby inhibit innovations.
Contribution
We are working on iterative approaches combining software engineering paradigms like human-centered design, agility and DevOps to address these challenges. One objective is to establish an employee-centered participation, where employees co-create the change toward the digitization of their work. Furthermore, decision makers will be supported in their decisions as well as enabled to build digital tools that are of good quality, are accepted by their employees and are of value for the company itself.
Topics
- Human-centered design (HCD) of interactive systems
- Individual and organizational acceptance criteria for work 4.0
- Quality models for usability and user experience
- Employee participation in the development of assistance systems
Selected Publications
- Holger Fischer and Björn Senft and Florian Rittmeier and Stefan Sauer: A Canvas Method to Foster Interdisciplinary Discussions on Digital Assistance Systems. In Proceedings of the 20th International Conference on Human-Computer Interaction (HCI International 2018). Springer, LNCS, vol. 10918, pp. 711-724 (2018)
- Holger Fischer and Michael Engler and Stefan Sauer: A Human-Centered Perspective on Software Quality: Acceptance Criteria for Work 4.0. In Proceedings of the 19th International Conference on Human-Computer Interaction (HCI International 2017). Springer, LNCS, vol. 10288, pp. 570-583 (2017)
- Holger Fischer and Björn Senft and Katharina Stahl: Akzeptierte Assistenzsysteme in der Arbeitswelt 4.0 durch systematisches Human-Centered Software Engineering. In Eric Bodden and Falko Dressler and Roman Dumitrescu and Jürgen Gausemeier and Friedhelm Meyer auf der Heide and Christoph Scheytt and Ansgar Trächtler (eds.): Wissenschafts- und Industrieforum 2017 - Intelligente Technische Systeme. Verlagsschriftenreihe des Heinz Nixdorf Instituts (Paderborn), vol. 369, pp. 197-210 (2017)
- Holger Fischer and Björn Senft: Human-Centered Software Engineering as a Chance to Ensure Software Quality Within the Digitization of Human Workflows. In Human-Centered and Error-Resilient Systems Development. Proceedings of the 6th International Conference on Human-Centered Software Engineering (HCSE). Springer, LNCS, vol. 9856, pp. 30-41 (2016)
- Holger Fischer and Mirko Rose and Enes Yigitbas: Towards a Task Driven Approach Enabling Continuous User Requirements Engineering. In Joint Proceedings of the REFSQ 2016 Co-Located Events. 2nd Workshop on Continuous Requirements Engineering (CRE). CEUR-WS, vol. 1564 (2016)
Contact Person: Prof. Dr. Gregor Engels
Introduction
A systematic software development process is a stepwise refinement process, where user requirements are refined by analysis and design specifications, are realized by a software system, and finally tested by using test data. Each of these artefacts represents a model at a certain abstraction level, which is described by using a general-purpose or domain-specific modeling language.
Modern software development processes follow an agile approach, where the overall functionality of a software system is decomposed into features and where features are separately realized. This leads to new organizational forms, new process models, and new types of artefacts.
Contributions
In our group, we work on meta model-based concepts and techniques for developing
- situational process models,
- domain-specific modeling languages,
- model-driven user interface development
- model-driven testing, and
- model-driven software modernization.
Contact Person: Prof. Dr. Gregor Engels
Foundations of our Research
Research on novel techniques, languages, methods, and tools in the Software Engineering domain is based on existing research techniques. These are
- Meta model based approaches to define the syntax of domain-specific languages
- Model transformations, based on the concept of graph transformations, to describe the allowed changes of models or the semantics of DSLs (dynamic meta modeling)
- Logic-based approaches to describe static or dynamic/transitional constraints of models
- Variability or feature models to describe possible variants
- Architectural styles (like MAPE-K) to describe typical solution architectures
- Deterministic operational or machine learning approaches to describe algorithms
- Structured methods (e.g. Kitchenham) to conduct literature surveys
- Empirical methods (e.g. questionnaires, user studies) to analyze and evaluate
Contact Person: Prof. Dr. Gregor Engels
Introduction
Many different software engineering methods have been defined over time and are used today. Examples of known software development methods include the Rational Unified Process (RUP), the V-Modell XT or Scrum. The diversity of existing methods shows that there is no suitable method that fits all software development projects. This is because standard methods can not sufficiently take into account the specific characteristics of a project or organization. Such characteristics are often summarized under the concept of a situation. The inability of a method to fit the situation in which it is deployed creates the risk of spending too much time or expense, or jeopardizing the quality of the software.
- In the research field of Situational Method Engineering (SME) it is examined how situation-specific methods can be provided. There are three different types of approaches:
- The adaptation of an existing software engineering method, either by customizing (e.g. RUP) or by predefined configuration points (e.g. V-Modell XT).
- The composition of a software engineering method by the reuse of existing method components, which are provided by a method base (e.g. OPEN or MFESA).
- The new development of a software engineering method.
Contributions
In particular, the second type of composing a situation-specific method is investigated in our research group, as this approach supports an appropriate degree of control and flexibility.
Contact Person: Bahar Schwichtenberg
Introduction
Software architecture is the abstraction paradigm to overcome complexity during software engineering. Alongside the increasing complexity of software systems, service provision is nowadays transformed to a harmonized coordination and cooperation between software owners, partners, and independent developers. Software systems obtain open architectures by exposing their APIs, so that third-party providers can develop innovative solutions on top of them. Thereby, ecosystems of human actors and software elements are built.
Accordingly, architecture of such ecosystems consists of a large number of components from different third-party providers, each with heterogeneous interfaces. The search for suitable components and their integration into the architecture is often difficult, because the interfaces are usually incompatible.
Contribution
In the research group databases and information systems, we conduct research on various aspects of software ecosystems, as IT systems with open architecture. In particular, at a high abstraction level, we develop an innovative architecture framework that provides a comprehensive view to business and software features (BizDevOps) that are crucial to the success of ecosystems.
Moreover, at a fine-granular level, i.e., the level of interfaces and components, we investigate how to enrich the interface specifications with semantic information that can be exploited by search engines to find suitable components that can be integrated into a complex architecture more easily. We also investigate how to automatically generate code adapters to establish interface compatibility.
Topics
- Architectural Management of Software Ecosystems
- Semantic enrichment of APIs and interoperability
- Modeling and Integration of Cross-Device Systems
Contact Person: Stefan Sauer
Introduction
Software systems are ageing. This ageing process is characterized by the increasing gap between the requirements for a software system and its ability to fulfil these requirements. To counteract the ageing process, software systems are maintained constantly. This, however, often results in a decreased software quality and increased complexity to maintain the systems. Additionally, the facilities for alteration by the maintenance activity are limited and restrictions by the underlying technology may circumvent the fulfilment of all requirements. A solution to this problem is the migration of the legacy system into a new environment. Migration is the activity to transfer a software system into a new environment while preserving its functionality. Due to new software development concepts, that have been developed over time, the environmental changes can be quite comprehensive. An example is the change from a procedural to an object-oriented programming language or the transition towards a Service-oriented architecture (SOA). Modernization, in comparison to migration, aims not only to preserve the functionality but also to adapt the software system to the concepts of the target environment, ensuring its long-term sustainability.
The research group Database and Information Systems studies the application of model-driven software development techniques in the field of test case migration. As test cases are implemented in the same or a compatible technology as the system they are testing, they have to somehow follow the system migration, i.e., they should be co-migrated.
Contribution and Topics
But before performing any kind of migration activity on the test cases, one should assess their value and decide whether it is beneficial to migrate the test cases at all. For this reason, we propose a context specific quality evaluation of test cases called test case quality plans [1]. We rely on a well-established methodology like GQM (Goal Question Metric) and a standardized quality model like ISO 25000 to enable creation of quality plans that can be used to evaluate quality of test cases in any context.
Due to the size of the test case set, and often missing conformity in the structure of the test cases, migration of test cases is a quite challenging task. As model-driven engineering has been established to manage those complex tasks, we apply it in the test case domain. We combine reengineering techniques and situational method engineering to provide creation and execution of context-specific migration methods for test cases [2].
As test case migration has been seen as a validation technique for system migration, a validation technique is also necessary for the test case migration. We address this problem by applying mutation analysis in order to identify erroneous test cases after their migration [3].
Publications
[1] Ivan Jovanovikj, Vishwak Narasimhan, Gregor Engels, Stefan Sauer: Context-specific Quality Evaluation of Test Cases, In: Proceedings of the 6th International Conference on Model-Driven Engineering and Software Development (MODELSWARD'18) (2018).
[2] Ivan Jovanovikj, Gregor Engels, Anthony Anjorin and Stefan Sauer: Model-Driven Test Case Migration: The Test Case Reengineering Horseshoe Model, In Proceedings of the CAiSE'18 Forum at the 30th International Conference on Advanced Information Systems Engineering (CAiSE'18) (2018)
[3] Ivan Jovanovikj, Enes Yigitbas, Anthony Anjorin, Stefan Sauer: Who Guards the Guards? On the Validation of Test Case Migration. In Softwaretechnik-Trends, Proceedings of the 20th Workshop Software-Reengineering & Evolution (WSRE) (2018)