The Projects page shows all Project nodes on the site. You can add, edit, and delete projects from the content administration page.

Alloy is a language for describing structures and a tool for exploring them. It has been used in a wide range of applications from finding holes in security mechanisms to designing telephone switching networks.

Déjà Vu: Constructing Apps from Clichés

Have you ever noticed that most applications are fundamentally the same? They just combine existing concepts (such as profiles, feeds and posts) in new ways. Déjà Vu is a new platform for rapid construction of complex applications by composing concepts, taken from a library of clichés. Because concepts are composed by a novel binding mechanism, no procedural code is needed.


Gitless is an experimental version control system built on top of Git. Many people complain that Git is hard to use. We think the problem lies deeper than the user interface, in the concepts underlying Git. In this project, we apply the theory of concept design to analyze and redesign Git.

Object Spreadsheets

Object Spreadsheets is an enhanced spreadsheet tool with support for storing and manipulating structured data. End-user developers can use it to work with a data set directly or to build a web application that offers constrained view and update access to a larger population of users. We hope the tool will provide a more appealing solution to automate organizational processes for beginners and advanced developers alike.

Rethinking Software Design

The goal of this project is to develop a constructive theory of software design that focuses on the conceptual structure that underlies software. Key threads of the project include development of suitable diagrammatic notations; articulation of design criteria; and case study rewordings of existing applications, including Gitless, a conceptual redesign of the popular Git version control system.


SciFe is capable of exhaustive, memoized enumeration of values from finite or infinite domains. SciFe introduces concepts of enumerators and enumerator combinators. SciFe is a Scala library that implements a domain-specific language. SciFe can generate complex structures such as search trees and models of class hierarchies. Specifications in SciFe are short and lead to very efficient enumeration, even in case of complex data structures with invariants.