I found this paper (Jeannette Wing, CMU) as a good introductory for whoever that are interested to quickly comprehend what is and what is not “computational thinking“. As software engineers, we have been experiencing that people think about us as a kind of geek that the only task we are able to do is computer programming and there are still so many of them who think the fundamental research in our discipline is done and that only the engineering remains. But this is so untrue. I recommend them to read this masterpiece and its corresponding presentation to realize thinking like computer scientists means more than being able to program a computer. It requires thinking at multiple levels of abstraction!!!! Wow! By the way I extracted this interesting quote from the paper and put it here for convincing you to read it: “Computational thinking is using abstraction and decomposition when attacking a large complex task or designing a large complex system. It is separation of concerns. It is choosing an appropriate representation for a problem or modeling the relevant aspects of a problem to make it tractable. It is using invariants to describe a system’s behavior succinctly and declaratively. It is having the confidence we can safely use, modify, and influence a large complex system without understanding its every detail.”
of enterprise software systems, SO software applications are often designed in an ad hoc manner, with little consideration given to the underlying design structures, thereby potentially resulting in decreased maintainability of the produced software. Early prediction of design principles is desirable given that software maintenance has long been regarded as one of the most resource-consuming development phases.
BPEL processes are workflow-oriented composite services for SO solutions. Rapidly changing environment and turbulent market conditions require flexible BPEL processes to adapt with several modifications during their life cycles. Such adaptability and flexibility require the low degree of dependency or coupling between a BPEL process and its surrounding environment. In fact, heavy coupling and context dependency with partners provoke several undesirable drawbacks such as poor understandability, inflexibility,
inadaptability, and defects. This paper is to propose metrics at the design phase to measure BPEL process context independency. With the aid of these metrics, the architect
could analyze and control the context independency of a BPEL process quantitatively. To validate the metrics, authors collected a data set consisting 70 BPEL processes and also
gathered the expert’s rating (IBM SPSS) of context independency through conducting a controlled experiment. The obtained results (IBM SPSS) reveal that there exists a high statistical correlation between the proposed metrics and the expert’s judgment of context
Preliminary contributions of authors on the proposed subject matter of this paper presented in conferences are as follows:
- A. Khoshkbarforoushha, R. Tabein, P. Jamshidi, F. Shams, Towards a Metrics Suite for Measuring Composite Service Granularity Level Appropriateness, 6th World Congress on Services (SERVICES-I), 2010. [PDF]
- A. Khoshkbarforoushha, P. Jamshidi, A. Nikravesh, S. Khoshnevis, F. Shams, A Metric for Measuring BPEL Process Context-Independency, IEEE International Conference on Service-Oriented Computing and Applications (SOCA’09), 2009. invited to be extend for SOCA Journal. [PDF]
- A. Khoshkbarforoushha, P. Jamshidi, F. Shams, A Metric for BPEL Process Reusability Analysis, International Workshop on Emerging Trends in Software Metrics (WETSoM’10), ICSE 2010, Cape Town, South Africa. [PDF]
In addition, a technical report regarding the overall contribution of the project has been reported in the following manuscript:
- A. Khoshkbarforoushha, P. Jamshidi, M. Fahmideh, A. Nikravesh, F. Shams, A Metric Suite For Measuring Composite Service Granularity, Technical Report, Automated Software Engineering Research Group, Faculty of Electrical & Computer Engineering, Shahid Beheshti University GC, Tehran, Iran, May 2011. [PDF] (in persian language)
The overall contribution went through 3 major and 1 minor revisions and finally has been accepted in Springer Service-Oriented Computing and Applications (SOCA). The editor and reviewers provide us comprehensive and constructive comments that made the final manuscript much more elaborated than the first submission.