Cloudjects
cloud based objectsI Have a Dream
In their award winning paper, βNotes on Postmodern Programmingβ, presented at OOPSLA/Onward! back in 2002, James Noble and Robert Biddle warned about "the major threat of the complacent isolation of computer science and programming". They called for an Aristotelian unity in action, place, and time.
"Let us desire, conceive, and create the new program of the future together. It will combine design, user-interfaces, and programming in a single form, and will one day rise towards the heavens from the hands of a million workers as the crystalline symbol of a new and coming faithβ
[Noble & Biddle]
Cloudjects
a tribute to Noble & Biddle's vision
an executable MDE approach, promoting both Object Design and Cloud Computing
inherits from the original anthropomorphic vision of the OO paradigm and adapts it to the cloud computing context
ultimate goal: build a massive open online design world
focus: evolution, interaction, community of software objects and humans avatars. Promotes learning by doing
Cloudject Manifesto
Cloudjects are respectable software first class citizens, living happily in a cloud-based collaborative world
Cloudjects have id and state, can receive/send messages
Classes define: type, structure and behavior. Instantiate cloudjects. Classes are cloudjects too
Any value can change without notice. All changes are recorded. Cloudjects have versions. => classes too
Contracts express mutual expectations and commitments between cloudjects. Lawyers are not allowed. Itβs a fair game. Tests are reliable cloudjects friends that can verify contracts and prove cloudjects' innocence. Test execution is traced
GUI fragments allow end-users, designers, and testers to interact with cloudjects, depending on their permissions
Cloudject = idea + class + naked instance + fragment + karma
Play with cloudjects here.