AN ASPECT-BASED APPROACH FOR CONCURRENT PROGRAMMING USING CSP FEATURES

José Elias Araújo, Henrique Rebêlo, Ricardo Lima, Alexandre Mota, Fernando Castor, Tiago Lima, Juliana Lucena, Filipe Lima

Abstract

The construction of large scale parallel and concurrent applications is one of the greatest challenges faced by software engineers nowadays. Programming models for concurrency implemented by mainstream programming languages, such as Java, C, and C++, are too low-level and difficult to use by the average programmer. At the same time, the use of libraries implementing high level concurrency abstractions such as JCSP requires additional learning effort and produces programs where application logic is tangled with library-specific code. In this paper we propose separating concurrent concerns (CSP code) from the development of sequential Java processes. We explore aspect-oriented programming to implement this separation of concerns. A compiler generates an AspectJ code, which instruments the sequential Java program with JCSP concurrent constructors. We have conducted an experiment to evaluate the benefits of the proposed framework. We employ metrics for attributes such as separation of concerns, coupling, and size to compare our approach against the JCSP framework and thread based approaches.

References

  1. Chidamber, S. R. and Kemerer, C. F. (1994). A metrics suite for object oriented design. IEEE TSE, 20:476-493.
  2. Eaddy, M. et al. (2008). Do crosscutting concerns cause defects? IEEE TSE, 34(4):497-515.
  3. Goetz, B., Peierls, T., Bloch, J., Bowbeer, J., Holmes, D., and Lea, D. (2006). Java Concurrency in Practice. Addison-Wesley, Upper Saddle River, NJ.
  4. Hoare, C. A. R. (1985). Communicating Sequential Processes. Prentice-Hall.
  5. Laddad, R. (2003). AspectJ in Action: Practical AspectOriented Programming. Manning Publications Co., Greenwich, CT, USA.
  6. Roscoe, A. W., Hoare, C. A. R., and Bird, R. (1997). The Theory and Practice of Concurrency. Prentice Hall PTR, Upper Saddle River, NJ, USA.
  7. Sant'anna, C. et al. (2003). On the reuse and maintenance of aspect-oriented software: An assessment framework. In Proceedings of SBES'03, pages 19-34.
  8. Welch, P. (2006). Jcsp: Communicating sequential processes for java. http://www.cs.kent.ac.uk/projects/ofa/ jcsp/.
Download


Paper Citation


in Harvard Style

Elias Araújo J., Rebêlo H., Lima R., Mota A., Castor F., Lima T., Lucena J. and Lima F. (2010). AN ASPECT-BASED APPROACH FOR CONCURRENT PROGRAMMING USING CSP FEATURES . In Proceedings of the 5th International Conference on Software and Data Technologies - Volume 2: ICSOFT, ISBN 978-989-8425-23-2, pages 226-231. DOI: 10.5220/0003014102260231


in Bibtex Style

@conference{icsoft10,
author={José Elias Araújo and Henrique Rebêlo and Ricardo Lima and Alexandre Mota and Fernando Castor and Tiago Lima and Juliana Lucena and Filipe Lima},
title={AN ASPECT-BASED APPROACH FOR CONCURRENT PROGRAMMING USING CSP FEATURES},
booktitle={Proceedings of the 5th International Conference on Software and Data Technologies - Volume 2: ICSOFT,},
year={2010},
pages={226-231},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0003014102260231},
isbn={978-989-8425-23-2},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 5th International Conference on Software and Data Technologies - Volume 2: ICSOFT,
TI - AN ASPECT-BASED APPROACH FOR CONCURRENT PROGRAMMING USING CSP FEATURES
SN - 978-989-8425-23-2
AU - Elias Araújo J.
AU - Rebêlo H.
AU - Lima R.
AU - Mota A.
AU - Castor F.
AU - Lima T.
AU - Lucena J.
AU - Lima F.
PY - 2010
SP - 226
EP - 231
DO - 10.5220/0003014102260231