Students for a Smarter Planet ..leaders with conscience
IIT Madras
June 30th, 2014

After an almost mad-rush writing about 300 lines of code, I’ pleased to say that the initial prototype has been completed!
The final list of functionalities as of 28th June include the following:

1) Auto sequence changer with respect to the states.
2) Life-cycle information can now be stored in a different table that corresponds to every artifact. (For example information such as, 1 => 2, 4 => 5, and so on.)
3) Mechanisms to catch exceptions.
4) Tasks that can Manipulate other Artifacts.

The full list of syntax so far includes:

Create Business Domain domainname

View Artifact artifactname

Create Artifact artifactname Attributes attribute1 attribute2 attribute3 attribute4 States state1 state2 state3

Insert Into artifactname attribute1, attribute2, attribute3, attribute4 Values value1 Value2 Value3 Value4 Setto stateN

Update artifactname Set columnname = “string” Where ID = n;

View artifactname Where relation1 and relation2

Delete artifactname where relation1

Drop artifactname

Remove databasename

We are now trying to address several issues with the software and are in the debugging stage. We soon hope to make the tool available for a limited number of researchers and then, verify feedback.

That’s all for now!

Bookmark and Share
May 23rd, 2014

Posted by
Ray in

It’s been a busy April, and I haven’t been able to update the blog last month. However,on the bright side it seems the team is closer to completing the original task that was undertaken. I’m happy to report that we have completed adding all basic functionality to our program. With over a 1000 lines of Java code, this project seems to be scaling along nicely. At the moment, we are considering adding the following functionalities:

1) Use of additinal fields to hold artifact information, independent of the states. This is to be modeled as a finite state machine.

2) Possible embedded data analytics tools to link artifact models and process mining tools.

3) Performance measure metrics and tools.

We are contemplating a slight detour from the original plan of completing coding all at once and then augmenting functionalities as and when necessity arises. Particularly, we are looking to build and develop data analytics architectures simultaneously to smoothen later reassembling and compatibility, though a modular approach is being followed. There were several advantages, and I would like to discuss one such advantage which is relevant to the Visa decision example initially discussed in an earlier post.


The above image shows a independent process output obtained from the coding exercise. However surprisingly and rather very encouragingly, we could find structures that would make forecasting and classification credible. We fed the initial few attributes into the well-known open-source Weka data mining tool, and the following tree dendrogram was obtained:

visa 2


This has become the high point of our work so far and seems like we are beginning to slowly get benefits out of the time spent in the past few months. With each progressing month, the project seems to be getting more interesting and turning more purposeful. We will keep you updated!


See you soon!

Bookmark and Share
March 24th, 2014

With a slight lull in the coding and application development, we have just begun a complete stop-till-done phase in developing code for the integration framework. We expect to soon complete the first fully functional demonstartion of the SQL-Framework for Business Artifacts using BASQL queries in 2 months time.

The brief lull, was due to our preparation in submitting to a prestigious conference a research paper on this work. Results of acceptance/rejection are due in May – fingers crossed!

Anyway here are technical milestones we achieved as we are several weeks into the app-development process:

1) Creation of Artifacts with specifying Tasks, States and Data Attributes from Command line has been completed. See snapshot below:




2) Editing Artifact Attributes via BASQL Syntax. See snapshot below:



3) Viewing Artifact Content from the Command Prompt. See below:



With the brisk pace, we believe we are right on course to completing the project on time as originally envisaged. Stay tuned – the project only begins to become exciting from now on!

See you soon,

Raymond and Team

Bookmark and Share
February 27th, 2014

Hi all,

The Business Artifacts team is happy to report an all systems go! We have been successful in representing all aspects of business artifacts in simple 2-D tables that can be manipulated in any leading SQL clients.
To be more precise, we provide a one-to-one mapping of how we have mapped all features of Business Artifacts to the corresponding features in any database client:

The Business Artifact Information Component to the SQL Tables

In Business Artifacts, there is an explicit information component that holds and processe variables along the business process. The variables are defined, updated, retrieved or destroyed as per the requirements in the process flow. These variables include firm process variables that indicate quantity as well as life-cylce variables, corresponding to the state of the Business Artifact.
This component is implemented, by just defining all information components - that is all the attributes and their instances in the traditional database model. For instance, in the above considered business artifact, the information
component is described as under:

/SQL Code /
Create Table Payment_INSA ( ID int , Student_Name string , Accomodation_Rent int ,
Restauration_Rent int , Paid Bool , Retired Bool ) ;

Insert into Payment_INSA values (777 , John , 330 , 230 , ’True ’ , ’ False ’ ) ;
/ Creating Instance /

Tasks in the Business Artifact Business Process Management to (Stored Procedures) Routines in SQL

Tasks in the Business Artifact centred Business Process Management world are various decision making, input and activity centres that manipulate, update and read the information components of the Business Artifacts as well as specify
life-cycle states of the artifacts based either on input activity by an external agent or based on some pre-requisite decision rules that are applied to the state variables of the business artifacts.


These aspects are capable of holding all information possible pertaining to a given business process. As such, we have completed all pre-processing necessary and are beginning coding! This is an exciting phase and we hope to make greater strides in the course of the following month!

A bientot!

Raymond and Team

Bookmark and Share

What would US Visa Processing times have in common with IBM and Data Analytics? Well, a lot actually.

Before I begin this article, this being my first on the SFSP blog, I would like to thank IBM for the generous funding as part of the SFSP Award. I would like to introduce myself – I’m Raymond Joseph a student at IIT Madras, in India. On an exchange program at INSA Lyon, France, working under Prof. Youakim Badr, we developed the basis behind expressing Business Artifacts – in simple 2-D SQL tables. OK, we’re jumping the gun a little bit here. So what/who exactly are Business Artifacts, SQL?

Business Artifacts

Business Artifacts are objects that are used ubiquitously, often obliviously in day-to-day business transactions. They consist of two components – one the data component which has information on various parameters and attributes corresponding to a particular artifact instance. Two, a life-cycle information component that has information regarding the path to be taken by the Artifact and all it’s instances in the business process. A third important component, external to the artifact but, internal to the business process is the definition of tasks. Tasks are centers that may read, modify or update information on the artifact.


An Example


I’ll explain this with a simple example – the US Visa Application Process.For the sake of simplicity, the process is slightly modified, this may not be the exact process. An applicant wishing to visit the US has to fill an online DS-160 form, pay the applicable fees, schedule an appointment at the consulate for an interview, schedule another appointment for enrolling bio-metric signatures and wait for the processed passport to be shipped to him. An artifact in this system would be the application form. The information component of which is Name, Age, Sex, Purpose of Visit, Length of Stay and many other such attributes. The Life-Cycle component would be the precise sequence in which the artifact would move. For example from application created by the user to the payment receipt system, then to the interview scheduling system and maybe finally to the consulate. The task centers in this case are the various ‘mile-stones’ or entities to which the artifact moves in it’s life-cycle: User, payment receipt system, interview scheduling systems and the consulate. This movement of the artifact maybe described by directed graphs, with the task centers as the nodes.


SQL or structured query language is a set of instructions that enable upon execution of the query, the return of a result from a relational database. The relational database is in the form of 2-Dimensional tables. The columns correspond to various attributes, while rows are instances. Many database clients (MySQL, PostgreSQL, SQL Developer, etc) exist that provide highly optimized return on queries. The clients have an highly optimized query optimization plan, which makes a huge difference especially when the size of the database is of the order of millions of rows!

Quit Beating Around the Bush! What’s your Project About?

Alright, there’s been too much beating around the bush. So here it is: This SFSP project is aimed at attempting representation of a Business Artifact, both the information and the life-cycle components, in addition to the tasks and their definitions in database clients. Also this project aims at developing a new computer language for use in Business Artifact modeling – BASQL (Structured Query Language for Business Artifacts).

In particular, this project aims at building a JAVA application that takes in commands in BASQL and modifies databases in database clients. Currently I’m working on the database client MySQL. The application must be able to Create, Modify, Update and Query artifacts and the complete business model associated with the artifact must be modeled in simple database clients using the application.

What’s the Big Deal?

Well, for one thing, such an effort would usher in an era of widespread formalization of business artifacts, as already stated they are ubiquitous but not recognized in businesses for what they are. Most importantly, once the data is represented in 2-D tables, conventional machine learning or data analytics methods could be applied, and the possibilities are simply unlimited!

This allows for large scale deployment of Business Artifacts, in even the simplest of
businesses. The ultimate goal is a measured increase in firm earnings and a positive customer

experience. The solution is applicable to any and all businesses.

An Application

I’ll continue with my earlier example of the US Visa Application processing system since it’s already been introduced. I’ll just add a few more elements to this set-up. Let’s assume once the application has been made, within the Consulate there are decision and information collection nodes. Quite presumably, the application could move back and forth several times between these nodes, before a final decision is made. This integration of Machine Learning and modeling of business artifacts within the 2-D framework could answer well in advance the following questions:

How much time will the processing take?
What path, between the several information collection and decision-making nodes will be followed by the application artifact?
And even maybe forecast the decision – will the visa application be approved?

What’s all this got to do with IBM?

Good question. Apart from the fact that the project is generously funded by IBM, this project has everything to do with IBM! The concept of Business Artifacts was developed by IBM researchers. (More on this: In addition, IBM played a pioneering role in the development of relational databases.

Alright, I have now in non-technical terms explained what the project is going to be about. Soon, I’ll blog on the theoretical aspects that make this idea possible.

A Bientot,

Bookmark and Share

Subscribe to this category Subscribe to IIT Madras

ChatClick here to chat!+