Last update: 17 May 2012
I am a graduate student of software engineering in the Institute for Software Research and the Department of Informatics at the School of Information and Computer Sciences at UC Irvine. My advisor is Dr. Richard N. Taylor. I received a Bachelor's of Science from the Department of Informatics at UC Irvine in 2008.
COmputAtional State Transfer (COAST) (following a previous project, CREST) is an architectural style for the construction of adaptive, decentralized Internet service ecosystems. In COAST, customized, tailored microservices are implemented as mobile computations and deployed across organizational bounds to execute in the context of domain- and organization-specific execution sites. Those services collaborate with other services by exposing fine-grained, differentiated interfaces to computations exchanged amongst them.
Our implementation of COAST comprises Motile, an architectural style-specific functional mobile code language designed to enforce the security and functional constraints of COAST, and the supporting infrastructure Island. Security is addressed via the application of capability security to limit both the communicative and computational capability allocated to deployed services. The rights to communicate with COAST services are conferred by Capability URLs, unforgeable cryptographic structures that encompass numerous restrictions on communication and provide a basis for higher level constructs such as transactions and contracts between mutually suspicious parties. The rights afforded to any Motile mobile code are determined by islands whose owners use the Island infrastructure and tools to segregate, allocate and monitor the functions and assets granted to visiting Motile code.
Source code is available at GitHub. The repository includes COASTcast, a sample COAST application based on the dynamic deployment of video streaming pipelines as Motile computations and the collaborative sharing and recombination of those streams among users, all implemented as computation exchange using the mechanisms of COAST.
Our implementation of Motile/Island is written primarily in Racket.