The ARC Programming Model

  • Kevin Marth
  • Shangping Ren
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5719)


The ARC (Agent, Role, Coordination) programming model is an evolutionary synthesis of established software technology that helps model-driven pervasive software applications to effectively utilize the parallelism on multicore processors. Computational entities in the ARC programming model are composed of role-based agents, exposing natural opportunities for inter-entity and intra-entity parallelism and facilitating collaboration-based designs. The coordination required by collaboration-based designs is separated from other computation and enacted via coordination agents upon coordinated role-based agents. The implementation of the ARC programming model is responsible for mapping relatively abstract model-level parallelism to the target platform and exploiting the available processor-level parallelism.


Basic Agent Multicore Processor Coordinator Agent Role Agent Extended Finite State Machine 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Schmidt, D.C.: Model-driven engineering. IEEE Computer 39(2), 25–31 (2006)CrossRefGoogle Scholar
  2. 2.
    Mellor, S.J., Kendall, S., Uhl, A., Dirk Weise, D.: MDA Distilled. Addison-Wesley, Reading (2004)Google Scholar
  3. 3.
    International Telecommunications Union: Recommendation Z.100 (11/07), Specification and Description Language (SDL)
  4. 4.
    Object Management Group (OMG): UML Superstructure Specification, Vers. 2.1.2,
  5. 5.
    International Telecommunications Union: Recommendation Z.109 (06/07), SDL combined with UML,
  6. 6.
    Ellsberger, J., Hogrefe, D., Sarma, A.: SDL — Formal Object-Oriented Language for Communicating Systems. Prentice-Hall, Englewood Cliffs (1997)Google Scholar
  7. 7.
    Agha, G.: Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge (1986)Google Scholar
  8. 8.
    Kristensen, B.B.: Object-oriented modeling with roles. In: Murphy, J., Stone, B. (eds.) Proceedings of the 2nd International Conference on Object-Oriented Information Systems, pp. 57–71 (1996)Google Scholar
  9. 9.
    Bardou, D., Dony, C.: Split objects: A disciplined use of delegation within objects. ACM SIGPLAN Notices 31(10), 122–137 (1996)CrossRefGoogle Scholar
  10. 10.
    Bailey, D.H., et al.: The NAS Parallel Benchmarks. The International Journal of Supercomputer Applications 5(3), 63–73 (1991)CrossRefGoogle Scholar
  11. 11.
    The AspectJ Project,
  12. 12.
    Ren, S., Yu, Y., Chen, N., Marth, K., Poirot, P.-E., Shen, L.: Actors, roles and coordinators - a coordination model for open distributed and embedded systems. In: Ciancarini, P., Wiklicky, H. (eds.) COORDINATION 2006. LNCS, vol. 4038, pp. 247–265. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  13. 13.
    Tamai, T., Ubayashi, N., Ichiyama, R.: An Adaptive Object Model with Dynamic Role Binding. In: ICSE 2005, pp. 166–175. ACM, New York (2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Kevin Marth
    • 1
  • Shangping Ren
    • 1
  1. 1.Illinois Institute of TechnologyChicagoUSA

Personalised recommendations