About
115
Publications
12,978
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
882
Citations
Introduction
Current institution
Additional affiliations
September 2016 - September 2018
January 2011 - present
Publications
Publications (115)
In safety‐critical systems engineering, regulations such as Automotive SPICE, ISO26262, or ED‐109A mandate software quality assurance measures to provide evidence that the developed system is high quality. The constraints that define quality assurance conditions during the engineering life cycle are often non‐trivial. This paper addresses the chall...
Bug localization is the task of recommending source code locations (typically files) that contain the cause of a bug and hence need to be changed to fix the bug. Along these lines, information retrieval-based bug localization (IRBL) approaches have been adopted, which identify the most bug-prone files from the source code space. In current practice...
Refining high-level requirements into low-level requirements is a common task, especially in safety-critical systems engineering. The objective is to describe every important aspect of the high-level requirement in a low-level requirement, ensuring a complete and correct implementation of the system’s features. To this end, standards and regulation...
In software development, developer turnover is among the primary reasons for project failures, leading to a great void of knowledge and strain for newcomers. Unfortunately, no established methods exist to measure how the problem domain knowledge is distributed among developers. Awareness of how this knowledge evolves and is owned by key developers...
Bug localization is the task of recommending source code locations (typically files) that probably contain the cause of a bug and hence need to be changed to fix the bug. Along these lines, information retrieval-based bug localization (IRBL) approaches have been adopted, which identify the most bug-prone files from the source code space. In current...
A large number of bug reports are created during the evolution of a software system. Locating the source code files that need to be changed in order to fix these bugs is a challenging task. Information retrieval-based bug localization techniques do so by correlating bug reports with historical information about the source code (e.g., previously res...
Loose coupling of system components on all levels of automated production systems enables vital systems-of-systems properties such as simplified composition, variability, testing, reuse, maintenance, and adaptation. All these are crucial aspects needed to realize highly flexible and adaptable production systems. Based on traditional software archit...
A unique selling point for cyber-physical production system manufacturers becomes the easy with which machines and cells can be adapted to new products and production processes. Adaptations, however, are often done by domain experts without in-depth programming know-how. We investigate in this paper, the implications of using a planning-based appro...
Software systems are becoming increasingly configurable. A paradigmatic example is the Linux kernel, which can be adjusted for a tremendous variety of hardware devices, from mobile phones to supercomputers, thanks to the thousands of configurable features it supports. In principle, many relevant problems on configurable systems, such as completing...
Adapting the behavior of robots and their interaction with other machines on the shop floor is typically accomplished by non-programmers. Often these non-programmers use visual languages to specify the robot’s and/or machine’s control logic. While visual languages are explored as a means to enable novices to program, there is little understanding o...
In software development teams, developer turnover is among the primary reasons for project failures as it leads to a great void of knowledge and strain for the newcomers. Unfortunately, no established methods exist to measure how knowledge is distributed among development teams. Knowing how this knowledge evolves and is owned by key developers in a...
The software engineering community is rapidly adopting machine learning for transitioning modern-day software towards highly intelligent and self-learning systems. However, the software engineering community is still discovering new ways how machine learning can offer help for various software development life cycle stages. In this article, we pres...
With increasing digitalization, shopfloor architectures transition to service-oriented, distributed layouts in which the complexity of monitoring communication between systems becomes a major challenge. Distributed tracing assists in establishing causality and hence supports the analysis of latency aspects, wrongly configured communication endpoint...
To implement a resilient manufacturing system, adaptive systems are required to respond to changes and disruptions. In this article, we present a research prototype of an adaptive production system. Adaptivity is implemented here in three components and on different levels. The first component is an adaptive robotic system that can be easily traine...
The paradigm shift triggered by Industry 4.0 leads to a fast rising number of industrial machinery and collaborative robots that increases the need for flexible customization of production processes and automation workflows. End-user programming of industrial robots has become an essential capability for all areas in industry. Consequently, differe...
Studies over the past decade demonstrated that developers contributing to open source software systems tend to self-organize in "emerging" communities. This latent community structure has a significant impact on software quality. While several approaches address the analysis of developer interaction networks, the question of whether these emerging...
In this paper, we propose a recommendation approach -- TaskAllocator -- in order to predict the assignment of incoming tasks to potential befitting roles. The proposed approach, identifying team roles rather than individual persons, allows project managers to perform better tasks allocation in case the individual developers are over-utilized or mov...
Operating/maintaining a shop-floor and planning for the efficient utilization of said shop floor, are typically two different sides of a coin. While the operation side is focused on making the interaction between humans, machines and software run flawlessly (e.g. by utilizing orchestration software), the planning side is focused on finding the righ...
The new era of Industry 4.0 is leading towards self-learning and adaptable production systems requiring efficient and intelligent decision making. Achieving high production rate in a short span of time, continuous improvement, and better utilization of resources is crucial for such systems. This paper discusses an approach to achieve production opt...
Safety-critical software systems must be developed using rigorous safety assurance practices. This has led to the phenomenon referred to as the “big freeze” in which the cost, effort, and difficulty of introducing new functionality to an already certified product is prohibitively expensive. However, present day agile processes have greatly matured...
Context: The software development industry is rapidly adopting machine learning for transitioning modern day software systems towards highly intelligent and self-learning systems. However, the full potential of machine learning for improving the software engineering life cycle itself is yet to be discovered, i.e., up to what extent machine learning...
Intelligent manufacturing systems are based on seamless and flexible interaction in Cyber-Physical-Systems of Systems. Novel research approaches in computer science allow to bring intelligence to the shop floor in general and robotic systems in particular. New concepts are needed to support the worker in their interactions with the intelligent mach...
Automated analysis of variability models is crucial for managing software system variants, customized for different market segments or contexts of use. As most approaches for automated analysis are built upon logic engines, they require having a Boolean logic translation of the variability models. However, the translation of some significant langua...
Cyber physical production systems (CPPS) focus on increasing the flexibility and adaptability of industrial production systems, systems that comprise hardware such as sensors and actuators in machines as well as software controlling and integrating these machines. The requirements of customised mass production imply that control software needs to b...
Variability models are broadly used to specify the configurable features of highly customizable software. In practice, they can be large, defining thousands of features with their dependencies and conflicts. In such cases, visualization techniques and automated analysis support are crucial for understanding the models. This paper contributes to thi...
In 2017, the Center for Digital Production (CDP) and the research center Pro²Future (P2F), created a project focused on demonstrating aspects of so-called adaptive production systems. A research platform consisting of several levels has been created and is used by the research centers and their partners to (1) develop new technology building blocks...
Developers commonly define tasks to help coordinate software development efforts---whether they be feature implementation, refactoring, or bug fixes. Developers establish links between tasks to express implicit dependencies that needs explicit handling---dependencies that often require the developers responsible for a given task to assess how chang...
Collaboration intensive systems like social networks support the interaction of multiple end-users playing different roles such as "friend" or "post owner". To ensure that end-users achieve the intended type of collaboration, systematic testing can be an effective means. However, manually creating effective test cases is cumbersome and error prone...
Organizational processes involving collaborating resources, such as development processes, innovation processes, and decision-making processes, typically affect the performance of many organizations. Moreover, including required but missing, resources and capabilities of collaborations can improve the performance of corresponding processes drastica...
Human interaction-intensive process environments need collaboration support beyond traditional BPM approaches. Process primitives are ill suited to model and execute collaborations for shared artifact editing, chatting, or voting. To this end, this paper introduces a framework for specifying and executing such collaboration structures. The framewor...
Traditional workflow and activity-centric coordination offers limited process support to human collaborators when unanticipated situations predominate. Under such circumstances, informal processes focus on provisioning relevant resources for achieving collaboration goals. Resources include interaction mechanisms such as shared artifact, social netw...
Complex, message-based service systems discourage central execution control, require extremely loose coupling, have to cope with unpredictable availability of individual (composite) services, and may experience a dynamically changing number of service instances. At the topmost level, the architecture of such a complex system often follows a messagi...
Fast changing business environments characterized by unpredictable variations call for flexible process-aware systems. The BPM community addressed this challenge through various approaches but little focus has been on how to specify (respectively constrain) flexible human involvement: how human process participants may collaborate on a task, how th...
Conventional incentive mechanisms were designed for business environments involving static business processes and a limited number of actors. They are not easily applicable to crowdsourcing and other social computing platforms, characterized by dynamic collaboration patterns and high numbers of actors, because the effects of incentives in these env...
The emergence of socio-technical systems characterized by significant user collaboration poses a new challenge for system adaptation. People are no longer just the “users” of a system but an integral part. Traditional self-adaptation mechanisms, however, consider only the software system and remain unaware of the ramifications arising from collabor...
Software engineering activities tend to be loosely coupled to allow for flexibly reacting to unforeseen development complexity, requirements changes, and progress delays. This flexibility comes a the price of hidden dependencies among design and code artifacts that make it difficult or even impossible to assess change impact. Incorrect change propa...
Internet-based, large-scale systems provide the technical foundation for massive online collaboration forms such as social networks, crowdsourcing, content sharing, or source code generation. Such systems are typically designed to adapt at the software level to achieve availability and scalability. They, however, remain mostly unaware of the changi...
Emerging online collaboration platforms such as Wikipedia, Twitter, or Facebook provide the foundation for socio-technical systems where humans have become both content consumer and provider. Existing software engineering tools and techniques support the system engineer in designing and assessing the technical infrastructure. Little research, howev...
Human collaboration has become an integral part of large-scale systems for massive online knowledge sharing, content distribution, and social networking. Maintenance of these complex systems, however, still relies on adaptation mechanisms that remain unaware of the prevailing user collaboration patterns. Consequently, a system cannot react to chang...
The recent two decades have witnessed the emergence of large‐scale, interaction‐intensive systems. A system's provided user‐centric communication and coordination mechanisms have a significant impact on its runtime management. Beyond a certain size, manual monitoring and management are no longer feasible. Hence, it is highly important for a system...
Human process involvement has gained momentum in recent years, but the proposed mechanisms can't efficiently adapt Web-scale collaborative workflows. Here, the authors describe collaborative problem solving and its integration with process-support systems as an architecture comprising human components and connectors. This modeling of coordination a...
Applications in ubiquitous environments need to adapt to a range of fluid factors, like user preferences, context, and various system configurations. In this paper, we address the problem of system adaptation in order to continuously achieve high user benefit while keeping reconfiguration costs low. To this end, the presented approach leverages not...
Web-based collaboration and virtual environments supported by various Web 2.0 concepts enable the application of numerous monitoring, mining and analysis tools to study human interactions and team formation processes. The composition of an effective team requires a balance between adequate skill fulfillment and sufficient team connectivity. The und...
Contemporary organisational processes evolve with people's skills and changing business environments. For instance, process documents vary with respect to their structure and occurrence in the process. Supporting users in such settings requires sophisticated learning mechanisms using a range of inputs overlooked by current dynamic process systems....
This is the author's final draft of the paper published in : ICE2008 : proceedings of the 14th international conference on concurrent enterprising : a new wave of innovation in collaborative networks / edited by Klaus-Dieter Thoben, Kulwant S Pawar, Ricardo Gonçalves, pp. 225-232. This publication is available from http://www.ice-proceedings.org/ P...
A companys ability to flexibly adapt to changing business requirements is one key factor to remain competitive. The required flexibility in people driven processes is usually achieved through ad-hoc workflows which are naturally highly unstructured. Effective guidance in ad-hoc workflows therefore requires a simultaneous consideration of multiple g...
Flexibility and automatic learning are key aspects to support users in dynamic business environments such as value chains
across SMEs or when organizing a large event. Process centric information systems need to adapt to changing environmental
constraints as reflected in the user’s behavior in order to provide suitable activity recommendations. Thi...
Rapidly changing business requirements necessitate the ad-hoc composition of expert teams to handle complex business cases.
Expert-centric properties such as skills, however, are insufficient to assemble an effective team. The given interaction structure
determines to a large degree how well the experts can be expected to collaborate. This paper ad...
A company’s ability to flexibly adapt to changing business requirements is one key factor to remain competitive. The required
flexibility in people-driven processes is usually achieved through ad-hoc workflows. Effective guidance in ad-hoc workflows
requires simultaneous consideration of multiple goals: support of individual work habits, exploratio...
The inadequate quality of context forces the context consumers in pervasive environments to reason about the quality and relevance of context to be confident of its worth to perform their functionality. The additional task of analyzing large volumes of context drastically affects the performance of the context consumers to adjust to dynamically cha...
Workflow design, mashup configuration, and composite service formation are examples where the capabilities of multiple simple services combined achieve a complex functionality. In this paper we address the problem of limiting the number of required services that fulfill the required capabilities while exploiting the functional specialization of ind...
The emergence of large-scale online collaboration requires current in- formation systems to be apprehended as service ensembles comprising human and software service entities. The software services in such systems cannot adapt to user needs based on autonomous principles alone. Instead system requirements need to reflect global interaction characte...
Self-awareness and self-adaptation have become primary con-cerns in large-scale systems as they have become too com-plex to be managed by human administrators alone, but rather require a new blend of coordination mechanisms be-tween people and software services. This paper presents a roadmap to effective and efficient system adaptation through coup...
Mashup tools are becoming increasingly important enabling users to compose services and processes on the Web. Most existing tools focus on Web-based interfaces, usability, and visual languages for creating mashups. A major challenge that has received limited attention is context-awareness and adaptivity of service mashups. In this paper we focus on...
In this paper, we address the problem of self- adaptation in internet-scale service-oriented systems. S ervices need to adapt by select the best neighboring services solely based on local, limited information. In such complex systems, the global significance of the various selection parameters dynamical ly changes. We introduce a novel metric measu...
As most SMEs utilize email for conducting business, email-based interoperability solutions for SMEs can have a profound effect on their business. This paper presents a utility-like system to support specialized SMEs to improve their business via emails by providing system, semantic and process interoperability solutions for individual SMEs and netw...
As it has been observed in the recent decade, collaborating teams become ever more unstable, less tightly coupled and more distributed and mobile. Workers participate in multiple teams that pursue different goals that need not be related in any way. This radical way in which the workplace is changing for the individual and the team requires highly...
As it has been observed in the recent decade, collaborating teams become ever more unstable, less tightly coupled and more distributed and mobile. Workers participate in multiple teams that pursue different goals that need not be related in any way. This radical way in which the workplace is changing for the individual and the team requires highly...
Collaborative Work Environments are software systems that allow teams, which are nowadays often distributed in location and organization to which they belong, to achieve certain projects or activities. In recent years, the available computer tools that can support such activities have grown; however, their integration is not necessarily achieved. F...
This is the author's final draft of the paper published as Lecture Notes in Computer Science, 2008, 5377, pp. 134-146. The final version is available from http://www.springerlink.com/content/h3733v757423278m/. Doi: 10.1007/978-3-540-89897-9_12 Traditional collaborative work environments are often proprietary systems. However, the demands of todays...
Collaboration platforms evolve into service-oriented systems, promoting composite and user-enriched services. The problem we address in this paper is the support of human interactions in SOA. Current col- laboration tools do not support humans to specify different interaction interfaces (services), which can be reused in various collaborations. We...