
Thomas Gschwind- PhD
- Research Staff Member at IBM
Thomas Gschwind
- PhD
- Research Staff Member at IBM
About
60
Publications
8,714
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
762
Citations
Introduction
Current institution
Publications
Publications (60)
Web applications and services are increasingly important in a distributed internet filled with diverse cloud services and applications, each of which enable the completion of narrowly defined tasks. Given the explosion in the scale and diversity of such services, their composition and integration for achieving complex user goals remains a challengi...
Knowledge graph embedding methods learn embeddings of entities and relations in a low dimensional space which can be used for various downstream machine learning tasks such as link prediction and entity matching. Various graph convolutional network methods have been proposed which use different types of information to learn the features of entities...
Record linkage is an essential part of nearly all real-world systems that consume structured and unstructured data coming from different sources. Typically no common key is available for connecting records. Massive data integration processes often have to be completed before any data analytics and further processing can be performed. In this work w...
Record Linkage is an essential part of almost all real-world systems that consume data coming from different sources, structured and unstructured. Typically no common key is available in order to connect the records. Often massive data cleaning and data integration processes have to be completed before any data analytics and further processing can...
Top-k reports are compound metrics that provide useful information when diagnosing problems in a system, e.g., to identify persistent CPU usage by a process. In large systems, these reports are collected at regular intervals and need to be resampled to reduce the bitrate of the data, to answer user queries for different sampling periods, or to save...
A computer-implemented method for assisting a user in applying a business process pattern. In some embodiments, the computer-implemented method includes providing a graphical user interface (GUI) adapted for displaying a first representation of a business process and for allowing user editing of the business process. The computer-implemented method...
Using software-only approaches makes it is practically impossible to completely secure software applications, as well as corporate information, against determined cyber-criminals. Therefore, in an era where any general-purpose operating system (OS) with end-user access can be hacked, we propose using dedicated security hardware to ensure that only...
An invention is disclosed for improved computer system management by allowing complex computer-monitored events to be handled in different formats for correlation, analysis and action. Specifically, a method and system are disclosed for processing multiple heterogeneous event types in a complex event processing (CEP) engine.
The layout of a business process model influences how easily it can be understood. Existing layout features in process modeling tools often rely on graph representations, but do not take the specific properties of business process models into account. In this paper, we propose an algorithm that is based on a set of constraints which are specificall...
An end-user computing environment is characterized by an image which is the ensemble comprising operating system, applications and data) and by the hardware where the image is running. One can essentially distinguish two fundamental approaches: either the image is installed on a given end-user owned computer or the image is run on a server and is r...
The construction of software can be improved by building software from reusable parts, which are typically referred to as software components. Software components can be developed independently from each other, thus decreasing the overall development time of a project. A disadvantage of software components, however, is that due to their independent...
The book constitutes the refereed proceedings of the 11th International Conference on Software Composition, SC 2012, held in Prague, Czech Republic, in May/June 2012, co-located with TOOLS 2012 Federated Conferences. The 12 revised full papers were carefully reviewed and selected from 42 submissions for inclusion in the book. The papers reflect all...
Business information systems and enterprise applications have continuously evolved into Business-IT systems over the last decades, directly linking and integrating Business Process Management with recent technology evolutions such as Web services and Service-Oriented Architectures. Many of these technological evolutions include areas of past academ...
Model transformations are a key technique in model-driven engineering. If several transformations are composed into a model
transformation chain, an approach is needed that allows software engineers to incrementally improve the quality of the model
transformation chain. In this paper, we propose incremental development of model transformation chain...
The IBM Pattern-based Process Model Accelerators add a set of patterns, transformations, refactoring operations, and a control-flow analysis feature to IBM WebSphere Business Modeler that make it easy for users to apply common best practices when modeling business processes. As a result, users create and edit higher-quality process models and they...
Monitoring, analysing and understanding component based enterprise software systems are challenging tasks. These tasks are essential in solving and preventing performance and quality problems. Obtaining component level interactions which show the relationships between different software entities is a necessary prerequisite for such efforts. This pa...
Although the business process community has put a major emphasis on patterns, notably the famous workflow patterns, only limited support for using patterns in today’s business process modeling tools can be found. While the basic workflow patterns for control flow are available in almost every business process modeling tool, there is no support for...
When constructing software systems, software architects must identify and evaluate many competing design options and document the rationale behind any selections made. Two supporting concepts are pattern languages and architectural decision models. Unfortunately, both concepts only provide partial support: Extensive upfront education is needed for...
Business information systems and enterprise applications have continuously evolved into Business-IT systems over the last decades, directly linking and integrating Business Process Management with recent technology evolutions such as Web services and Service-Oriented Architectures. Many of these technological evolutions include areas of past academ...
Business-driven development is a methodology for developing IT solutions that directly satisfy business requirements. At its
core are business processes, which are usually modeled by combining graphical and textual notations. During business-driven
development, business process models are taken to the IT level, where they are implemented in a Servi...
Recently, component models have received much attention from the Software Engineering research community. The goal of each
of these models is to increase reuse and to simplify the implementation and composition of new software. While all these models
focus on the specification and packaging of components, however, they provide almost no support for...
In enterprise application development and other software construction projects, a critical success factor is to make sound architectural decisions. Text templates and tool support for capturing architectural decisions exist, but have failed to reach broad adoption so far. One of the inhibitors we perceived on large-scale industry projects is that a...
The goal of the distributed systems (DS) laboratory is to provide an attractive environment in which students learn about network programming and apply some fundamental concepts of distributed systems. In the last two years, students had to implement a fully functional peer-to-peer file sharing system called ShareMe. This paper presents the approac...
Execution traces produced from instrumented code reflect a system's actual implementation. This information can be used to recover interaction patterns between different entities such as methods, files, or modules. Some solutions for the detection of patterns and their visualization exist, but are limited to small amounts of data and are incapable...
Component-based software development is the next step after object-oriented programmingthatpromisesto reducecomplexityandimprovereusability.These advantages have also been identi?ed by the industry, and consequently, over the past years, a large number of component-based techniques and processes have been adopted in many of these organizations. A v...
Preface: Middleware provides an integration framework for multiple and potentially diverse
computing platforms. It allows developers to engineer distributed applications
more easily, providing abstractions and primitives to handle distribution
and coordination.
Middleware is constantly facing new challenges. Today’s advances in computing,
including...
We present TUAnalyzer, a novel tool that extracts the template structure of C++ programs on the basis of the GNU C/C++ compiler's internal representation of a C/C++ translation unit. In comparison to other such tools, our tool is capable of supporting the extraction of function invocations that depend on the particular instantiation of C++ template...
In this paper we present an approach for developers to benefit from multi-project software knowledge. As we show in this paper, this can be achieved by gathering information about how numerous software projects are being built, and about the interrelation of the modules within the projects. Compared to approaches that only monitor a single project,...
A large number of distributed object programming technologies exist today ranging from CORBA and RMI to Microsoft’s .NET platform.
Programmers face a difficult choice when they have to decide for either technology. To some degree this problem has been lessened
by the introduction of RMI over IIOP which supports the interoperability between RMI and...
Current environments for web application development focus on Java or scripting languages. Developers that want to or have to use C or C++ are left behind with little options. We have developed a C/C++ Servlet Environment (CSE) that provides a high performance servlet engine for C and C++. One of the biggest challenges we have faced while developin...
Traditional approaches for program comprehension use static program analysis or dynamic program analysis in the form of execution traces. Our approach, however, makes use of runtime-data such as parameter and object values. Compared to traditional program comprehension techniques, this approach enables fundamentally new ways of program analysis whi...
The Vienna Component Framework (VCF) supports the interoperability and composability of components across different component models, a facility that is lacking in existing component models. The VCF presents a unified component model-implemented by a facade component to the application programmer The programmer may write new components by composing...
In this paper we present a new instrumentation approach to reverse engineer a given software application. Our approach is based on aspect-oriented programming and provides support for dynamic feature analysis. The advantage of bur approach compared to other existing approaches is that we allow the engineer to obtain deeper insights into the program...
Architectural Description Languages (ADLs) allow developers to describe the architecture of a software system but provide only limited support for their execution. In this paper, we present ACL/1, an XML based Application Composition Language, that describes the architectural view of a software system while at the same time enabling the execution o...
Recently, component models have received much attention from the Software Engineering research community. The goal of each of these models is to increase reuse and to simplify the implementation and composition of new software. While all these models focus on the speci cation and packaging of components, however, they provide almost no support for...
In this paper we present a new instrumentation approach to reverse engineer a given software application. Our approach is based on aspect-oriented programming and provides support for dynamic feature analysis. The advantage of our approach compared to other existing approaches is that we allow the engineer to obtain deeper insights into the program...
Current environments for web application development focus on Java or scripting languages. Developers that want to or have to use C or C++ are left behind with little options. We have developed a C/C++ Servlet Envi- ronment (CSE) that provides a high performance servlet engine for C and C++. One of the biggest challenges we have faced while develop...
Although software components have gained importance, support for the composition of distributed components is still limited.
Worse, if components implemented for different component models need to interact with each other, the composition process
becomes a nightmare. Though, bridging technologies for different component models have been standardize...
The World Wide Web is an important infrastructure for enabling modern information-rich applications. Businesses can lose value
due to lack of timely employee communication, poor employee coordination, or poor brand image with slow or unresponsive web
applications. In this paper, we analyze the responsiveness of an Intranet web application, i.e., an...
Component models have received much attention recently both from the software engineering research community and from industry. This is apparent through the sheer number of component models that have been developed in the last few years. The goal of each of these models is to increase reuse and to simplify the implementation and composition of new...
The C++ Standard Template Library provides e- cient storage of data in containers, and ecient operations on such containers. While STL can be parameterized with custom allocators, these cannot be used to add persistency to the container classes provided by STL. Thus, we have designed the Persistent Standard Template Library (PSTL) that overcomes th...
We describe WebMon, a tool for correlated, transaction-oriented
performance monitoring of web services. Data collected with WebMon can
be analyzed from a variety of perspectives: business, client,
transaction, or systems. Maintainers of web services can use such
analysis to better understand and manage the performance of their
services. Moreover We...
Recently, component models have received much attention from the Software Engineering research community. The goal of each of these models is to increase reuse and to simplify the implementation and composition of new software. While all these models focus on the specification and packaging of components, however, they provide almost no support for...
Software components have been a long-standing dream of the software engineering community since the birth of software engineering
itself in 1968. Every few years, it appears that we are on the verge of discovering exactly what a software component is.
On the other hand, due to changes in technology and application environments and domains, our vie...
Recent advances in software and Internet technologies have enabled the construction of a new category of component-based distributed systems. These systems consist of various off-the-shelf and application-specific components such as Web servers and clients, Java applets, databases, etc., which communicate with each other using standard protocols. D...
Mobile agents are a new paradigm for distributed applications and an increasing number of mobile agent platforms emerged recently. Unfortunately, most of these systems are neither compatible to existing standards nor among each other. In this paper we compare three prominent industry platforms and promising research systems regarding their object o...
Usenet News is reaching its limits as current traffic strains the available infrastructure. News data volume increases steadily and competition with other Internet services has intensified. Consequently bandwidth requirements are often beyond that provided by typical links and the processing power needed exceeds a single system's capabilities. A ra...
Usenet News is a worldwide open forum for discussion. It offers groups where users may submit articles. These newsgroups and articles are distributed on the Internet using the "Network News Transfer Protocol" (NNTP). Since the number of users has increased steadily and only few improvements have been applied to NNTP, NNTP begins to reach its limits...
Current Internet users see the combination of World-Wide Web (WWW)
and electronic mail as a synonym for the Internet. While WWW is
excellent for easy and fast dissemination of information and e-mail
facilitates efficient communication, a means for widespread, threaded
discussion and interchange of information among large groups of users is
still ne...
Mobile agents, programs that move within a system performing a set
of tasks, are an active field of research. The focus of current
research, however, is on the development of execution platforms and
applications for mobile agents and not on methodologies for building
agents. Creating mobile agents can be tedious and susceptible to errors.
We propos...