SkelJ: Skeletons for Object-Oriented Applications

  • Joao L. Sobral
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4967)


Development of parallel applications requires adequate languages to effectively modularise and reuse parallelisation patterns. In object oriented applications parallelisation issues typically cut across multiple classes becoming tangled with domain specific code, harming reusability. In this paper we propose a new skeleton-based language for object oriented applications, aiming to attain more modular, reusable, composeable and (un)pluggable parallelisations. We propose a set of template based operators that implement common object oriented parallel patterns. The collection includes a set of low level parallel patterns that can be composed to develop more high level patterns. Results obtained suggest that this is a feasible alternative to traditional approaches and that the performance penalty introduced by the approach has a minor impact on application scalability.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
  2. 2.
    Caromel, D.: Towards a Method of Object-Oriented Concurrent Programming. Communications of the ACM 36, 9 (1993)CrossRefGoogle Scholar
  3. 3.
    Chien, A., Karamcheti, V., Plevyak, J., Zhang, X.: Concurrent Aggregates (CA) Language Report - Version 2.0, TR, Dep. Computer Science, University of Illinois, UC (November 1993)Google Scholar
  4. 4.
    Cole, M.: Algorithmic Skeletons: structured management of parallel computation. MIT Press, Cambridge (1989)MATHGoogle Scholar
  5. 5.
    Cunha, C., Sobral, J., Monteiro, M.: Reusable Implementations of Concurrency Patterns and Mechanisms using Aspect-Oriented Programming. In: AOSD 2006, Bonn (March 2006)Google Scholar
  6. 6.
    Fernando, J., Sobral, J., Proenca, A.: JaSkel: A Java Skeleton-Based Framework for Structured Cluster and Grid Computing (CCGrid 2006), Singapore (May 2000)Google Scholar
  7. 7.
    Gorlatch, S.: Send-Receive Considered Harmful: Myths and Realities of Message Passing. ACM TOPLAS 26(1) (January 2004)Google Scholar
  8. 8.
    Hannemann, J., Kiczales, G.: Design Pattern implementation in Java and in AspectJ. In: OOPSLA 2002, Seattle, USA (November 2002)Google Scholar
  9. 9.
    Kale, L., Krishnan, K.: CHARM++: A Portable Concurrent Object Oriented System Based on C++. In: OOPSLA 1993, ACM SIGPLAN Notices, vol. 28, p. 10 (October 1993)Google Scholar
  10. 10.
    Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.: An Overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, Springer, Heidelberg (2001)CrossRefGoogle Scholar
  11. 11.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J., Irwin, J.: Aspect Oriented Programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, Springer, Heidelberg (1997)CrossRefGoogle Scholar
  12. 12.
    Philippsen, M., Zenger, M.: JavaParty - transparent remote objects in Java. Concurrency: Practice and Experience 11 (November 1997)Google Scholar
  13. 13.
    Smith, A., Bull, J., Obdrzálek, J.: A Parallel Java Grande Benchmark Suite. In: SC 2001 (November 2001)Google Scholar
  14. 14.
    Soares, S., Loureiro, L., Borba, P.: Implementing Distribution and Persistence Aspects With AspectJ. In: OOPSLA 2002 (November 2002)Google Scholar
  15. 15.
    Sobral, J.: Incrementally Developing Parallel Applications with AspectJ. In: IEEE IPDPS 2006, Rhodes, Greece (April 2006)Google Scholar
  16. 16.
    Sobral, J., Cunha, C., Monteiro, M.: Aspect-Oriented Pluggable Support for Parallel Computing. In: Daydé, M., Palma, J.M.L.M., Coutinho, Á.L.G.A., Pacitti, E., Lopes, J.C. (eds.) VECPAR 2006. LNCS, vol. 4395, Springer, Heidelberg (2007)CrossRefGoogle Scholar
  17. 17.
    Tilevich, E., Urbanski, S., Smaragdakis, Y., Fleury, M.: Aspectizing Server-Side Distribution. In: IEEE ASE 2003, Canada (October 2003)Google Scholar
  18. 18.
    Yonezawa, A., Tokoro, M. (eds.): Object-Oriented Concurrent Programming. MIT Press, Cambridge (1987)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Joao L. Sobral
    • 1
  1. 1.Departamento de InformáticaUniversidade do MinhoBragaPortugal

Personalised recommendations