Projects

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

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

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 a new computational paradigm that combines the usability advantages of spreadsheets with SQL-like expressive power, providing a way to build a wide class of interactive applications more easily than with existing tools.

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

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.