Thursday, November 13, 2008

Development blog

Chamin TODO - 12/11/08

Chamin TODO - 12/11/08

Currently I'm working in developing the core component of the SAF system, that is the runtime server. In that task I have to address following points.
  • WorkflowSchedulerService - Workflow instance threading
  • Tracking service - for the use of admin console for the report generation
  • persistence service - for optimizing the use of resources by the server
  • ExternalDataService + Correlation - workflow communication with its host application
  • Invoking web services within workflow
  • Workflow dynamin reloading while executing
  • Declarative workflows - flexible workflow definitions. allows changing the workflow definition without compililng
  • declarative rule service - dynamic rules for workflows

Monday, November 10, 2008

Meeting with our supervisor on 06/11/08

We had a meeting with our supervisor at his office. In there we presented our solutions that we thought for the problems we came across and got his comments on those. And also he gave us more ideas about the concept of the system. His thoughts and suggestions given in the discussion are really useful for our work.


Here is a summery on the points we discussed there.


  • He suggested us to develop this as an independent system from the interactive components, so that this can be deployed as a separate business of providing business process modeling services to companies. This service enables clients to use the server for their work, but many clients will be using the same server. So in here we may need a mechanism to implement charging for providing the services based on may be the execution of workflow instances.
  • When we discussed on additional services that the workflow runtime server could have than what we have already thought of, we came across with providing a service to provide business rules to the server that can dynamically load rules required by the server for execution.
  • Regarding the concern we had about sending emails, he suggested using an email server at the client side.
  • He also gave a demonstration on their business intelligence module, so that it will help us for giving those features to our system which will be an additional feature to our system.
  • We were not really sure about the method we have planned to use for the communication between server and client components. He thought that it was suitable for our problem.
  • For the role based human intervention, he suggested us to use the system we use for the human interactions to get the information on the users that workflow runtime requires.

Project Website launched!!!

We launched our project website on 30th October 2008. You can visit it using http:\\project-saf.tk. All the documentation related to the design and implementation of the SoftAutoFlow system and other relavant details about the project can be found there. We will keep that website up to date always, so you can get the latest news of the our project.

Thursday, July 24, 2008

SVN is ready!!!

Today we managed to setup an SVN server on our project computer(10.8.102.40) and now it is ready to use for our projects team. We hope to use it for managing the sources we are developing as well as to manage our other relavent documents related to our project.
We installed Visual SVN server as our svn server and it was very easy to setup and use. It is a free software and you can find it in www.visualsvn.com. But before trying it we tried to use subversion SVN server but it was little bit complex to getting started and use ( all the thing has to be done using command prompt ), so we decided to use Visual SVN server instead of subversion. As the svn client, we chose and installed tortise svn client and it is also very easy to setup and use ( it provides a nice and easy way to work with SVN repository). Still we can use the command prompt if we need to run a svn command which is not supported by tortoiseSVN client.

We can easily manage the authorizations for different projects in the svn repository by creating users, user groups and assigned the authorization permissions per directory and it is easy to do this using Visual SVN software.

We had a problem in the begining for accessing the svn repository using TortiseSVN. It didn't ask for authenticating the user when try to checkout from the server repository and then it showed an error saying "Server sent unexpected return value (403 Forbidden) in response to OPTIONS". But finally we could overcome that problem. The cause for that problem was we also had another svn software (subversion) installed in the computer. After uninstalling that svn software, tortoiseSVN works without any problem.

Links:
http://www.visualsvn.com -- Visual SVN server
http://tortoisesvn.net -- Tortoise SVN Client

Problems with the project scope for the BPMEF

July 14 : Talked to Indika sir about the problems we are having with BPM project. He suggest us to check whether our solution is really what EC is wanted. We were feeling like what is left for us to do for what we planned to give in the implementation is mostly supported in WWF.

July 15 : Talked to our supervisor from EC Mr. Chathura De Silva regarding the matters we were having. He said that he personally think this project will give good value to customers in commercial area, but he is not sure about how it can be convinced to academic.

July 18 : Again we talked to Indika sir who is our super group super group regarding this matter. But he doesn’t like to see us to move us away from this project now as we have done quite lot of work on this, we don’t have much time left to start a new project whole over again. And also in previous batches groups who changed projects late got in to trouble because of time limitations.

With these things we were quite confused deciding which way we ahead. We had 2 options here. One to go higher level than what EC expects from us and give more advance features to this. And the other is to move another one. We already had discussions with several resource personnel to find are there any projects which we can do. Out of those new project ideas our members were highly interested in eHealth system’s disease monitoring system.

July 21 : Still were discussing about pros and cons of the 2 options we have. I discussed with each members to find out each of their individual thoughts on these where there were mixed feelings on this. But my personal thought was to find out chances of extending current project to higher level as we have done fair amount of study on BPM, WWF and we have some kind of understanding of these concepts and that knowledge will help us to go further deep in to these concepts rather than going on to do something that we have no clue. Starting something new has the risk of leading us to a worse situation than this as we haven’t done sufficient amount of study on this.

July 22 : When we were discussing on the project that we selected as the alternative for the project, we realized that on the worse case scenario we might have to implement only pattern identifying and prediction based on those which will lead us to a situation where there is not much for us to present for the project. Also we found there are opportunities for us to take BPM system concept to its next step by using “Operational Intelligence” concepts and techniques for handling huge business process databases.

So we are finally came to the “Million Dollar” decision to go ahead with BPM project with further improvements to the project idea.

Our progress milestones

This is the place for ideas, comments on special occasions, turning points on our progress.

So please add your(team members) thoughts here as this will be very useful in future to track what happened on the way through.

1. Problems with project scope for BPMEF

Monday, June 30, 2008

Some Important Links related to WWF

This documentation describes the programming model, samples, and tools of Windows Workflow Foundation.: http://msdn.microsoft.com/en-us/library/ms735967.aspx


Windows Workflow Foundation MSDN Forum : http://forums.microsoft.com/msdn/showforum.aspx?forumid=122&siteid=1

http://msdn.microsoft.com/en-gb/netframework/aa663328.aspx

Windows Workflow Foundation Tutorials: http://msdn.microsoft.com/en-gb/library/bb628593.aspx

Wednesday, May 14, 2008

Final Project Proposal

Go to
http://manjula.aw.googlepages.com/finalprojectproposal
for downloading submitted final project proposal.

Prepare SRS online

I've shared a document with you called "Software Requirements Specification":
http://docs.google.com/Doc?docid=dgf6xwwg_6cqg3k4dh&hl=en


---

Hi friends,
Due to the time limitation for preparing for SRS, We decided to do it online by sharing it as a Google Doc. We should submit this SRS before Sunday midnight( 18/06/2008 ). So hurry up and get on with it.

Thursday, April 24, 2008

Draft Project Proposal

our draft project proposal can be found in the following location,
http://f.y.prjct.refs.googlepages.com/home

Regards,
Nisa

Workflow Reference E book

hi,
you can find the reference e book "Essential Windows Workflow Foundation by Darma Shukla & Bob Schmidt" in following location,

http://shyami.mora.googlepages.com/home

Start Reading ;)

Regards,
Nisa

Thursday, February 21, 2008

Important facts found

Multicore Prelude

This is a comment made by "Joe Armstrong", the author of book "Programming Erlang". I thought this would be useful for all of us to get an idea about the current situation out there.

How can we write programs that run faster on a multicore CPU? It’s all about mutable state and concurrency.

Back in the old days (twenty-odd years ago), there were two models of concurrency:

  • Shared state concurrency
  • Message passing concurrency

The programming world went one way (toward shared state). The Erlang community went the other way. (Few other languages followed the “message passing concurrency” road. Others were Oz and Occam.)

In message passing concurrency, there is no shared state. All computations are done in processes, and the only way to exchange data is through asynchronous message passing.

Why is this good?

Shared state concurrency involves the idea of “mutable state” (literally memory that can be changed)—all languages such as C, Java, C++, and so on, have the notion that there is this stuff called “state” and that we can change it. This is fine as long as you have only one process doing the changing. If you have multiple processes sharing and modifying the same memory, you have a recipe for disaster—madness lies here.

To protect against the simultaneous modification of shared memory, we use a locking mechanism. Call this a mutex, a synchronized method, or what you will, but it’s still a lock.

366

If programs crash in the critical region (when they hold the lock), disaster results. All the other programs don’t know what to do. If programs corrupt the memory in the shared state, disaster will also happen. The other programs won’t know what to do.

How do programmers fix these problems? With great difficulty, of course. On a unicore processor, their program might just work; but on a multicore— Disaster!

There are various solutions to this (transactional memory is probably the best), but these are at best kludges. At their worst, they are the stuff of nightmares.

Erlang has no mutable data structures:1

• No mutable data structures = No locks

• No mutable data structures = Easy to parallelize

How do we do the parallelization? Easy. The programmer breaks up the solution of the problem into a number of parallel processes.

This style of programming has its own terminology; it’s called concurrency- oriented programming.

1. That’s not quite true, but it’s true enough.

Saturday, February 16, 2008

Group discussion - 15/02/2008 - First

  • Summary -

Set up a PM system

Options that member came up with,

PM system will be used as,

Issue management system

Code repository

Wiki

Set up a blog for our project

We decided to use a blog for the project, where we can add our blogs on project under various topics, with a proper structure followed. In here we must have a efficient mechanism to track our blogs like indexing the content, getting feeds for blogs, etc.

  • Plan -

Meet Omega ayya to get more project ideas

We were planning to have a group chat with Omega ayya on 17/02/’08, but we decided that meeting him is better than having a group chat. As all members couldn’t get together on that day, it is postponed and Manjula is negotiating with Omega ayya to get an appointment.


cHaMin@CSE.

Team

Chamin - PM
Nisansala - Architech
Heshan
Manjula - Research manager

Discussions

Project Topics

1.multicore processor performance improvement
2.....
3.....

Developing framework which optimize other appllications for high performance in MultiCore Procsssors

1. Important facts found

Friday, February 15, 2008

Project Description

Improve process performance in QUADCORE processors.
Create a game for demonstrating the improvement of performance done by above module.