Active Object By R. G. Lavender and D. C. Schmidt. Presented by David Kemp Melbourne Patterns Group
Active Object <ul><li>R. G. Lavender and D. C. Schmidt,  Active Object , Pattern Languages of Program Design 2, 1996 </li>...
Object diagram
See code example http://code.google.com/p/davidbkemp-activeobject/
Variants <ul><li>Integrated Scheduler (combine proxy, scheduler, and servant). </li></ul><ul><li>Distributed Active Object...
Example variation: multiple servants
Consequences <ul><li>Enhance application concurrency and simplify synchronization complexity. </li></ul><ul><li>Transparen...
Resources <ul><li>http://en.wikipedia.org/wiki/Active_Object </li></ul><ul><li>R. Greg Lavender Douglas C. Schmidt,  Activ...
Upcoming SlideShare
Loading in …5
×

Active Object

2,878 views

Published on

Presentation on the Active Object pattern given by David Kemp at the Melbourne Patterns group.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,878
On SlideShare
0
From Embeds
0
Number of Embeds
39
Actions
Shares
0
Downloads
50
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Active Object

  1. 1. Active Object By R. G. Lavender and D. C. Schmidt. Presented by David Kemp Melbourne Patterns Group
  2. 2. Active Object <ul><li>R. G. Lavender and D. C. Schmidt, Active Object , Pattern Languages of Program Design 2, 1996 </li></ul><ul><li>The Active Object design pattern decouples method execution from method invocation to enhance concurrency and simplify synchronized access to an object that resides in its own thread of control. </li></ul>
  3. 3. Object diagram
  4. 4. See code example http://code.google.com/p/davidbkemp-activeobject/
  5. 5. Variants <ul><li>Integrated Scheduler (combine proxy, scheduler, and servant). </li></ul><ul><li>Distributed Active Object (remote proxy). </li></ul><ul><li>Thread pool (multiple servants). </li></ul>
  6. 6. Example variation: multiple servants
  7. 7. Consequences <ul><li>Enhance application concurrency and simplify synchronization complexity. </li></ul><ul><li>Transparently leverage available parallelism. </li></ul><ul><li>Method execution order can differ from method invocation order. </li></ul><ul><li>Performance overhead. </li></ul><ul><li>Complicated debugging. </li></ul>
  8. 8. Resources <ul><li>http://en.wikipedia.org/wiki/Active_Object </li></ul><ul><li>R. Greg Lavender Douglas C. Schmidt, Active Object , Pattern Languages of Program Design 2, 1996. </li></ul><ul><li>http://www.cs.wustl.edu/~schmidt/PDF/Act-Obj.pdf </li></ul><ul><li>http://code.google.com/p/davidbkemp-activeobject </li></ul>

×