CScheme in Traditional Concurrency Problems

CScheme, a concurrent programming paradigm based on scheme concept enables concurrency schemes to be constructed from smaller synchronization units through a GUI based composer and latter be reused on other concurrency problems of a similar nature. This paradigm is particularly important in the multi-core environment prevalent nowadays. In this paper, we demonstrate techniques to separate concurrency from functional code using the CScheme paradigm. Then we illustrate how the CScheme methodology can be used to solve some of the traditional concurrency problems – critical section problem, and readers-writers problem - using synchronization schemes such as Single Threaded Execution Scheme, and Readers Writers Scheme.




References:
[1] Gordon, E.M., 1998. Cramming more components onto integrated
circuits. Proc. IEEE, 86: 82-85.
[2] Bryan, C. and B. Jeff, 2008. Real-world concurrency. Queue
Concurrency Prob., 6: 17-25..
[3] Ali-Reza, A., K. Christos and S. Bratin, 2006. Unlocking concurrency.
Queue Comput. Archit., 4: 25-33.
[4] Kiczales, G., J. Lamping, A. Menhdhekar, C. Maeda, C. Lopes, J.M.
Loingtier and J. Irwin, 1997. Aspect-Oriented Programming. In Proc
European Conference on Object-Oriented Programming, Finland, June
9-13, 1997, pp.220- 240.
[5] Xerox Corporation, 2002. The aspect JTM programming guide. Palo Alto
Research Center, Inc., USA.
http://www.eclipse.org/aspectj/doc/released/progguide/index.html
[6] Brian, G., P. Tim, B. Joshua, B. Joseph, H. David and L. Doug, 2006.
Java Concurrency in Practice. Addison Wesley Professional, India
[7] Joe, C., 2009. Cool Concurrency with CheckThread, eclipse CON, 2009
http://checkthread.org/checkthread_eclipsecon2009.pdf.
[8] Shah, N., Cheerkoot, V, 2011. A Scheme Based Paradigm for
Concurrent Programming. Journal of Software Engineering, vol. 5, no.
3, pp. 108-115.
[9] David, H., N. James and P. John, 1997. Aspects of synchronisation.
Technol. Object-Oriented Languages Syst., 2: 14-14.
[10] Ant-onio, M.F., 1999. Concurrent object-oriented programming:
Separation and composition of concerns using design patterns. Ph.D
Thesis, Pattern Languages and Object-Oriented Frameworks.