Presentation: "Actors, and the Forgotten Art of Modeling Concurrent Systems"
Time: Friday 14:45 - 15:45
Location: Concordia
In current talk on programming, programming languages and concurrency (and specifically the intersection of those), much focus is on how to make programs run fast and best utilize the given hardware, multicore computers, and server farms. That is all very good, and understanding how to do that is indeed an important engineering quest. However, ...
It seems that in our haste to be fast, we have forgotten the art of modeling. Some times we need to model a system which is by its very nature concurrent, and we need to express this understanding, so that we - as human beings - can comprehend and reason about its behavior. For these cases we need to intentionally model the concurrency. When the task at hand is not just a matter of parallellizing an otherwise sequential program, but expressing the interactive behaviors of systems that handle many things concurrently.
This is nothing new. In the mid-80's up to the mid-90's there was a lot of active research and development in so-called actor languages; a class of concurrent programming languages that target this problem space. Today, actor programming is starting to be used again, especially in context of the Scala programming language.
In this talk we will review the rationales and thinking behind actor languages, provide examples of actor programming models, languages, and draw the lines up to current programming models.