Planet BPM

May 19, 2012

Tom Debevoise: On Bosch’s Connected World and the Internet of Things and Services

On Tuesday, May 22, at 13:30(est) I will be giving an interview on the Peggy Smedley Show. Peggy’s show is the leading radio voice on the topic of the connected world and she has conducted interviews with many notable industry leaders.

By way of introduction, I want to describe Bosch’s relationship with the Connected World or what we call the Internet of Things and Services (IoTS).

Whatever label you choose to describe this, there are certainly many amazing new products and services arising from this architecture built on our pervasive wireless network - especially Verizon’s LTE. These IoTS ‘things’ include edge and hub products that are designed, built and offered by Bosch. The pervasive, sensor-driven, networked environment has arisen from the phenomena I call ‘Moore’s law everywhere’. This includes:

  • Ubiquitous, low cost (<$3) microprocessors and radios often found in innocuous products and devices, (some, such as light fixtures and ordinary appliances are unexpected)
  • Accelerating deployment of wireless bandwidth especially LTE
  • Big Data

Again, this environment is spawning new products and new business models, many led by Bosch business units in the areas of security technology, telemedicine, renewable energy, and consumer products. Some business sectors, such as manufacturing and security, are leveraging the situational awareness potential. Other business sectors, including telemedicine, are using the efficiency and asset savings characteristics.

Since 2008, when Bosch acquired Innovations Software, we have been methodically creating IoTS solutions through a framework called the Internet Application Platform (IAP). At the core of the IAP is the robust, industry leading BPM platform inubit and the Visual Rules BRMS.  Bosch has great depth and experience in developing solutions for the IoTS and our IAP has already solved complex IoTS challenges. Now with these developments, we are moving into the era of what Forrester calls the Big Process and activities, information and decisions will be pushed to the “edge” - as close as possible to the customer and trading partner.

Yet, the IoTS is more than an interesting technological development or architecture. At the core, it is a set of solutions that are driven by global political, economic and social forces. A core value for Bosch is supporting the long-term viability of the communities we serve and we see the IoTS as a critical, global development for creating a more sustainable world. In many ways, IoTS solutions, via the Bosch Connected World, support the sustainability movement within business and government. The Bosch Connected World solutions span the important vertical domains of security, energy, environment, risk and finance. Briefly, here are the critical market drivers for these solutions:

  • Financial Strains: business and government investments in new infrastructure is limited and often there is inadequate maintenance and poor operations
  • Eroding Infrastructure: especially in the US there is an over-stressed electrical grid
  • Increasing security needs: in the US there is zero tolerance for acts of terror, this yields more complexity, more need for autonomous intelligent decisions, more situational awareness
  • Risk Management: there is an accelerated need to measure and control financial risk
  • Consumer Expectations: there is an emphasis on comfort, safety and security
  • Aging Demographics: this is not only true in the US but also Europe,  increasing health care needs within declining budgets

The bottom-line: the mandate is not only ‘do more with less’ it is ‘do much more with even less’. Surprisingly, despite being internet-based, the autonomous local controls are critical.

The Bosch Connected World IoTS solutions support the sustainability objectives of business and government. Connected World solutions span these domains:

  • Security, physical and information
  • Energy Solutions, including new building energy systems, grid solutions and renewable energy
  • Environment, water and air
  • Risk Management
  • Finance Controls and Integration

Conclusion

We have learned many unexpected lessons in developing solutions for the IoTS and we are constantly adding new depth and experience. We will be providing details on this in the coming weeks.

by Tom Debevoise at May 19, 2012 02:26 AM

May 18, 2012

Thomas Allweyer: Hammers Process Maturity Model – Schwaches Online Assessment Tool

Wer sich mit Reifegradmodellen für das Prozessmanagement beschäftigt, stößt neben dem EDEN-Modell zumeist auch auf das Process and Enterprise Maturity Model (PEMM) von Michael Hammer, das er 2007 in der Harvard Business Review vorstellte. Seine Firma bietet seit Kurzem ein Online Assessment-Tool zu diesem Reifegradmodell an. Wie dies so üblich ist, handelt es sich dabei um eine stark verkürzte Fassung des Originalfragebogens. Mit insgesamt 15 Fragen soll eine erste, grobe Einschätzung gewonnen werden. Meist gilt es, eine Aussage zu bewerten, sinngemäß z. B. “In unserer Firma gibt es eine durchgängige Prozessverantwortung für jeden Prozess”. Nun muss man entscheiden, ob diese Aussage zutrifft, oder ob das eigene Unternehmen besser oder schlechter ist. Auch “ich bin mir nicht sicher” wird als Antwortmöglichkeit angeboten.

Erst nachdem man alle Fragen beantwortet hat, wird einem eröffnet, dass man auch die grobe Übersichtsauswertung nur zu sehen bekommt, wenn man seine Daten eingibt. Als ich auch das getan hatte, kam die unerfreuliche Überraschung: Eine Auswertung sei nicht möglich, weil ich mindestens einmal “ich bin mir nicht sicher” angegeben hatte.
Wieso wird diese Antwortmöglichkeit dann überhaupt angeboten? Zwischenzeitlich habe ich es noch einmal probiert, diesmal ohne mir irgendwelche Unsicherheiten zu leisten. Bislang warte ich noch auf die angekündigte E-Mail mit dem Link zur Auswertung.

Damit stellt sich die Firma Hammer und Company eine ganz schlechte Visitenkarte aus. Es ist wohl jedem klar, dass es sich bei einem solchen Online-Tool um ein Marketinginstrument handelt, mit dem man Kontakt zu potentiellen Kunden aufbauen möchte. Ich würde aber erstens erwarten, dass man es vorher gesagt bekommt, wenn man seine Kontaktdaten angeben muss. Zweitens sollte das Ganze auch für alle Antwortmöglichkeiten funktionieren. Ich hätte es mir ja gefallen lassen, wenn bei der dritten “unsicher”-Antwort ein Hinweis eingeblendet würde, dass zu viele dieser Antworten keine sinnvolle Auswertung mehr erlauben. Dazu gehört dann noch ein “zurück”-Button, damit man die Antworten noch ändern kann. Und drittens hat der Internet-Nutzer keine Lust, stundenlang auf die Mail mit der Auswertung zu warten.

Wer sich für das PEMM interessiert, sollte lieber auf den Original-Artikel von Michael Hammer zurückgreifen. Zwar ist der Artikel selbst kostenpflichtig, doch die Kriterienkataloge können kostenlos heruntergeladen werden.

by Thomas Allweyer at May 18, 2012 01:31 PM

May 15, 2012

Drools & JBPM: IRC Server Change - from Codehaus to Freenode

Drools, jBPM and Guvnor are moving from codehaus IRC servers to Freenode. You can now find us on the following channels on irc://chat.freenode.net:6667
#drools
#droolsdev
#jbpm
#jbpmdev
#guvnor
#guvnordev

freenode also maintains a web interface:
http://webchat.freenode.net/

by Mark Proctor (noreply@blogger.com) at May 15, 2012 10:49 AM

May 14, 2012

BPinPM.net: Invitation to check the process management fitness of our organization’s culture

Have you ever thought about the fitness of your organizational culture with regards to business process management?

A few weeks ago, I received an invitation via Xing to participate in an online survey developed by process management experts of University of Liechtenstein and Queensland University of Technology. The tool analyzes the organizational culture and presents the results in an individual report at the end of the survey.

It took me about 15 minutes to fill out the questionnaire and while I was answering the questions, I already thought that the study exactly fits to a number of questions we are discussing at Lufthansa Technik at the moment. To dig deeper into this topic, I decided to contact the author to learn more about the theory behind the tool.

Within a few days, a conference call with Prof. Dr. Jan vom Brocke and Theresa Schmiedel from University of Liechtenstein was organized and I learned more about the development of the questionnaire. It is based on a series of studies that they conducted over several years involving major thought leaders around the globe from academia and practice who are highly experienced in business process management. The tool covers a broad range of cultural aspects with regards to process management and it helps to develop measures for strengthening the cultural process management fitness of an organization.

To perform a more detailed analysis of Lufthansa Technik’s cultural fitness, we agreed upon performing a customized survey for our company in the context of a process management project. This survey is currently running and I am very curious about the results and the measures we will be able to develop based on the results of the analysis.

If you are interested in an analysis of your organization’s cultural fitness for process management, I can recommend investing 15 minutes of your time to participate in the survey: http://bpm-culture.org

As I already said, the tool will present your individual results at the end of the survey and you have the opportunity to additionally receive an individual benchmarking of your results later on.

The tool can be used free of charge during the research period until approximately end of June.

Best regards,
Mirko

Related posts:

  1. Bring process management experts together and share best practices!
  2. Summary of results of Best Practice in Process Management survey
  3. Video and slides of Best Practice in Process Management survey results

by Mirko at May 14, 2012 09:37 PM

BPM+ (Martin Wieschollek): BPMRR – Geht BPM auch ohne N

Ich freue mich sehr, dass sich einige entschlossenen BPM Verfechter zusammengeschlossen haben um nach dem Berliner Vorbild eine BPM Offensive an Rhein und Ruhr ins Leben zu rufen. Nachdem ich die erste Veranstaltung leider verpasst habe, da ich auf dem Weg nach Dortmund im Stau stand, konnte ich glücklicherweise an der zweiten Veranstaltung in Leverkusen [...]

May 14, 2012 07:27 PM

Drools & JBPM: Drools 5.4.0.Final released

We are happy to announce the release of Drools (Expert, Fusion, Planner, Guvnor) 5.4.0.Final. jBPM 5.3.0 announcement will follow shortly and the link will be added when it does.

Documentation, Release Notes and Downloads are detailed below:
Try it out and give us some feed-back (user list, issue tracker).

Some new online videos, make sure you change youtube setting to 720:

Build Pong in 13 Minutes
http://www.youtube.com/watch?v=Omj4PR3v-nI

Build a Graphical Adventure in 20 Minutes:
http://www.youtube.com/watch?v=4CvjKqUOEzM

Guided Decision Tables
http://vimeo.com/35472874

Importing Excel Decision Tables
http://vimeo.com/37033081http://vimeo.com/37033081


by Toni Rikkola (noreply@blogger.com) at May 14, 2012 07:27 PM

Keith Swenson: Production Case Management vs. Adaptive Case Management

While scanning discussions of Case Management, I am seeing two distinct approaches.  Those familiar with this blog already know of Adaptive Case Management (ACM).  However, there is a different approach which meets an entirely different need.  I call that approach Production Case Management (PCM) and let me explain the difference.

PCM In A Nutshell

Production Case Management (PCM) is programmed by specially trained technical people (programmers) to produce a case management application.  That application is deployed for use by knowledge workers to get their work done.  The application offers collections of operations that the knowledge worker can decide to use or not use depending on the specifics of the case.

A PCM application is used when there is a certain amount of unpredictability in the work, but still a large enough volume to make identifying and codifying regular patterns.  A workers who use a PCM application is less in control of their work patterns which are defined centrally.  Thus a worker using PCM will be involved in the outcome of a particular case, but not completely responsible for the ways that the case can evolve.

Four styles of BPM technology arranged by ability to handle upredictability and responsibility

The PCM application does not have a strong process orientation that a Human Process Management (HPM) system or Process Driven Server Integration (PDSI) system would have.  (See Seven Categories to Replace BPM)  A PCM application might have a set of high level states which the case can transition through, and each state can offer differing sets of options to the knowledge worker.  So a case can be seen as being progressed through a set of states, but those states are more used as a description of the status, and less as a definition of what operations must be done.

Because the PCM application is developed by programmers, it can makes use of more traditional mechanisms for data integration:  structured information can be read from some sources, transformed, and written to other destinations.  The sources and destinations can be web services or applications with an API.  Like a typical development model, once the application is coded, the design rationale behind a particular transformation is not included in the final produced code, because it is not needed.

Usage

PCM is used when the number of knowledge workers doing the same job is large, and the domain relatively well known, but the process is not entirely predictable.

You might use PCM for telephone system or cable TV repairmen.  These people need to visit the site, determine what the problem is, and then prescribe a resolution from a menu of well known operations.  It is hard to represent what these people do as a traditional HPM process because it is not predictable enough for a defined process.  The process unfolds at run time because the first resolution might not work, and that tells the repairman more about the situation, and possible leading to further action.  Yet at the same time the repairman is not in a position to invent entirely new procedures.  The phone/TV system is big and complex, and therefor the repairman’s options are necessarily restricted to those operations that are well known not to cause a problem with the operation of the system.

There are a lot of service businesses which can make use of PCM.  For example auto service: the car is brought in, there are a set of things to examine, there are decisions about what to repair or replace, and the are states of the process which, with any luck, end with the car being ready to be driven home.

The situation where PCM is most useful when the number of nearly identical offices is large, and the knowledge worker is a professional but not necessarily an owner of the process, and the process itself is not predictable enough to specify in advance.

Compare and Contrast

The biggest distinction between PCM and ACM is that PCM is not adaptive, and this can be see by three factors:

  • The programmers uses formalism such as modeling or programming to put the application together
  • It uses a standard application development lifecycle: the application is constructed, then tested, then deployed to non-programmers
  • After deployment there is no ability to alter the structure of the application

There are some strong similarities:

  • At run time the most important concept is that of a “case” which is primarily a folder to collect all the information around the case, accepting essentially any format of document
  • Knowledge workers use their own expertise to control of the advancement of the case from state to state even though the states themselves are relatively fixed
  • The resulting case file represents a system of record for the work that was done.

ACM is used for what I would call true knowledge workers: inventors, creative people, executives, managers, innovators, entrepreneurs, doctors, lawyers, etc.  These are people who really do need to decide their course of action every day, and the course of action might be to things that have never been done before.  A board of directors does not have a menu of options to pick from when it comes to actions to take.  Someone responsible for the merger of two companies will not have a system with all possible actions pre-programmed. A doctor responsible for the survival of a patient may prescribe radical and untested treatment if it seems like the only option.

PCM is for situations where the number of workers is high, and yet the course of action on a given case is not highly predictable.   The number of knowledge workers needs to be high so that the cost of developing a dedicated application can be justified.  Also, those knowledge workers are less responsible for the work.  For example, while a Doctor might be in a position to prescribe a radical treatment, there are many other who work in a health care facility who should not have that flexibility.  The routine care of a patient may still too unpredictable for a fixed process, may still require the judgement of a nurse or clinician, and still the options available may be restricted to a set of known actions.

As you see, PCM sits squarely at a mid-point between HPM and ACM.  It is developed and has a life cycle like HPM, it is deployed to potentially a large number of people in identical positions, and the cost of development is recouped from a small increment in efficiency across a large number of people.  At the same time the work being done is unpredictable like ACM, and depends upon the judgement of the workers who leverage their expertise in that particular domain.

Reflection

Two approaches to knowledge work implies that there are two kinds of knowledge worker distinguished by “responsibility.”

  • knowledge worker for hire – someone is trained in a specific field, and learns to be an expert, but has little or no ownership of the overall process.  A car mechanic must make accurate suggestions on how to repair the car, but does not take responsibility for the business, and must work within the constraints set by others.
  • knowledge worker with responsibility - someone who can plan and be responsible for the course of events.  This is the knowledge worker defined by Peter Drucker as “knowing more about their job than anyone else in the organization.”  These are the workers who handle the wicked problems and have to think outside of the box.

I am sure there are many more distinctions between types of workers, but for now this seems to be a determinant for whether you use PCM or ACM.


by kswenson at May 14, 2012 07:17 PM

Thomas Allweyer: Agile Methoden – auch außerhalb der IT? Umfrage der FH Koblenz

In der neuesten Umfrage des BPM-Labors an der FH Koblenz untersucht Kollege Komus, wie weit die heiß diskutierten agilen Ansätze in der Praxis tatsächlich verbreitet sind. Aus der IT-Entwicklung sind Scrum & Co kaum noch wegzudenken, doch mittlerweile werden sie auch in anderen Bereichen eingesetzt, z. B. Produktentwicklung oder Projektmanagement. Die Studie soll nicht nur Erkenntnisse über den Status Quo sammeln, sondern insbesondere auch den konkreten Nutzen agiler Methoden hinterfragen.

Die Teilnahme an der Umfrage ist über folgenden Link möglich: http://www.status-quo-agile.de/.

by Thomas Allweyer at May 14, 2012 07:10 PM

May 13, 2012

Drools & JBPM: Pimp my Benchmark Report


For Planner 5.5.0.Beta1, the benchmark statistics report has been "pimped". It's now prettier and flashier. It also easier to navigate and contains more functionality (for example, the solver configuration is easy to copy-paste). Just take a look:
 
View Benchmark Report (cloud balance example)

Feed-back and pull-requests to improve it further are welcome :)

Screenshots


...


...


by Geoffrey De Smet (noreply@blogger.com) at May 13, 2012 03:18 PM

May 11, 2012

Saperion.com (BPM related posts): Nachlese zur 2. Veranstaltung der BPM Offensive Rhein.Ruhr

Am Mittwoch dieser Woche fand die zweite Veranstaltung der BPMRR – BPM Offensive Rhein.Ruhr  -, dieses Mal gesponsert von SAPERION, statt. Sie hatte es sich zum Ziel gesetzt, den Status Quo des Prozessmodellierungsstandards BPMN 2.0 zu beleuchten. Wie bereits angekündigt, wurde nach der Premiere im “Pott” nun das Rheinland, stellvertretend hierfür dieses Mal Leverkusen, als [...]

by Dr. Martin Bartonitz at May 11, 2012 11:26 PM

Thomas Allweyer: Signavio: Kostenloses Modellierungstool für Berater

Für selbständige Berater, die Prozesse modellieren wollen, gibt es zumeist zwei Optionen: Entweder man benutzt das vom Kunden vorgegebene Werkzeug, oder man verwendet ein rein grafisch orientiertes Werkzeug wie Microsoft Visio. Die Lizenz für eine leistungsfähige Modellierungsplattform ist oftmals recht teuer. Falls ein Kunde nicht gerade dasselbe Werkzeug einsetzt, ist der Nutzen für diesen auch beschränkt. Dennoch haben insbesondere kleinere Unternehmen oftmals noch kein spezifisches Tool im Einsatz und sind durchaus bereit, eine vom Berater vorgeschlagenes Software einzusetzen, wenn sich die Kosten im Rahmen halten.

In solchen Fällen dürfte das Angebot von Signavio für kleinere Beratungsfirmen gerade recht kommen: Wer sich bei dem Anbieter des Cloud-basierten Process Editors als Consulting Partner registriert, erhält eine kostenlose Lizenz, die er auch in Kundenprojekten einsetzen kann. Auch wenn die Kunden selbst keine Signavio-Lizenzen besitzen, kann der Berater ihnen die Modelle über die Kollaborationsplattform zugänglich machen und zum Kommentieren freigeben.

Natürlich ist das Angebot von Signavio nicht uneigennützig. Man hofft, dass die Kunden Gefallen an Signavio finden und Lizenzen erwerben, um ihre Prozessmodelle selbst bearbeiten und weiterentwickeln zu können. Dank des Mietmodells sind hierfür keine Anfangsinvestitionen zu tätigen, sondern nur monatliche Gebühren zu entrichten. Ein Provisionsmodell soll die Berater zusätzlich motivieren, ihre Kunden von der Modellierungsplattform zu überzeugen.

Wenn die Rechnung aufgeht, könnte Signavio bald über ein großes Partnernetzwerk selbständiger Berater verfügen. Aber vielleicht macht das Beispiel ja Schule, und andere Hersteller bieten ebenfalls solche kostenlosen Berater-Lizenzen an. Die Berater wird es freuen. Und wenn es dazu führt, dass mehr Unternehmen integrierte Dokumentationen ihrer Prozesslandschaften aufbauen, ist diese Entwicklung auf jeden Fall zu begrüßen. Denn reine Prozessgrafiken sind keine ausreichende Grundlage für ein kontinuierliches Prozessmanagement.

by Thomas Allweyer at May 11, 2012 03:40 PM

Drools & JBPM: Build Pong in 13 minutes using JBoss Drools

After the success of "Build a Graphical Adventure Game in 20 minutes using JBoss Drools : All Hail the Wumpus", http://www.youtube.com/watch?v=4CvjKqUOEzM, I had requests for a simpler game that moved at a slightly slower pace. Enter stage "Build Pong in 13 minutes using JBoss Drools", http://www.youtube.com/watch?v=Omj4PR3v-nI.



by Mark Proctor (noreply@blogger.com) at May 11, 2012 03:00 PM

May 09, 2012

BPinPM.net: Expert Networking: Join the BPinPM.net groups on Xing and LinkedIn

To facilitate networking of process management experts from all around the world, we have created BPinPM.net groups on the business community websites Xing and LinkedIn.

Within these groups you will have the possibility to get in contact with other process management experts, ask questions, and share your experience.

In addition, we will publish special offers to the group members from time to time. :-)

To join one of the groups, please click here for direct access:
- BPinPM.net on Xing (German)
- BPinPM.net on LinkedIn (English)

PS: End of May, we will draw lots for three little thank-you presents under all group members who recruit further members for one of the groups on Xing or LinkedIn!

Related posts:

  1. BPinPM.net is ready for take off!
  2. BPinPM.net Conference – Save the date!

by Mirko at May 09, 2012 10:29 PM

Drools & JBPM: Drools 5.4: Artificial Intelligence, A Little History

If you like the article, please vote up ad dzone:
http://www.dzone.com/links/r/drools_54_artificial_intelligence_a_little_history.html

As part of the 5.4 release, going out the door as we speak, I updated the intro docs. I have tried to give a wider understanding of the field and scope of work. Here is a copy. I'll try and improve the sections over future releases, I ran out of time and the later sections are little rushed and thin. I'm not the best of writers, so please have patience, all contributions welcome :)

A Little History

Over the last few decades artificial intelligence (AI) became an unpopular term, with the well know "AI Winter". There were large boasts from scientists and engineers looking for funding, that never lived up to expectations along with many failed projects. Thinking Machines Corporation and the 5th Generation Computer (5GP) project probably exemplify best the problems at the time.

Thinking Machines Corporation was one of the leading AI firms in 1990, it had sales of nearly $65 million. Here is quote from it's brochure:
Some day we will build a thinking machine. It will be a truly intelligent machine. One that can see and hear and speak. A machine that will be proud of us.

Yet 5 years later it filed for Chapter 11. inc.com has a fascinating article titled "The Rise and Fall of Thinking Machines". The article covers the growth of the industry and how a cosy relationship with Thinking Machines and DARPA over heated the market, to the point of collapse. It explains how and why commerce moved away from AI and towards more practical number crunching super computers.

The 5th Generation Computer project was a 400mill USD project in Japan to build a next generation computer. Valves was first, transistors was second, integrated circuits was third and finally microprocessors was fourth. This project spurred an "arms" race with the UK and USA, that caused much of the AI bubble. The 5GP would provide massive multi-cpu parallel processing hardware along with powerful knowledge representation and reasoning software via Prolog; a type of expert system. By 1992 the project was considered a failure and cancelled. It was the largest and most visible commercial venture for Prolog, and many of the failures are pinned on the problems trying to run a logic based programming language concurrently on multi cpu hardware with effective results. Some believe that the failure of the 5GP project tainted Prolog and resigned it academia, see "Whatever Happened to Prolog" by John C. Dvorak.

However while research funding dried up and the term AI became less used, many green shoots where planted and continued more quietly under discipline specific names: cognitive systems, machine learning, intelligent systems, knowledge representation and reasoning. Offshoots of these then made their way into commercial systems, such as expert systems in the Business Rules Management System (BRMS) market.

Imperative, system based languages, languages such as C, C++, Java and .Net have dominated the last 20 years. Enabled by the practicality of the languages and ability to run with good performance on commodity hardware. However many believe there is renaissance undergoing in the field of AI, spurred by advances in hardware capabilities and AI research. In 2005 Heather Havenstein authored "Spring comes to AI winter" which outlines a case for this resurgence, which she refers to as a spring. Norvig and Russel dedicate several pages to what factors allowed the industry to over come it's problems and the research that came about as a result:

Recent years have seen a revolution in both the content and the methodology of work in artificial intelligence. It is now more common to build on existing theories than to propose brand-new ones, to base claims on rigorous theorems or hard experimental evidence rather than on intuition, and to show relevance to real-world applications rather than toy examples.” (Artificial Intelligence : A Modern Approach.)

Computer vision, neural networks, machine learning and knowledge representation and reasoning (KRR) have made great strides in become practical in commercial environments. For example vision based systems can now fully map out and navigate their environments with strong recognition skills, as a result we now have self driving cars about to enter the commercial market. Ontological research, based around description logic, has provided very rich semantics to represent our world. Algorithms such as the tableaux algorithm have made it possible to effectively use those rich semantics in large complex ontologies. Early KRR systems, like Prolog in 5GP, were dogged by the limited semantic capabilities and memory restrictions on the size of those ontologies.

Knowledge Representation and Reasoning

In A Little History talks about AI as a broader subject and touches on Knowledge Representation and Reasoning (KRR) and also Expert Systems, I'll come back to Expert Systems later.
KRR is about how we represent our knowledge in symbolic form, i.e. how we describe something. Reasoning is about how we go about the act of thinking using this knowledge. System based languages, like Java or C+, have classification systems, called Classes, to be able to describe things, in Java we calls these things beans or instances. However those classification systems are limited to ensure computational efficiency. Over the years researchers have developed increasingly sophisticated ways to represent our world, many of you may already have heard of OWL (Web Ontology Language). Although there is always a gap between what we can be theoretically represented and what can be used computationally in practically timely manner, which is why OWL has different sub languages from Lite to Full. It is not believed that any reasoning system can support OWL Full. Although Each year algorithmic advances try and narrow that gap and improve expressiveness available to reasoning engines.

There are also many approaches to how these systems go about thinking. You may have heard of discussions comparing the merits of forward chaining, which is reactive and data driven, or backward chaining, which is passive and query driven. Many other types of reasoning techniques exists, each of which enlarges the scope of the problems we can tackle declaratively. To list just a few: imperfect reasoning (fuzzy logic, certainty factors), defeasible logic, belief systems, temporal reasoning and correlation. Don't worry if some of those words look alien to you, they aren't needed to understand Drools and are just there to give an idea of the range of scope of research topics; which is actually far more extensive than this small list and continues to grow as researches push new boundaries.

KRR is often refereed as the core of Artificial Intelligence Even when using biological approaches like neural networks, which model the brain and are more about pattern recognition than thinking, they still build on KRR theory. My first endeavours with Drools were engineering oriented, as I had no formal training or understanding of KRR. Learning KRR has allowed me to get a much wider theoretical background. Allowing me to better understand both what I've done and where I'm going, as it underpins nearly all of the theoretical side to our Drools R&D. It really is a vast and fascinating subject that will pay dividends for those that take the time learn, I know it did and still does for me. Bracham and Levesque have written a seminal piece of work, called "Knowledge Representation and Reasoning" that for anyone wanting to build strong foundations is a must read. I would also recommend the Russel and Norvig book "Artificial Intelligence, a modern approach" which also covers KRR.

Rule Engines and Production Rule Systems

We've now covered a brief history of AI and learnt that the core of AI is formed around KRR. We've shown than KRR is vast and fascinating subject which forms the bulk of the theory driving Drools R&D.
The rule engine is the computer program that delivers KRR functionality to the developer. At a high level it has three components:
  • Ontology
  • Rules
  • Data
As previous mentioned the ontology is the representation model we use for our "things". It could be a simple records or Java classes or full blown OWL based ontologies. The Rules do the reasoning and facilitate thinking. The distinction between rules and ontologies blurs a little with OWL based ontologies, who's richness is rule based.

The term rule engine is quite ambiguous in that it can be any system that uses rules, in any form, that can be applied to data to produce outcomes. This includes simple systems like form validation and dynamic expression engines. The book "How to Build a Business Rules Engine (2004)" by Malcolm Chisholm exemplifies this ambiguity. The book is actually about how to build and alter a database schema to hold validation rules. The book then shows how to generate VB code from those validation rules to validate data entry. Which while very valid, it is very different to what we talking about so far.

Drools started life as a specific type of rule engine called a production rule system (PRS) and was based around the Rete algorithm. The Rete algorithm, developed by Charles Forgey in 1979, forms the brain of a Production Rules System and is able to scale to a large number of rules and facts. A Production Rule is a two-part structure: the engine matches facts and data against Production Rules - also called Productions or just Rules - to infer conclusions which result in actions.
when
    <conditions>
then
    <actions>;
The process of matching the new or existing facts against Production Rules is called pattern matching, which is performed by the inference engine. Actions execute in response to changes in data, like a database trigger; we say this is a data driven approach to reasoning. The actions themselves can change data, which in turn could match against other rules causing them to fire; this is referred to asforward chaining

Drools implements and extends the Rete algorithm;. The Drools Rete implementation is called ReteOO, signifying that Drools has an enhanced and optimized implementation of the Rete algorithm for object oriented systems. Our more recent work goes well beyond Rete. Other Rete based engines also have marketing terms for their proprietary enhancements to Rete, like RetePlus and Rete III. Th e most common enhancements are covered in "Production Matching for Large Learning Systems (Rete/UL)" (1995) by Robert B. Doorenbos. Leaps used to be provided but was retired as it became unmaintained, the good news is our research is close to producing an algorithm that merges the benefits of Leaps with Rete.

The Rules are stored in the Production Memory and the facts that the Inference Engine matches against are kept in the Working Memory. Facts are asserted into the Working Memory where they may then be modified or retracted. A system with a large number of rules and facts may result in many rules being true for the same fact assertion; these rules are said to be in conflict. The Agenda manages the execution order of these conflicting rules using a Conflict Resolution strategy.

Hybrid Reasoning Systems

You may have read discussions comparing the merits of forward chaining (reactive and data driven) or backward chaining(passive query). Here is a quick explanation of these two main types of reasoning.

Forward chaining is "data-driven" and thus reactionary, with facts being asserted into working memory, which results in one or more rules being concurrently true and scheduled for execution by the Agenda. In short, we start with a fact, it propagates and we end in a conclusion.

Backward chaining is "goal-driven", meaning that we start with a conclusion which the engine tries to satisfy. If it can't it then searches for conclusions that it can satisfy; these are known as subgoals, that will help satisfy some unknown part of the current goal. It continues this process until either the initial conclusion is proven or there are no more subgoals. Prolog is an example of a Backward Chaining engine. Drools can also do backward chaining, which we refer to as derivation queries.

Historically you would have to make a choice between systems like OPS5 (forward) or Prolog (backward). Now many modern systems provide both types of reasoning capabilities. There are also many other types of reasoning techniques, each of which enlarges the scope of the problems we can tackle declaratively. To list just a few: imperfect reasoning (fuzzy logic, certainty factors), defeasible logic, belief systems, temporal reasoning and correlation. Modern systems are merging these capabilities, and others not listed, to create hybrid reasoning systems (HRS).

While Drools started out as a PRS, 5.x introduced Prolog style backward chaining reasoning as well as some functional programming styles. For this reason HRS is now the preferred term when referring to Drools, and what it is.

Drools current provides crisp reasoning, but imperfect reasoning is almost ready. Initially this will be imperfect reasoning with fuzzy logic, later we'll add support for other types of uncertainty. Work is also under way to bring OWL based ontological reasoning, which will integrate with our traits system. We also continue to improve our functional programming capabilities.

Expert Systems  

You will often hear the terms expert systems used to refer to production rule systems or Prolog like systems. While this is normally acceptable, it's technically wrong as these are frameworks to build expert systems with, and not actually expert systems themselves. It becomes an expert system once there is an ontological model to represent the domain and there are facilities for knowledge acquisition and explanation.

Mycin is the most famous expert system, built during the 70s. It is still heavily covered in academic literature, such as the recommended book "Expert Systems" by Peter Jackson.

Recommended Reading

General AI, KRR and Expert System Books

For those wanting to get a strong theoretical background in KRR and expert systems, I'd strongly recommend the following books. "Artificial Intelligence: A Modern Approach" is must have, for anyone's bookshelf.
  • Introduction to Expert Systems
    • Peter Jackson
  • Expert Systems: Principles and Programming
    • Joseph C. Giarratano, Gary D. Riley
  • Knowledge Representation and Reasoning
    • Ronald J. Brachman, Hector J. Levesque
  • Artificial Intelligence : A Modern Approach.
    • Stuart Russell and Peter Norvig

Papers

Here are some recommended papers that cover some interesting areas in rule engine research.
  • Production Matching for Large Learning Systems : Rete/UL (1993)
    • Robert B. Doorenbos
  • Advances In Rete Pattern Matching
    • Marshall Schor, Timothy P. Daly, Ho Soo Lee, Beth R. Tibbitts (AAAI 1986)
  • Collection-Oriented Match
    • Anurag Acharya and Milind Tambe (1993)
  • The Leaps Algorithm (1990)
    • Don Battery
  • Gator: An Optimized Discrimination Network for Active Database Rule Condition Testing (1993)
    • Eric Hanson , Mohammed S. Hasan

Drools Books

There are currently three Drools books, all from Packt Publishing.
  • JBoss Drools Business Rules
    • Paul Brown
  • Drools JBoss Rules 5.0 Developers Guide
    • Michali Bali
  • Drools Developer's Cookbook
    • Lucas Amador


If you like the article, please vote up ad dzone:
http://www.dzone.com/links/r/drools_54_artificial_intelligence_a_little_history.html

by Mark Proctor (noreply@blogger.com) at May 09, 2012 01:30 AM

May 08, 2012

Sandy Kemsley: Document Capture to Process

The second half of the morning at ISIS Papyrus was a pair of sessions on document output and document input, or as the session titles put it, “unified print, web and mobile output management” and...

[Content summary only, click through for full article and links]

by Sandy Kemsley at May 08, 2012 10:45 AM

Sandy Kemsley: ISIS Papyrus Adaptive Case Management

ISIS Papyrus defines (and implements) ACM as the full range (dare I say, a spectrum?) from straight through processes through dynamic processes to completely unstructured process driven by ad hoc...

[Content summary only, click through for full article and links]

by Sandy Kemsley at May 08, 2012 09:01 AM

Sandy Kemsley: Mobile, Social And Integration With The Papyrus Platform

Day 1 of the ISIS Papyrus open house was more about their capture, document processing and correspondence generation, which is what many of their customers are using. Today, the focus is more on...

[Content summary only, click through for full article and links]

by Sandy Kemsley at May 08, 2012 07:44 AM

May 07, 2012

Sandy Kemsley: Personalized Electronic Statements at China Trust Commercial Bank

We’re running 30 minutes late and it’s right before lunch, but everyone is sticking around to hear Ignatius Chang, EVP at China Trust Commercial Bank, talk about their initiative for statement...

[Content summary only, click through for full article and links]

by Sandy Kemsley at May 07, 2012 11:12 AM

Sandy Kemsley: Integrating Inbound and Outbound Correspondence

In the previous session, we heard a lot about the ISIS Papyrus correspondence generation capabilities, but it’s important to look at response management, that is, closing the loop with inbound and...

[Content summary only, click through for full article and links]

by Sandy Kemsley at May 07, 2012 10:48 AM

Sandy Kemsley: Business Communication Platform for Correspondence Generation

Annemarie Pucher, CEO of ISIS Papyrus, discussed having a business communication platform for handling personalized content. Rather than having multiple systems that deal with content – ingestion,...

[Content summary only, click through for full article and links]

by Sandy Kemsley at May 07, 2012 10:09 AM

Sandy Kemsley: Focus on Customer Experience with @maxjpucher

Another week, another conference. Instead of 9,500 people in Las Vegas at IBM Impact, however, this week I’m amongst a group of about 200 in the outskirts of Vienna for the ISIS Papyrus open house...

[Content summary only, click through for full article and links]

by Sandy Kemsley at May 07, 2012 09:38 AM

May 04, 2012

Drools & JBPM: Parallel benchmarking in Planner

For Drools Planner 5.5.0.Beta1, the Benchmarker will support multi-threading benchmarking, thanks to a pull request of Lukáš Petrovický 2 weekends ago.

Basically, if you a have quad core computer, your benchmarks now take half the time, with little loss of accuracy. If you have an 8 core computer, it only needs one forth of the time now.

The benchmarker also handles benchmark failures gracefully now. There's nothing fun about waiting 8 hours for a benchmarker, just to find out there are no results because one of them failed. So even if one benchmark failed, the benchmarker now reports the other non-failing benchmarks.

How to use

Parallel benchmarking needs to be explicitly turned on. By default, it's off. Here's how you turn it on:
<plannerBenchmark>
  ...
  <parallelBenchmarkCount>AUTO</parallelBenchmarkCount>
  ...
</plannerBenchmark>
AUTO will automatically pick the best value based on the number of available processors on your machine. On a quad core, it will use 2 cores. This way, there are 2 cores left for the OS, JVM garbage collection, ... so the benchmarks aren't disrupted and their results are reasonably accurate.

Alternatively, you can also specify the number of processors to use (statically or through a formula based on the availableProcessorCount).

Results

So how accurate are the benchmarks if we parallelize them to do more in less time?

Here are the results of the nurse rostering medium benchmark config, which runs 3 solver configurations on 4 datasets for 700 seconds each, compared between:
  1. Not parallel: parallelBenchmarkCount 1. Took over 2 hours.
  2. Parallel: parallelBenchmarkCount 2. Took only over 1 hour: twice as fast.
The hardware is a linux computer with 4 Intel Xeon 3Ghz CPU's.

Summary

Notice how the tabuSearch results (red and blue) are nearly identical between the parallel and non-parallel benchmark.
The simulated annealing results differ greatly (because small difference in the timeGradient can greatly impact the path of simulated annealing), but they don't consistently favor either benchmarker configurations.

With parallelBenchmarkCount 1 (on quad core)
With parallelBenchmarkCount 2 (on quad core)

Dataset medium_hint01

This proves that the Tabu Search implementations act pretty much the same in the 2 benchmarker configs.
The Simulated Annealing implementations act differently, due to a single or multiple timeGradient differences sending it a totally different direction. Note that running the same simulated annealing benchmark without parallelization twice, could even suffer from that timeGradient effect.
With parallelBenchmarkCount 1 (on quad core)
With parallelBenchmarkCount 2 (on quad core)

Dataset medium02

Again we see that Tabu Search acts pretty much the same way. And again Simulated Annealing acts differently, but comes to a similar result with and without parallelization.
With parallelBenchmarkCount 1 (on quad core)

With parallelBenchmarkCount 2 (on quad core)

Conclusion

Should we turn on parallel benchmarking? Yes. Even with simulated annealing we get reliable, representative results in half the time (on a quad core machine).

These changes lay the ground work for multi-machine benchmarking in the future (for example in the cloud), because the new SingleBenchmark class is a single benchmark task that can be offloaded to other machines.

by Geoffrey De Smet (noreply@blogger.com) at May 04, 2012 01:27 PM

May 02, 2012

Sandy Kemsley: The Future Of BPM

I was on a panel yesterday afternoon on the future of BPM with Phil Gilbert of IBM and Derek Miers of Forrester, where we ranged across topics from BPM programs to achieving process maturity to the...

[Content summary only, click through for full article and links]

by Sandy Kemsley at May 02, 2012 06:16 PM

BPM+ (Martin Wieschollek): Management – Was steckt dahinter?

Um mal wieder ein wenig über den Tellerrand des BPM hinaus zu schauen, wollte ich mir einen Überblick zum Thema Management verschaffen. Wenn ich schon Prozessmodelle für das Management modelliere und beratend zur Seite stehe möchte ich auch das Management (unabhängig von einzelnen Personen) näher kennenlernen. Im Buch „Management“ von Ulrich Sailer (Schäffer-Poeschel Verlag) habe [...]

May 02, 2012 01:27 PM

Bruce Silver: BPM at IBM Impact

BPM took center stage on Day 2 of IBM Impact, which used to be a SOA/BPM event but somehow seems to have morphed into a cloud/social/mobile/collaboration event.  Wait, isn’t that Lotusphere?  It was sometimes hard to tell.  The key BPM feature touted on Day 1 – identifying other process experts at runtime and contacting them [...]


May 02, 2012 01:27 AM

May 01, 2012

Drools & JBPM: Guvnor: Consistency comes to the Guided Rule Editor

The Guided Rule Editor in Guvnor has suffered, for a long time, from an inconsistency between how the left-hand side (WHEN) is authored compared to how the right-hand side (THEN) is authored.

5.5.0.Beta1 now brings consistency to the way both parts of a rule is authored. Gone is the need for multiple clicks to edit a literal value in the left-hand side. Furthermore the date selector has been refreshed to be consistent with both Rule Templates and Decision Tables.



Small steps but a welcome change.

by Michael Anstis (noreply@blogger.com) at May 01, 2012 08:07 PM

Sandy Kemsley: IBM Impact Day 2: Engage. Extend. Succeed.

Phil Gilbert spoke at the main tent session this morning, summarizing how they announced IBM BPM as a unified offering at last year’s Impact, and since then they’ve combined Business Events and ILOG...

[Content summary only, click through for full article and links]

by Sandy Kemsley at May 01, 2012 06:06 PM

BPinPM.net: BPinPM.net Conference – Save the date!

Our plans become more and more specific and I am proud to announce the date of the BPinPM.net Conference for German-speaking process management experts.

The conference will take place on September 21, 2012 in Lufthansa Training & Conference Center in Seeheim in the area of Frankfurt.

Target of the conference is to bring German-speaking process management experts together to introduce the results of our Best Practice in Process Management workshops, to present examples from organizations that participated in the workshops, and – most important – to facilitate networking for further exchange of knowledge.

Process management experts from Astrium Space Transportation, Cassidian, DFS Deutsche Flugsicherung, Endress & Hauser, and Lufthansa Technik will present their practices in the area of process modeling, requirement management, organization-wide defined process model, process management roles as well as process training and communication.

At the moment, we are clarifying the last organizational questions and we will open up the ticketing process as soon as possible. Please block the date in your calendar and subscribe to our newsletter to receive an information as soon as the registration is available.

We look forward meeting you in Seeheim!

Best regards,
Mirko

Related posts:

  1. BPinPM.net is ready for take off!
  2. Organization-wide defined Process Model – Best Practice Workshop (Video + Slides)
  3. Bring process management experts together and share best practices!

by Mirko at May 01, 2012 07:36 AM

April 30, 2012

Sandy Kemsley: IBM Vision for BPM, ODM and SOA

Opening day at IBM Impact 2012 (there were some sessions yesterday, but today is the real start), and a good keynote focused on innovation. The wifi is appalling – if IBM can’t get this right with...

[Content summary only, click through for full article and links]

by Sandy Kemsley at April 30, 2012 11:39 PM

April 26, 2012

Drools & JBPM: Drools&jBPM Drop in Centre at JBoss World

Now you have another reason to come to JBoss World, as if you didn't already have too many  on your list :)

On Friday the 29th of June we'll have an all day drop in centre for Drools & jBPM. We'll be having an all day team meeting and codeathon which will be open to the public. You can come along and hang out with us for the whole day and code, or just drop in for a bit and we'll help you with your questions.

Best of all Edson will be handing out free hugs all day.

by Mark Proctor (noreply@blogger.com) at April 26, 2012 05:55 PM

Bruce Silver: Gartner BPM – Better This Year

Often the Gartner BPM conference seems to me the same-old same-old, but I have to say I am getting some valuable new perspective at this year’s event in Baltimore. The new wrinkle this year is what Gartner is calling iBPMS, the “i” meaning intelligent.  It’s really shorthand for a number of new technology-based capabilities that [...]


April 26, 2012 04:27 PM

Thomas Allweyer: Modellierung für das strategische Prozessmanagement

Inge Hanschke ist vor allem für das Thema Enterprise Architecture Management (EAM) bekannt. Eine Besprechung ihrer Bücher zu diesem Thema findet sich hier. Das Thema EAM ist herkömmlich stark von der IT getrieben, und auch wenn heutige EAM-Modelle in der Regel auch die “Business Architecture” adressieren, so handelt es sich doch oft eher um die Sicht der IT auf das fachliche Ebene. Die eigentlich notwendige Integration der Beschreibungen, mit denen das Business selbst arbeitet, mit den Modellen der IT sucht man oft vergeblich.

Daher ist es sehr erfreulich, dass Inge Hanschke und Rainer Lorenz mit ihrem neuen Buch einen Beitrag dazu leisten, den Graben zu überwinden. Das Ziel einer Integration zwischen EAM und Prozessmanagement zieht sich denn auch als Leitmotiv durch das gesamte Werk. Eine wesentliche Aufgabe des strategischen Prozessmanagements ist es, Prozesse zu definieren, Transparenz zu schaffen und die langfristige Weiterentwicklung der Prozesse zu planen. Auf diesen Aufgaben liegt der Schwerpunkt des Buchs. Andere Aufgabenbereiche wie die strategische Prozesssteuerung und -kontrolle werden zwar genannt, aber nicht im Detail erläutert.

Um so ausführlicher wird hingegen beschrieben, wie sich die verschiedenen relevanten Sachverhalte geeignet visualisieren lassen. Hierfür definieren die Autoren insgesamt 14 verschiedene Ergebnistypen, die im strategischen Prozessmanagement je nach Aufgabenstellung erstellt und genutzt werden können. Einige davon, wie Prozesslandkarten oder Swimlane-Diagramme sind nichts Neues für Prozessmanager. Andere hingegen lehnen sich an vergleichbare Darstellungen aus dem EAM an. So kann man mit einem Prozessbebauungsplan etwa übersichtlich darstellen, welche Prozesse welche Produkte unterstützen, und von welchen Organisationseinheiten sie durchgeführt werden. Geht man einen Schritt weiter und fügt die unterstützenden Anwendungssysteme hinzu, so landet man bei den IT-Bebauungsplänen und schafft damit praktisch nahtlos den angestrebten Übergang zum EAM.

Andere Diagramme, wie Masterpläne, haben einen Zeitbezug und unterstützen somit die Ausrichtung des Projekt-Portfolios auf die Ziele des strategischen Prozessmanagements. Weitere Ergebnistypen sind etwa Bewertungsmatrizen zur Nutzen- oder Risikoabschätzung, oder Prozess-Portfoliodiagramme. Oftmals lassen sich die Diagramme verschieden konfigurieren. So können Prozess-Portfoliodiagramme ganz unterschiedliche Kriterien zum Vergleich der Prozesse verwenden, z. B. Prozesskosten oder die strategische Bedeutung.

Selbstverständlich muss man nicht alle Ergebnistypen einsetzen. Es sollten nur die ausgewählt werden, die für die konkrete Zielsetzung hilfreich sind. Das Buch gibt konkrete Hinweise, wie das strategische Prozessmanagement eingeführt und sukzessive über verschiedene Reifestufen hinweg aufgebaut werden kann. Auch die beteiligten Rollen und Gremien werden beschrieben. Für die Verwaltung der entstehenden Modell-Landschaft wäre eine gute Toolunterstützung hilfreich. Leider wird die vorgestellte Methodik von heutigen Tools noch nicht durchgängig unterstützt. Zumindest einige der Ergebnistypen lassen sich mit EAM-Tools erstellen. Wünschenswert wäre zudem eine Erweiterung oder Anbindung der im Prozessmanagement eingesetzten Modellierungstools.

Bei der Darstellung des Prozessmanagement-Reporting und der Weiterentwicklung der Prozesse beschränkt sich das Buch wiederum auf die eigentlichen Prozessdesign-Schritte und Modelle. So beziehen sich die Indikatoren des vorgestellten Prozessmanagement-Reporting hauptsächlich auf die Prozessmodelle, wie z. B. die Vollständigkeit der Modelle, die Zahl der Prozessschnittstellen oder das vom Management geschätzte Prozess-Risiko. Kennzahlen, die aus dem laufenden Betrieb stammen, wie z. B. Liefertreue oder Fehlerquoten, werden hingegen nicht angesprochen. Das Thema Performance Management, das für das strategische Prozessmanagement in der Praxis eine ganz zentrale Rolle spielt, ist damit nicht im Fokus des Buchs.

Ausführlich besprochen wird hingegen das Thema “Business Capability Management”, das in den letzten Jahren im EAM immer populärer geworden ist. Bislang hat sich für Business Capabilities oder “Geschäftsfähigkeiten” noch kein ganz einheitliches Verständnis herauskristallisiert, und auch die Abgrenzung von Capabilities zu betrieblichen Funktionen und Geschäftsprozessen wird immer wieder diskutiert. Für Hanschke und Lorenz bilden Business Capabilities eine stabile fachliche Sprache, die die wesentlichen fachlichen funktionalen Einheiten des Geschäftsmodells zusammenfasst. Geschäftsprozesse nutzen feingranulare Capabilities. Man kann die Prozesse recht leicht verändern, indem man die vorhandenen Capabilites in einer anderen Zusammensetzung orchestriert. Die Capabilities lassen sich mit Hilfe von Capability Maps visualisieren.

Das Business Capability Management unterstützt die Business- und Investitionsplanung sowie Reorganisationsprojekte und die Vorbereitung der IT auf Veränderungen im Business. Daher wird im Buch betont, dass das Business Capability Management eng mit dem strategischen Prozessmanagement verknüpft werden muss. In den meisten Unternehmen, die Business Capability Management betreiben, dürfte dies bislang in der IT angesiedelt sein. Das ist auf Dauer sicher nicht sinnvoll. Dennoch stellt sich die Frage, ob es ein eigenständiges Business Capability Management geben sollte, wie dies im Buch dargestellt wird, oder ob diese Aufgabe nicht nahtlos in das Prozess- und IT-Management integriert werden sollte.

Wie bereits angesprochen deckt das Buch nicht alle Aspekte des strategischen Prozessmanagements in gleicher Ausführlichkeit ab. Für das Design und die Modellierung von Prozessen auf strategischer Ebene liefert es auf jeden Fall sehr nützliche und praxisorientierte Hilfestellungen um eine systematische und praxisorientierte Dokumentation aufzubauen und hierdurch eine bessere Zusammenarbeit zwischen Business und IT zu erreichen.


Hanschke, I.; Lorenz, R.:
Strategisches Prozessmanagement einfach und effektiv.
Ein praktischer Leitfaden.
Hanser 2012.
Das Buch bei amazon.

by Thomas Allweyer at April 26, 2012 11:36 AM

April 25, 2012

Sandy Kemsley: Operational, Transformation and Technical Roles for Successful BPM Projects

My first post from the Gartner BPM conference in Baltimore this week; to be honest, there hasn’t been all that much so far that has inspired me. Michelle Cantara, who focuses on organizational issues...

[Content summary only, click through for full article and links]

by Sandy Kemsley at April 25, 2012 08:36 PM

BPM-Guide.de: Bitte helfen bei Amazon-Rezensionen

Heute mal eine ungewöhnliche Bitte: Unser Praxishandbuch BPMN gibt es jetzt in der 3. Auflage, und Amazon.de ist natürlich ein wichtiger Vertriebskanal. Leider weigert sich Amazon seit Neuestem, die Empfehlungen für die 2. Auflage auch bei der Beschreibung der 3. Auflage zu übernehmen. Der Hanser Verlag ist verständlicherweise sehr unglücklich darüber.

Deshalb hat er 20 Exemplare gespendet für Freiwillige, die eine Bewertung auf Amazon.de abgeben. Natürlich in der Hoffnung, dass diese positiv ausfallen, aber davon gehe ich jetzt eigentlich aus, weil es ja doch bislang nur positives Feedback gab zum Buch. Wer also die 3. Auflage nicht hat oder ein weiteres Exemplar zum Verschenken möchte, der sei doch so nett und stelle eine kleine Rezension hier ein:

Praxishandbuch BPMN bei Amazon

Direkt die Bewertung abgeben

Selbst wenn man die 3. Auflage noch nicht kennt: Das ist einfach der Inhalt der 2. Auflage plus Korrekturen plus einem neuen Kapitel zum Thema “BPMN einführen”. Schlechter kann sie also nicht geworden sein ;-)

Aber, nur um das klar zu stellen: Wir wollen hier keine guten Besprechungen “kaufen”! Bitte nur positiv bewerten, wenn man das Buch wirklich gut findet. Naja und wenn man es schlecht findet (oder nicht 5 Sterne wert), muss ich der Fairness halber natürlich damit leben, wenn das ebenfalls bei Amazon steht. Das ist schon klar. Aber es wäre einfach toll wenn diejenigen die das Buch mögen uns unterstützen könnten, letztendlich hängt davon ja auch ab dass wir und andere merken dass sich die Mühe auch in Zukunft lohnt, so etwas zu schreiben. Da finde ich das Freixemplar als Dankeschön dann durchaus fair und “sauber”.

Also, Rezension einstellen, wenn veröffentlicht einen Hinweis an uns mit Postadresse: info@camunda.com. Die ersten 20 bekommen das kostenlose Exemplar vom Hanser Verlag, alle anderen zumindest unsere verbindliche Dankbarkeit und vielleicht gibt es ja eine andere Gelegenheit, sich mal zu revanchieren.

Vielen Dank!

Jakob Freund

by Jakob Freund at April 25, 2012 03:41 PM

Keith Swenson: Seven Categories to Replace BPM

By now you have all heard, BPM is dead.  It was loved to death, smothered by good intentions.  All the vendors claimed to have BPM — and more!  The analysts would point to anything vaguely about people doing work, and proclaim it is “just another BPM.”  And yet BPM wore so many faces that it was impossible for anyone to clearly identify it.  The end did not come suddenly.  Instead, BPM weathered a long and protracted battle with inflated expectations, delayed disillusionment, and in some cases abject mendacity.  It seemed that BPM was almost everything to everyone, and yet if you are all things you are nothing.

Yet BPM Lives On!

BPM is survived by a host of offspring which are all healthy and thriving.  These family members carry on the hopes and dreams that BPM held true to, and do it with many hands and many more forms than a single moniker could accomplish.  BPM has brought us to a level of maturity, where we no longer need the simplified concept that a single size will fit all.  Our IT culture has matured to appreciate the different forms of work that people do, and the differing needs they have for support.  Now we can appreciate the benefit of approaches tuned to a specific need.

Out of respect for the departed, we should no longer use the term “BPM” except for historical references in hallowed tones.

Terms to Use Instead

The biggest problem with the term BPM is that so many people saw it as meaning so many different things.  This causes unnecessary arguments between experts, like the blind men arguing over the shape of an elephant.  We can clarify this debate by naming the subcategories of BPM.

1. Management of Business Processes (MoBP) – This is the management practice, and outgrowth of the process oriented thinking and the Business Process Reengineering movement of the 1990s.  This is really just a management discipline which views tasks of various workers as being linked together into processes, and is informed by measures of process efficiency, and with a desire to continually improve the process.  Other names include LEAN, Six Sigma, etc.  There are many varied tools that people use, but nothing structured into specific applications.  The audience is primarily management.

2. Business Process Analysis (BPA) – this is a type of BPM where process experts map processes using graphical modeling tools.  This is the space where SAG’s ARIS business modeling tool fits (and others).  There is a strong modeling angle, with many different styles of modeling, but very little or no actual automation or enactment support for a process.  The audience again is primarily management and process analysts.

3. Process Driven Server Integration (PDSI) – This type of BPM is an information technology initiative to link together servers in a Service Oriented Architecture (SOA) environment.  A process designer will draw the process using a graphical language (probably BPMN) with the aim to produce an executable program that will send and retrieve information.  There is no “B” in this acronym.  This is the BPEL paradigm, also known as Straight Thru Processing (STP).  This environment is created for programmers who want to use diagrams so that they can explain what the process does to business people.

4. Social Content Management Systems (SCM) – Massively multi-user business systems for sharing and collaborating around content.  This is where all the Social Media activity is going.  It is far less goal oriented than a case management system.  All sorts of other names for closely related ideas: Social Business System, Enterprise Social Systems, Enterprise 2.0 systems, etc.  This is an environment primarily for business people and IT departments when they are not programming.

5. Human Process Management Systems (HPM) – This is the type of BPM where forms are routed through a set of people.  The route is typically determined by a graphical process with the boxes representing a human activity and assigned to a person (or group).  Details such as notification of responsibility, reminders, and reassignment of responsibility are NOT included in the diagram because those are just naturally assumed to be part of the HPMS infrastructure.  Also known as Human Workflow Systems.  Human Process Management applications are developed by programmers for business people to use.

6. Production Case Management Systems (PCM) – These systems are configured (programmed) by programmers for large numbers of professionals to use.  There is less of a process than HPMS.  Instead it has a set of well defined states, and a set of functions that can be done in each state.  Movement between states is pretty much the choice of the case managers, but adding states can only be done by the programmer.  Production Case Management applications are developed by programmers for business people to use.

7. Adaptive Case Management Systems (ACM) – These are malleable systems used by knowledge workers within a learning organization.  Here the case manager must both figure out how to do something, as well as do it.  Useful for managers, executives, board members, new product introduction, disaster response, emergencies, mergers, acquisitions, creative teams, innovation, research.  There are no fixed states, but case managers will copy on old case or a template to avoid having to re-design the states every time.  New states can be added at any time by the case manager without requiring any specialized tools.  Goals can be created and completed at any time, and this forms the primary organizing theme of the interaction.  Strong support for content management.

(8) Page Flow – This is technology that supports a series of screens to present to a user, or multiple users, to collect information.  Examples include the shopping cart handling for an e-commerce site.  There is a state machine, and sometimes a flow chart is used.  I would not include this as a style of BPM, but some people do, so I include it here for completeness.

(9) Workflow – While originally workflow was an expansive topic like BPM, it has most recently come to mean a style of handing data that must be processed by multiple applications.  Workflow is a technique for passing data from one application to another, or really invoking a sequence of applications to transform the data through a series of forms.  Implementation can be a simple batch script file.  Again, I would not include this as a style of BPM mainly because usually it is used by a single user, and BPM by definition must involve the coordination of a team of people.

Did I forget any?  Please comment.

Summary

Yes, all of these have been considered “BPM” at various time by various people.  I have witnessed sometimes energetic debates between people about the qualities of BPM, only to find out that they were intending different types of BPM all the time.  I have no idea if these names of the various subtypes of BPM will stick, but I am quite sure that continuing to confuse them is not doing anyone any good.  It is only natural that terms have a life cycle; they are invented, they are refined, and then finally they expire in favor of more precisely defined terms.  While the term “BPM” will certainly enjoy another decade of life in casual use, I think it is time for the leaders in the field to start being a little more specific about what they really mean.

Many thanks to the members of the ACM Linked-In group, and WfMC members, that helped in discussing and refining these categories.


by kswenson at April 25, 2012 08:15 AM

April 24, 2012

BPM-Guide.de: Webinar on the 30-May: camunda fox – Enterprise BPM for Java based on Activiti

On the 30-May-2012 from 2 pm to 3 pm (timezone UK) we (camunda) run the webinar “camunda fox: Enterprise BPM for Java based on Activiti“, interesting for everybody wanting to use Activiti oder camunda fox in real life BPM projects. If you prefer a German version, this will run at 10 am (timezone Germany), a German version of this post is available as well to send it to your German speaking colleagues.

Here the abstract for this webinar:

camunda fox is a light-weight BPM Platform based on the successful open source – project Activiti. It is based on our extensive experiences in BPM and extends Activiti with important components, tools and services that will increase your productivity and allow its application in mission critical standalone BPM scenarios.

In this webinar you will get an overview about camunda fox that allows you to evaluate the platform for your own BPM project.

Register via the Alfresco homepage for free:

We are looking forward to it :-)

by Bernd Rücker at April 24, 2012 08:50 AM

April 23, 2012

Sandy Kemsley: The Impact Of Social Technologies On The Enterprise – My Keynote From #appian12

I know there’s a video of my keynote floating around somewhere, but I decided to record audio and sync it with the slides, then publish it on Slideshare. You can view or download the presentation, or...

[Content summary only, click through for full article and links]

by Sandy Kemsley at April 23, 2012 02:04 PM

Sandy Kemsley: Linking External Social Presence To Core Business Processes

I gave the Monday afternoon keynote at Appian World 2012 last week on the topic of the impact of social technologies on the enterprise, with a particular focus on how social features and exposure are...

[Content summary only, click through for full article and links]

by Sandy Kemsley at April 23, 2012 12:42 PM

Drools & JBPM: Drools Pong hits home

This weekend I just finished the first cut for the class game Pong. The Wumpus World example I made was well received and the 20 minute YouTube video very populate, http://www.youtube.com/watch?v=4CvjKqUOEzM. However I've since been asked for something a little simpler and smaller for a getting started example, so I thought I'd do Pong.

The initial cut was done with a single commit, so it's easy to see all the code in one place:
https://github.com/droolsjbpm/drools/commit/2a8746a905efe1d9e0cc9f00eae06a50b76b214b

I'll follow up with a video soon, showing how it was made.


by Mark Proctor (noreply@blogger.com) at April 23, 2012 07:24 AM

April 21, 2012

Thomas Allweyer: BPMN – nicht immer ganz genau erklärt

Das englischsprachige Büchlein “BPMN Pocket Reference” stellt eine handliche Übersicht über die verschiedenen BPMN Konstrukte dar, die man gut auf dem Schreibtisch liegen haben kann, um beim Modellieren gelegentlich einmal kurz nachzulesen, was ein bestimmtes BPMN-Element genau bedeutet. Das findet der eine oder andere vielleicht etwas praktischer als eines der beliebten BPMN-Poster, wie z. B.
dieses. Um die BPMN zu lernen, eignet sich das Buch nicht, denn bei der Erklärung der verschiedenen Konstrukte werden oftmals Begriffe gebraucht, die erst später erklärt werden. Generell sind die Beschreibungen auch zu knapp für Einsteiger.

Leider kann man das Buch auch nicht als Nachschlagewerk für fortgeschrittene Modellierer empfehlen, denn eine Reihe von Erklärungen und Beispiele stimmen nicht mit der BPMN-Spezifikation überein. So sind beispielsweise die Erläuterungen zu so zentralen Elemente wie dem inklusiven Gateway (als Zusammenführung) oder dem ereignisbasierten exklusiven Gateway schlichtweg falsch. Beim inklusiven zusammenführenden Gateway wird behauptet, der Prozessfluss werde fortgesetzt, wenn der erste Input an einem der Eingänge ankommt. Weitere Inputs würden ignoriert (S. 58). Dass manche Process Engines den inklusiven Gateway als Zusammenführung tatsächlich so oder ähnlich interpretieren, macht die Erklärung nicht richtiger. In Wahrheit werden an einer inklusiven Zusammenführung mehrere eingehende Marken synchronisiert (sofern mehr als eine Marke zu dem Gateway unterwegs ist).

Auf einen ereignisbasierten Gateway müssen laut Spezifikation an allen ausgehenden Sequenzflüssen empfangende Zwischenereignisse oder Receive Tasks folgen. Sherry hingegen zeigt ein Beispiel, bei dem einmal ein unbestimmter Task und an einem anderen Ausgang ein sendendes Nachrichtenereignis folgt (S. 54). Ebenso falsch ist die dort zu findende Erläuterung, der Output-Pfad würde durch Bedingungen an den Sequenzflüssen bestimmt. Tatsächlich bestimmt jedoch das zuerst eintretende Zwischenereignis den zu wählenden Pfad.

Dies sind nur zwei eklatante Beispiele fehlerhafter Darstellungen. Dass Assoziationen gestrichelt statt gepunktet gezeichnet werden und bedingte Sequenzflüsse auch an Gateways fälschlicherweise mit Rauten gezeichnet werden, ist sicher weniger tragisch, trägt aber dennoch nicht zu einem positiveren Eindruck bei.


Kenneth J. Sherry:
BPMN Pocket Reference
Admaks Publishing, 2012
Das Buch bei amazon.

by Thomas Allweyer at April 21, 2012 01:02 PM

April 19, 2012

Drools & JBPM: Natural Language, Tracking and Supply Chain Management With Drools

I often spend time trawling through google scholar and citeseer, always lots of gems to be found there. Here are three recent papers I thought worth highlighting that utlised Drools in an applied way.

A New Algorithm for the Acquisition of Knowledge from Scientific Literature in Specific Fields Based on Natural Language Comprehension
http://www.scirp.org/fileOperation/downLoad.aspx?path=IJIS20110200002_46860321.pdf&type=journal

PeerTrack: A Platform for Tracking and Tracing Objects in Large-Scaoe Traceability Networks
http://www.edbt.org/Proceedings/2012-Berlin/papers/edbt/a54-wu.pdf

Introducing a Rule-Based Architecture For WorkFlow Systems in Retail Supply Chain Management
http://bada.hb.se/bitstream/2320/10632/1/2011MAGI24.pdf

by Mark Proctor (noreply@blogger.com) at April 19, 2012 09:17 PM

April 17, 2012

Sandy Kemsley: Taming Big Process With @passion4process

I have to depart Appian World at the morning break today to catch a flight home, but first I caught up with Clay Richardson of Forrester and his keynote on the future of process as we move from...

[Content summary only, click through for full article and links]

by Sandy Kemsley at April 17, 2012 01:19 PM

April 16, 2012

Bruce Silver: BPMN Method and Style Class May 7-9 Features Improved “Method”

Our next BPMN Method and Style live-online (virtual classroom) training is May 7-9 from 11am-4pm ET, 8am-1pm PT, or 5pm-10pm CET.  This class is the gold standard in BPMN training and certification.  It teaches you not only the BPMN shapes and symbols you need to learn (and how to use them correctly!)… and which ones [...]


April 16, 2012 07:27 PM

Sandy Kemsley: CEO Keynote At Appian World 2012

Matt Calkins, CEO of Appian, spoke about how they are achieving their goal to be the world’s best way to organize work. Key features that they have to support this: Native mobile capabilities on iOS,...

[Content summary only, click through for full article and links]

by Sandy Kemsley at April 16, 2012 01:48 PM

Sandy Kemsley: Delivering Enterprise Performance Breakthroughs With BPM

Daryl Plummer of Gartner gave the opening keynote at Appian World 2012 stressing an “extreme” approach for achieving breakthroughs rather than just the incremental improvement that we’re seeing...

[Content summary only, click through for full article and links]

by Sandy Kemsley at April 16, 2012 01:01 PM

Thomas Allweyer: Ovum: BPMS-Hersteller können sich über Wachstum freuen

Die Analysten von Ovum berichten in Ihrer jüngsten Untersuchung des BPMS-Marktes, dass sich die Hersteller von Prozessautomatisierungs-Software über ein zweistelliges Umsatzwachstum im vergangenen Jahr freuen können. Bei einigen beträgt es über 30%. In der Marktanalyse werden zwölf Hersteller untersucht und hinsichtlich Technologie sowie Kundennutzen miteinander verglichen. Vor allem dank ihrer technischen Reife landeten die IT-Schwergewichte IBM und Oracle im vorderen Bereich, den sie sich aber mit den BPM-Spezialisten Appian und Pegasystems teilen. Beim Vergleich des Kundennutzens schneidet die hierzulande noch relativ unbekannte Lösung AuraPortal am besten ab.

Zum ersten Mal ist übrigens die noch junge Firma BonitaSoft vertreten, die es als einziger Open Source-Anbieter in den Report geschafft hat. Bei den kommerziellen Lösungen ist mit Mindestlizenzkosten von etwa 40.000 Dollar zu rechnen.

Viele Anbieter widmen sich mittlerweile verstärkt der Unterstützung schwach strukturierter Prozesse. Sie haben ihre Produkte um Case Management-Funktionalitäten erweitert. Allerdings kann man unter Case Management z. T. ganz verschiedene Dinge verstehen, weshalb man sich die konkreten Features im Einzelnen ansehen muss. Generell sei auch eine Verbesserung des Benutzererlebnisses zu beobachten.

Der Begriff „Social BPM“ findet sich ebenfalls häufig in den Marketing-Unterlagen der Hersteller. Allerdings beschränken sich konkrete Möglichkeiten zur Kollaboration meist auf recht simple Funktionalitäten, wie z. B. die Möglichkeit, Prozessmodelle zu kommentieren oder den Mitarbeitern während der Prozessausführung Informationen und Aktivitäten als Nachrichten-Feeds bereitzustellen. Im Zeitalter von sozialen Netzwerken seien derartige Funktionen keine Besonderheiten mehr, sondern würden von den Nutzern eigentlich vorausgesetzt, kommentieren die Analysten.

Auch das Thema Cloud Computing spielt für den BPMS-Markt bislang keine so große Rolle. Nur zwei der zwölf Anbieter verfügen bereits über Cloud-Angebote. Ovum erwartet, dass BPMS in der Cloud auch künftig keine sehr große Rolle spielen wird, da die möglichen Kosteneinsparungen bei einem BPMS, bei dem meist eine enge Integration in die vorhandene Systemlandschaft erfolgt, wesentlich geringer sind als etwa bei einem CRM-System.

Download des Reports bei Bonita (Registrierung erforderlich).

by Thomas Allweyer at April 16, 2012 09:37 AM

Keith Swenson: ACM Spotter’s Guide

More products today claim to have Adaptive Case Management (ACM) capabilities.  Do they have what it takes?  Or are they simply just jumping on a bandwagon?  It is a buyer-beware world.  Apply the criteria presented in this post to a vendor’s product in order avoid dishonest representations.

Adaptive Case Management is an approach to work that supports knowledge workers to get their work done. A software system must support the following capabilities in order to be called an Adaptive Case Management System (ACMS).   The goal here is to lay out a set of criteria that can be used to clearly identify an ACMS.  

I broke the definition into three levels in roughly the same way that Max Pucher did in his post “Adaptive Case Management: Basic, Full, or Strategic?“  All ACM Systems MUST have level 1.  Many will have features at level 2, and only some advanced ones will have features at level 3.

I can not stress enough that the capabilities described below must be made available in a way that the actual case manager can use them.  The case manager is a professional, like a doctor, or a lawyer, and not a programmer.   When vendor makes a claim that a system has a capability, you need to dig below the surface, and make sure that it is available to the end user without programming.  The capability must be both safe and easy enough to use without specific training.   ACM supports knowledge workers, and having to go to a programmer will be too big a barrier.  Having to request help from an administrator, for example to define the members of the case team, is a similar barrier.  These capabilities need to be immediately available to the actual case manager.

Level 1 – Required of All ACM Systems

Team: It must organize the work of the knowledge worker (called a case manager) and also others involved in the case (called the case team). The case team is not predefined, and one of the jobs of the case manager is to identify people who are appropriate to help on the case.

Folder: The central concept is a case folder that is used to collect together all of the information and artifacts that might be needed by the case manager. There is no predefined collection of information; part of the job of the case team is to locate and collect the necessary information for the case, and put it in the folder.

Goals: To drive the work to completion, the case team communicates about goals (also called tasks), intended and actual timelines for performing activities toward those goals. None of the goals are fixed: any goal can be modified, added, or removed by the case manager without special skills.

History: The system keeps timestamped records of every change that happens in and around the case.

Security: The case manager is in complete control of who is authorized to access the case folder. Unauthorized users can not access the case folder.

Communication: The system must facilitate communication between case members through multiple channels: telephone, email, instant message, desktop conference, and other technologies.

Adaptive: The case manager can make new cases that build on structure of previous cases through some form of copy or reuse of the earlier cases without needing any special skills. Over time the case manager will adapt the system to their own style of working without needing the help of any specialist.

Reporting: A large variety of user configurable reports for communicating status, things that have happened within a given case, and aggregate information across cases.

Level 2 – Common Extensions in ACM Systems

Business Entities: Structured data with metadata behind it. Form capability to display and allow entry of business data.

Data Interchange: ability to access systems and internalize this within the business entity format for reuse, and the ability to transform the internalized data to a form to send to an external system.

Business Rules: Generalized rules mechanism that tests the business data for specific conditions that can either trigger activities, or effect the state of resources.

Resource State Model: Files and other resources can have a state model associated with them. Transitions between states can effect and be effected by other resource state changes.

Granular Access Control: Fine ability to control who can access what parts of the case information through the use of roles into which people can be assigned.

Sensors and Triggers: the ability to monitor external data / state, and the ability to trigger reactions that change the state of internal resources or goals.

Conformance Guiding: the ability to match the activities of a current state with a reference process, and provide a visual difference highlighting extra or missing activities, order disparity, and make recommendations on how to conform.

Level 3 – Advanced Extensions for ACM Systems

Process Mining: The ability to analyze the history records and to generate process maps showing the patterns of behavior across many cases.

Social Mining: The ability to scan networks of connections between people in order to determine skills and/or preferences of people, in order to guide assignment of activities.

Federated Case Folders: the ability to link folders in one case system to folders in another system, and synchronize content in both directions

Ontology / Taxonomy: represented in standardized form and able to exchange with knowledge management systems.

Resource Sharing: a given task or resource could be shared between multiple cases.

What An ACM System does NOT have

The hardest thing about recognizing a good ACM system is that it is not about what it has, but what it does not have.  To use an automobile analogy: how do you define a roadster?  A simple, two seater car, with plenty of power for a visceral driving experience more than anything else.  A roadster is more about what it does not have, than what it has.  It does not seat more than 2 people.  It does not have a huge trunk.  It does not have a large towing capacity.  It does not have a lot of creature-comfort features.  It does not have 14 cup-holders.  The dashboard is minimalist oriented.  If it had a dashboard like the cockpit of an airplane, it could never be a roadster.  With manual transmission, the roadster is enjoyed for the direct feel of the road, the enjoyment of driving.  So you can not define a roadster by listing all the things it has with the view that more things is better.

Adaptive Case Management is designed to be used by the knowledge worker directly, it will not have many of the more sophisticated features that require a professional to operate.  As you consider usability, think of a doctor using it.   Here are some thing that it must not have, or at the least it must be able to be completely functional without:

Graphical Modeling:  Experience has shown that professionals (like doctors) don’t have the time or desire to learn such graphical modeling. The ACMS must function without any graphical modeling.

Web Service Integration: This is a capability that is used by programmers, but the users of an ACMS are not programmers.  Thus, the ACMS has to work without any web service integration.

Of course, a system might have these capabilities, so that a programmer might occasionally help customize for a particular vertical.  The key here is that these capabilities are not central to the capabilities of the system.  Any system might have APIs for extending it, and that is OK as long as those APIs are not central to the features that are needed in the first place.  If, however, you see a vendor claiming that these are important features of the system, you should be very suspicious that it is not really an ACMS.

Acknowledgements

I would like to thank all the people who have helped to make this list somewhat complete on the original post and in the ACM Linked-In group.


by kswenson at April 16, 2012 12:00 AM

April 13, 2012

Saperion.com (BPM related posts): Da simmer dabei: Die BPM Offensive Rhein.Ruhr lädt zur zweiten Veranstaltung rund um BPMN ein

Ende letzten Jahres mitinitiert, und mit einem guten Start zum Thema „mit BPM offensiv in die Zukunft – Quo Vadis BPM?“ am 07.03.2012 mit fast 40 Teilnehmern Dortmund, geht es beim zweiten Mal unter dem Titel Anforderungsmanagement – Geht BPM auch ohne N? in Leverkusen an den Start. Der Einladungstext lautet: Die zweite Veranstaltung soll [...]

by Dr. Martin Bartonitz at April 13, 2012 08:08 AM

April 10, 2012

Drools & JBPM: jBPM Designer version 2.1 released

We are happy to announce that we have released version 2.1 of the jBPM Designer. This is a big release which solves many issues we had in 2.0 as well as adds lots of new features. We are especially happy that jBPM Designer will also be included in the up-coming JBoss BRMS 5.3 release.

Here is a summary of what’s new and noteworthy in Designer 2.1 and we have also included a video below. Try it out and let us know what you think!

New and noteworthy

  • Numerous bug fixes. The number of commits for bug-fixes alone was over 100 between 2.0 and 2.1.
  • Increased performance for user interactions with the UI as well as loading time (JavaScript is now served compressed)
  • New features: Support for Reusable Subprocesses (Call Activities), Multiple Instance Subprocesses, and Data Objects
  • New feature: Support for Stencil set Perspectives. Allows you to specify a specific superset or a subset of supported BPMN2 nodes grouped in a named stencil set
  • New feature: New data input editors. We added specific user-friendly editors for Process variables, Globals, Imports, Task Data Inputs/Outputs/Assignments, Called Elements, etc
  • New Feature: Process dictionary support. Allows you to define your own process dictionary and use it inside your business processes.
  • New Feature: In-Line editing of Process and User Task forms. This new feature allows you to create/modify your process and task forms in-line which is great as you do not have to leave your modelling environment to perform this feature.
  • New Feature: Code highlighting and Code completion in Expression editors, code highlighting for process and task form editors and source views.
  • New Feature: Smart node deletion – deleting a node will also delete its incoming and outgoing connections unless they specify an expression
  • Support for both Drools Guvnor 5.3 and 5.4

Here is also a video for the Designer 2.1 release.

You can download this version from soureforge just like the previous ones. Simply replace your existing designer war with the new one. Make sure to clear our your browser cache before starting to use the new version.

As always your feedback is more than welcome. Hit us up on IRC if you would like to contribute to the jBPM Designer. Have fun!

by Tihomir Surdilovic (noreply@blogger.com) at April 10, 2012 02:41 PM

Drools & JBPM: Drools 5.4.0.CR1 released

We're happy to announce the release of Drools (Expert, Fusion, Planner, Guvnor) 5.4.0.CR1.

Documentation, Release Notes and Downloads are detailed below:

Try it out and give us some feed-back (user list, issue tracker).

by Toni Rikkola (noreply@blogger.com) at April 10, 2012 12:24 PM

April 09, 2012

Drools & JBPM: Plain old Java score calculation in Planner

In Drools Planner 5.4.0.CR1, you can now define your score calculation in plain old Java too. In fact, it supports 3 alternative score calculations:
  • Simple Java score calculator (new in 5.4)
  • Incremental Java score calculator (new in 5.4)
  • Drools DRL score calculator (the traditional way)
Unfortunately, each of these have advantages and disadvantages. Let's take a look at each of them.

Simple Java score calculator

This score calculator is very easy to implement. Just implement one method:
For example for NQueens:
It's that easy.
  • Advantages
    • No learning curve: it's plain old Java
    • Can delegate score calculation to an existing codebase
      • This is especially interesting when you're migrating from a legacy system and want to avoid a big bang conversion.
  • Disadvantages
    • Slow and less scalable, because it does not do incremental score calculation.

Incremental Java score calculator

This score calculator is very fast and scalable, but also very hard to implement, because you have to implement incremental score calculation yourself. You need to implement a bunch of methods on IncrementalScoreCalculator to make this happen. Here's a part of one NQueens implementation:
The implementation above isn't that good. Do you see how to optimize it? There's a much faster way to implement the NQueens score calculator, using Maps to avoid having to iterate through the insertedQueenList, but it makes the code even harder to understand.
  • Advantages
    • Very fast and scalable
      • Currently the fastest if implemented correctly (see benchmarks below)
  • Disadvantages
    • Incremental (AKA delta) calculation is hard to write and to maintain
    • You have to design and write all the performance optimizations yourself.

Drools DRL score calculation

This is the traditional and recommended way to implement score constraints, as Drools rules in DRL:
Notice the absence of incremental code, because Drools Expert does that for you automatically.
  • Advantages
    • Incremental score calculation without the boilerplate code for it
    • Flexibility for your score rules:
      • Define them in a decision table (XLS or Guvnor WebUI)
      • Store your rules in the Guvor repository
      • Translate them to natural language with DSL
    • Explain the score of a solution:
      • Just iterate over the ConstraintOccurrence instances to explain to the user why that score was the result.
    • In every major and minor release, Drools Expert becomes faster. There are several notable features on the Drools Expert roadmap that will make the Drools Score Calculator much faster:
      • More JITting
      • Undo then
      • Set based propagation
  • Disadvantages:
    • You need to learn and use DRL

Benchmark results

Because the score of a solution is always the same, no matter how it's calculated, the only notable measurement is the calculation speed relative to the problem size.

All benchmarks have be done with a warmup (to avoid JIT and DRL complication delays).

NQueens score calculation 

The results for 32, 64 and 256 queens:
 



Notice how the simple Java score calculator (red) does not scale at all. It starts out OK, but as the problem size gets bigger, it becomes very slow.

The drools calculator (in yellow - sorry that it's not very visible) starts slow on a trivial problem size, but scales up well. If we increase the number of queens even further, it will easily by-pass the basic incremental Java implementation. There's an well-known lesson to learn there: Don't let the performance results fool you into ignoring the scalability trend.

Notice the speed of the advanced incremental java score calculator (green), but don't forget that it's hard to write and to maintain the code behind it.

CloudBalance score calculation

This shows the results on 300, 600, 1200 and 2400 processes. The incremental Java score calculator also uses Maps extensively.

Notice that as the problem scales out, the Drools score calculator comes closer and closer to the hand-crafted incremental Java calculator.

Real problems

Both NQueens and CloudBalance are one of 4 toy examples, with only a few constraints. The 9 real examples have far more constraints (leaving more room for inter constraint optimization), so I suspect the benchmark results might be different there.

by Geoffrey De Smet (noreply@blogger.com) at April 09, 2012 01:37 PM

April 05, 2012

Thomas Allweyer: BPMN Animationstool zum Download verfügbar

Das Tool zur Animation des BPMN-Markenflusses, mit dem ich diese Videos gedreht habe, steht zum Download bei Google Code zur Verfügung. Hier gibt es Hinweise zum Download und zur Nutzung.

by Thomas Allweyer at April 05, 2012 11:13 AM

April 04, 2012

Drools & JBPM: Prolog is Cool Again and Drools the DataBase

Rich Hickey has just done a interview at InfoQ on Datomic
http://www.infoq.com/interviews/hickey-datomic

In his talk he highlights their adoption of DataLog for their query format, and a transition away from an SQL approach to a rule based approach. DataLog is a Prolog derivitive, http://en.wikipedia.org/wiki/Datalog. It's great to see Prolog and rule based systems for query capabilities getting more attention again.

We added Prolog like capabilities to Drools earlier this year, that provides both queries but also reactive materialised views:
http://blog.athico.com/2011/04/backward-chaining-emerges-in-drools.html 

We are currently working on some proof of concepts around transactions and persistent data structures in Drools, along with OrientDB integration. So I hope we can see Drools the DataBase, via OrientBD integration before end of this summer.

by Mark Proctor (noreply@blogger.com) at April 04, 2012 05:53 PM

Drools & JBPM: GSOC Just 2 days left

If you want to suggest a project, or claim a project, you have just 2 days left to do so  - HURRY UP!!!
https://community.jboss.org/wiki/GSoC12Ideas

by Mark Proctor (noreply@blogger.com) at April 04, 2012 05:24 PM

BPM-Guide.de: Page-Flow vs. Process-Flow – how a UI Mediator might help

Imagine you have a customer registration process. For the user it feels like having 5 forms in a row to enter some data (we call that page-flow). In the background you want to query some scoring-service. Hmm, this should not be done in the UI layer, right? Isn’t that business logic? And what if the scoring service may not deliver an immediate score but just tells you that the result is delivery asynchronously later on (which is a real life example)? This imposes some serious requirements for a persistent process state, maybe even with some escalation if the result doesn’t arrive in the agreed SLA. In this situation process-flow and page-flow somehow intervene, but still must be separated wisely. Today I want to shed some light on this on a conceptional level with BPMN 2.0 and the UI Mediator Pattern but as well present a working prototype using camunda fox, Activiti and Java EE 6 (especially JSF and CDI). So for non-technical people: Hopefully you can still understand the first part. For the technical folks: Be patient, we get down to code in the second part :-)

How the user perceives it

The following BPMN shows how the user takes part in the process. Please note, that the whole blog uses the BPMN methodology we explain in our book on BPMN (unfortunately only German or Spanish at the moment) or in this blog post.

The process from the perspective of the user

The process from the perspective of the user

Note that there are basically two different possible flows for the user, either a score is provided immediately and he can do the whole work at once or the score is provided later and he has to come back later, query his task list and do the last step in the process model from there. To make this more clear, I visualized the flows by adding screen-shots of the application I developed as a prototype:

The user has to come back via the task list when the score is received asynchronously

The user has to come back via the task list when the score is received asynchronously

The user experiences one page-flow when the score is retrieved immediately

The user experiences one page-flow when the score is retrieved immediately

The automated process for the engine

As I said earlier, we have an automated business process for implementing this application. Using a process engine for this task comes handy for two features we can leverage in this case: First we need some persistence if the score is not returned immediately and second we want to add some escalation if the answer is not in time. With an BPMN 2.0 Engine like Activiti, we just have to add an attached boundary timer event to really implement an escalation, awesome.

The following image shows the process model as I deploy it later to Activiti, basically three things are remarkable:

  • The number of UserTasks does not match the number of forms the user sees. This is not uncommon since the granularity of the user forms is basically dependent on the technology, on your smartphone you might have more forms than in a normal browser on your wide screen at work.
  • The form we use to enter the customer data in the beginning does not correspond to an user task. This form is filled before the process instance is started at all (if the user cancels here, no process instance will be started at all).
  • We do user validation within the process engine and have a first user task for entering additional data. This means, that if the users stops here and closes his browser, the process instance will remain in the Activiti database and he can continue later from the task list. I decided to model it like this in the demo, it is not the only possibility, agreed, there would be alternatives, but I consider it not to be unrealistic to first have a “safe point” after validation in this case.
Process automated in Activiti

Process automated in Activiti

How do we get this together?

In order to understand the big picture we need to have a look at the JSF user interface I developed for our small use case, which is included in the following process model. You can see that for example the customer details are “just” two forms which are implemented by a simple page-flow in JSF (page-flows are built-in). But for the other “flow logic” we need to call the process engine.

User, Activiti and the JSF Layer in between

User, Activiti and the JSF Layer in between

But how do we get the synchronous one page-flow feeling for the user for this?

UI-Mediator-Pattern

UI Mediator

UI Mediator Pattern

The UI-Mediator-Pattern basically described for a asynchronous SOA world how to map an asynchronous behavior under the hoods to a synchronous feeling on the user interface. That’s exactly what we want. And since Activiti normally behaves synchronously in terms of threading anyway (for details see the Activiti user guide) it is easy to implement in this environment. This mediator is a generic component we add to our application, which checks after a user interacts with the process engine if some task exists for the same process instance for the current user, depending on the configuration you might even wait a couple of seconds if a task will be created. If yes, the task form it is shown immediately to the user simulating a synchronous page-flow. This can now be easily mixed with real page-flow in JSF.

Done :-)

The demo application

Cool, but how to implement it? Actually it doesn’t take more than the camunda fox platform community edition, which includes a JBoss AS 7, and an evening of time. The whole application can be checked out from our public SVN: https://svn.camunda.com/fox/demo/fox/customer-registration-ui-mediator/trunk/. You just have to build it using Maven and deploy the resulting war on the fox platform and it should work.

Important addition (2012-April-28): I adjusted the code in the showcase to use JMS for the asynchronous response. That works pretty well and shows how to correlate an incoming JMS message to the right process instance. In order to get this running you have to enable the JBoss full profile to get it working! Here you find the standalone.xml you need, just replace the existing one in your JBoss 7 (or you build that yourself, in our fox user guide we have documentation for this, unfortunately this is currently not open for public but only for our enterprise customers).

Implementation details

I don’t want to repeat how to build process application with the camunda fox stack here, we showed that for example in this blog post and recently wrote a JavaMagazin article which is published soon. I want to concentrate on the UI mediation parts of it, where I used some CDI magic. At least it felt like magic ;-)

First I specialize the existing BusinessProcess bean from the Activiti CDI module. Now my own bean is used instead of the original one and I can add additional code which is always executed (a bit like Interceptors). In this bean I only hook in the UiMediator, which is described next.

/**
 * Specializes {@link BusinessProcess} bean to add generic code needed for UiMediator
 */
@Specializes
public class UiMediatedBusinessProcessBean extends BusinessProcess {

  //we do not have a logged in user in the demo app
  private String currentUser = "kermit";

  @Inject
  private UIMediator uiMediator;

  @Override
  public void completeTask() {
    Task task = getTask();
    super.completeTask();

    if (task != null) {
      uiMediator.checkProcessInstanceStatus(task.getAssignee(), task.getProcessInstanceId());
    }
  }

  @Override
  public ProcessInstance startProcessByKey(String key, Map<String, Object> variables) {
    ProcessInstance processInstance = super.startProcessByKey(key, variables);
    uiMediator.checkProcessInstanceStatus(currentUser, processInstance.getProcessInstanceId());
    return processInstance;
  }
}

The UiMediator just does the work I described above: it checks if a task is created for the same user in the same process instance immediately. If yes, it just saves it to some properties, which we can use in the JSF page-flow to route to the correct pages.

@RequestScoped
@Named("uiMediator")
public class UIMediator implements Serializable {

  @Inject
  private TaskService taskService;

  @Inject
  private FormService formService;

  private String nextTaskId;

  private String nextTaskForm;

  /**
   * check for new task in same process for same user
   */
  public void checkProcessInstanceStatus(String assignee, String processInstanceId) {
    nextTaskId = null;
    nextTaskForm = null;
    if (processInstanceId != null && assignee != null) {
      List<Task> tasks = taskService.createTaskQuery().taskAssignee(assignee).processInstanceId(processInstanceId).list();
      if (tasks.size() == 1) {
        nextTaskId = tasks.get(0).getId();
        nextTaskForm = formService.getTaskFormData(nextTaskId).getFormKey();
      }
    }
    // possible extension here: wait a couple of (milli)seconds to check if that task is reached asynchronously if you have this requirement
  }
  public String getNextTaskId() {
    return nextTaskId;
  }
  public String getNextTaskForm() {
    return nextTaskForm;
  }
}

For the page-flow we now add navigation rules, that every time a process instance is started or a task is completed (the later is shown in the code below), we check the UiMediator for a next form. If this is provided we go on this page, otherwise we go back to the task list. The nice thing about this implementation is, that our application does not need any specific code, the whole solution is pretty generic, you only need the correct navigation rule to form a proper page-flow in JSF (maybe if I have another evening of time I will come up with a workaround for this ;-) ).

<navigation-rule>
  <navigation-case>
    <from-action>#{businessProcess.completeTask()}</from-action>
    <if>#{uiMediator.nextTaskId==null}</if>
    <to-view-id>/app/taskList.jsf</to-view-id>
    <redirect/>
  </navigation-case>
  <navigation-case>
    <from-action>#{businessProcess.completeTask()}</from-action>
    <if>#{uiMediator.nextTaskId!=null}</if>
    <to-view-id>/app/#{uiMediator.nextTaskForm}.jsf</to-view-id>
    <redirect>
        <view-param>
            <name>taskId</name>
            <value>#{uiMediator.nextTaskId}</value>
        </view-param>
    </redirect>
  </navigation-case>
</navigation-rule>

That’s it. Not so hard actually, right? A good example of the power of using Java EE 6 together with camunda fox (including BPMN 2.0 and Activiti) for Process Applications :-) Feedback welcome!

by Bernd Rücker at April 04, 2012 06:53 AM

April 03, 2012

Thomas Allweyer: Radar zu BPM-Trends

An ständig neuen Trends und Buzzwords herrscht in Prozessmanagement und IT kein Mangel. Um die tatsächliche Bedeutung der verschiedenen Trends und Themen zu ermitteln, haben Ayelt Komus von der FH Koblenz und Andreas Gadatsch von der Hochschule Bonn-Rhein-Sieg das IT-Radar ins Leben gerufen. Jeder, der beruflich mit Prozessmanagement oder ERP-Systemen zu tun hat, kann über die Webseite www.it-radar.info an einer kurzen Befragung teilnehmen.

Gefragt wird, welche Bedeutung Themen wie Cloud Computing, BPMN oder Scrum nach eigener Einschätzung für den Bereich BPM und ERP haben, und wie sich diese wohl in Zukunft verändert. Neben Anwendern sind auch Anbieter und Hochschulvertreter zur Teilnahme aufgerufen. Die Umfrage wird künftig halbjährlich durchgeführt, so dass zeitliche Entwicklungen untersucht werden können.

Für die aktuelle Runde ist die Teilnahme noch bis zum 23.4. möglich. Die Ergebnisse werden auf dem Praxisforum BPM und ERP am 15.5. in St. Augustin vorgestellt. Alle Teilnehmer erhalten die Auswertung anschließend zugesandt.

by Thomas Allweyer at April 03, 2012 07:06 AM

April 01, 2012

Vishal Saxena: Activiti - PVM - a closer look

Recently a team member pointed me to this white paper evaluation of PVM - the process virtual machine which is the heart of jBPM and Activiti. Apparently, the support for various patterns is pretty week in PVM:
Who is betting the future of their workflow on Activiti? Take a deep look at Roubroo

by Vishal Saxena (noreply@blogger.com) at April 01, 2012 09:32 AM

Vishal Saxena: Maturing BPMS to Case management

http://www.bpminstitute.org/resources/six-features-look-bpms-support-case-management-processes

This article is an excellent summary of what to look for in a BPMS that can allow for the flexibility of supporting case management. The ideal olution will kill two birds with one shot. It will create a set of defined process(s) for the 90 % of throughput but will also allow to turn this into a case for the remaining 10%

by Vishal Saxena (noreply@blogger.com) at April 01, 2012 09:23 AM

Vishal Saxena: Learn to walk before you can run

On one of the linked in forums I saw a quote, learn to walk before you run in the BPM context and I was really happy to observe the power of simplicity. We are busy talking about and creating new acronyms, S-BPM, X-BPM, Y-BPM and what not. But have we and our practitioners learnt to walk? Or we are saying we will give you a car which can only be run by our trained chauffeur and the chauffeur will cost you more than the car.

by Vishal Saxena (noreply@blogger.com) at April 01, 2012 09:20 AM

March 28, 2012

Thomas Allweyer: Patterns für das Management der IT-Unternehmensarchitektur

Auch wenn das Thema noch relativ jung ist, gibt es dennoch bereits eine Reihe von Büchern zum Thema IT-Unternehmensarchitektur, häufig unter der englischen Bezeichnung Enterprise Architecture. Viele dieser Bücher fokussieren sehr stark auf die Modellierung und Dokumentation der verschiedenen Aspekte komplexer IT-Landschaften. Keller sieht Modelle und Architekturframeworks zwar ebenfalls als wichtig an, doch ist es für ihn noch wesentlich wichtiger, dass Unternehmensarchitekten an der Strategie-Entwicklung des Unternehmens mitwirken und das Anwendungsportofolio geeignet ausrichten können. In den Mittelpunkt seines Buches stellt er daher die verschiedenen Ziele, die mit dem Architekturmanagement verfolgt werden können, und vor allem die hierfür erforderlichen Managementprozesse.

Da je nach Unternehmenssituation ganz unterschiedliche Schwerpunkte von Bedeutung sind, beschreibt der Autor wichtige Muster (Patterns), die je nach Fragestellung angewandt und miteinander kombiniert werden können, um die geeignete unternehmensspezifische Ausprägung des Architekturmanagements zu entwickeln. Die Idee der Pattern-basierten Beschreibung wurde bereits im EAM Pattern Catalog an der Technischen Universität München umgesetzt. Im Gegensatz zu den dortigen, sehr detaillierten Patterns werden in dem Buch grobgranulare Patterns für die grundlegenden Fragestellungen vorgestellt. Bei Bedarf kann man die jeweiligen Themen mit Hilfe des Pattern-Katalogs im Internet weiter vertiefen.

Zielmuster beziehen sich auf mögliche, mit dem Architekturmanagement verfolgte Zielsetzungen. Fast immer gehört das Business-IT-Alignment zu diesen Zielen. Weitere Zielmuster betreffen etwa das Kostenmanagement, Time-to-Market, Reduktion von Heterogenität, Fusionsmanagement oder Compliance. Es wird jeweils erläutert, welche Rolle das IT-Unternehmsarchitekturmanagement für das jeweilige Ziel spielt, und welche prinzipiellen Möglichkeiten es gibt, die Zielerreichung positiv zu beeinflussen.

Einen breiten Raum nehmen die Managementprozessmuster ein. Insgesamt werden vierzehn Muster ausführlich vorgestellt, z. B. zur IT-Strategieentwicklung, zum Management des Anwendungsportfolios, der Erfassung der Ist-Anwendungslandschaft, der strategischen Bebauungsplanung oder der Architektur-Governance. Dabei wird deutlich, dass das Architekturmanagement an vielen Stellen eng mit anderen Bereichen des IT-Managements verzahnt ist. Keller erläutert jeweils, welche Aufgaben der Unternehmensarchitekt übernehmen sollte.

Auch wenn sie aus den oben genannten Gründen nicht im Mittelpunkt steht, wird die Dokumentation mit Hilfe von Softwarekarten und Informationsmodellen genauso besprochen wie die wichtigsten Frameworks (z. B. TOGAF und COBIT), sowie Softwarewerkzeuge für das Enterprise Architecture Management. Die immer wichtigeren Themen Compliance, Sicherheit und Risikomanagement werden ebenfalls hinsichtlich ihrer Auswirkungen für Unternehmensarchitekten diskutiert.

Für Unternehmensarchitekten in der Praxis dürften auch die Kapitel über Einführungspfade für IT-Unternehmensarchitektur und pragmatische Vorgehensweisen von großem Interesse sein. Dort werden beispielsweise die Fragen diskutiert, ob sich Unternehmensarchitektur auszahlt, wie man sein Top-Management überzeugt bzw. wie man das Thema zunächst ohne Top-Management-Unterstützung einführen kann. Der Umgang mit verschiedenen Hindernissen, wie z. B. Hierarchiedenken oder mangelnde Offenheit, wird ebenso diskutiert wie die Zusammenarbeit mit den Lösungsarchitekten der einzelnen Softwareprojekte.

Es wird deutlich, dass die Thematik recht komplex und mit sehr vielen anderen Themengebieten verknüpft ist. Daher verlangt das Buch seinen Lesern einiges ab. Man sollte möglichst schon einige Vorkenntnisse aus den Bereichen IT-Management und Software-Entwicklung mitbringen. Möchte man sich in der Praxis ernsthaft mit dem Thema IT-Unternehmensarchitektur auseinandersetzen, so wird man an diesem Buch kaum vorbeikommen.


Keller, W.:
IT-Unternehmensarchitektur
Von der Geschäftsstrategie zur optimalen IT-Unterstützung
2., überarbeitete und erweiterte Auflage
dpunkt.verlag 2012
Das Buch bei amazon.

by Thomas Allweyer at March 28, 2012 07:50 PM