next up previous contents
Next: Structure of the Tutorial Up: Introduction Previous: Introduction   Contents


The SALSA Distributed Programming Language

With the emergence of Internet and mobile computing, a wide range of Internet applications have placed new demands and challenges such as openness, portability, ability to adapt quickly to changing execution environments, and highly dynamic reconfiguration. Current programming languages and systems lack support for dynamic reconfiguration of applications, where application entities get moved to different processing nodes at run-time.

Java has provided a lot of support to dynamic web content through applets, network class loading, bytecode verification, security, and multi-platform compatibility. Moreover, Java is a good framework for distributed Internet programming because of its standardized representation of objects and serialization support. Some of the important libraries that provide support for Internet computing are: java.rmi for remote method invocation, java.reflection for run-time introspection, java.io for serialization, and java.net for sockets, datagrams, and URLs.

SALSA (Simple Actor Language, System and Architecture) is an actor-oriented programming language designed and implemented to introduce the benefits of the actor model while keeping the advantages of object-oriented programming. Abstractions include active objects, asynchronous message passing, universal naming, migration, and advanced coordination constructs for concurrency. SALSA is pre-processed into Java and hence preserves many of Java's useful object oriented concepts- mainly, encapsulation, inheritance, and polymorphism. SALSA abstractions enable the development of dynamically reconfigurable applications. A SALSA program consists of universal actors that can ne migrated to distributed nodes at run-time.


next up previous contents
Next: Structure of the Tutorial Up: Introduction Previous: Introduction   Contents
Wei-Jen Wang 2005-10-24