published in 20th International Conference on Software Engineering and Knowledge Engineering, SEKE 2008 Journal