The SALSA Programming Language 1.1.2 Release Tutorial Carlos A. Varela Gul Agha Wei-Jen Wang Travis Desell Kaoutar El Maghraoui Jason LaPorte Abe Stephens With the emergence of Internet and mobile computing, a wide range of In-ternet applications have introduced new demands for openness, portability, highlydynamic reconfiguration, and the ability to adapt quickly to changing execution en-vironments. Current programming languages and systems lack support for dynamicreconfiguration of applications, where application entities get moved to differentprocessing nodes at run-time.Java has provided support for dynamic web content through applets, net-work class loading, bytecode verification, security, and multi-platform compatibility.Moreover, Java is a good framework for distributed Internet programming becauseof its standardized representation of objects and serialization support. Some of theimportant libraries that provide support for Internet computing are: java.rmi forremote method invocation, java.reflection for run-time introspection, java.iofor serialization, and java.net for sockets, datagrams, and URLs.SALSA (Simple Actor Language, System and Architecture) [5] is an actor-oriented programming language designed and implemented to introduce the benefitsof the actor model while keeping the advantages of object-oriented programming.Abstractions include active objects, asynchronous message passing, universal nam-ing, migration, and advanced coordination constructs for concurrency. SALSA ispre-processed into Java and preserves many of Java’s useful object oriented concepts-mainly, encapsulation, inheritance, and polymorphism. SALSA abstractions enablethe development of dynamically reconfigurable applications. A SALSA programconsists of universal actors that can be migrated around distributed nodes at run-time. Department of Computer Science, Rensselaer Polytechnic Institute cs-07-12
The SALSA Programming Language 1.1.2 Release Tutorial
Carlos A. Varela
Gul Agha
Wei-Jen Wang
Travis Desell
Kaoutar El Maghraoui
Jason LaPorte
Abe Stephens
With the emergence of Internet and mobile computing, a wide range of In-ternet applications have introduced new demands for openness, portability, highlydynamic reconfiguration, and the ability to adapt quickly to changing execution en-vironments. Current programming languages and systems lack support for dynamicreconfiguration of applications, where application entities get moved to differentprocessing nodes at run-time.Java has provided support for dynamic web content through applets, net-work class loading, bytecode verification, security, and multi-platform compatibility.Moreover, Java is a good framework for distributed Internet programming becauseof its standardized representation of objects and serialization support. Some of theimportant libraries that provide support for Internet computing are: java.rmi forremote method invocation, java.reflection for run-time introspection, java.iofor serialization, and java.net for sockets, datagrams, and URLs.SALSA (Simple Actor Language, System and Architecture) [5] is an actor-oriented programming language designed and implemented to introduce the benefitsof the actor model while keeping the advantages of object-oriented programming.Abstractions include active objects, asynchronous message passing, universal nam-ing, migration, and advanced coordination constructs for concurrency. SALSA ispre-processed into Java and preserves many of Java’s useful object oriented concepts-mainly, encapsulation, inheritance, and polymorphism. SALSA abstractions enablethe development of dynamically reconfigurable applications. A SALSA programconsists of universal actors that can be migrated around distributed nodes at run-time.
Department of Computer Science, Rensselaer Polytechnic Institute
cs-07-12