| By Michael Havey | Article Rating: |
|
| May 25, 2005 04:00 PM EDT | Reads: |
34,168 |
The first two processes model a customer. The first, CustomerSS, represents a customer on standard supply who enrolls with a retailer. The obscure expression Σ(r:rets). (enroll r,"mike".CustomerR(r,enroll,switch,drop,rets)) means:
- Σ(r:rets): Choose a retailer channel r from the set of retailers rets
- enroll r,"mike": Send r and the customer's name "mike" on the channel enroll
- CustomerR(r,enroll,switch,drop,rets): Change state to that of an enrolled customer by calling the process CustomerR, passing the chosen value of r
CustomerR is the process for a customer enrolled with a retailer, who can either switch to a different retailer or drop the current retailer and return to standard supply. The conditional operator ("+") separates these two options. The first option, on line 4, is written as Σ(r2:rets).(switchr,r2,"mike".CustomerR(r2,enroll,switch,drop,rets)), meaning:
- Σ(r2:rets): Choose a retailer channel r2 from the set of retailers rets
- switch r,r2,"mike": Send r2, as well as the channel of the retailer with which the customer is currently enrolled, r, and the customer's name "mike" on the channel switch
- CustomerR(r2,enroll,switch,drop,rets): Keep the same state, but change the retailer of record, given by the first variable, from r to r2 by recursively calling the process
The second option, on line 5, is drop r,"mike".CustomerSS(enroll,switch,drop,rets): - drop r,"mike": Send r and the customer's name "mike" on the channel drop
- CustomerSS(enroll,switch,drop,rets): Change state to that of a customer on standard supply calling the process CustomerSS
- switch (r1,r2,c): Receive on the switch channel the channels of the new retailer (r2) and old retailer (r1), plus the customer name
- r1 "dropcust",c: Instruct the old retailer to drop the customer
- r2 "addcust",c: Instruct the new retailer to add the customer
The retailer process, in lines 10-11, listens on its channel r for the required action and customer (r(action,c)) and then, like the supplier process, continues recursively.
The market process, in lines 12-16, creates a simple energy market. Line 12 creates specific instances of the enroll, switch, and drop channels (chEnroll, chSwitch, and chDrop, respectively), as well as a set, named retSet, of actual retailer channels (retA and retB). Lines 14-16 create four concurrent process instances - separated by the concurrency operator "|" - and passes to them the newly defined channels. The processes include a single customer on standard supply, a supplier, and two retailers using channels retA and retB, respectively. Figure 3 depicts the overall exchange.
The Pi Calculus and BPM
BPM is fast becoming the practical study and design of solutions for elaborate, multi-company communicating business processes. For those seeking a formal basis for BPM processing, the Pi Calculus offers three key features:
- Control Flow. In the Pi Calculus, the sequential, parallel, conditional, and recursive behavior of a process can be declared succinctly.
- Message-Based Communication. The heart of the Pi Calculus is its clean syntax and semantics for inbound and outbound messaging.
- Mobility. Contemporary processes cannot hardcode service endpoints, but require the ability to pass around and change addresses dynamically. Dynamic addressing, or mobility, is the most distinctive feature of the Pi Calculus.
The crux of the "hype" criticism of van der Aalst is that the use of the Pi Calculus in the creation of contemporary languages is overstated; that, perhaps, these languages came together more casually and with less academic rigor than advertised. They might resemble the Pi Calculus, but they are hardly "based" on it. His challenge to prove the connection, though stated in polemical language, could inspire a landmark BPM paper.
Petri Nets
The Petri network (or Petri net), a notion devised in 1962 by the mathematician Carl Adam Petri, is a formal graphical process modeling language that can be used to design systems as diverse as train track switches and business processes. With respect to the latter, Petri nets help describe, and indeed can be used to implement, the semantics of process control flow, ranging in complexity from basic branch and join rules to complicated synchronization techniques such as "dead-path elimination," a core topic in WSFL and BPEL.
Petri Nets in a Nutshell
The graphical building pieces of a Petri net diagram are the following:
- Place. Drawn as a circle, a place is a stopping point in a process, representing, in many cases, the attainment of a milestone.
- Transition. A transition is a rectangle that represents an event or action.
- Token. A token is a black dot residing in a place. During the execution of the process, tokens move from place to place.
- Arc. An arc is a link from a transition to a place or from a place to a transition.
Published May 25, 2005 Reads 34,168
Copyright © 2005 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Michael Havey
Michael Havey is a Chordiant consultant with 10 years of industry experience, mostly with application integration. Michael's book Essential Business Process Modeling was published by O'Reilly in August 2005.
- The Top 150 Players in Cloud Computing
- Commercial vs Federal Cloud Computing
- Why IBM’s Server Chief Got Busted
- Industry Experts Discuss the State of Cloud Computing
- Cloud Expo New York Call for Papers Now Open
- Cloud Computing on Gartner's Top 10 List and SYS-CON Events' 2010 Calendar
- US Federal Government is Major Cloud Computing Innovator
- Google Wave
- Ulitzer.com Named Exclusive "New Media" Sponsor of Cloud Computing Conference & Expo
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- Adaptivity & Cloud Computing: Exclusive Q&A with CEO Tony Bishop
- 4th International Cloud Expo: Photo Album
- The Top 150 Players in Cloud Computing
- SYS-CON.TV: Cloud Computing Expo Power Panel
- Commercial vs Federal Cloud Computing
- Why IBM’s Server Chief Got Busted
- 1st Annual GovIT Expo: Letter from the Technical Chair
- Industry Experts Discuss the State of Cloud Computing
- Deputy CIO of the CIA to Keynote 1st Annual GovIT Expo
- SOA World Power Panel on SYS-CON.TV
- CIA was Headed to an Enterprise Cloud All Along: Jill Tummler Singer
- Cloud Expo New York Call for Papers Now Open
- 1st Annual Government IT Conference & Expo: Themes & Topics
- Stock in Focus: Dragon Capital
- The i-Technology Right Stuff
- Who Are The All-Time Heroes of i-Technology?
- Get the Message
- Where Are RIA Technologies Headed in 2008?
- i-Technology Viewpoint: Is Web 2.0 the Global SOA?
- i-Technology Viewpoint: Thinking Outside the VC Box
- ESB Myth Busters: 10 Enterprise Service Bus Myths Debunked
- i-Technology Viewpoint: When to Leave Your First IT Job
- SOA Web Services Edge Conference Coverage on SYS-CON.TV
- Five Reasons Why Web 2.0 Matters
- SYS-CON.TV's "SOA Web Services" and "Enterprise Open Source" Programs To Air in December
- SOA World Conference & Expo SYS-CON.TV Power Panel Live From Times Square









Cloud computing is a game changer. The cloud ...



















