Actor-eUML for Concurrent Programming

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

Abstract

The advent of multi-core processors offers an opportunity to increase the usage of Executable UML. Researchers are advocating the division of software systems into a productivity layer and an efficiency layer to shield mainstream programmers from the complexities of parallelism. Such separation of application and platform concerns is the foundation of Executable UML. To leverage this opportunity, an approach to Executable UML must address the complexity of the UML standard and provide a formal model of concurrency. In this paper, we introduce the Actor-eUML model and formalize the mapping between actors in the Actor model and Executable UML agents (active objects) by unifying the semantics of actor behavior and the hierarchical state machine (HSM) semantics of Executable UML agents. The UML treatment of concurrency is simplified, and the Actor model is extended to enable a set of actor behaviors to specify the HSM for an Executable UML active class.

Keywords

State Machine Actor Model Composite State Concurrent Programming Actor Primitive 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Agha, G.: Actors: A Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge (1986)Google Scholar
  2. 2.
    Agha, G., Mason, I.A., Smith, S.F., Talcott, C.L.: A Foundation for Actor Computation. Journal of Functional Programming, 1–72 (1997)Google Scholar
  3. 3.
    Harel, D.: Statecharts: A Visual Formalism for Complex Systems. Science of Computer Programming 8(3), 231–274 (1987)MathSciNetCrossRefMATHGoogle Scholar
  4. 4.
    Mellor, S.J., Balcer, S.J.: Executable UML: A Foundation for Model-Driven Architecture. Addison-Wesley, Reading (2002)Google Scholar
  5. 5.
    Mellor, S.J., Kendall, S., Uhl, A., Weise, D.: MDA Distilled. Addison-Wesley, Reading (2004)Google Scholar
  6. 6.
    Milicev, D.: Model-Driven Development with Executable UML. Wiley, Chichester (2009)Google Scholar
  7. 7.
    Patterson, D., et al.: A View of the Parallel Computing Landscape. Communications of the ACM 52(10), 56–67 (2009)CrossRefGoogle Scholar
  8. 8.
    Patterson, D.: The Trouble with Multi-Core. IEEE Spectrum 47(7), 28–32 (2010)CrossRefGoogle Scholar
  9. 9.
    Raistrick, C., Francis, P., Wright, J., Carter, C., Wilkie, I.: Model Driven Architecture with Executable UML. Cambridge University Press, Cambridge (2004)Google Scholar
  10. 10.
    Tomlinson, C., Singh, V.: Inheritance and Synchronization with Enabled Sets. SIGPLAN Notices 24(10), 103–112 (1989)CrossRefGoogle Scholar
  11. 11.
    Object Management Group: UML Superstructure Specification, Version 2.1.2, http://www.omg.org/docs/formal/07-11-02.pdf
  12. 12.
    Object Management Group: Semantics of a Foundational Subset for Executable UML Models (fUML), Version 1.0, http://www.omg.org/spec/FUML

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Kevin Marth
    • 1
  • Shangping Ren
    • 1
  1. 1.Department of Computer ScienceIllinois Institute of TechnologyChicagoUSA

Personalised recommendations