J. Vanhatalo, H. Völzer, J. Koehler:
The Refined Process Structure Tree, Best Paper Award, 6th Int.
Conference on Business Process Management (BPM), LNCS 5240, pages 100–115, Springer 2008.
Abstract:
We consider workflow graphs as a model for the control flow of a business
process model and study the problem of workflow graph parsing, i.e., finding
the structure of a workflow graph. More precisely, we want to find a decomposition
of a workflow graph into a hierarchy of sub-workflows that are subgraphs
with a single entry and a single exit of control. Such a decomposition is the crucial
step, for example, to translate a process modeled in a graph-based language
such as BPMN into a process modeled in a block-based language such as BPEL.
For this and other applications, it is desirable that the decomposition be unique,
modular and as fine as possible, where modular means that a local change of the
workflow graph can only cause a local change of the decomposition. In this paper,
we provide a decomposition that is unique, modular and finer than in previous
work. It is based on and extends similar work for sequential programs by Tarjan
and Valdes. We show that our decomposition can be computed in linear
time based on an algorithm by Hopcroft and Tarjan that finds the triconnected
components of a biconnected graph.
Thomas Gschwind, Jana Koehler, and Janette Wong:
Applying Patterns during Business Process Modeling, 6th Int.
Conference on Business Process Management (BPM), LNCS 5240, pages 4-19, Springer 2008.
Abstract:
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 the user in correctly applying these
simple patterns leading to many incorrectly modeled business processes. Only
limited support for pattern compounds can be found in some tools, there is no
active support for selecting patterns that are applicable in some user-determined
context, tools do not give feedback to the user if applying a pattern can lead to
a modeling error, nor do they trace the sequence of applied patterns during the
editing process.
In this paper, we describe an extension of a business process modeling tool with
patterns to provide these capabilities. We distinguish three scenarios of pattern
application and discuss a set of pattern compounds that are based on the basic
workflow patterns for control flow. We present an approach where business users
receive help in understanding the context and consequences of applying a pattern.
J. Koehler, T. Gschwind, J. Küster, H. Völzer, O. Zimmermann:
Towards a Compiler for Business-IT Systems –
A Vision Statement Complemented with a Research Agenda, IBM ZRL Research Report 3705, 2008.
Abstract:
Business information systems or enterprise applications have continuously evolved
into Business-IT systems over the last decades, directly linking and integrating Business Process
Management (BPM) with recent technology evolutions such as Service-Oriented Architecture
(SOA) concepts and Web services. Interestingly, many of these technological evolutions include
revivals of areas that have been in the focus of academic research in the past. For example,
business rules closely relate to expert systems, Semantic Web technology uses results from
description logics, attempts have been made to compose Web services using intelligent planning
techniques, and the analysis of business processes and Web service choreographies relies on
techniques originating from model checking and protocol verification.
As such, many of the problems that arise with these new technologies have been solved at least in
principle. Research in the BPM/SOA space, sometimes also called Service-Oriented Computing
(SOC), has tackled many of the problems and proposed a variety of solutions. However, if we try
to apply these “in principle” solutions, we are confronted with the failure of these solutions in
practice. Either a solution technique does not scale to the real-world requirements or it relies on
assumptions that are not satisfied by Business-IT systems. This failure of existing solutions is
limiting a successful application of these new technologies, in particular for smaller business
players.
As has been observed previously, research in this area is fragmented and does not follow a truly
interdisciplinary approach. To overcome the fragmentation of the area we propose the vision of a
compiler for Business-IT systems that takes business process specifications described at various
degrees of detail as input and compiles them into executable IT systems. As any classical
compiler, the parsing, analysis, optimization, code generation and linking phases are supported
and we describe a set of 10 research problems that we think must be solved in order to bring our
compiler vision to reality. We argue that our vision provides a unique technological basis and
foundation that enables a multi-disciplinary approach where existing techniques are combined
with novel solutions filling in technology gaps. We position our vision within the life cycle of
BPM and SOA applications to address the two interleaving trends of commoditization and
innovation of business processes.
J. Koehler, T. Gschwind, J. Küster, C. Pautasso, K. Ryndina, J. Vanhatalo, H. Völzer:
Combining Quality Assurance and Model Transformations in Business-Driven Development, International Workshop and Symposium on Applications of Graph Transformation with Industrial Relevance, Springer LNCS 5088, 2008.
Abstract:
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 Service-Oriented Architecture. A major challenge in business-driven development is the semantic gap between models
captured at the business and the IT level. Model transformations play a major role in bridging this gap. This paper presents a transformation framework for IBM WebSphere Business Modeler that enables programmers to quickly develop in-place model transformations, which are then made available to users of this tool. They address various
user needs such as quickly correcting modeling errors, refining a process model, or applying a number of refactoring operations. Transformations are combined with quality assurance techniques, which help users to preserve or improve the correctness of their business process models when applying transformations.
J. Koehler, R. Hauser, J. Küster, K. Ryndina, J. Vanhatalo,
M. Wahler: The Role of Visual Modeling and
Model Transformations in Business-driven Development, ENTCS 16993, Vol. 211C, pages 5-15, 2008.
Abstract:
This paper explores the emerging paradigm of business-driven development, which presupposes a methodology for developing IT solutions that directly satisfy business requirements and needs. At the core of business-driven development are business processes, which are usually modeled by combining graphical and textual notations. During the business-driven development process, business-process models are taken down to the IT level, where they describe the so-called choreography of services in a Service-Oriented Architecture. The derivation of a service choreography based on a business-process model is simple and straightforward for toy examples only for realistic applications, many challenges at the methodological and technical level have to be solved. This paper explores these challenges and describes selected
solutions that have been developed by the research team of the IBM Zurich Research
Laboratory.
J. Koehler, B. Srivastava: Planning with Communicating Automata, IBM IRL Research Report, IR 08006, written 2003, published 2008.
Until today, planning operators are mostly considered
as atomic transitions that change the value of boolean
or numeric state variables. This remains also true if
nondeterministic effects are added to operator descrip-
tions. Solely, the compound tasks used in HTN plan-
ners encapsulate more complex behavior, but it is dif-
ficult to model nondeterminism and iterations using
HTN representations. In many real-world applications
however, in particular in technical environments such
as hardware and software systems (for example net-
works, server farms, or embedded controllers), more
expressive planning operators that encapsulate nonde-
terministic and iterative behavior are needed.
In this paper, we propose to use nondeterministic com-
municating automata as the operators for a planning
system. We show how to model such operators, de-
fine the planning problem with communicating au-
tomata and present a first, preliminary planner involv-
ing model checking techniques.
O. Zimmermann, J. Koehler, F. Leymann: Architectural Decision Models as Micro-Methodology for Service-Oriented Analysis and Design, Workshop on Software Engineering Methods for Service-oriented Architecture (SEMSOA 2007), CEUR-WS.org/Vol-244 (2007).
Abstract:
During the construction of service-oriented architectures, service modelers concern themselves with the characteristics of good services and how such services can be designed. For instance, they look for advice regarding interface granularity and criteria to assess whether existing software assets are fit for reuse in service-oriented environments. There are no straightforward answers to such questions – service identification, specification and realization techniques are required. Service identification and specification are well covered by existing methodologies; for service realization, architectural decision models can be leveraged. At present, the construction of architectural decision models is an education - and labor-intensive undertaking; if such models exist at all, they often are isolated from other artifacts. In this paper, we propose a new engineering approach to service modeling that leverages reusable architectural decision models as its central service realization concept. We outline a multi- level decision tree and position it as a prescriptive service realization methodology for three engagement types observed in practice. The benefits of service engineering with reusable architectural decision models are semiautomatic decision identification in analysis models, improved decision making quality, and better decision enforcement and risk mitigation capabilities.
M. Wahler, J. Koehler, A. Brucker: Model-Driven Constraint Engineering, Electronic Communications of the EASST, 5, 2007.
Abstract:
A high level of detail and well-formedness of models have become crucial ingredients in model-driven development. Constraints play a central role in model precision and validity. However, the task of constraint development is time-consuming and error-prone because constraints can be arbitrarily complex in real-world models. To overcome this problem, we propose a solution that we call modeldriven constraint engineering. In our solution, we define the notion of
computation-independent constraints that are provided in the form of meta-model integrated patterns. The parameterized patterns are transformed into platform-independent or platform-independent constraints by a model transformation. In addition, we show how our approach can be supported by a tool.
J. Koehler, J. Vanhatalo: Process Anti-Patterns: How to Avoid the Common Traps of Business Process Modeling. IBM Websphere Developer Technical Journal, February and April 2007.
Part 1: Control Flow (Issue 10.2),
Part 2: Data Flow (Issue 10.3), original report version
Abstract:
Business process modeling is gaining increasing importance with more and more people getting involved with business process modeling projects. The output of these projects are process models, which become a direct input into the software development process. Consequently, the impact of the process models on the IT systems and the operational efficiency of an enterprise is increasing. With that, the associated economic risk of using badly designed process
models is growing as well. In this report, we address the problem of quality assurance for business process models. Based on hundreds of real world business process models that we reviewed over the past two years, we extracted typical modeling errors that we generalized into anti-patterns. These anti-patterns cover six common process modeling scenarios ranging from the modeling of branching and iterative behavior, over the modeling of data flow, to the reuse of process models in composite processes. For each scenario, an example illustrating typical errors is introduced and then generalized into an anti-pattern, which highlights the modeling error. Then, one or several patterns are presented that show a correct solution to the modeling scenario, followed by a summarizing recommendation.
J. Kuester, J. Koehler, K. Ryndina: Improving Business Process Models with Reference Models in Business-Driven Development, 2nd International Workshop on Business Process Design, BPM 2006.
Abstract:
Reference models capture best-practice solutions for a specific industry such as retail, banking, or insurance. The models usually cover the whole range of solution components such as productmodels, business rules, datamodels, and service models. Over the past years, business process reference models have gained increasing attention. Process merging is a technique that brings together several process models to create a new process model. In this paper, we introduce process merging for a scenario which focuses on the improvement of an existing AS-IS business process by using a reference process model. We describe an approach that enables a business architect to establish correspondences between two process models in a systematic way and show how these correspondences define concrete refactoring operations that serve to improve the AS-IS model.
J. Vanhatalo, J. Koehler, F. Leymann:
Repository for Business Processes and Arbitrary Associated Metadata
Proceedings of the BPM Demo Session at the Fourth International Conference on Business Process Management, 2006. Also in CEUR Workshop Proceedings, Vol 203
Abstract:
We have published a repository for storing business processes and associated metadata. The BPEL Repository is an Eclipse plug-in originally built for BPEL business processes and other related XML data. It provides a framework for storing, finding and using these documents. Other research prototypes can reuse these features and build on top of
it. The repository can easily be extended with new types of XML documents. It provides a Java API for manipulating the XML files as Java objects hiding the serialization and de-serialization from a user. This has the advantage that the user can manipulate the data as more convenient Java objects, although the data is stored as XML filles compliant with the
standard XML schemas. The data can be queried as Java objects using an object-oriented query language, namely the Object Constraint Language (OCL). Moreover, the extensible design allows the OCL query engine to be replaced with another engine based on other query language.
J. Küster, J. Koehler, J. Novatnack, K. Ryndina:
A Classification of UML2 Activity Diagrams, IBM ZRL Research
Report 3673, 2006.
Abstract:
We present the results of a case study where we investigated a semantic mapping of UML2 activity diagrams to the Pi-calculus. Our study was initiated by recent discussions on the role of the Pi-calculus for future business-process management systems as well as our interest in developing formal analysis techniques for activity diagrams.
The study revealed interesting insights into the semantic expressivity of activity diagrams and the semantic nature of the
different modeling elements, in particular of object nodes and activity final nodes. We show that for certain types of diagrams, a semantic mapping of object nodes, in particular of pins, to message reading and receiving operations is insufficient and propose an encoding of pins as Pi-processes. Our results motivated us to present a novel classification of activity diagrams based on their semantic expressivity.
J. Küster, J. Koehler, R. Hauser, K. Ryndina, J. Vanhatalo, M. Wahler: Methodology and Tooling to combine an existing legacy business process model with best-practice industry reference models for
Business Transformation , IBM ZRL Research
3663, 2006.
Abstract:
The report describes a business method for business transformation and tooling that has been developed to enable the business method. Business transformation deals with the strategic alignment of Business and IT to deliver enduring
on-demand value of continual business innovation and improvement. It comprises three main
challenges: (1) analysis and modeling of business strategy and operations to drive business transformation,
(2) efficient generation of an IT solution from a business model using techniques from Model-
Driven Development (MDD) of software systems, (3) monitoring and dynamic management of business performance for continual improvement. The report addresses to the first two challenges in the above list: analysis and modeling of business operations, and the efficient generation of an IT solution from a business model.
J. Koehler, R. Hauser, S. Sendall, M. Wahler: Declarative Techniques for Model-Driven Business Process Integration. IBM Systems Journal 44(1), 2005, pages 47-65.
Abstract:
Business process integration and automation are among the most significant factors driving the information technology industry today. In addressing the manifold technology challenges of integration and automation, new standardization efforts aim at improving the interoperability of businesses by moving toward a declarative specification of business processes, that is, one which describes what a business process does and not how it is implemented. At the same time, Model Driven Architecture® focuses on improving the software-engineering methods with which business process solutions are implemented by separating the business or application logic from the underlying platform technology and representing this logic with precise semantic models. In this paper, we present an approach to the model-driven generation of programs in the Business Process Execution Language for Web Services (BPEL4WS), which transforms a graphically represented control-flow model into executable code by using techniques that originated in compiler theory. We discuss the underlying algorithms as well as general questions concerning the representation and analysis of model transformations. We study a declarative representation of transformation rules, where preconditions and postconditions are represented in the Object Constraint Language. By adopting a declarative approach, we pave the way for future automatic consistency checking of transformation rules and bidirectional reconciliation of evolving models.
B. Srivastava, J. Vanhatalo, J. Koehler: Managing the Life Cycle of Plans,
Proceedings of the 20th National Conference on Artificial Intelligence and the 17th Innovative Applications of Artificial Intelligence Conference, pages 1569-1575, AAAI Press 2005.
Abstract:
The scalability of recent planning algorithms allows developers
to automate planning tasks, which so far have been reserved
to humans. However in real-world applications, synthesizing
a plan is just the beginning of a complex life-cycle
management process. Plans must be organized in large collections,
where they can be grouped along different purposes
and are amenable to the search, inspection, evaluation, and
modification by human experts or automated reasoning systems.
Eventually, plans will outlast their utility and be replaced.
We present our solution to plan life cycle management for an
autonomic computing application. We focus in particular on
the automatic synthesis of plan metadata for plans containing
conditional and parallel actions, well-structured loops, and
non-deterministic choices. The plans are of unknown origin,
i.e., their underlying action model, which could provide us
with pre- and postconditions, is not available. New analysis
techniques are presented that uniformly generate metadata for
plans, thus allowing a system to embed plans into context and
organize them in meaningfully structured plan repositories.
J. Koehler, R. Hauser: Untangling
Unstructured Cyclic Flows - A Solution based on Continuations, 6th
International Conference on Cooperative Information Systems CoopIs,
LNCS 3290, pages 121-138, 2004.
Abstract:
We present a novel transformation method that allows us to map unstructured
cyclic business process models to functionally equivalent workflow
specifications that support structured cycles only. Our solution is based on a continuation
semantics, which we developed for the graphical representation of a
process model. By using a rule-based transformation method originally developed
in compiler theory, we can untangle the unstructured flow while solving a
set of abstract continuation equations. The generated workflow code can be optimized
by controlling the order in which the transformation rules are applied.
We then present an implementation of the transformation method that directly
manipulates an object-oriented model of the Business Process Execution Language
for Web Services BPEL4WS. The implementation maps abstract continuation
equations to the BPEL4WS control-flow graph. The transformation rules
manipulate the links in the graph such that all cycles are removed and replaced
by equivalent structured activities. A byproduct of this work is that, if a continuation
semantics is adopted for BPEL4WS, its restriction to acyclic links can be
dropped.
R. Hauser, J. Koehler: Compiling Process
Graphs into Executable Code, 3rd International Conference on
Generative Programming and Component Engineering (GPCE), LNCS 3286,
pages 317-336, 2004.
Abstract:
Model-driven architecture envisions a paradigm shift as dramatic
as the one from low-level assembler languages to high-level programming
languages. In order for this vision to become reality, algorithms
are needed that compile models of software systems into deployable
and executable implementations. This paper discusses two algorithms
that provide such transformations for process graph models in a
business process or workflow environment and produce executable programs
based on Web services and orchestration languages. The reverse
transformations back from executable programs to process graphs are
also described.
J. Novatnack, J. Koehler: Using Patterns in
the Design of Inter-Organisational Systems - An Experience Report,
Workshop on Modeling Inter-Organisational Systems (MIOS), LNCS 3292,
pages 444-455, 2004.
Abstract:
The modeling, design, and implementation of inter-organizational systems
(IOS) is a challenging new problem. In contrast to previous systems, where
components have clearly defined interfaces and serve a well-defined purpose,
components of IOS exist in a distributed environment, where each component
of the system may exist at a separate corporation and must conform to the interface
of partner components. This creates a complicated problem for designers.
In this paper, we investigate to which extent control flow, communication,
and data manipulation patterns can help to ease the manual design process of
IOS implemented in the Business Process Execution Language for Web services
(BPEL4WS). By applying patterns of all three types in an iterative fashion we
go from an abstract representation of the example process to a graphical solution
with a one-to-one mapping to executable BPEL4WS code.
B. Srivastava, J. Koehler: Planning
with Workflows-An Emerging Paradigm for Web Service Composition,
ICAPS 2004 Workshop on Planning and Scheduling for Web and Grid
Services.
Abstract:
In a previous work, we had analyzed the gaps in the prevalent
approaches (i.e., Semantic Web Services and WSDLdescribed
Web Services) for the problems of modeling, composing,
executing, and verifying Web services, and derived
challenges for the AI planning community. The challenges
were in representation of complex actions, handling of richly
typed messages, dynamic object creation and specification of
multi-partner interactions. An important question that constantly
arose was how the goals for automatic composition
would be derived. In this paper, we revisit this issue in the
light of new trends in software engineering towards Model
Driven Architecture and early deployment of Web service
composition solutions. We argue that Web services composition
can not be seen as a one-shot plan synthesis problem
defined with explicit goals but rather as a continual process
of manipulating complex workflows, which requires to solve
synthesis, execution, optimization, and maintenance problems
as goals get incrementally refined. We then identify
additional issues that become important in applying planning
techniques.
J. Koehler, B. Srivastava: Web Service
Composition: Current Solutions and Open Problems, ICAPS 2003
Workshop on Planning for Web Services, pages 28 - 35.
Abstract:
Composition ofWeb services has received much interest to support business-to-business or enterprise application integration. On the one side, the business world has developed a number of XML-based standards to formalize the
specification of Web services, their flow composition and execution. This approach is primarily syntactical: Web service interfaces are like remote procedure call and the interaction protocols are manually written. On the other side,
the Semantic Web community focuses on reasoning about web resources by explicitly declaring their preconditions and effects with terms precisely defined in ontologies. For the composition of Web services, they draw on the goal-oriented inferencing from planning. So far, both approaches have been developed rather independently from each other.
We compare these approaches and discuss their solutions to the problems of modeling, composing, executing, and verifying Web services. We discuss what makes the Web service composition so special and derive challenges for the AI planning community.
J. Koehler, R. Hauser, S. Kapoor, F. Wu, S. Kumaran: A Model-Driven Transformation Method, EDOC
2003, pages 186-197.
Abstract:
Model-driven architectures (MDA) separate the business
or application logic from the underlying platform technology
and represent this logic with precise semantic models.
These models are supposed to span the entire life cycle of a
software system and ease the software production and maintenance
tasks. Consequently, tools will be needed that support
these tasks.
In this paper, we present a method that implements
model-driven transformations between particular platformindependent
(business view) and platform-specific (IT architectural)
models. On the business level, we focus on business
view models expressed in ADF or UML2, whereas on
the IT architecture side we focus on service-oriented architectures
with Web service interfaces and processes specified
in business process protocol languages such as BPEL4WS.
T. Gardner, C. Griffin, J. Koehler, R. Hauser: A review of OMG MOF 2.0 Query / Views /
Transformations Submissions and Recommendations towards the final
Standard, MetaModelling for MDA Workshop, York, England, 2003, also an
IBM Submission to the OMG, document 03-08-02.
Abstract:
Model-to-model transformation is a key technology for the OMG’s Model
Driven ArchitectureTM. The need for standardization in this area lead to the MOF 2.0 Query/Views/Transformations Request for Proposals (RFP) from the OMG. The RFP elicited eight separate submissions. This paper makes the following contributions: Terminology for queries, views, and transformations is introduced that is based on the terminology used in the submissions, but which is edited for consistency. A set of common transformation scenarios is described, which is motivated by the authors’ practical experiences with transformations. The submissions are reviewed, compared to each other, and their highlights discussed. Based on the review and the experience of the authors in
developing model-driven transformations, recommendations for the final standard are presented.
J. Koehler, D. Gantenbein, C. Giblin, R. Hauser: On Autonomic Computing Architectures, IBM ZRL
Research Report 3487, 2003.
Abstract:
We discuss the key features of autonomic computing and their relationship to AI systems. We present a generic
architecture for autonomic computing systems and propose a computational model based on communicating automata
networks to implement such architectures. We illustrate this approach with an intelligent device discovery
tool that analyzes the inventory and topology of large computer networks.
J. Koehler, G. Tirenni, S. Kumaran: From
Business Process Model to Consistent Implementation: A Case for Formal
Verification Methods, EDOC 2002, pages 96 - 106.
Abstract:
Today’s business applications and their underlying process
models are becoming more and more complicated,
making the implementation of these processes an increasingly
challenging task. On the one hand, tools and methods
exist to describe the business processes. On the other hand,
different tools and method exist to describe the IT artifacts
implementing them. But a significant gap exists between the
two. To overcome this gap, new methodologies are sought.
In this paper, we discuss a pattern-based modeling and
mapping process. Starting from a business process model,
which emphasizes the underlying structural process pattern
and its associated requirements, we map this model into
a corresponding IT model based on nondeterministic automata
with state variables. Model checking techniques are
used to automatically verify elementary requirements on a
process such as the termination and reachability of states.
Using an example involving coupled, repetitive activities we
discuss the advantages of an iterative process of correcting
and refining a model based on insights gained in the interleaved
verification steps.
Jana Koehler, April 1, 2008