The Infosys Labs research blog tracks trends in technology with a focus on applied research in Information and Communication Technology (ICT)

« September 2009 | Main | November 2009 »

October 21, 2009

Human Workflows in BPM -Post 6

In continuation with my earlier post, the third type of Human workflow pattern in Task execution is termed as Asynchronous one way request.

* Asynchronous one way request:  A human participant interacts with a process by sending one way request. The human participant does not anticipate any response from the process or interfaces which are subsequently called from the executing process. This type of task is usually used in the following scenarios:

1. Communicating completion of some external/offline human task to a business process.
2. Communicating completion of some system task where the system does not possess the capability to interact with the business process (hence the need for human intervention to indicate completion of task) .
3. Communicating completion of some process task to external system where the system works in a batch mode (e.g. checks for message or file after certain duration indicating completion of task).

Asynchronous one way request is useful in dealing with legacy systems or offline human task integration with workflows.

SETLabs and Infosys at BPM 2009 Conference

BPM 2009 is the foremost academic conference on BPM today. Most of the participants and presenters in the conference were from Universities. There was little presence of product vendors like BizAgi, Signavio. Most of the key notes were done by Gurus of business process management like Prof Scheer, John Hoogland. Among the academics there was a presence of few participants from Research labs of organizations like IBM Research Labs and SETLabs of Infosys.
The participation from Infosys included a Panel discussion on “Why aren’t BPM approaches taking Center-Stage for managing Regulatory Compliance?” The Panel discussion was moderated by Jude Fernandez from SETLabs and Keerthana Mainkar from Infosys was one of the panel members. Keerthana heads the Enterprise Risk management Services at Infosys. The panel discussion was well received by audience.
Krishnendu Kunti, Ujval Mysore and Apeksha from SETLabs, Infosys submitted a paper “Designing Generic Business Processes based on SOA: An Approach and a Use Case” in 5th International Workshop on Business Process Design (BPD’09). The paper was presented by me in absence of authors. The paper was well received as the idea was validated and supported by in-production case study. The workshop was chaired by Selma Limam Mansar and Michael Roseman. The key note was presented by Rob Davis of IDS Scheer.
The third presentation from SETLabs, Infosys was done by me in form of a demo presentation of BizTraM tool. The tool is capable of monitoring processes in legacy systems near real time in non-intrusive manner. The demo was to be supported with posters and preceded by 1 minute elevator pitch to attract audience.  There were 15 demos happening in parallel and each presenter had to present 4 times. I ended up presenting 5 times, with pleasure though. Many people who had shown interest in area of process mining and monitoring area attended the demo.
The overall participation of SETLabs in the conference should provide scope of more university collaboration in area of BPM research. Looking forward to attend more events like this future.

Process mining at the BPM 2009 Conference

Recently I attended BPM 2009, which is the foremost academic BPM conference today. This was held at Ulm in southern Germany. The conference was attended by researchers from various Universities across the globe. In addition, there was participation from the research labs of some organizations like IBM Labs and two of us from SETLabs at Infosys. The keynote speakers included Prof August-Wilhelm Scheer, founder of IDS Scheer  and John Hoogland, CEO of Pallas Athena .
Process Mining was one of the popular topics of the BPM 2009 conference with two sessions and one workshop dedicated to it. To take process mining closer to practitioners, there were research papers/discussions on how to introduce abstraction/clustering in process mining so that process is simplified and more readable. The researchers identified the need to simplify the spaghetti models not by removing the lesser traversed steps but by clustering steps at lower granularity in one step.
One interesting research done is to create multiple process levels from process extracted from ProM. This is a useful research as the extracted process is at very low granularity and not all the business users would be interested in viewing the process at that level. Business consultants at Infosys have been defining processes at different levels (Level1 to Level4) using the InFlux methodology. This research will help business consultants use the process extracted by ProM and showcase the same to various stakeholders in simplified manner.
In my opinion, researchers are doing further work in order to make process mining more popular among practitioners.  It would be a pleasure to see process mining techniques and tools being used by practitioners for purpose of extracting process models in legacy systems, business intelligence, process testing, etc.

October 15, 2009

Panel to deliberate on challenges on Parallel Programming at Aurora

As part of Aurora, the Infosys research showcase event on 19th and 20th Oct, at USC, LA, I am chairing  a panel discussion that will explore how organizations can adopt parallelization trends to its fullest potential additionally in view of the emerging hardware trends of multi-core, disttributed systems trends like grids, and the latest scale-out trends in distributed computing like cloud architectures.  It will discuss

  • Inherent lack of parallelism in the legacy applications and will examine how static and dynamic program analysis techniques could be used to identify opportunities for parallelism in legacy applications
  • Different kinds of parallelisms and explore how parallelism constructs such as Open MP , CUDA etc could be used to annotate programs
  • ‘Coarse-grained’ and ‘Fine-grained’ parallelisms (e.g. Grid vs. Multi-core/GPGPU) and will attempt to build a consensus around the desired application characteristics that are ideal to exploit parallelism
  • The role of cloud computing as a serious architectural option for commercial HPC applications via exploitation of large-scale parallel computing on commodity clusters


The panelists include:

Professor Laxmikant Kale, Professor in the Computer Science department, and the leader of the Parallel Programming Laboratory, University of Illinois at Urbana Champaign


Professor Viktor Prasanna, Charles Lee Powell Chair in Engineering, Professor of Electrical Engineering and Computer Science, University of Southern California

Prof. Calton Pu, Professor and John P. Imlay, Jr. Chair in Software College of Computing, Georgia Tech

Dr. Priya Vasishtha, Department of Physics and Astronomy, USC

Dan Seely, CTO, Northrop Grumman Information Systems Civil Systems Division

Elaine Zamani, Office of the Chief Information Officer, JPL

Hope to see exciting disucssions and fruitful debates ..

Keep watching this space..

October 13, 2009

SETLabs and Infosys participation in SOPOSE workshop AT Services Computing 2009 conference

Recently I chaired  SOPOSE 2009 workshop, the fourth international workshop Service and Process oriented Software Engineering ( ),  the workshop co-located with SCC 2009. The workshop aimed at addressing software engineering issues related to constructing service oriented architecture and business process management.


The workshop started with a keynote by on Value in Services Systems, by Prof. Joseph Davis, of  Univ of Sydney. This talk focused on the conceptual foundations what has come to be referred to as 'service science' which is concerned with the design, value co-creation (between the service providers and customers), and performance modeling of complex service systems.


There was an interesting discussion on User experience being at core of the final rendering of a service, and how the interactions between consumers, producers is core to the notion of "value". No doubt this is an important area of research from the perspective of justifying investments in IT, in current circumstances.


This was followed by thought provoking presentations including papers on BPM adoption, and software engineering issues related to BPM and SOA, including two innovative papers from Infosys titled "A holistic approach in context of Enterprise BPM adoption" and  

"Challenges and Approaches during requirement gathering phase for multi release BPM engagement" respectively.

Details in next post.

Humanworkflows in BPM - Post 5

In continuation with my earlier post, the second type of Human workflow pattern in Task execution is termed as Asynchronous task.

* Asynchronous task with inbox: A human participant interacts with a long running business process, where the subsequent task might be time consuming or require another human participant involvement e.g. any approval process. In this mode of interaction a human participant executes a task and subsequently gets the next set of tasks via an inbox/ task list.

While modeling a business process it should be possible to define task flow mode for individual human activities i.e. if the subsequent UI should be provisioned immediately or will the UI be provisioned at some later point of time in Inbox. Also If a Task is initially declared as Synchronous however a Human participant does not work on it immediately it should be moved to a Inbox (i.e. treated a asynchronous task after some given duration.)

Asynchronous task flows are used frequently to handle most of real life human workflows involving multiple human users, long running process and intermediate steps which are run as scheduled tasks or batch tasks.

Krishnendu Kunti

October 12, 2009

Human Workflows in BPM - Post 4

The second set of human workflows can be categorized as Task execution.

Task execution involves all kinds of interaction where a human participant interacts with a BPM system to execute a task; the first type the task execution is Synchronous task flow:

 * Synchronous task flow: A human participant interacts with a process using synchronous user   interface (for example interacting with a web based UI), where user submits a request and the system immediately provisions subsequent screen. This type of interaction is required when the same human participant interacts with process and performs a set of consecutive tasks e.g. creation of application for bank account opening. This sort of interaction to a similar to interacting with a portal except that the page provisioning and page flow is managed by a BPM engine in the background. In traditional way of creating synchronous workflows i.e. web applications; an application is responsible for state and data maintenance. Whereas in synchronous workflows implemented using BPM engine, the engine takes care of data and state maintenance.
 The following are the advantages of implementing synchronous workflows using BPM engines:
 - Capability to easily create/alter such workflows and usage of common platform to rapidly create/ deploy any synchronous workflow in standalone mode of in context of other application (e.g. creation of account workflow in a core banking solution)
 - Business users can create workflow applications without knowing anything about creation of page flows, data maintenance, session maintenance etc.

October 5, 2009

Human Workflows in BPM - Post 3

The first set of human workflow can be categorized under Process level tasks

Process level tasks are used by BPM system administrators and users either to manage a process life cycle related events or get visibility into the process.
 * Process Deployment and Undeployment: A human with required credentials interacts with  a process engine to either deploy or undeploy a process.

 * Process Staged Deployment: A human participant is given authority to deploy a process   in a BPM engine however the process is not available for execution unless it has been   approved by another human participant or a set of human participants. 

 * Process Administration: A human participant interacts with a process instance or a set  of process instances to manage run time administration tasks such as initiating a  process instance, monitoring process instances, terminating a process instance and  altering scheduling parameters.

 * Process Visibility: A human participant (administrator or business user) interacts  with a process to get information on the following:

  -The overall execution status of a process i.e. number of pending and executed     activities and their state.

  - All pending activities across multiple process instances for a human     participant and their dependent activities which are allocated to other human   participants.
  -All pending activities for a human participant and their impact on process SLA.
  All activities allocated to subordinate roles and their execution status.

 Though these set of activities may not constitute business interaction pattern, all the same these functions are often requested as a part of functional specifications in BPM projects.