Saturday, September 19, 2009

PhD Cartoon collection.

Found a nice source of cartoons related to higher studies. :-)
Listing a couple of my favs.


Wednesday, August 19, 2009

Drools 5.0 and business process modeling flexibility

The rules and workflows are considered to be two different paradigms for business process modeling[1]. Although there are some approaches[2, 3] that attempted combine the advantages of both rule driven and workflow driven business process modeling, the Drools 5.0 combined the advantage of both paradigms as a commercial product.

Earlier the drools modeling considered rules (conditions and actions) as first class citizens. The drools engine allows rules to be specified using the drools language or in xml to be interpreted by the rule processor. This is now provided as the Drools Expert. The java program that integrates the rules engine can pass java objects as facts in to the engine to be evaluated against a rule, or a group of rules. But now with the Drools Flow[4], the processes (better say workflows) are too considered as first class citizens (entities). Also earlier there is no notion of events. The events, such as exceptions, alerts should be handled by the (Java) program. Upon an event the program fires rules. But now with the Drools Fusion [5]the events too are considered first class entities that can be modeled along with processes and the rules. (Here I use the same terminology in the drools documentation. However it should be noted that their use of processes are very similar to the meaning of workflow in other literature. Also when they refer rules it seems they refer to a combination of event and actions). Apart from the above Drools-Govnor allow the users (especially the non-technical lot) to manage the rules using a web interface.

I see following main advantages of this development in drools with Drools Flow and Drools Fusion.

Now it is possible to implement the business logic without being restricted to rule-centric or process-centric modeling approach. Therefore from the design point of view the users can practice the best applicable approach to design different parts of the business logic. Because a flexible process modeling approach will be ended up somewhere in between these two paradigms.

Form the implementation point of view, now the developers have a common API to work with. Earlier the business processes have to be implemented using a different API while rules are specified using Drools (Now Drools Expert). That brought many limitations. For example it wasn’t possible to take decisions in a business process based on an outcome of a rule evaluation. There has to have an intermediary layer to bridge the gap. But now the rules can be used to take decisions on business processes and even assigning the actors to human tasks.

Also, the ability to model complex events using Drools Fusion is a great advancement compared to the earlier versions. In earlier the event handling is done by the java program and which eventually fires a set of rules. However now it is possible to do temporal reasoning of different events (e.g. E1 before E2), use sliding windows both time (e.g. items of last 10 minutes) and length based (e.g. last 10 items) etc.

Moreover the processes, events and rules (Condition, Actions) are all now part of one knowledge base. Thus it is easy to manage the state, share context of a particular process instance. Consequently the process instances can deviate from the pre-defined execution path, for example to handle an exception.
link

1.R. Lu and S. Sadiq, “A Survey of Comparative Business Process Modeling Approaches,” Business Information Systems, 2007, pp. 82-94.
2.A. Charfi and M. Mezini, “Hybrid web service composition: business processes meet business rules,” Proc. Proceedings of the 2nd international conference on Service oriented computing, ACM, 2004.
3.T. Graml, R. Bracht and M. Spies, “Patterns of business rules to enable agile business processes,” Enterprise Distributed Object Computing Conference, vol. 2, no. 4, 2008, pp. 385-402; DOI http://dx.doi.org/10.1080/17517570802245441.
4. “Drools Flow,” http://jboss.org/drools/drools-flow.html.
5. “Drools Fusion,” http://jboss.org/drools/drools-fusion.html.

Tuesday, June 09, 2009

Sri Lanka - a birds eye view over paradise island

Nice video about SL. :-)
10 minute birds eye view over paradise island

Monday, June 08, 2009

Autonomic computing vs Artificial intelligence

This article "Looking to nature for smarter software systems" explains the use of autonomic computing in a very simple way highlighting how it is different from Artificial Intelligence.

Tuesday, May 19, 2009

Tears and smiles..

This is a day that Sri Lanka re-writes her history in a new chapter. The myths that were surrounded with the separatism and terrorism are gone with the wind. Who said they are invincible...?
During my whole life what I saw was WAR.
Bombs were frequent and people used to ask "how many are dead?" Just a routine question. If there is a politician involved then there is something special in the news. Otherwise its just another blast.
Irrespective of day or night ambulances were rushing along the Galle Road from Ratmalana military base. That was a sign of renewed fighting. People flocked in front of TVs again to hear the score. Deaths of humans who used to breath like you and me are just numbers. Sometimes villagers have to cremate a sealed off body of a fallen soldier. My friends/relatives had to cut their leaves short as they were called for the duty. Families had to keep their uncertain eyes open until they come back during the next vacation that no one can predict.
We had to think twice before we schedule our work in Colombo. People were suspicious if you carry a bag or suite case. No chance of keeping it on a rack or under a seat. Buses were randomly stopped at check points. We had to walk through lines with our identity cards ready and wait for the inspection. Men, Women, Elderly and Children alike.
Large amount of money spent on WAR. Military vehicles scrolled along half made dusty roads while the children studying in open class rooms, waving their hands to soldiers.
Without any prior notice roads were closed in the city for VIPs passing by. You have to wait for hours in a bus packed with exhausted commuters. Sweating, cursing, hungry and angry.
This was the life of our generation. If you feel uncomfortable hearing my story, being a Sinhalese, lived in a Suburb of Colombo, you should never hear what a Tamil friend in my age have to say.
Those who preach us to negotiate with the world's most ruthless terrorist organization, never gone through the trauma we gone through for three decades. Those who are trying to satisfy Tamil diaspora just because of few votes, may they lose every election before they rot in hell. Those who put ridiculous conditions, just to give us a "loan", please keep it to yourself. After all we have to pay it back one day.
My heart goes for those families who are now displaced and are living in camps. Remind me the Tsunami in 2004. May they find their way back soon and start rebuilding their life. The worst is over. Its time to move on. No more bullets but ballets. May the politicians at least keep their personal agendas for 5 more years for themselves and work for the betterment of average Sri Lankans. Especially for the sake of those live in North and East.
Finally I would like to pay my gratitude to our armed forces who fought bravely to give a country that is free of terrorism. You are the best people who knows how awful the war is. Not the NGO "gembos" who preach us about the repercussions of war to get their pockets filled with easy $$$s. And HE the president, defense secy and all those who gave their fullest support to reach the target under the pressure from ignorant West. I salute you Sirs. A job well done. But be safe.
I wish the next generations would never ever go through such an experience. May the tears dry and bring a spreading smile along with peace and prosperity for my people.

Friday, April 17, 2009

Cloud computing presentations

Ayanthi has published the presentation done by Dr. Sanjiva Weerawarana at the SOA symposium on cloud computing.

I'd like to add this presentation done by Dr. Rajkumar Buyya from the Grids Lab to it. This was presented today at the university and it brought a very interesting discussion.

The presentation discusses the evolution of Cloud Computing and how is it different from other paradigms such as Cluster and Grid. Further it discusses about certain case studies that used the Gridbus middleware.

And some interesting definitions for "Cloud Computing can be found here. [Beware 21 of them]

Wednesday, April 15, 2009

Workflow management systems. A liability or an asset?

Today more workflow systems appear to assist the business process management. The usual procedure is to draw a business process as a workflow diagram using a notation such as BPMN which will be converted to a code or more preferably to a process execution language script such as WS-BPEL (aka BPEL4WS).

This works fine until there is a requirement for a change in the process flow. The change can be a permanent one or it can be an ad-hoc one that caters for an exceptional situation. In the first case the process definition is changed which is known as an evolutionary change/adaptation. Where all the future instances of the process definition adhere to the new one. In the case of ad-hoc change only a particular process instance is changed which is known as momentary change thus would not affect the future instantiations.

One solution for this is to include all the possibilities into the process definition. For example BPEL switch statement. But some run time changes cannot be predicted during the design time. And even it could, the plethora of possibilities can make the design a very messy and complicated one.

Thus a running business implementation may have a business process but the frequent ad-hoc change might make it a liability than an asset. Making the stakeholders to by-pass the workflow definition rather than adhering to it. Thus it is required to find more flexible ways to design business processes that facilitate the frequent adaptation or change.

This will be my first post on this and will be followed by a series of discussion that will discuss the possible strategies to face the above challenge.

Tuesday, March 10, 2009

Wednesday, March 04, 2009

What is cloud computing?

This video explains the basics of cloud computing.

Tuesday, February 17, 2009

Process Aware Information Systems

During my summer vacation, I started reading the Book "Process Aware Information Systems". The book caught my eye as I was passing a shelf in the library. After reading the preface I decided to have a better look.



The first section gives an overview of PAIS(Process Aware Information Systems) which includes a nice classification of PAIS and the rationale behind it, adding a little bit of history along with techniques and tools too.
Then the book discusses concepts of Workflow Management and modelling, person to person interactions, business to business integration etc.
The section two of the book is more like a reference. That includes UML modelling, petri nets, and event driven process chains. But hard to read continuously though.
The last section discusses more practical methodologies and standards such as XPDL and BPEL. For those who are interested in web services business processes like my self, this is again a good reference. But before reading this section its better to have look at those specifications first and may be started with "Introduction to XYZ..." kind of an article.

Sunday, February 08, 2009

Friday, February 06, 2009

DNA Computing.. the future wetware

An introductory tutorial is here
This too is interesting to read. But not detailed (and lengthy) as this.

Thursday, December 11, 2008

Sinhala lyrics

Before you get yourself embarrassed during the next party or the picnic ;-)
Find your favourite Sri Lankan songs in Lanka Song Book

Wednesday, November 26, 2008

ICSOC 2008

The sixth International Conference on Service Oriented Computing (ICSOC) is to be held from 1st to 5th of December in Sydney, Australia. In parallel to the main conference there is is a PhD symposium (December 1st) that will discuss the approaches, steps, best practices for PhD student that are exploring the Services Oriented Architecture.
After the main conference there is a summer school too. A good opportunity for students living downunder to learn and discuss the latest concepts and technologies in Services Oriented Computing. That will be held in Friday (5th) and Saturday (6th). The complete program is available in the main conference web site here.

Friday, November 21, 2008

Sri Lanka trail guides.

If you are a nature lower and would like to hike in Sri Lanka, have a look at the following web site.
http://www.lakdasun.com
It contains pictures, useful tips and much required trail guides with GPS way points. You may download the trail map and view it on google earth. Thanks Lakdasun team for these useful info. Keep up the good work.

Thursday, November 20, 2008

BPEL from CDL

WS-CDL and WS-BPEL both provide a way to describe how web services should collaborate. But the difference is that WS-CDL gives a global perspective the message exchange whilst the WS-BPEL provides a single participant's perspective.
As some are arguing I do not see a competition between these two specifications. Rather they must co-exist to describe services interactions properly.
Though, WS_CDL is designed to be used in conjunction with the WS-BPEL, one limitation of the WS-CDL specification is that a clear mapping with BPEL is missing. I agree that the intention of WS-CDL is not to be depend on WS=BPEL but there are advantages of having such a clear mapping.

  1. Choreographies can be defined in WS-CDL first by business partners and then generate BPEL process stubs for each party
  2. A party who’s having an internal business processes may need to publish the interface to its processes to attract business partners by generating the choreography. This could be done using a BPEL to CDL mapping.

From the engineering perspective such a mapping could be automated. Also such a defined approach would minimize the inconsistent mappings by different parties coming in to collaboration.
This paper presents how BPEL process definitions are derived from the global WS-CDL model. Authors have done this by defining a set of transformation rules.
For example

  1. Each party participated in CDL choreography a separate BPEL stub is generated
  2. One cdl:relationshipType maps to one bpel:partnerLinkType and the bpel:role with its bpel:portType is generated from the referenced cdl:roleType declaration
  3. Generate separate property files for each cdl:roleType including only those bpel:properties that are relevant for a party.
  4. BPEL basic activities are directly mapped to CDL basic activities
  5. Work units in CDL are related to scopes in BPEL


The complete mapping is available in the section 5.
The paper addresses a much required issue by not altering the existing standards or without introducing new standard, which is a plus point. The approach seems straightforward and not requiring intermediated mapping like in the approach here[4] where the mapping is into Communicating Sequential Processes. Also authors have implemented a prototype of the mapping as a proof of concepts.
Saying that, one limitation of the paper is that there is no reference on how to verify the generated BPEL stubs over the original CDL. Generated stubs may be correct for the given example or could be verified manually for simple scenarios. But it is required to have a formal mechanism to verify more complex scenarios. That is not in future work section too. And the verification need to be integrated to the BPEL stub generation or it should be done after generating BPEL stubs but before the populating them with application logic.
Also it is not clear how the mapping from BPEL processes to CDL is done. Which also an interesting issue (as far as ROAD is concerned ). May be we might be able to complete that part. We can map several processes to a common choreography by projecting them over a ROAD Self Managed Composite. In other words by overlapping several processes we might be able to define the choreography. Syntactical transformations might use the same discussed in the paper. Sure need to think and discuss more about that.

Friday, November 14, 2008

How to pronounce a word like a native?

Ever imagined how to pronounce a word correctly like a native? For example how the word for home in Sinhala language be pronounced in English properly? Is it "Gedara" or "Gethara"? Or something in between "da" and "tha" sounds? Well… now we have the chance to make the correct pronunciation available for non-Sinhala speaking community by recording them via Forvo’s web database.
Forvo’s goal is to collect proper pronunciations of every word in every language on the plant. Sounds bit dotty yeah…? But I think it’s a matter of time. I have already included some words in Sinhalese to the database and will contribute in the future as well.
So if you need to contribute for your language or like to learn how to pronounce a word in another language like French, Spanish or Japanese (as of now 195 languages are supported) properly check this out.

Adaptation categories

Static Vs Dynamic

The static adaptation can be achieved via logics in the program source code. That’s in the design time where a certain predictions are reflected in program source code and the configuration settings. Dynamic adaptation is the adaptation at runtime. The latter is considered to be more difficult to achieve as it is difficult to predict what are the events are and what the actions on them are. Undoubtedly the latter with a higher research interest.

Manual Vs Automatic

The manual adaptation refers to a sort of adaptation where human intervention is involved. In contrary, the automatic adaptation is where there is no such human involvement. By referring to the existing literature we can see that the more effective adaptation strategies are based on semi-automatic, where at a certain point there is a human involvement but mostly it’s the system itself is adapting to changes. (Especially adaptation of non-functional properties)

Proactive Vs Reactive

The difference here is based on the time of the adaptation occurs with respective to a particular event in the environment. If the adaptation is before the event, then it is proactive adaptation. If the adaptation is after the event then it’s known as reactive adaptation.