Frank's Blog

Time Machine with FireWire 800 

A few days ago, my old 2.5" external HDD used for Time Machine died once again. So I decided to replace it with a robust (5 year warranty) My Book Studio Edition 500GB from Western Digital.

I selected this (a bit more expensive) model, since it had a FireWire 800 port. It came preconfigured for the Mac, formated with Mac OS Extended (Journaled) file system. Furthermore, it looks very Mac-stylish, especially with the white LCD-effects in front. It shuts down and powers up with the Mac (also in sleep mode). The device remains cool, but is a little louder than my Alu iMac. It will return to sleep mode, however, if not used for 10 minutes.

The whole thing was installed quickly, and my 80 gigs of stuff were backed up within an hour. This was also a reason why I decided against getting a Time Capsule from Apple. All the boards are full of discussions about slow speeds, blocking the internet access, and quite much heat produced.

Of course, I started up XBench and measured the performance using USB 2.0, FireWire 400, and FireWire 800. The 256K block performance is shown below:



The first two blocks show sequential write and read access with 256k blocks, whereas the last two blocks show random access. The vertical axis denotes the transfer speed in MB per second. As can easily be seen, USB 2.0 is quite close to FireWire 400. What can not be seen, however, is that USB produced much more CPU usage on a Mac. FireWire 800 is a good leap ahead.



The figure above shows the 4K block performance. The sequential writing of 4K blocks seems to be even faster than 256K blocks, with FireWire 800 leading once again. The results are closer for the last three blocks, obviously since the transfer speed is no longer an issue in this kind of benchmark.

[ view entry ] ( 1351 views ) permalink $star_image$star_image$star_image$star_image$star_image ( 3 / 2555 )
BPMN Book Review 

The first official book on BPMN (Business Process Modeling Notation) is out in the stores, titled 'BPMN Modeling and Reference Guide', written by Stephen White and Derek Miers. Both have been---and are---deeply involved in the creation and maintenance of the BPMN.

While the book itself aims at business users and process modeling practitioners, it is also quite interesting for people who are already familiar with the notation. The authors decided to split the book into two parts: an introduction and a reference section.

The first chapters fade slowly into the topic, with one short chapter dedicated to the importance of modeling and the BPM setting in general (chapter 2). In chapter 3, the different categories of processes (orchestration, choreography, collaboration) are introduced and chapter 4 discusses complexity issues. Chapter 5 provides a scenario-based BPMN introduction. This is the main chapter of the first part, but is rather short (32 pages).

The main part of the book is the reference section. There are distinct chapters on activities, events, gateways, swimlanes, artifacts, connectors, and advanced features. The reference itself focuses on the core features and explain their use in a precise (but yet very compact) manner.

I personally like the style of writing very much, especially since it's even interesting if you already knew the specification. One reason is the critical viewpoint that the authors bring into discussion every now and then, e.g. 'The first version of BPMN (now 1.1) included some of the concepts that support choreography models' (p.31). Of course the authors don't do that for fun. Instead they always mention that things will be clarified and better in BPMN 2.0---their proposal of BPMN 2.0.

Another thing that I like is the running example in the introduction part. It's a new kind of example that I haven't seen before and it heavily relies on signals. Still, I have some doubts regarding the lifecycle of those signals---how long are events valid (even a signal flare disappears after some time?), do events cross several instances (they should, since otherwise they could not reach different instances in other pools, they shouldn't, because otherwise a 'Bad Credit' signal kills all running instances?). But maybe there will be some clarification in BPMN 2.0.

Yet another nice thing is the reference section that also discusses advanced things like transactions. The authors use some kind of virtual token to depict the suggested execution semantics.

But, the 225-page book is not an extended version of the specification. While the authors mention that there are things like attributes, they never directly discuss them. The BPEL-mapping is not even touched.

Concluding, I can recommend the book to anyone interested in---or working with---BPMN. I have some doubts, however, if that anyone has no BPM knowledge. While it's targeted at business users and practitioners, it's definitely not an introductory book to process modeling.

URL: http://www.bpmnreferenceguide.com/
[ view entry ] ( 1275 views ) permalink $star_image$star_image$star_image$star_image$star_image ( 3 / 2373 )
New Thesis on the Pi-Calculus and BPM 

Today I found some time to provide the Master thesis of Olaf Märker at the BPM spot: A Virtual Machine for Implementing Resources with Dynamic Behavior in the Pi-Calculus (Thesis in German).

Olaf investigated the implementation of a REST-based architecture inside a pi-calculus-based virtual machine. Inside the thesis, you find a neat introduction to Business Process Management (BPM), Service Orientation, Resource Orientation, and the pi-calculus. Afterwards, Olaf married resources and processes and discussed the architecture for a pi-calculus-based resource server. He finally implemented a virtual machine for the pi-calculus based on the ideas introduced earlier.

Olaf also provided the source code written in Ruby, but it requires a lot of additional packages, like Postgresql, plruby, and certain Ruby gems.

So, if you're interested in the future of BPM engines, I highly recommend taking a closer look!
[ view entry ] ( 1901 views ) permalink $star_image$star_image$star_image$star_image$star_image ( 3 / 2362 )
BPMN 2.0 drafts  

The BPMN 2.0 draft specifications are out for inspection (#1, #2). Yes indeed, there are two different proposals following the request for proposals from the OMG.

The first proposal comes from IBM, Oracle, SAP, and Unisys as submitters, but also IDS Scheer, Software AG, TIBCO, Intalio, etc. are listed as contributors. Interestingly, even two consultants are named: Accenture and CapGemini. This proposal is strongly based on the original specification.

The second proposal comes from Adaptive, Axway Software, EDS, Lombardi Software, MEGA International, Troux, Unisys as submitters (note Unisys twice!). Additional contributors are networks like BPM Focus or large industries such as Lockheed Martin. Their proposal strongly focuses on aligning the existing BPMN notation with the Business Process Definition Metamodel (BPDM) of the OMG.

BPMN itself now seems to be named Business Process Model and Notation instead of Business Process Modeling Notation. The change in the name also points out the major efforts of the 2.0 specifications: the definition of a sound meta-model.

In the following discussion, I focus on the highlights of the first proposal. I personally stick to that one, since it resembles the style of the existing BPMN specification and enhances it further. The second proposal, in contrast, looks more like a set of tables and figures that is hardly readable. It also doesn't seem to contain really noteworthy information beyond a meta-model for BPMN. More interestingly, of course, is the fact that most major BPM vendor stick to the first proposal.

Now, let's discuss the scope of the BPMN 2.0 draft specification (as in all following paragraphs, I consider the first proposal):

"The BPMN 2.0 specification extends the scope and capabilities of the BPMN 1.1 in several areas:
- Formalizes the execution semantics for all BPMN elements
- Defines an extensibility mechanism for both process model extensions and graphical extensions
- Refines event composition and correlation
- Extends the definition of human interactions
- Defines a choreography model
This specification also resolves known BPMN 1.1 inconsistencies and ambiguities."
(cited from the draft)

Out of scope are aspects such as
"- Definition of organizational models and resources
- Modeling of functional breakdowns
- Data and information models
- Modeling of strategy
- Business rules models"
(cited from the draft)

The major enhancements of the specification include an XML Schema-based a meta-model, support for choreographies, execution semantics, a refined BPEL-mapping, and a lot of smaller additions and fixes.

XML Schema-based meta-model


All of the BPMN elements are described in XML schema, so that a standard meta-model is provided. What is still missing---besides the headline---is a visual interchange meta-model. This will be quite useful, since otherwise the models must be auto-layouted.

Choreographies


An optional part of the specification introduces choreography models as a third kind of model type. The other two are orchestrations (private, abstract) and collaborations. Choreography (in terms of the specification) is "a definition of the expected behavior, basically a procedural contract, between interacting Participants. While a normal Process exists within a Pool, a Choreography exists between Pools (or Participants)". A choreography thus basically resembles an interaction view (such as Let's dance), whereas collaboration processes resemble an end-point view. I don't want to go into detail; the picture below shows an example.



The choreography consists of so-called choreography tasks, which denote a set of interacting participants. The name of the interaction is written in the center, whereas the different participants are shown at the top and the bottom (there can be more than two participants). The initiating participant is shown with a shaded background. The draft specification defines a number of rules on how the choreography tasks could be combined.

When we talk about choreographies, we also need to talk about conversations, defined in BPMN as "[a conversation] is a set of message exchanges (Message Flow) that share the same Correlation". The specification also defined several kinds of correlation (key-based, expression-based) which are closely related to BPEL. However, the section on choreographies and conversations is still quite incomplete.

Execution semantics


The BPMN now also sports informal execution semantics. The core concept here is a scope, which describes the context in which execution of an activity happens. The scope has a lifecycle with states like activated, in execution, completed, in compensation, etc. Those lifecycles are also defined for other constructs. The execution semantics itself is described in a tabular fashion for the different flow objects. Furthermore, the description directly points to the corresponding workflow patterns. What is missing, however, is a formal representation. The OR-Join, for instance, is still only described very vague. On the other hand, the informal description keeps a lot of freedom for implementers.

BPEL-mapping


The BPEL-mapping now assumes the BPD to be sound, which I find a quite imprecise requirement, since BPMN doesn’t has a formal semantics based on Petri nets (where soundness is defined on): "To map a BPMN orchestration process to WS-BPEL it must be sound, that is it must contain neither a deadlock nor a lack of synchronization. A deadlock is a reachable state of the process that contains a token on some sequence flow that cannot be removed in any possible future. A lack of synchronization is a reachable state of the process where there is more than one token on some sequence flow. For further explanation of these terms, we refer to the literature."

Still, the provided BPEL-mapping is a major step forward, since it now focuses on the mapping of simple patterns instead of examples. More elaborate BPMN to BPEL mappings are left to tool vendors by stating a rather hard requirement: "The observable behavior of the target WS-BPEL process MUST match the operational semantics of the mapped BPMN process. Also, the mappings described in section 11.1 SHOULD be used where applicable".

Other enhancements


The draft specification also contains a lot of other enhancements such as multiple pool instances, markers for the different task types, collections of data objects, or extensions for human interactions (performers, owners). The specification defines an explicit extensibility model that can be used to integrate other artifacts.

The events have been extended (once more) and some of them are now available in a non-interrupting fashion. A new kind of event resembles the star trek symbol, it is used for escalation. The attached intermediate events can now also be represented as so-called event sub-processes. Those are drawn inside the surrounding process and have access to the context of the parent process.



The specification still does not define a specific data-format or query language, but XML Schema and XPath are highly recommended.

Final remarks


I personally like the draft specification pretty much. Readers familiar with the 1.1 specification will feel right home and find a lot of clarification. I also like the idea of adding a new model type, the choreographies. The key ideas of interactions are, however, difficult to explain to people used to end-point-based choreographies. Furthermore, all the difficult things like enforceability need to be considered.

The specification itself is written rather informal, with sometimes lazy use of keywords, such as activity lifecycle (do they mean an activity instance lifecycle?). I do understand that the specification is not a self-contained book on BPM, but at least they should cite the terminology they use. The same holds for the mentioned concepts like soundness or enforceability. Still, the specification is labeled draft and I suppose many things will be well polished in the final release.

Addition: Torben pointed me to three blog entries of Bruce Silver discussing the IBM et al proposal for BPMN 2.0: #1, #2, #3. Thanks Torben!
[ view entry ] ( 2203 views ) permalink $star_image$star_image$star_image$star_image$star_image ( 3 / 2487 )
BPM2008 

Last week I attended the 6th International Conference on Business Process Management (BPM2008). In contrast to most other conferences I visited in the past, I didn't had a talk of my own. Instead, I reviewed a bunch of papers and acted as a session chair. The session chair was quite funny, since one of the presenters was unable to finish his speech in time. Indeed, right after he told me that he needed more time, he switched to a slide titled something like "violating time constraints".

The conference itself was very interesting and I met a bunch of old colleagues and yet another one of new contacts. What I found a bit disappointing was the very slow progress in the area of semantics. Nevertheless, other areas like mining or process analysis have moved ahead.

Another interesting news is the fact the you can by unlocked iPhones in Italy for as low as 500 Euro (8GB). This is especially interesting since I've read today that Amazon plans to sell unlocked iPhones in Germany for 750 Euro. My suggestion: Invest the 250 savings in a nice trip (incl. flight and hotel) to Milano. But be warned that a beer costs about 8 Euro in downtown!

Last but not least I'm giving you some impressions:


The Banca Popolare di Milano welcomed us right at the airport.


The building at the Politecnico di Milano where the conference took place.


The crowd of attendees during a break.


Prof. Weske from the HPI, Potsdam presented the web-based modeling tool Oryx.


Paul Harmon, Executive Editor and Founder of bptrends.com gave an interesting keynote.


Milano has a large castle in the center of the city.


A downtown view.


Torben, a colleague of mine, Jan, and myself in the underground.

[ view entry ] ( 1423 views ) permalink $star_image$star_image$star_image$star_image$star_image ( 3 / 1738 )

<<First <Back | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | Next> Last>>