IEEE Transactions on Software Engineering
Architecture-based runtime software evolution
Proceedings of the 20th international conference on Software engineering
The influence of browsers on evaluators or, continuations to program web servers
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Mobile Agents and Security
Protecting Mobile Code in the Wild
IEEE Internet Computing
The many faces of publish/subscribe
ACM Computing Surveys (CSUR)
Automatically Restructuring Programs for the Web
Proceedings of the 16th IEEE international conference on Automated software engineering
Architectural styles and the design of network-based software architectures
Architectural styles and the design of network-based software architectures
Language constructs for context-oriented programming: an overview of ContextL
DLS '05 Proceedings of the 2005 symposium on Dynamic languages
Proceedings of the third ACM SIGPLAN conference on History of programming languages
From representations to computations: the evolution of web architectures
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Runtime software adaptation: framework, approaches, and styles
Companion of the 30th international conference on Software engineering
Programming Erlang: Software for a Concurrent World
Programming Erlang: Software for a Concurrent World
A journey to highly dynamic, self-adaptive service-based applications
Automated Software Engineering
A comparison of context-oriented programming languages
International Workshop on Context-Oriented Programming
A universal modular ACTOR formalism for artificial intelligence
IJCAI'73 Proceedings of the 3rd international joint conference on Artificial intelligence
MapReduce: a flexible data processing tool
Communications of the ACM - Amir Pnueli: Ahead of His Time
Computational rest: a new model for decentralized, internet-scale applications
Computational rest: a new model for decentralized, internet-scale applications
Communications of the ACM
Context oriented programming in highly concurrent systems
Proceedings of the 2nd International Workshop on Context-Oriented Programming
Processing flows of information: From data stream to complex event processing
ACM Computing Surveys (CSUR)
Hi-index | 0.00 |
Today's applications are developed in a world where the execution context changes continuously. They have to adapt to these changes at run-time if they want to offer their services without interruption. This is particularly critical for distributed Web applications, whose components run on different machines, often managed by different organizations. Designing these programs in an easy and effective way requires choosing the right architectural style and the right run-time platform. The former has to guarantee isolation among components, supporting scalability, reliability, and dynamic changes. The latter has to offer mechanisms to update the applications' code at run-time. This work builds upon previous research about architectures and run-time platforms. Its contribution is to put together a very promising architectural style - Computational REST - with a language (and run-time environment) designed with dynamic, distributed applications in mind - Erlang. We show how they fit together by developing a new framework, which eases development of highly distributed Web applications capable of operating in dynamic environments. We also provide an initial experimental assessment of the proposed approach.